diff options
461 files changed, 69166 insertions, 0 deletions
diff --git a/plugins/org.eclipse.uml2.uml.edit/.classpath b/plugins/org.eclipse.uml2.uml.edit/.classpath new file mode 100644 index 00000000..751c8f2e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.uml2.uml.edit/.cvsignore b/plugins/org.eclipse.uml2.uml.edit/.cvsignore new file mode 100644 index 00000000..ba077a40 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/plugins/org.eclipse.uml2.uml.edit/.project b/plugins/org.eclipse.uml2.uml.edit/.project new file mode 100644 index 00000000..1e06b444 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.uml2.uml.edit</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF new file mode 100644 index 00000000..e8345e40 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.uml2.uml.edit; singleton:=true +Bundle-Version: 1.0.0 +Bundle-ClassPath: org.eclipse.uml2.uml.edit.jar +Bundle-Activator: org.eclipse.uml2.uml.edit.UMLEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Export-Package: org.eclipse.uml2.uml.edit, + org.eclipse.uml2.uml.edit.provider +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.uml2.uml;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport, + org.eclipse.uml2.common.edit;visibility:=reexport +Eclipse-LazyStart: true diff --git a/plugins/org.eclipse.uml2.uml.edit/build.properties b/plugins/org.eclipse.uml2.uml.edit/build.properties new file mode 100644 index 00000000..569e9763 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/build.properties @@ -0,0 +1,19 @@ +# Copyright (c) 2005 IBM Corporation 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: +# IBM - initial API and implementation +# +# $Id: build.properties,v 1.1 2005/11/14 22:11:37 khussey Exp $ + +bin.includes = org.eclipse.uml2.uml.edit.jar,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = org.eclipse.uml2.uml.edit.jar +source.org.eclipse.uml2.uml.edit.jar = src/ +output.org.eclipse.uml2.uml.edit.jar = bin/
\ No newline at end of file diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif Binary files differnew file mode 100644 index 00000000..83afb9b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif Binary files differnew file mode 100644 index 00000000..badaab06 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif Binary files differnew file mode 100644 index 00000000..db7414e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif Binary files differnew file mode 100644 index 00000000..134551bf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif Binary files differnew file mode 100644 index 00000000..d3dc5a9a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif Binary files differnew file mode 100644 index 00000000..35ef84e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif Binary files differnew file mode 100644 index 00000000..ed874747 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif Binary files differnew file mode 100644 index 00000000..14af8aae --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif Binary files differnew file mode 100644 index 00000000..2124f3e3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif Binary files differnew file mode 100644 index 00000000..338fb8d9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif Binary files differnew file mode 100644 index 00000000..35ef84e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif Binary files differnew file mode 100644 index 00000000..7b7c428c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif Binary files differnew file mode 100644 index 00000000..ef56c140 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif Binary files differnew file mode 100644 index 00000000..9250fecb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif Binary files differnew file mode 100644 index 00000000..db7414e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif Binary files differnew file mode 100644 index 00000000..b3643da0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif Binary files differnew file mode 100644 index 00000000..ed874747 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif Binary files differnew file mode 100644 index 00000000..2b692560 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif Binary files differnew file mode 100644 index 00000000..5a9bc751 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif Binary files differnew file mode 100644 index 00000000..90415988 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif Binary files differnew file mode 100644 index 00000000..106881e5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif Binary files differnew file mode 100644 index 00000000..53500daf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif Binary files differnew file mode 100644 index 00000000..c4a8af41 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif Binary files differnew file mode 100644 index 00000000..f8041d22 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif Binary files differnew file mode 100644 index 00000000..ea58a657 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif Binary files differnew file mode 100644 index 00000000..a26660ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif Binary files differnew file mode 100644 index 00000000..420eee17 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif Binary files differnew file mode 100644 index 00000000..739ebbfa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif Binary files differnew file mode 100644 index 00000000..c4a8af41 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif Binary files differnew file mode 100644 index 00000000..afb82ea4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif Binary files differnew file mode 100644 index 00000000..14af8aae --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif Binary files differnew file mode 100644 index 00000000..45731fe2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif Binary files differnew file mode 100644 index 00000000..90d10f94 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif Binary files differnew file mode 100644 index 00000000..e4b530ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif Binary files differnew file mode 100644 index 00000000..739ebbfa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif Binary files differnew file mode 100644 index 00000000..badaab06 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif Binary files differnew file mode 100644 index 00000000..ed874747 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif Binary files differnew file mode 100644 index 00000000..ed874747 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif Binary files differnew file mode 100644 index 00000000..89ad5da3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif Binary files differnew file mode 100644 index 00000000..db7414e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif Binary files differnew file mode 100644 index 00000000..a26660ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif Binary files differnew file mode 100644 index 00000000..9250fecb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif Binary files differnew file mode 100644 index 00000000..134551bf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif Binary files differnew file mode 100644 index 00000000..d3dc5a9a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif Binary files differnew file mode 100644 index 00000000..b3643da0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif Binary files differnew file mode 100644 index 00000000..c3370c7d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif Binary files differnew file mode 100644 index 00000000..90415988 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif Binary files differnew file mode 100644 index 00000000..1e5345fb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif Binary files differnew file mode 100644 index 00000000..33a997a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif Binary files differnew file mode 100644 index 00000000..d3dc5a9a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif Binary files differnew file mode 100644 index 00000000..8a5c70cb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif Binary files differnew file mode 100644 index 00000000..420eee17 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif Binary files differnew file mode 100644 index 00000000..83afb9b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif Binary files differnew file mode 100644 index 00000000..7bac4fd3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif Binary files differnew file mode 100644 index 00000000..5a9bc751 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif Binary files differnew file mode 100644 index 00000000..c00aedf4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif Binary files differnew file mode 100644 index 00000000..c4a8af41 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif Binary files differnew file mode 100644 index 00000000..b3643da0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif Binary files differnew file mode 100644 index 00000000..7c2aaac8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif Binary files differnew file mode 100644 index 00000000..ef56c140 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif Binary files differnew file mode 100644 index 00000000..2b692560 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif Binary files differnew file mode 100644 index 00000000..8a5c70cb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif Binary files differnew file mode 100644 index 00000000..338fb8d9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif Binary files differnew file mode 100644 index 00000000..33854e98 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif Binary files differnew file mode 100644 index 00000000..a17dc7d8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif Binary files differnew file mode 100644 index 00000000..10d22299 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif Binary files differnew file mode 100644 index 00000000..d92f34c8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif Binary files differnew file mode 100644 index 00000000..45731fe2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif Binary files differnew file mode 100644 index 00000000..e4bc22dd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif Binary files differnew file mode 100644 index 00000000..30f0c48d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif Binary files differnew file mode 100644 index 00000000..30f0c48d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif Binary files differnew file mode 100644 index 00000000..c8d381f0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif Binary files differnew file mode 100644 index 00000000..ea58a657 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif Binary files differnew file mode 100644 index 00000000..ef56c140 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif Binary files differnew file mode 100644 index 00000000..45731fe2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif Binary files differnew file mode 100644 index 00000000..739ebbfa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif Binary files differnew file mode 100644 index 00000000..45731fe2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif Binary files differnew file mode 100644 index 00000000..b3643da0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif Binary files differnew file mode 100644 index 00000000..53500daf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif Binary files differnew file mode 100644 index 00000000..e4b530ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif Binary files differnew file mode 100644 index 00000000..35ef84e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif Binary files differnew file mode 100644 index 00000000..e4bc22dd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif Binary files differnew file mode 100644 index 00000000..ef56c140 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif Binary files differnew file mode 100644 index 00000000..be22463d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif Binary files differnew file mode 100644 index 00000000..90d10f94 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif Binary files differnew file mode 100644 index 00000000..c673a520 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif Binary files differnew file mode 100644 index 00000000..98b351f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif Binary files differnew file mode 100644 index 00000000..d92f34c8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif Binary files differnew file mode 100644 index 00000000..badaab06 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif Binary files differnew file mode 100644 index 00000000..7bac4fd3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif Binary files differnew file mode 100644 index 00000000..94c953e0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif Binary files differnew file mode 100644 index 00000000..89ad5da3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif Binary files differnew file mode 100644 index 00000000..33a997a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif Binary files differnew file mode 100644 index 00000000..ed874747 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif Binary files differnew file mode 100644 index 00000000..b1f8afa4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif Binary files differnew file mode 100644 index 00000000..136e3b27 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif Binary files differnew file mode 100644 index 00000000..33a997a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif Binary files differnew file mode 100644 index 00000000..30f0c48d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif Binary files differnew file mode 100644 index 00000000..45731fe2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif Binary files differnew file mode 100644 index 00000000..33854e98 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif Binary files differnew file mode 100644 index 00000000..9250fecb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif Binary files differnew file mode 100644 index 00000000..c414fe9f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif Binary files differnew file mode 100644 index 00000000..e4b530ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif Binary files differnew file mode 100644 index 00000000..c4fb30e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif Binary files differnew file mode 100644 index 00000000..33a997a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif Binary files differnew file mode 100644 index 00000000..ef56c140 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif Binary files differnew file mode 100644 index 00000000..98b351f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif Binary files differnew file mode 100644 index 00000000..498364f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif Binary files differnew file mode 100644 index 00000000..e4bc22dd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif Binary files differnew file mode 100644 index 00000000..420eee17 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif Binary files differnew file mode 100644 index 00000000..35ef84e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif Binary files differnew file mode 100644 index 00000000..4365960a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif Binary files differnew file mode 100644 index 00000000..c00aedf4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif Binary files differnew file mode 100644 index 00000000..e4b530ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif Binary files differnew file mode 100644 index 00000000..136e3b27 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif Binary files differnew file mode 100644 index 00000000..90415988 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif Binary files differnew file mode 100644 index 00000000..98b351f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif Binary files differnew file mode 100644 index 00000000..98b351f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif Binary files differnew file mode 100644 index 00000000..e4b530ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif Binary files differnew file mode 100644 index 00000000..35ef84e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif Binary files differnew file mode 100644 index 00000000..db7414e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif Binary files differnew file mode 100644 index 00000000..b3643da0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif Binary files differnew file mode 100644 index 00000000..136e3b27 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif Binary files differnew file mode 100644 index 00000000..739ebbfa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif Binary files differnew file mode 100644 index 00000000..90d10f94 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif Binary files differnew file mode 100644 index 00000000..94c953e0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif Binary files differnew file mode 100644 index 00000000..7bac4fd3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif Binary files differnew file mode 100644 index 00000000..106881e5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif Binary files differnew file mode 100644 index 00000000..d92f34c8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif Binary files differnew file mode 100644 index 00000000..83afb9b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif Binary files differnew file mode 100644 index 00000000..59155918 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif Binary files differnew file mode 100644 index 00000000..83afb9b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif Binary files differnew file mode 100644 index 00000000..c00aedf4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif Binary files differnew file mode 100644 index 00000000..33854e98 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif Binary files differnew file mode 100644 index 00000000..2124f3e3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif Binary files differnew file mode 100644 index 00000000..53500daf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif Binary files differnew file mode 100644 index 00000000..db7414e9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif Binary files differnew file mode 100644 index 00000000..7c2aaac8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif Binary files differnew file mode 100644 index 00000000..59155918 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif Binary files differnew file mode 100644 index 00000000..a3908bcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif Binary files differnew file mode 100644 index 00000000..4365960a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif Binary files differnew file mode 100644 index 00000000..106881e5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif Binary files differnew file mode 100644 index 00000000..338fb8d9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif Binary files differnew file mode 100644 index 00000000..b1f8afa4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif Binary files differnew file mode 100644 index 00000000..7b7c428c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif Binary files differnew file mode 100644 index 00000000..53500daf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif Binary files differnew file mode 100644 index 00000000..53500daf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif Binary files differnew file mode 100644 index 00000000..05dc74ad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif Binary files differnew file mode 100644 index 00000000..a17dc7d8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif Binary files differnew file mode 100644 index 00000000..cdd3b76e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif Binary files differnew file mode 100644 index 00000000..b1f8afa4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif Binary files differnew file mode 100644 index 00000000..cdd3b76e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif Binary files differnew file mode 100644 index 00000000..cb1755a7 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif Binary files differnew file mode 100644 index 00000000..badaab06 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif Binary files differnew file mode 100644 index 00000000..badaab06 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif Binary files differnew file mode 100644 index 00000000..94c953e0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif Binary files differnew file mode 100644 index 00000000..33a997a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif Binary files differnew file mode 100644 index 00000000..14af8aae --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif Binary files differnew file mode 100644 index 00000000..afb82ea4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif Binary files differnew file mode 100644 index 00000000..afb82ea4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif Binary files differnew file mode 100644 index 00000000..4365960a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif Binary files differnew file mode 100644 index 00000000..136e3b27 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif Binary files differnew file mode 100644 index 00000000..afb82ea4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif Binary files differnew file mode 100644 index 00000000..c673a520 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif Binary files differnew file mode 100644 index 00000000..cdd3b76e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif Binary files differnew file mode 100644 index 00000000..7bac4fd3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif Binary files differnew file mode 100644 index 00000000..420eee17 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif Binary files differnew file mode 100644 index 00000000..30f0c48d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif Binary files differnew file mode 100644 index 00000000..c00aedf4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif Binary files differnew file mode 100644 index 00000000..7bac4fd3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif Binary files differnew file mode 100644 index 00000000..ea58a657 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif Binary files differnew file mode 100644 index 00000000..48e3cf22 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif Binary files differnew file mode 100644 index 00000000..cdd3b76e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif Binary files differnew file mode 100644 index 00000000..be22463d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif Binary files differnew file mode 100644 index 00000000..90d10f94 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif Binary files differnew file mode 100644 index 00000000..10d22299 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif Binary files differnew file mode 100644 index 00000000..83afb9b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif diff --git a/plugins/org.eclipse.uml2.uml.edit/plugin.properties b/plugins/org.eclipse.uml2.uml.edit/plugin.properties new file mode 100644 index 00000000..4ea67068 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/plugin.properties @@ -0,0 +1,909 @@ +# Copyright (c) 2005 IBM Corporation 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: +# IBM - initial API and implementation +# +# $Id: plugin.properties,v 1.1 2005/11/14 22:11:37 khussey Exp $ + +# ==================================================================== +# To code developer: +# Do NOT change the properties between this line and the +# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# Make a new property name, append to the end of the file and change +# the code to use the new property. +# ==================================================================== + +# ==================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# ==================================================================== + +pluginName = UML Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_Comment_type = Comment +_UI_Element_type = Element +_UI_DirectedRelationship_type = Directed Relationship +_UI_Relationship_type = Relationship +_UI_LiteralSpecification_type = Literal Specification +_UI_ValueSpecification_type = Value Specification +_UI_TypedElement_type = Typed Element +_UI_NamedElement_type = Named Element +_UI_Dependency_type = Dependency +_UI_PackageableElement_type = Packageable Element +_UI_ParameterableElement_type = Parameterable Element +_UI_TemplateParameter_type = Template Parameter +_UI_TemplateSignature_type = Template Signature +_UI_TemplateableElement_type = Templateable Element +_UI_TemplateBinding_type = Template Binding +_UI_TemplateParameterSubstitution_type = Template Parameter Substitution +_UI_Namespace_type = Namespace +_UI_ElementImport_type = Element Import +_UI_PackageImport_type = Package Import +_UI_Package_type = Package +_UI_PackageMerge_type = Package Merge +_UI_Type_type = Type +_UI_ProfileApplication_type = Profile Application +_UI_Profile_type = Profile +_UI_Stereotype_type = Stereotype +_UI_Class_type = Class +_UI_BehavioredClassifier_type = Behaviored Classifier +_UI_Classifier_type = Classifier +_UI_RedefinableElement_type = Redefinable Element +_UI_Generalization_type = Generalization +_UI_GeneralizationSet_type = Generalization Set +_UI_Feature_type = Feature +_UI_UseCase_type = Use Case +_UI_Include_type = Include +_UI_Extend_type = Extend +_UI_Constraint_type = Constraint +_UI_ExtensionPoint_type = Extension Point +_UI_Substitution_type = Substitution +_UI_Realization_type = Realization +_UI_Abstraction_type = Abstraction +_UI_OpaqueExpression_type = Opaque Expression +_UI_Parameter_type = Parameter +_UI_MultiplicityElement_type = Multiplicity Element +_UI_ConnectableElement_type = Connectable Element +_UI_ConnectorEnd_type = Connector End +_UI_Property_type = Property +_UI_DeploymentTarget_type = Deployment Target +_UI_Deployment_type = Deployment +_UI_DeployedArtifact_type = Deployed Artifact +_UI_DeploymentSpecification_type = Deployment Specification +_UI_Artifact_type = Artifact +_UI_Manifestation_type = Manifestation +_UI_Operation_type = Operation +_UI_BehavioralFeature_type = Behavioral Feature +_UI_Behavior_type = Behavior +_UI_ParameterSet_type = Parameter Set +_UI_DataType_type = Data Type +_UI_Interface_type = Interface +_UI_Reception_type = Reception +_UI_Signal_type = Signal +_UI_ProtocolStateMachine_type = Protocol State Machine +_UI_StateMachine_type = State Machine +_UI_Region_type = Region +_UI_Vertex_type = Vertex +_UI_Transition_type = Transition +_UI_Trigger_type = Trigger +_UI_Event_type = Event +_UI_Port_type = Port +_UI_State_type = State +_UI_ConnectionPointReference_type = Connection Point Reference +_UI_Pseudostate_type = Pseudostate +_UI_ProtocolConformance_type = Protocol Conformance +_UI_OperationTemplateParameter_type = Operation Template Parameter +_UI_StructuralFeature_type = Structural Feature +_UI_Association_type = Association +_UI_ConnectableElementTemplateParameter_type = Connectable Element Template Parameter +_UI_CollaborationUse_type = Collaboration Use +_UI_Collaboration_type = Collaboration +_UI_StructuredClassifier_type = Structured Classifier +_UI_Connector_type = Connector +_UI_RedefinableTemplateSignature_type = Redefinable Template Signature +_UI_ClassifierTemplateParameter_type = Classifier Template Parameter +_UI_InterfaceRealization_type = Interface Realization +_UI_EncapsulatedClassifier_type = Encapsulated Classifier +_UI_Extension_type = Extension +_UI_ExtensionEnd_type = Extension End +_UI_Image_type = Image +_UI_StringExpression_type = String Expression +_UI_Expression_type = Expression +_UI_LiteralInteger_type = Literal Integer +_UI_LiteralString_type = Literal String +_UI_LiteralBoolean_type = Literal Boolean +_UI_LiteralNull_type = Literal Null +_UI_Slot_type = Slot +_UI_InstanceSpecification_type = Instance Specification +_UI_Enumeration_type = Enumeration +_UI_EnumerationLiteral_type = Enumeration Literal +_UI_PrimitiveType_type = Primitive Type +_UI_InstanceValue_type = Instance Value +_UI_LiteralUnlimitedNatural_type = Literal Unlimited Natural +_UI_OpaqueBehavior_type = Opaque Behavior +_UI_FunctionBehavior_type = Function Behavior +_UI_Actor_type = Actor +_UI_Usage_type = Usage +_UI_Message_type = Message +_UI_MessageEnd_type = Message End +_UI_Interaction_type = Interaction +_UI_InteractionFragment_type = Interaction Fragment +_UI_Lifeline_type = Lifeline +_UI_PartDecomposition_type = Part Decomposition +_UI_InteractionUse_type = Interaction Use +_UI_Gate_type = Gate +_UI_Action_type = Action +_UI_ExecutableNode_type = Executable Node +_UI_ActivityNode_type = Activity Node +_UI_ActivityEdge_type = Activity Edge +_UI_Activity_type = Activity +_UI_ActivityPartition_type = Activity Partition +_UI_ActivityGroup_type = Activity Group +_UI_StructuredActivityNode_type = Structured Activity Node +_UI_Variable_type = Variable +_UI_InterruptibleActivityRegion_type = Interruptible Activity Region +_UI_ExceptionHandler_type = Exception Handler +_UI_ObjectNode_type = Object Node +_UI_OutputPin_type = Output Pin +_UI_Pin_type = Pin +_UI_InputPin_type = Input Pin +_UI_GeneralOrdering_type = General Ordering +_UI_OccurrenceSpecification_type = Occurrence Specification +_UI_InteractionOperand_type = Interaction Operand +_UI_InteractionConstraint_type = Interaction Constraint +_UI_ExecutionSpecification_type = Execution Specification +_UI_ExecutionOccurrenceSpecification_type = Execution Occurrence Specification +_UI_ExecutionEvent_type = Execution Event +_UI_StateInvariant_type = State Invariant +_UI_ActionExecutionSpecification_type = Action Execution Specification +_UI_BehaviorExecutionSpecification_type = Behavior Execution Specification +_UI_CreationEvent_type = Creation Event +_UI_DestructionEvent_type = Destruction Event +_UI_SendOperationEvent_type = Send Operation Event +_UI_MessageEvent_type = Message Event +_UI_SendSignalEvent_type = Send Signal Event +_UI_MessageOccurrenceSpecification_type = Message Occurrence Specification +_UI_CombinedFragment_type = Combined Fragment +_UI_Continuation_type = Continuation +_UI_ConsiderIgnoreFragment_type = Consider Ignore Fragment +_UI_CallEvent_type = Call Event +_UI_ChangeEvent_type = Change Event +_UI_SignalEvent_type = Signal Event +_UI_AnyReceiveEvent_type = Any Receive Event +_UI_CreateObjectAction_type = Create Object Action +_UI_DestroyObjectAction_type = Destroy Object Action +_UI_TestIdentityAction_type = Test Identity Action +_UI_ReadSelfAction_type = Read Self Action +_UI_StructuralFeatureAction_type = Structural Feature Action +_UI_ReadStructuralFeatureAction_type = Read Structural Feature Action +_UI_WriteStructuralFeatureAction_type = Write Structural Feature Action +_UI_ClearStructuralFeatureAction_type = Clear Structural Feature Action +_UI_RemoveStructuralFeatureValueAction_type = Remove Structural Feature Value Action +_UI_AddStructuralFeatureValueAction_type = Add Structural Feature Value Action +_UI_LinkAction_type = Link Action +_UI_LinkEndData_type = Link End Data +_UI_QualifierValue_type = Qualifier Value +_UI_ReadLinkAction_type = Read Link Action +_UI_LinkEndCreationData_type = Link End Creation Data +_UI_CreateLinkAction_type = Create Link Action +_UI_WriteLinkAction_type = Write Link Action +_UI_DestroyLinkAction_type = Destroy Link Action +_UI_LinkEndDestructionData_type = Link End Destruction Data +_UI_ClearAssociationAction_type = Clear Association Action +_UI_BroadcastSignalAction_type = Broadcast Signal Action +_UI_InvocationAction_type = Invocation Action +_UI_SendObjectAction_type = Send Object Action +_UI_ValueSpecificationAction_type = Value Specification Action +_UI_TimeExpression_type = Time Expression +_UI_Duration_type = Duration +_UI_TimeObservationAction_type = Time Observation Action +_UI_ValuePin_type = Value Pin +_UI_DurationInterval_type = Duration Interval +_UI_Interval_type = Interval +_UI_TimeConstraint_type = Time Constraint +_UI_IntervalConstraint_type = Interval Constraint +_UI_TimeInterval_type = Time Interval +_UI_DurationObservationAction_type = Duration Observation Action +_UI_DurationConstraint_type = Duration Constraint +_UI_OpaqueAction_type = Opaque Action +_UI_CallAction_type = Call Action +_UI_SendSignalAction_type = Send Signal Action +_UI_CallOperationAction_type = Call Operation Action +_UI_CallBehaviorAction_type = Call Behavior Action +_UI_InformationItem_type = Information Item +_UI_InformationFlow_type = Information Flow +_UI_Model_type = Model +_UI_ReadExtentAction_type = Read Extent Action +_UI_ReclassifyObjectAction_type = Reclassify Object Action +_UI_ReadIsClassifiedObjectAction_type = Read Is Classified Object Action +_UI_StartClassifierBehaviorAction_type = Start Classifier Behavior Action +_UI_ReadLinkObjectEndAction_type = Read Link Object End Action +_UI_ReadLinkObjectEndQualifierAction_type = Read Link Object End Qualifier Action +_UI_CreateLinkObjectAction_type = Create Link Object Action +_UI_AcceptEventAction_type = Accept Event Action +_UI_AcceptCallAction_type = Accept Call Action +_UI_ReplyAction_type = Reply Action +_UI_UnmarshallAction_type = Unmarshall Action +_UI_ControlNode_type = Control Node +_UI_ControlFlow_type = Control Flow +_UI_InitialNode_type = Initial Node +_UI_ActivityParameterNode_type = Activity Parameter Node +_UI_ForkNode_type = Fork Node +_UI_FlowFinalNode_type = Flow Final Node +_UI_FinalNode_type = Final Node +_UI_CentralBufferNode_type = Central Buffer Node +_UI_MergeNode_type = Merge Node +_UI_DecisionNode_type = Decision Node +_UI_ActivityFinalNode_type = Activity Final Node +_UI_JoinNode_type = Join Node +_UI_DataStoreNode_type = Data Store Node +_UI_ObjectFlow_type = Object Flow +_UI_SequenceNode_type = Sequence Node +_UI_ConditionalNode_type = Conditional Node +_UI_Clause_type = Clause +_UI_LoopNode_type = Loop Node +_UI_ExpansionNode_type = Expansion Node +_UI_ExpansionRegion_type = Expansion Region +_UI_ComponentRealization_type = Component Realization +_UI_Component_type = Component +_UI_Node_type = Node +_UI_Device_type = Device +_UI_ExecutionEnvironment_type = Execution Environment +_UI_CommunicationPath_type = Communication Path +_UI_FinalState_type = Final State +_UI_TimeEvent_type = Time Event +_UI_ProtocolTransition_type = Protocol Transition +_UI_AssociationClass_type = Association Class +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_Comment_body_feature = Body +_UI_Comment_annotatedElement_feature = Annotated Element +_UI_Element_ownedElement_feature = Owned Element +_UI_Element_owner_feature = Owner +_UI_Element_ownedComment_feature = Owned Comment +_UI_DirectedRelationship_source_feature = Source +_UI_DirectedRelationship_target_feature = Target +_UI_Relationship_relatedElement_feature = Related Element +_UI_TypedElement_type_feature = Type +_UI_NamedElement_name_feature = Name +_UI_NamedElement_visibility_feature = Visibility +_UI_NamedElement_qualifiedName_feature = Qualified Name +_UI_NamedElement_clientDependency_feature = Client Dependency +_UI_NamedElement_namespace_feature = Namespace +_UI_NamedElement_nameExpression_feature = Name Expression +_UI_Dependency_supplier_feature = Supplier +_UI_Dependency_client_feature = Client +_UI_ParameterableElement_templateParameter_feature = Template Parameter +_UI_ParameterableElement_owningTemplateParameter_feature = Owning Template Parameter +_UI_TemplateParameter_signature_feature = Signature +_UI_TemplateParameter_ownedParameteredElement_feature = Owned Parametered Element +_UI_TemplateParameter_default_feature = Default +_UI_TemplateParameter_ownedDefault_feature = Owned Default +_UI_TemplateParameter_parameteredElement_feature = Parametered Element +_UI_TemplateSignature_parameter_feature = Parameter +_UI_TemplateSignature_template_feature = Template +_UI_TemplateSignature_ownedParameter_feature = Owned Parameter +_UI_TemplateableElement_templateBinding_feature = Template Binding +_UI_TemplateableElement_ownedTemplateSignature_feature = Owned Template Signature +_UI_TemplateBinding_signature_feature = Signature +_UI_TemplateBinding_parameterSubstitution_feature = Parameter Substitution +_UI_TemplateBinding_boundElement_feature = Bound Element +_UI_TemplateParameterSubstitution_formal_feature = Formal +_UI_TemplateParameterSubstitution_actual_feature = Actual +_UI_TemplateParameterSubstitution_ownedActual_feature = Owned Actual +_UI_TemplateParameterSubstitution_templateBinding_feature = Template Binding +_UI_Namespace_elementImport_feature = Element Import +_UI_Namespace_packageImport_feature = Package Import +_UI_Namespace_ownedRule_feature = Owned Rule +_UI_Namespace_member_feature = Member +_UI_Namespace_importedMember_feature = Imported Member +_UI_Namespace_ownedMember_feature = Owned Member +_UI_ElementImport_visibility_feature = Visibility +_UI_ElementImport_alias_feature = Alias +_UI_ElementImport_importedElement_feature = Imported Element +_UI_ElementImport_importingNamespace_feature = Importing Namespace +_UI_PackageImport_visibility_feature = Visibility +_UI_PackageImport_importedPackage_feature = Imported Package +_UI_PackageImport_importingNamespace_feature = Importing Namespace +_UI_Package_packageMerge_feature = Package Merge +_UI_Package_packagedElement_feature = Packaged Element +_UI_Package_ownedType_feature = Owned Type +_UI_Package_nestedPackage_feature = Nested Package +_UI_Package_nestingPackage_feature = Nesting Package +_UI_Package_appliedProfile_feature = Applied Profile +_UI_PackageMerge_mergedPackage_feature = Merged Package +_UI_PackageMerge_receivingPackage_feature = Receiving Package +_UI_Type_package_feature = Package +_UI_ProfileApplication_importedProfile_feature = Imported Profile +_UI_ProfileApplication_isStrict_feature = Is Strict +_UI_Profile_ownedStereotype_feature = Owned Stereotype +_UI_Profile_metaclassReference_feature = Metaclass Reference +_UI_Profile_metamodelReference_feature = Metamodel Reference +_UI_Stereotype_icon_feature = Icon +_UI_Class_ownedOperation_feature = Owned Operation +_UI_Class_nestedClassifier_feature = Nested Classifier +_UI_Class_superClass_feature = Super Class +_UI_Class_isActive_feature = Is Active +_UI_Class_ownedReception_feature = Owned Reception +_UI_Class_extension_feature = Extension +_UI_BehavioredClassifier_ownedBehavior_feature = Owned Behavior +_UI_BehavioredClassifier_classifierBehavior_feature = Classifier Behavior +_UI_BehavioredClassifier_interfaceRealization_feature = Interface Realization +_UI_BehavioredClassifier_ownedTrigger_feature = Owned Trigger +_UI_Classifier_isAbstract_feature = Is Abstract +_UI_Classifier_generalization_feature = Generalization +_UI_Classifier_powertypeExtent_feature = Powertype Extent +_UI_Classifier_feature_feature = Feature +_UI_Classifier_inheritedMember_feature = Inherited Member +_UI_Classifier_redefinedClassifier_feature = Redefined Classifier +_UI_Classifier_general_feature = General +_UI_Classifier_ownedUseCase_feature = Owned Use Case +_UI_Classifier_useCase_feature = Use Case +_UI_Classifier_substitution_feature = Substitution +_UI_Classifier_attribute_feature = Attribute +_UI_Classifier_representation_feature = Representation +_UI_Classifier_collaborationUse_feature = Collaboration Use +_UI_Classifier_ownedSignature_feature = Owned Signature +_UI_RedefinableElement_isLeaf_feature = Is Leaf +_UI_RedefinableElement_redefinedElement_feature = Redefined Element +_UI_RedefinableElement_redefinitionContext_feature = Redefinition Context +_UI_Generalization_isSubstitutable_feature = Is Substitutable +_UI_Generalization_general_feature = General +_UI_Generalization_generalizationSet_feature = Generalization Set +_UI_Generalization_specific_feature = Specific +_UI_GeneralizationSet_isCovering_feature = Is Covering +_UI_GeneralizationSet_isDisjoint_feature = Is Disjoint +_UI_GeneralizationSet_powertype_feature = Powertype +_UI_GeneralizationSet_generalization_feature = Generalization +_UI_Feature_isStatic_feature = Is Static +_UI_Feature_featuringClassifier_feature = Featuring Classifier +_UI_UseCase_include_feature = Include +_UI_UseCase_extend_feature = Extend +_UI_UseCase_extensionPoint_feature = Extension Point +_UI_UseCase_subject_feature = Subject +_UI_Include_addition_feature = Addition +_UI_Include_includingCase_feature = Including Case +_UI_Extend_extendedCase_feature = Extended Case +_UI_Extend_condition_feature = Condition +_UI_Extend_extensionLocation_feature = Extension Location +_UI_Extend_extension_feature = Extension +_UI_Constraint_constrainedElement_feature = Constrained Element +_UI_Constraint_specification_feature = Specification +_UI_Constraint_context_feature = Context +_UI_ExtensionPoint_useCase_feature = Use Case +_UI_Substitution_contract_feature = Contract +_UI_Substitution_substitutingClassifier_feature = Substituting Classifier +_UI_Abstraction_mapping_feature = Mapping +_UI_OpaqueExpression_body_feature = Body +_UI_OpaqueExpression_language_feature = Language +_UI_OpaqueExpression_result_feature = Result +_UI_OpaqueExpression_behavior_feature = Behavior +_UI_Parameter_parameterSet_feature = Parameter Set +_UI_Parameter_operation_feature = Operation +_UI_Parameter_direction_feature = Direction +_UI_Parameter_default_feature = Default +_UI_Parameter_defaultValue_feature = Default Value +_UI_Parameter_isException_feature = Is Exception +_UI_Parameter_isStream_feature = Is Stream +_UI_Parameter_effect_feature = Effect +_UI_MultiplicityElement_isOrdered_feature = Is Ordered +_UI_MultiplicityElement_isUnique_feature = Is Unique +_UI_MultiplicityElement_upper_feature = Upper +_UI_MultiplicityElement_lower_feature = Lower +_UI_MultiplicityElement_upperValue_feature = Upper Value +_UI_MultiplicityElement_lowerValue_feature = Lower Value +_UI_ConnectableElement_end_feature = End +_UI_ConnectorEnd_definingEnd_feature = Defining End +_UI_ConnectorEnd_partWithPort_feature = Part With Port +_UI_ConnectorEnd_role_feature = Role +_UI_Property_datatype_feature = Datatype +_UI_Property_isDerived_feature = Is Derived +_UI_Property_isDerivedUnion_feature = Is Derived Union +_UI_Property_default_feature = Default +_UI_Property_aggregation_feature = Aggregation +_UI_Property_isComposite_feature = Is Composite +_UI_Property_class__feature = Class +_UI_Property_redefinedProperty_feature = Redefined Property +_UI_Property_owningAssociation_feature = Owning Association +_UI_Property_association_feature = Association +_UI_Property_defaultValue_feature = Default Value +_UI_Property_opposite_feature = Opposite +_UI_Property_subsettedProperty_feature = Subsetted Property +_UI_Property_qualifier_feature = Qualifier +_UI_Property_associationEnd_feature = Association End +_UI_DeploymentTarget_deployment_feature = Deployment +_UI_DeploymentTarget_deployedElement_feature = Deployed Element +_UI_Deployment_deployedArtifact_feature = Deployed Artifact +_UI_Deployment_configuration_feature = Configuration +_UI_Deployment_location_feature = Location +_UI_DeploymentSpecification_deploymentLocation_feature = Deployment Location +_UI_DeploymentSpecification_executionLocation_feature = Execution Location +_UI_DeploymentSpecification_deployment_feature = Deployment +_UI_Artifact_fileName_feature = File Name +_UI_Artifact_nestedArtifact_feature = Nested Artifact +_UI_Artifact_manifestation_feature = Manifestation +_UI_Artifact_ownedOperation_feature = Owned Operation +_UI_Artifact_ownedAttribute_feature = Owned Attribute +_UI_Manifestation_utilizedElement_feature = Utilized Element +_UI_Operation_isQuery_feature = Is Query +_UI_Operation_isOrdered_feature = Is Ordered +_UI_Operation_isUnique_feature = Is Unique +_UI_Operation_lower_feature = Lower +_UI_Operation_upper_feature = Upper +_UI_Operation_class__feature = Class +_UI_Operation_precondition_feature = Precondition +_UI_Operation_postcondition_feature = Postcondition +_UI_Operation_redefinedOperation_feature = Redefined Operation +_UI_Operation_datatype_feature = Datatype +_UI_Operation_bodyCondition_feature = Body Condition +_UI_Operation_type_feature = Type +_UI_Operation_interface_feature = Interface +_UI_BehavioralFeature_ownedParameter_feature = Owned Parameter +_UI_BehavioralFeature_isAbstract_feature = Is Abstract +_UI_BehavioralFeature_method_feature = Method +_UI_BehavioralFeature_concurrency_feature = Concurrency +_UI_BehavioralFeature_raisedException_feature = Raised Exception +_UI_BehavioralFeature_ownedParameterSet_feature = Owned Parameter Set +_UI_Behavior_isReentrant_feature = Is Reentrant +_UI_Behavior_redefinedBehavior_feature = Redefined Behavior +_UI_Behavior_ownedParameter_feature = Owned Parameter +_UI_Behavior_context_feature = Context +_UI_Behavior_ownedParameterSet_feature = Owned Parameter Set +_UI_Behavior_specification_feature = Specification +_UI_ParameterSet_parameter_feature = Parameter +_UI_ParameterSet_condition_feature = Condition +_UI_DataType_ownedAttribute_feature = Owned Attribute +_UI_DataType_ownedOperation_feature = Owned Operation +_UI_Interface_ownedAttribute_feature = Owned Attribute +_UI_Interface_nestedClassifier_feature = Nested Classifier +_UI_Interface_redefinedInterface_feature = Redefined Interface +_UI_Interface_ownedReception_feature = Owned Reception +_UI_Interface_protocol_feature = Protocol +_UI_Interface_ownedOperation_feature = Owned Operation +_UI_Reception_signal_feature = Signal +_UI_Signal_ownedAttribute_feature = Owned Attribute +_UI_ProtocolStateMachine_conformance_feature = Conformance +_UI_StateMachine_region_feature = Region +_UI_StateMachine_connectionPoint_feature = Connection Point +_UI_StateMachine_extendedStateMachine_feature = Extended State Machine +_UI_Region_subvertex_feature = Subvertex +_UI_Region_transition_feature = Transition +_UI_Region_state_feature = State +_UI_Region_extendedRegion_feature = Extended Region +_UI_Region_stateMachine_feature = State Machine +_UI_Vertex_outgoing_feature = Outgoing +_UI_Vertex_incoming_feature = Incoming +_UI_Vertex_container_feature = Container +_UI_Transition_kind_feature = Kind +_UI_Transition_container_feature = Container +_UI_Transition_target_feature = Target +_UI_Transition_redefinedTransition_feature = Redefined Transition +_UI_Transition_guard_feature = Guard +_UI_Transition_effect_feature = Effect +_UI_Transition_trigger_feature = Trigger +_UI_Transition_source_feature = Source +_UI_Trigger_event_feature = Event +_UI_Trigger_port_feature = Port +_UI_Port_isBehavior_feature = Is Behavior +_UI_Port_isService_feature = Is Service +_UI_Port_required_feature = Required +_UI_Port_redefinedPort_feature = Redefined Port +_UI_Port_provided_feature = Provided +_UI_Port_protocol_feature = Protocol +_UI_State_isComposite_feature = Is Composite +_UI_State_isOrthogonal_feature = Is Orthogonal +_UI_State_isSimple_feature = Is Simple +_UI_State_isSubmachineState_feature = Is Submachine State +_UI_State_submachine_feature = Submachine +_UI_State_connection_feature = Connection +_UI_State_connectionPoint_feature = Connection Point +_UI_State_redefinedState_feature = Redefined State +_UI_State_stateInvariant_feature = State Invariant +_UI_State_entry_feature = Entry +_UI_State_exit_feature = Exit +_UI_State_doActivity_feature = Do Activity +_UI_State_deferrableTrigger_feature = Deferrable Trigger +_UI_State_region_feature = Region +_UI_ConnectionPointReference_entry_feature = Entry +_UI_ConnectionPointReference_exit_feature = Exit +_UI_ConnectionPointReference_state_feature = State +_UI_Pseudostate_kind_feature = Kind +_UI_Pseudostate_stateMachine_feature = State Machine +_UI_Pseudostate_state_feature = State +_UI_ProtocolConformance_generalMachine_feature = General Machine +_UI_ProtocolConformance_specificMachine_feature = Specific Machine +_UI_StructuralFeature_isReadOnly_feature = Is Read Only +_UI_Association_isDerived_feature = Is Derived +_UI_Association_endType_feature = End Type +_UI_Association_memberEnd_feature = Member End +_UI_Association_navigableOwnedEnd_feature = Navigable Owned End +_UI_Association_ownedEnd_feature = Owned End +_UI_CollaborationUse_type_feature = Type +_UI_CollaborationUse_roleBinding_feature = Role Binding +_UI_Collaboration_collaborationRole_feature = Collaboration Role +_UI_StructuredClassifier_ownedAttribute_feature = Owned Attribute +_UI_StructuredClassifier_part_feature = Part +_UI_StructuredClassifier_role_feature = Role +_UI_StructuredClassifier_ownedConnector_feature = Owned Connector +_UI_Connector_type_feature = Type +_UI_Connector_redefinedConnector_feature = Redefined Connector +_UI_Connector_end_feature = End +_UI_Connector_kind_feature = Kind +_UI_Connector_contract_feature = Contract +_UI_RedefinableTemplateSignature_extendedSignature_feature = Extended Signature +_UI_RedefinableTemplateSignature_inheritedParameter_feature = Inherited Parameter +_UI_RedefinableTemplateSignature_classifier_feature = Classifier +_UI_ClassifierTemplateParameter_allowSubstitutable_feature = Allow Substitutable +_UI_ClassifierTemplateParameter_defaultClassifier_feature = Default Classifier +_UI_ClassifierTemplateParameter_constrainingClassifier_feature = Constraining Classifier +_UI_InterfaceRealization_contract_feature = Contract +_UI_InterfaceRealization_implementingClassifier_feature = Implementing Classifier +_UI_EncapsulatedClassifier_ownedPort_feature = Owned Port +_UI_Extension_isRequired_feature = Is Required +_UI_Extension_metaclass_feature = Metaclass +_UI_StringExpression_subExpression_feature = Sub Expression +_UI_StringExpression_owningExpression_feature = Owning Expression +_UI_Expression_symbol_feature = Symbol +_UI_Expression_operand_feature = Operand +_UI_LiteralInteger_value_feature = Value +_UI_LiteralString_value_feature = Value +_UI_LiteralBoolean_value_feature = Value +_UI_Slot_owningInstance_feature = Owning Instance +_UI_Slot_definingFeature_feature = Defining Feature +_UI_Slot_value_feature = Value +_UI_InstanceSpecification_classifier_feature = Classifier +_UI_InstanceSpecification_specification_feature = Specification +_UI_InstanceSpecification_slot_feature = Slot +_UI_Enumeration_ownedLiteral_feature = Owned Literal +_UI_EnumerationLiteral_enumeration_feature = Enumeration +_UI_InstanceValue_instance_feature = Instance +_UI_LiteralUnlimitedNatural_value_feature = Value +_UI_OpaqueBehavior_body_feature = Body +_UI_OpaqueBehavior_language_feature = Language +_UI_Message_messageKind_feature = Message Kind +_UI_Message_messageSort_feature = Message Sort +_UI_Message_receiveEvent_feature = Receive Event +_UI_Message_sendEvent_feature = Send Event +_UI_Message_connector_feature = Connector +_UI_Message_interaction_feature = Interaction +_UI_Message_argument_feature = Argument +_UI_Message_signature_feature = Signature +_UI_MessageEnd_message_feature = Message +_UI_Interaction_lifeline_feature = Lifeline +_UI_Interaction_fragment_feature = Fragment +_UI_Interaction_action_feature = Action +_UI_Interaction_formalGate_feature = Formal Gate +_UI_Interaction_message_feature = Message +_UI_InteractionFragment_covered_feature = Covered +_UI_InteractionFragment_generalOrdering_feature = General Ordering +_UI_InteractionFragment_enclosingInteraction_feature = Enclosing Interaction +_UI_InteractionFragment_enclosingOperand_feature = Enclosing Operand +_UI_Lifeline_represents_feature = Represents +_UI_Lifeline_interaction_feature = Interaction +_UI_Lifeline_selector_feature = Selector +_UI_Lifeline_decomposedAs_feature = Decomposed As +_UI_Lifeline_coveredBy_feature = Covered By +_UI_InteractionUse_refersTo_feature = Refers To +_UI_InteractionUse_actualGate_feature = Actual Gate +_UI_InteractionUse_argument_feature = Argument +_UI_Action_output_feature = Output +_UI_Action_input_feature = Input +_UI_Action_context_feature = Context +_UI_Action_localPrecondition_feature = Local Precondition +_UI_Action_localPostcondition_feature = Local Postcondition +_UI_ExecutableNode_handler_feature = Handler +_UI_ActivityNode_outgoing_feature = Outgoing +_UI_ActivityNode_inGroup_feature = In Group +_UI_ActivityNode_inPartition_feature = In Partition +_UI_ActivityNode_inStructuredNode_feature = In Structured Node +_UI_ActivityNode_activity_feature = Activity +_UI_ActivityNode_incoming_feature = Incoming +_UI_ActivityNode_inInterruptibleRegion_feature = In Interruptible Region +_UI_ActivityNode_redefinedNode_feature = Redefined Node +_UI_ActivityEdge_activity_feature = Activity +_UI_ActivityEdge_inGroup_feature = In Group +_UI_ActivityEdge_inPartition_feature = In Partition +_UI_ActivityEdge_inStructuredNode_feature = In Structured Node +_UI_ActivityEdge_target_feature = Target +_UI_ActivityEdge_redefinedEdge_feature = Redefined Edge +_UI_ActivityEdge_guard_feature = Guard +_UI_ActivityEdge_weight_feature = Weight +_UI_ActivityEdge_interrupts_feature = Interrupts +_UI_ActivityEdge_source_feature = Source +_UI_Activity_isReadOnly_feature = Is Read Only +_UI_Activity_partition_feature = Partition +_UI_Activity_group_feature = Group +_UI_Activity_isSingleExecution_feature = Is Single Execution +_UI_Activity_structuredNode_feature = Structured Node +_UI_Activity_variable_feature = Variable +_UI_Activity_node_feature = Node +_UI_Activity_edge_feature = Edge +_UI_ActivityPartition_isDimension_feature = Is Dimension +_UI_ActivityPartition_isExternal_feature = Is External +_UI_ActivityPartition_edge_feature = Edge +_UI_ActivityPartition_node_feature = Node +_UI_ActivityPartition_subpartition_feature = Subpartition +_UI_ActivityPartition_superPartition_feature = Super Partition +_UI_ActivityPartition_represents_feature = Represents +_UI_ActivityGroup_subgroup_feature = Subgroup +_UI_ActivityGroup_superGroup_feature = Super Group +_UI_ActivityGroup_containedNode_feature = Contained Node +_UI_ActivityGroup_inActivity_feature = In Activity +_UI_ActivityGroup_containedEdge_feature = Contained Edge +_UI_StructuredActivityNode_variable_feature = Variable +_UI_StructuredActivityNode_node_feature = Node +_UI_StructuredActivityNode_mustIsolate_feature = Must Isolate +_UI_StructuredActivityNode_edge_feature = Edge +_UI_Variable_activityScope_feature = Activity Scope +_UI_Variable_scope_feature = Scope +_UI_InterruptibleActivityRegion_node_feature = Node +_UI_InterruptibleActivityRegion_interruptingEdge_feature = Interrupting Edge +_UI_ExceptionHandler_handlerBody_feature = Handler Body +_UI_ExceptionHandler_exceptionInput_feature = Exception Input +_UI_ExceptionHandler_exceptionType_feature = Exception Type +_UI_ExceptionHandler_protectedNode_feature = Protected Node +_UI_ObjectNode_ordering_feature = Ordering +_UI_ObjectNode_isControlType_feature = Is Control Type +_UI_ObjectNode_upperBound_feature = Upper Bound +_UI_ObjectNode_inState_feature = In State +_UI_ObjectNode_selection_feature = Selection +_UI_Pin_isControl_feature = Is Control +_UI_GeneralOrdering_before_feature = Before +_UI_GeneralOrdering_after_feature = After +_UI_OccurrenceSpecification_toBefore_feature = To Before +_UI_OccurrenceSpecification_event_feature = Event +_UI_OccurrenceSpecification_toAfter_feature = To After +_UI_InteractionOperand_guard_feature = Guard +_UI_InteractionOperand_fragment_feature = Fragment +_UI_InteractionConstraint_minint_feature = Minint +_UI_InteractionConstraint_maxint_feature = Maxint +_UI_ExecutionSpecification_start_feature = Start +_UI_ExecutionSpecification_finish_feature = Finish +_UI_ExecutionOccurrenceSpecification_execution_feature = Execution +_UI_StateInvariant_invariant_feature = Invariant +_UI_ActionExecutionSpecification_action_feature = Action +_UI_BehaviorExecutionSpecification_behavior_feature = Behavior +_UI_SendOperationEvent_operation_feature = Operation +_UI_SendSignalEvent_signal_feature = Signal +_UI_CombinedFragment_interactionOperator_feature = Interaction Operator +_UI_CombinedFragment_operand_feature = Operand +_UI_CombinedFragment_cfragmentGate_feature = Cfragment Gate +_UI_Continuation_setting_feature = Setting +_UI_ConsiderIgnoreFragment_message_feature = Message +_UI_CallEvent_operation_feature = Operation +_UI_ChangeEvent_changeExpression_feature = Change Expression +_UI_SignalEvent_signal_feature = Signal +_UI_CreateObjectAction_classifier_feature = Classifier +_UI_CreateObjectAction_result_feature = Result +_UI_DestroyObjectAction_isDestroyLinks_feature = Is Destroy Links +_UI_DestroyObjectAction_isDestroyOwnedObjects_feature = Is Destroy Owned Objects +_UI_DestroyObjectAction_target_feature = Target +_UI_TestIdentityAction_first_feature = First +_UI_TestIdentityAction_second_feature = Second +_UI_TestIdentityAction_result_feature = Result +_UI_ReadSelfAction_result_feature = Result +_UI_StructuralFeatureAction_structuralFeature_feature = Structural Feature +_UI_StructuralFeatureAction_object_feature = Object +_UI_ReadStructuralFeatureAction_result_feature = Result +_UI_WriteStructuralFeatureAction_value_feature = Value +_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature = Is Remove Duplicates +_UI_RemoveStructuralFeatureValueAction_removeAt_feature = Remove At +_UI_AddStructuralFeatureValueAction_isReplaceAll_feature = Is Replace All +_UI_AddStructuralFeatureValueAction_insertAt_feature = Insert At +_UI_LinkAction_endData_feature = End Data +_UI_LinkAction_inputValue_feature = Input Value +_UI_LinkEndData_value_feature = Value +_UI_LinkEndData_end_feature = End +_UI_LinkEndData_qualifier_feature = Qualifier +_UI_QualifierValue_qualifier_feature = Qualifier +_UI_QualifierValue_value_feature = Value +_UI_ReadLinkAction_result_feature = Result +_UI_LinkEndCreationData_isReplaceAll_feature = Is Replace All +_UI_LinkEndCreationData_insertAt_feature = Insert At +_UI_LinkEndDestructionData_isDestroyDuplicates_feature = Is Destroy Duplicates +_UI_LinkEndDestructionData_destroyAt_feature = Destroy At +_UI_ClearAssociationAction_object_feature = Object +_UI_ClearAssociationAction_association_feature = Association +_UI_BroadcastSignalAction_signal_feature = Signal +_UI_InvocationAction_argument_feature = Argument +_UI_InvocationAction_onPort_feature = On Port +_UI_SendObjectAction_target_feature = Target +_UI_SendObjectAction_request_feature = Request +_UI_ValueSpecificationAction_value_feature = Value +_UI_ValueSpecificationAction_result_feature = Result +_UI_TimeExpression_firstTime_feature = First Time +_UI_TimeExpression_event_feature = Event +_UI_Duration_firstTime_feature = First Time +_UI_Duration_event_feature = Event +_UI_TimeObservationAction_now_feature = Now +_UI_ValuePin_value_feature = Value +_UI_Interval_min_feature = Min +_UI_Interval_max_feature = Max +_UI_DurationObservationAction_duration_feature = Duration +_UI_OpaqueAction_body_feature = Body +_UI_OpaqueAction_language_feature = Language +_UI_OpaqueAction_inputValue_feature = Input Value +_UI_OpaqueAction_outputValue_feature = Output Value +_UI_CallAction_isSynchronous_feature = Is Synchronous +_UI_CallAction_result_feature = Result +_UI_SendSignalAction_target_feature = Target +_UI_SendSignalAction_signal_feature = Signal +_UI_CallOperationAction_operation_feature = Operation +_UI_CallOperationAction_target_feature = Target +_UI_CallBehaviorAction_behavior_feature = Behavior +_UI_InformationItem_represented_feature = Represented +_UI_InformationFlow_realization_feature = Realization +_UI_InformationFlow_conveyed_feature = Conveyed +_UI_InformationFlow_informationSource_feature = Information Source +_UI_InformationFlow_informationTarget_feature = Information Target +_UI_InformationFlow_realizingActivityEdge_feature = Realizing Activity Edge +_UI_InformationFlow_realizingConnector_feature = Realizing Connector +_UI_InformationFlow_realizingMessage_feature = Realizing Message +_UI_Model_viewpoint_feature = Viewpoint +_UI_ReadExtentAction_result_feature = Result +_UI_ReadExtentAction_classifier_feature = Classifier +_UI_ReclassifyObjectAction_isReplaceAll_feature = Is Replace All +_UI_ReclassifyObjectAction_oldClassifier_feature = Old Classifier +_UI_ReclassifyObjectAction_newClassifier_feature = New Classifier +_UI_ReclassifyObjectAction_object_feature = Object +_UI_ReadIsClassifiedObjectAction_isDirect_feature = Is Direct +_UI_ReadIsClassifiedObjectAction_classifier_feature = Classifier +_UI_ReadIsClassifiedObjectAction_result_feature = Result +_UI_ReadIsClassifiedObjectAction_object_feature = Object +_UI_StartClassifierBehaviorAction_object_feature = Object +_UI_ReadLinkObjectEndAction_object_feature = Object +_UI_ReadLinkObjectEndAction_end_feature = End +_UI_ReadLinkObjectEndAction_result_feature = Result +_UI_ReadLinkObjectEndQualifierAction_object_feature = Object +_UI_ReadLinkObjectEndQualifierAction_result_feature = Result +_UI_ReadLinkObjectEndQualifierAction_qualifier_feature = Qualifier +_UI_CreateLinkObjectAction_result_feature = Result +_UI_AcceptEventAction_isUnmarshall_feature = Is Unmarshall +_UI_AcceptEventAction_result_feature = Result +_UI_AcceptEventAction_trigger_feature = Trigger +_UI_AcceptCallAction_returnInformation_feature = Return Information +_UI_ReplyAction_replyToCall_feature = Reply To Call +_UI_ReplyAction_returnInformation_feature = Return Information +_UI_ReplyAction_replyValue_feature = Reply Value +_UI_UnmarshallAction_result_feature = Result +_UI_UnmarshallAction_unmarshallType_feature = Unmarshall Type +_UI_UnmarshallAction_object_feature = Object +_UI_ActivityParameterNode_parameter_feature = Parameter +_UI_DecisionNode_decisionInput_feature = Decision Input +_UI_JoinNode_isCombineDuplicate_feature = Is Combine Duplicate +_UI_JoinNode_joinSpec_feature = Join Spec +_UI_ObjectFlow_isMulticast_feature = Is Multicast +_UI_ObjectFlow_isMultireceive_feature = Is Multireceive +_UI_ObjectFlow_transformation_feature = Transformation +_UI_ObjectFlow_selection_feature = Selection +_UI_SequenceNode_executableNode_feature = Executable Node +_UI_ConditionalNode_isDeterminate_feature = Is Determinate +_UI_ConditionalNode_isAssured_feature = Is Assured +_UI_ConditionalNode_clause_feature = Clause +_UI_ConditionalNode_result_feature = Result +_UI_Clause_test_feature = Test +_UI_Clause_body_feature = Body +_UI_Clause_predecessorClause_feature = Predecessor Clause +_UI_Clause_successorClause_feature = Successor Clause +_UI_Clause_decider_feature = Decider +_UI_Clause_bodyOutput_feature = Body Output +_UI_LoopNode_isTestedFirst_feature = Is Tested First +_UI_LoopNode_bodyPart_feature = Body Part +_UI_LoopNode_setupPart_feature = Setup Part +_UI_LoopNode_decider_feature = Decider +_UI_LoopNode_test_feature = Test +_UI_LoopNode_result_feature = Result +_UI_LoopNode_loopVariable_feature = Loop Variable +_UI_LoopNode_bodyOutput_feature = Body Output +_UI_LoopNode_loopVariableInput_feature = Loop Variable Input +_UI_ExpansionNode_regionAsOutput_feature = Region As Output +_UI_ExpansionNode_regionAsInput_feature = Region As Input +_UI_ExpansionRegion_mode_feature = Mode +_UI_ExpansionRegion_inputElement_feature = Input Element +_UI_ExpansionRegion_outputElement_feature = Output Element +_UI_ComponentRealization_abstraction_feature = Abstraction +_UI_ComponentRealization_realizingClassifier_feature = Realizing Classifier +_UI_Component_isIndirectlyInstantiated_feature = Is Indirectly Instantiated +_UI_Component_required_feature = Required +_UI_Component_provided_feature = Provided +_UI_Component_packagedElement_feature = Packaged Element +_UI_Component_realization_feature = Realization +_UI_Node_nestedNode_feature = Nested Node +_UI_TimeEvent_isRelative_feature = Is Relative +_UI_TimeEvent_when_feature = When +_UI_ProtocolTransition_postCondition_feature = Post Condition +_UI_ProtocolTransition_referred_feature = Referred +_UI_ProtocolTransition_preCondition_feature = Pre Condition +_UI_Unknown_feature = Unspecified + +_UI_VisibilityKind_public_literal = public +_UI_VisibilityKind_private_literal = private +_UI_VisibilityKind_protected_literal = protected +_UI_VisibilityKind_package_literal = package +_UI_CallConcurrencyKind_sequential_literal = sequential +_UI_CallConcurrencyKind_guarded_literal = guarded +_UI_CallConcurrencyKind_concurrent_literal = concurrent +_UI_TransitionKind_internal_literal = internal +_UI_TransitionKind_local_literal = local +_UI_TransitionKind_external_literal = external +_UI_PseudostateKind_initial_literal = initial +_UI_PseudostateKind_deepHistory_literal = deepHistory +_UI_PseudostateKind_shallowHistory_literal = shallowHistory +_UI_PseudostateKind_join_literal = join +_UI_PseudostateKind_fork_literal = fork +_UI_PseudostateKind_junction_literal = junction +_UI_PseudostateKind_choice_literal = choice +_UI_PseudostateKind_entryPoint_literal = entryPoint +_UI_PseudostateKind_exitPoint_literal = exitPoint +_UI_PseudostateKind_terminate_literal = terminate +_UI_AggregationKind_none_literal = none +_UI_AggregationKind_shared_literal = shared +_UI_AggregationKind_composite_literal = composite +_UI_ParameterDirectionKind_in_literal = in +_UI_ParameterDirectionKind_inout_literal = inout +_UI_ParameterDirectionKind_out_literal = out +_UI_ParameterDirectionKind_return_literal = return +_UI_ParameterEffectKind_create_literal = create +_UI_ParameterEffectKind_read_literal = read +_UI_ParameterEffectKind_update_literal = update +_UI_ParameterEffectKind_delete_literal = delete +_UI_ConnectorKind_assembly_literal = assembly +_UI_ConnectorKind_delegation_literal = delegation +_UI_MessageKind_complete_literal = complete +_UI_MessageKind_lost_literal = lost +_UI_MessageKind_found_literal = found +_UI_MessageKind_unknown_literal = unknown +_UI_MessageSort_synchCall_literal = synchCall +_UI_MessageSort_asynchCall_literal = asynchCall +_UI_MessageSort_asynchSignal_literal = asynchSignal +_UI_ObjectNodeOrderingKind_unordered_literal = unordered +_UI_ObjectNodeOrderingKind_ordered_literal = ordered +_UI_ObjectNodeOrderingKind_LIFO_literal = LIFO +_UI_ObjectNodeOrderingKind_FIFO_literal = FIFO +_UI_InteractionOperatorKind_seq_literal = seq +_UI_InteractionOperatorKind_alt_literal = alt +_UI_InteractionOperatorKind_opt_literal = opt +_UI_InteractionOperatorKind_break_literal = break +_UI_InteractionOperatorKind_par_literal = par +_UI_InteractionOperatorKind_strict_literal = strict +_UI_InteractionOperatorKind_loop_literal = loop +_UI_InteractionOperatorKind_critical_literal = critical +_UI_InteractionOperatorKind_neg_literal = neg +_UI_InteractionOperatorKind_assert_literal = assert +_UI_InteractionOperatorKind_ignore_literal = ignore +_UI_InteractionOperatorKind_consider_literal = consider +_UI_ExpansionKind_parallel_literal = parallel +_UI_ExpansionKind_iterative_literal = iterative +_UI_ExpansionKind_stream_literal = stream +_UI_VariableAction_type = Variable Action +_UI_ReadVariableAction_type = Read Variable Action +_UI_WriteVariableAction_type = Write Variable Action +_UI_ClearVariableAction_type = Clear Variable Action +_UI_AddVariableValueAction_type = Add Variable Value Action +_UI_RemoveVariableValueAction_type = Remove Variable Value Action +_UI_RaiseExceptionAction_type = Raise Exception Action +_UI_ActionInputPin_type = Action Input Pin +_UI_VariableAction_variable_feature = Variable +_UI_ReadVariableAction_result_feature = Result +_UI_WriteVariableAction_value_feature = Value +_UI_AddVariableValueAction_isReplaceAll_feature = Is Replace All +_UI_AddVariableValueAction_insertAt_feature = Insert At +_UI_RemoveVariableValueAction_isRemoveDuplicates_feature = Is Remove Duplicates +_UI_RemoveVariableValueAction_removeAt_feature = Remove At +_UI_RaiseExceptionAction_exception_feature = Exception +_UI_ActionInputPin_fromAction_feature = From Action diff --git a/plugins/org.eclipse.uml2.uml.edit/plugin.xml b/plugins/org.eclipse.uml2.uml.edit/plugin.xml new file mode 100644 index 00000000..0765a07d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/plugin.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- + Copyright (c) 2005 IBM Corporation 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: + IBM - initial API and implementation + + $Id: plugin.xml,v 1.1 2005/11/14 22:11:37 khussey Exp $ +--> + +<plugin> + + <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories"> + <factory + uri = "http://www.eclipse.org/uml2/2.0.0/UML" + class = "org.eclipse.uml2.uml.edit.provider.UMLItemProviderAdapterFactory" + supportedTypes = + "org.eclipse.emf.edit.provider.IEditingDomainItemProvider + org.eclipse.emf.edit.provider.IStructuredItemContentProvider + org.eclipse.emf.edit.provider.ITreeItemContentProvider + org.eclipse.emf.edit.provider.IItemLabelProvider + org.eclipse.emf.edit.provider.IItemPropertySource" /> + </extension> + +</plugin> + diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java new file mode 100644 index 00000000..c4fc4828 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLEditPlugin.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the UML edit plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class UMLEditPlugin + extends EMFPlugin { + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final UMLEditPlugin INSTANCE = new UMLEditPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLEditPlugin() { + super(new ResourceLocator[]{}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation + extends EclipsePlugin { + + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java new file mode 100644 index 00000000..134c1fa1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AbstractionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Abstraction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Abstraction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AbstractionItemProvider + extends DependencyItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AbstractionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMappingPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Mapping feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMappingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Abstraction_mapping_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Abstraction_mapping_feature", "_UI_Abstraction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAbstraction_Mapping(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getAbstraction_Mapping()); + } + return childrenFeatures; + } + + /** + * This returns Abstraction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Abstraction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Abstraction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Abstraction_type") : //$NON-NLS-1$ + getString("_UI_Abstraction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Abstraction.class)) { + case UMLPackage.ABSTRACTION__MAPPING : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAbstraction_Mapping(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java new file mode 100644 index 00000000..f82bc670 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AcceptCallActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.AcceptCallAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AcceptCallAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AcceptCallActionItemProvider + extends AcceptEventActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AcceptCallActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addReturnInformationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Return Information feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReturnInformationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AcceptCallAction_returnInformation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AcceptCallAction_returnInformation_feature", "_UI_AcceptCallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAcceptCallAction_ReturnInformation(), + true, null, null, null)); + } + + /** + * This returns AcceptCallAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/AcceptCallAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AcceptCallAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AcceptCallAction_type") : //$NON-NLS-1$ + getString("_UI_AcceptCallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java new file mode 100644 index 00000000..8c21ed80 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AcceptEventActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.AcceptEventAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AcceptEventAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AcceptEventActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AcceptEventActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsUnmarshallPropertyDescriptor(object); + addResultPropertyDescriptor(object); + addTriggerPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Unmarshall feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUnmarshallPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AcceptEventAction_isUnmarshall_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_isUnmarshall_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAcceptEventAction_IsUnmarshall(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AcceptEventAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_result_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAcceptEventAction_Result(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Trigger feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTriggerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AcceptEventAction_trigger_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_trigger_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAcceptEventAction_Trigger(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getAcceptEventAction_Trigger()); + } + return childrenFeatures; + } + + /** + * This returns AcceptEventAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/AcceptEventAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AcceptEventAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AcceptEventAction_type") : //$NON-NLS-1$ + getString("_UI_AcceptEventAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AcceptEventAction.class)) { + case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAcceptEventAction_Trigger(), UMLFactory.eINSTANCE + .createTrigger())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java new file mode 100644 index 00000000..034b59cf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActionExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ActionExecutionSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActionExecutionSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActionExecutionSpecificationItemProvider + extends ExecutionSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActionExecutionSpecificationItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addActionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Action feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActionExecutionSpecification_action_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActionExecutionSpecification_action_feature", "_UI_ActionExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActionExecutionSpecification_Action(), + true, null, null, null)); + } + + /** + * This returns ActionExecutionSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ActionExecutionSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActionExecutionSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActionExecutionSpecification_type") : //$NON-NLS-1$ + getString("_UI_ActionExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java new file mode 100644 index 00000000..006ced21 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java @@ -0,0 +1,370 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActionInputPinItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ActionInputPin; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActionInputPin} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActionInputPinItemProvider + extends InputPinItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActionInputPinItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFromActionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the From Action feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFromActionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActionInputPin_fromAction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActionInputPin_fromAction_feature", "_UI_ActionInputPin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActionInputPin_FromAction(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getActionInputPin_FromAction()); + } + return childrenFeatures; + } + + /** + * This returns ActionInputPin.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ActionInputPin"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActionInputPin) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActionInputPin_type") : //$NON-NLS-1$ + getString("_UI_ActionInputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ActionInputPin.class)) { + case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createCreateLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createOpaqueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createAcceptEventAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createAcceptCallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createReplyAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createUnmarshallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActionInputPin_FromAction(), UMLFactory.eINSTANCE + .createExpansionRegion())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java new file mode 100644 index 00000000..d4be8899 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java @@ -0,0 +1,340 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Action; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Action} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActionItemProvider + extends ExecutableNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOutputPropertyDescriptor(object); + addInputPropertyDescriptor(object); + addContextPropertyDescriptor(object); + addLocalPreconditionPropertyDescriptor(object); + addLocalPostconditionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Output feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Action_output_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Action_output_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAction_Output(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Input feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Action_input_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Action_input_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAction_Input(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Action_context_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Action_context_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAction_Context(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Local Precondition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLocalPreconditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Action_localPrecondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Action_localPrecondition_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAction_LocalPrecondition(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Local Postcondition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLocalPostconditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Action_localPostcondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Action_localPostcondition_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAction_LocalPostcondition(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getAction_LocalPrecondition()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getAction_LocalPostcondition()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Action.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Action"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Action) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Action_type") : //$NON-NLS-1$ + getString("_UI_Action_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Action.class)) { + case UMLPackage.ACTION__LOCAL_PRECONDITION : + case UMLPackage.ACTION__LOCAL_POSTCONDITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPrecondition(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPrecondition(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPrecondition(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPrecondition(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPrecondition(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPostcondition(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPostcondition(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPostcondition(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPostcondition(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAction_LocalPostcondition(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java new file mode 100644 index 00000000..bbf951b4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityEdgeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ActivityEdge; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityEdge} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityEdgeItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityEdgeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addActivityPropertyDescriptor(object); + addInGroupPropertyDescriptor(object); + addInPartitionPropertyDescriptor(object); + addInStructuredNodePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addRedefinedEdgePropertyDescriptor(object); + addGuardPropertyDescriptor(object); + addWeightPropertyDescriptor(object); + addInterruptsPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_activity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_activity_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Activity(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_inGroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inGroup_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_InGroup(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Partition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInPartitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_inPartition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inPartition_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_InPartition(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the In Structured Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInStructuredNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_inStructuredNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inStructuredNode_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_InStructuredNode(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_target_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Target(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Redefined Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_redefinedEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_redefinedEdge_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_RedefinedEdge(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Guard feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGuardPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_guard_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_guard_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Guard(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Weight feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addWeightPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_weight_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_weight_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Weight(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Interrupts feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInterruptsPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_interrupts_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_interrupts_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Interrupts(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityEdge_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_source_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityEdge_Source(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivityEdge_Guard()); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivityEdge_Weight()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ActivityEdge.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ActivityEdge"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActivityEdge) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActivityEdge_type") : //$NON-NLS-1$ + getString("_UI_ActivityEdge_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ActivityEdge.class)) { + case UMLPackage.ACTIVITY_EDGE__GUARD : + case UMLPackage.ACTIVITY_EDGE__WEIGHT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Guard(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityEdge_Weight(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java new file mode 100644 index 00000000..eba8a9c0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityFinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ActivityFinalNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityFinalNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityFinalNodeItemProvider + extends FinalNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityFinalNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ActivityFinalNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ActivityFinalNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActivityFinalNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActivityFinalNode_type") : //$NON-NLS-1$ + getString("_UI_ActivityFinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java new file mode 100644 index 00000000..121e829a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityGroupItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityGroup} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityGroupItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityGroupItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSubgroupPropertyDescriptor(object); + addSuperGroupPropertyDescriptor(object); + addContainedNodePropertyDescriptor(object); + addInActivityPropertyDescriptor(object); + addContainedEdgePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Subgroup feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubgroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Super Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuperGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_ActivityGroup_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java new file mode 100644 index 00000000..c496e713 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java @@ -0,0 +1,684 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Activity; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Activity} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityItemProvider + extends BehaviorItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReadOnlyPropertyDescriptor(object); + addPartitionPropertyDescriptor(object); + addGroupPropertyDescriptor(object); + addIsSingleExecutionPropertyDescriptor(object); + addStructuredNodePropertyDescriptor(object); + addVariablePropertyDescriptor(object); + addNodePropertyDescriptor(object); + addEdgePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Read Only feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReadOnlyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_isReadOnly_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_isReadOnly_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_IsReadOnly(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Partition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPartitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_partition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_partition_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_Partition(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_group_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_group_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_Group(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Single Execution feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsSingleExecutionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_isSingleExecution_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_isSingleExecution_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_IsSingleExecution(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Structured Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStructuredNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_structuredNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_structuredNode_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_StructuredNode(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Variable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_variable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_variable_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_Variable(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_node_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_node_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_Node(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Activity_edge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Activity_edge_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivity_Edge(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Group()); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Variable()); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Node()); + childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Edge()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Activity.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Activity"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Activity) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Activity_type") : //$NON-NLS-1$ + getString("_UI_Activity_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Activity.class)) { + case UMLPackage.ACTIVITY__IS_READ_ONLY : + case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ACTIVITY__GROUP : + case UMLPackage.ACTIVITY__VARIABLE : + case UMLPackage.ACTIVITY__NODE : + case UMLPackage.ACTIVITY__EDGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Group(), UMLFactory.eINSTANCE + .createActivityPartition())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Group(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Group(), UMLFactory.eINSTANCE + .createInterruptibleActivityRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Group(), UMLFactory.eINSTANCE.createSequenceNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Group(), + UMLFactory.eINSTANCE.createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Group(), UMLFactory.eINSTANCE.createLoopNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Group(), + UMLFactory.eINSTANCE.createExpansionRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Variable(), UMLFactory.eINSTANCE.createVariable())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createOutputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createReadLinkAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createCreateLinkAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createOpaqueAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createActionInputPin())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createAcceptEventAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createAcceptCallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createReplyAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createUnmarshallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createInitialNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE + .createActivityParameterNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createForkNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createFlowFinalNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createCentralBufferNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createMergeNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createDecisionNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(), + UMLFactory.eINSTANCE.createActivityFinalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createJoinNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createDataStoreNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createExpansionNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Node(), UMLFactory.eINSTANCE.createExpansionRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Edge(), UMLFactory.eINSTANCE.createActivityEdge())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Edge(), UMLFactory.eINSTANCE.createControlFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivity_Edge(), UMLFactory.eINSTANCE.createObjectFlow())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE.getActivity_Group() + || childFeature == UMLPackage.eINSTANCE.getActivity_Node(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getActivity_Group()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getActivity_Partition()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getActivity_Group()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getActivity_Partition()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE.getActivity_Partition()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getActivity_Group()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java new file mode 100644 index 00000000..72f9c3ca --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ActivityNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityNodeItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOutgoingPropertyDescriptor(object); + addInGroupPropertyDescriptor(object); + addInPartitionPropertyDescriptor(object); + addInStructuredNodePropertyDescriptor(object); + addActivityPropertyDescriptor(object); + addIncomingPropertyDescriptor(object); + addInInterruptibleRegionPropertyDescriptor(object); + addRedefinedNodePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Outgoing feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutgoingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_outgoing_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_outgoing_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_Outgoing(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the In Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_inGroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inGroup_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_InGroup(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Partition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInPartitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_inPartition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inPartition_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_InPartition(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the In Structured Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInStructuredNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_inStructuredNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inStructuredNode_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_InStructuredNode(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_activity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_activity_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_Activity(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Incoming feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIncomingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_incoming_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_incoming_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_Incoming(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the In Interruptible Region feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInInterruptibleRegionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_inInterruptibleRegion_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inInterruptibleRegion_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_InInterruptibleRegion(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityNode_redefinedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityNode_redefinedNode_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityNode_RedefinedNode(), true, + null, null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActivityNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActivityNode_type") : //$NON-NLS-1$ + getString("_UI_ActivityNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java new file mode 100644 index 00000000..78ce1c24 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityParameterNodeItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ActivityParameterNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityParameterNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityParameterNodeItemProvider + extends ObjectNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityParameterNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addParameterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityParameterNode_parameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityParameterNode_parameter_feature", "_UI_ActivityParameterNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityParameterNode_Parameter(), + true, null, null, null)); + } + + /** + * This returns ActivityParameterNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator() + .getImage("full/obj16/ActivityParameterNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActivityParameterNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActivityParameterNode_type") : //$NON-NLS-1$ + getString("_UI_ActivityParameterNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java new file mode 100644 index 00000000..06241531 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java @@ -0,0 +1,415 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActivityPartitionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ActivityPartition; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityPartition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActivityPartitionItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActivityPartitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSubgroupPropertyDescriptor(object); + addSuperGroupPropertyDescriptor(object); + addContainedNodePropertyDescriptor(object); + addInActivityPropertyDescriptor(object); + addContainedEdgePropertyDescriptor(object); + addIsDimensionPropertyDescriptor(object); + addIsExternalPropertyDescriptor(object); + addEdgePropertyDescriptor(object); + addNodePropertyDescriptor(object); + addSubpartitionPropertyDescriptor(object); + addSuperPartitionPropertyDescriptor(object); + addRepresentsPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Subgroup feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubgroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Super Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuperGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Dimension feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDimensionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_isDimension_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_isDimension_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_IsDimension(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is External feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsExternalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_isExternal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_isExternal_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_IsExternal(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_edge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_edge_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_Edge(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_node_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_node_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_Node(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Subpartition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubpartitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_subpartition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_subpartition_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_Subpartition(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Super Partition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuperPartitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_superPartition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_superPartition_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_SuperPartition(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Represents feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRepresentsPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityPartition_represents_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_represents_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityPartition_Represents(), true, + null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getActivityPartition_Subpartition()); + } + return childrenFeatures; + } + + /** + * This returns ActivityPartition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ActivityPartition"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ActivityPartition) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ActivityPartition_type") : //$NON-NLS-1$ + getString("_UI_ActivityPartition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ActivityPartition.class)) { + case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION : + case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getActivityPartition_Subpartition(), UMLFactory.eINSTANCE + .createActivityPartition())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java new file mode 100644 index 00000000..49750715 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ActorItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Actor; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Actor} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActorItemProvider + extends BehavioredClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Actor.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Actor"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Actor) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Actor_type") : //$NON-NLS-1$ + getString("_UI_Actor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java new file mode 100644 index 00000000..04376d54 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java @@ -0,0 +1,246 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AddStructuralFeatureValueActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.AddStructuralFeatureValueAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AddStructuralFeatureValueActionItemProvider + extends WriteStructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AddStructuralFeatureValueActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReplaceAllPropertyDescriptor(object); + addInsertAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Replace All feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReplaceAllPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AddStructuralFeatureValueAction_isReplaceAll_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AddStructuralFeatureValueAction_isReplaceAll_feature", "_UI_AddStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_IsReplaceAll(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Insert At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInsertAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AddStructuralFeatureValueAction_insertAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AddStructuralFeatureValueAction_insertAt_feature", "_UI_AddStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt()); + } + return childrenFeatures; + } + + /** + * This returns AddStructuralFeatureValueAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/AddStructuralFeatureValueAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AddStructuralFeatureValueAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AddStructuralFeatureValueAction_type") : //$NON-NLS-1$ + getString("_UI_AddStructuralFeatureValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification + .getFeatureID(AddStructuralFeatureValueAction.class)) { + case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt(), + UMLFactory.eINSTANCE.createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt(), + UMLFactory.eINSTANCE.createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt(), + UMLFactory.eINSTANCE.createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object() + || childFeature == UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value() + || childFeature == UMLPackage.eINSTANCE + .getAddStructuralFeatureValueAction_InsertAt(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java new file mode 100644 index 00000000..934a3b10 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java @@ -0,0 +1,241 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AddVariableValueActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.AddVariableValueAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AddVariableValueAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AddVariableValueActionItemProvider + extends WriteVariableActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AddVariableValueActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReplaceAllPropertyDescriptor(object); + addInsertAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Replace All feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReplaceAllPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AddVariableValueAction_isReplaceAll_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AddVariableValueAction_isReplaceAll_feature", "_UI_AddVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAddVariableValueAction_IsReplaceAll(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Insert At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInsertAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_AddVariableValueAction_insertAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_AddVariableValueAction_insertAt_feature", "_UI_AddVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAddVariableValueAction_InsertAt(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getAddVariableValueAction_InsertAt()); + } + return childrenFeatures; + } + + /** + * This returns AddVariableValueAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/AddVariableValueAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AddVariableValueAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AddVariableValueAction_type") : //$NON-NLS-1$ + getString("_UI_AddVariableValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AddVariableValueAction.class)) { + case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getWriteVariableAction_Value() + || childFeature == UMLPackage.eINSTANCE + .getAddVariableValueAction_InsertAt(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java new file mode 100644 index 00000000..f8eb8086 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AnyReceiveEventItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.AnyReceiveEvent; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AnyReceiveEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AnyReceiveEventItemProvider + extends MessageEventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyReceiveEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns AnyReceiveEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/AnyReceiveEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AnyReceiveEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AnyReceiveEvent_type") : //$NON-NLS-1$ + getString("_UI_AnyReceiveEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java new file mode 100644 index 00000000..467a0af9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java @@ -0,0 +1,405 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ArtifactItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Artifact; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Artifact} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ArtifactItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ArtifactItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFileNamePropertyDescriptor(object); + addNestedArtifactPropertyDescriptor(object); + addManifestationPropertyDescriptor(object); + addOwnedOperationPropertyDescriptor(object); + addOwnedAttributePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the File Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFileNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Artifact_fileName_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Artifact_fileName_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getArtifact_FileName(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Nested Artifact feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestedArtifactPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Artifact_nestedArtifact_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Artifact_nestedArtifact_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getArtifact_NestedArtifact(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Manifestation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addManifestationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Artifact_manifestation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Artifact_manifestation_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getArtifact_Manifestation(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Artifact_ownedOperation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Artifact_ownedOperation_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getArtifact_OwnedOperation(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Artifact_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Artifact_ownedAttribute_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getArtifact_OwnedAttribute(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getArtifact_NestedArtifact()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getArtifact_Manifestation()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getArtifact_OwnedOperation()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getArtifact_OwnedAttribute()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Artifact.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Artifact"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Artifact) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Artifact_type") : //$NON-NLS-1$ + getString("_UI_Artifact_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Artifact.class)) { + case UMLPackage.ARTIFACT__FILE_NAME : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ARTIFACT__NESTED_ARTIFACT : + case UMLPackage.ARTIFACT__MANIFESTATION : + case UMLPackage.ARTIFACT__OWNED_OPERATION : + case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_NestedArtifact(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_NestedArtifact(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_Manifestation(), UMLFactory.eINSTANCE + .createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_OwnedOperation(), UMLFactory.eINSTANCE + .createOperation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getArtifact_Manifestation()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE.getArtifact_Manifestation()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getArtifact_Manifestation()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE.getArtifact_Manifestation()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java new file mode 100644 index 00000000..c4097074 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java @@ -0,0 +1,411 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AssociationClassItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.AssociationClass; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AssociationClass} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AssociationClassItemProvider + extends ClassItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AssociationClassItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addIsDerivedPropertyDescriptor(object); + addEndTypePropertyDescriptor(object); + addMemberEndPropertyDescriptor(object); + addNavigableOwnedEndPropertyDescriptor(object); + addOwnedEndPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Derived feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDerivedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_isDerived_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_isDerived_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_IsDerived(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the End Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_endType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_endType_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_EndType(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Member End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMemberEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_memberEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_memberEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_MemberEnd(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Navigable Owned End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNavigableOwnedEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_navigableOwnedEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_navigableOwnedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owned End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_ownedEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_ownedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_OwnedEnd(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures + .add(UMLPackage.eINSTANCE.getAssociation_OwnedEnd()); + } + return childrenFeatures; + } + + /** + * This returns AssociationClass.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/AssociationClass"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((AssociationClass) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_AssociationClass_type") : //$NON-NLS-1$ + getString("_UI_AssociationClass_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AssociationClass.class)) { + case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ASSOCIATION_CLASS__OWNED_END : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE + .createExtensionEnd())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute() + || childFeature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_MemberEnd()}, collection, index); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_NavigableOwnedEnd()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_MemberEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_NavigableOwnedEnd()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java new file mode 100644 index 00000000..6d131fcb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java @@ -0,0 +1,403 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: AssociationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Association; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Association} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class AssociationItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AssociationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addIsDerivedPropertyDescriptor(object); + addEndTypePropertyDescriptor(object); + addMemberEndPropertyDescriptor(object); + addNavigableOwnedEndPropertyDescriptor(object); + addOwnedEndPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Derived feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDerivedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_isDerived_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_isDerived_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_IsDerived(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the End Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_endType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_endType_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_EndType(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Member End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMemberEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_memberEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_memberEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_MemberEnd(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Navigable Owned End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNavigableOwnedEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_navigableOwnedEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_navigableOwnedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owned End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Association_ownedEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Association_ownedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getAssociation_OwnedEnd(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures + .add(UMLPackage.eINSTANCE.getAssociation_OwnedEnd()); + } + return childrenFeatures; + } + + /** + * This returns Association.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Association"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Association) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Association_type") : //$NON-NLS-1$ + getString("_UI_Association_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Association.class)) { + case UMLPackage.ASSOCIATION__IS_DERIVED : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.ASSOCIATION__OWNED_END : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE + .createExtensionEnd())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_MemberEnd()}, collection, index); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_NavigableOwnedEnd()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_MemberEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_NavigableOwnedEnd()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java new file mode 100644 index 00000000..ed24769f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: BehaviorExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.BehaviorExecutionSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class BehaviorExecutionSpecificationItemProvider + extends ExecutionSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BehaviorExecutionSpecificationItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBehaviorPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehaviorExecutionSpecification_behavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehaviorExecutionSpecification_behavior_feature", "_UI_BehaviorExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getBehaviorExecutionSpecification_Behavior(), true, null, + null, null)); + } + + /** + * This returns BehaviorExecutionSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/BehaviorExecutionSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((BehaviorExecutionSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_BehaviorExecutionSpecification_type") : //$NON-NLS-1$ + getString("_UI_BehaviorExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java new file mode 100644 index 00000000..44305fb9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java @@ -0,0 +1,336 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: BehaviorItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Behavior; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Behavior} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class BehaviorItemProvider + extends ClassItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BehaviorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReentrantPropertyDescriptor(object); + addRedefinedBehaviorPropertyDescriptor(object); + addOwnedParameterPropertyDescriptor(object); + addContextPropertyDescriptor(object); + addOwnedParameterSetPropertyDescriptor(object); + addSpecificationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Reentrant feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReentrantPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_isReentrant_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_isReentrant_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_IsReentrant(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_redefinedBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_redefinedBehavior_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_RedefinedBehavior(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owned Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_ownedParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_ownedParameter_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_OwnedParameter(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_context_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_context_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_Context(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Parameter Set feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterSetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_ownedParameterSet_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_ownedParameterSet_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_OwnedParameterSet(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Specification feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSpecificationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Behavior_specification_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Behavior_specification_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavior_Specification(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavior_OwnedParameter()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavior_OwnedParameterSet()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Behavior.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Behavior"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Behavior) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Behavior_type") : //$NON-NLS-1$ + getString("_UI_Behavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Behavior.class)) { + case UMLPackage.BEHAVIOR__IS_REENTRANT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.BEHAVIOR__OWNED_PARAMETER : + case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavior_OwnedParameter(), UMLFactory.eINSTANCE + .createParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavior_OwnedParameterSet(), UMLFactory.eINSTANCE + .createParameterSet())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java new file mode 100644 index 00000000..13505a69 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java @@ -0,0 +1,416 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: BehavioralFeatureItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.BehavioralFeature; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehavioralFeature} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class BehavioralFeatureItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BehavioralFeatureItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsLeafPropertyDescriptor(object); + addRedefinedElementPropertyDescriptor(object); + addRedefinitionContextPropertyDescriptor(object); + addIsStaticPropertyDescriptor(object); + addFeaturingClassifierPropertyDescriptor(object); + addOwnedParameterPropertyDescriptor(object); + addIsAbstractPropertyDescriptor(object); + addMethodPropertyDescriptor(object); + addConcurrencyPropertyDescriptor(object); + addRaisedExceptionPropertyDescriptor(object); + addOwnedParameterSetPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Leaf feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsLeafPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefinition Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinitionContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableElement_RedefinitionContext(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Static feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsStaticPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Feature_isStatic_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Feature_isStatic_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getFeature_IsStatic(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Featuring Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFeaturingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Feature_featuringClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Feature_featuringClassifier_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getFeature_FeaturingClassifier(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_ownedParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_ownedParameter_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameter(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Abstract feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsAbstractPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_isAbstract_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_isAbstract_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_IsAbstract(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Method feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMethodPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_method_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_method_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_Method(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Concurrency feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConcurrencyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_concurrency_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_concurrency_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_Concurrency(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Raised Exception feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRaisedExceptionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_raisedException_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_raisedException_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_RaisedException(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Owned Parameter Set feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterSetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioralFeature_ownedParameterSet_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_ownedParameterSet_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameterSet(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioralFeature_OwnedParameter()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioralFeature_OwnedParameterSet()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns BehavioralFeature.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/BehavioralFeature"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((BehavioralFeature) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_BehavioralFeature_type") : //$NON-NLS-1$ + getString("_UI_BehavioralFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(BehavioralFeature.class)) { + case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF : + case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC : + case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT : + case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER : + case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioralFeature_OwnedParameter(), UMLFactory.eINSTANCE + .createParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioralFeature_OwnedParameterSet(), UMLFactory.eINSTANCE + .createParameterSet())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java new file mode 100644 index 00000000..a85c5fcb --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java @@ -0,0 +1,415 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: BehavioredClassifierItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.BehavioredClassifier; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehavioredClassifier} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class BehavioredClassifierItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BehavioredClassifierItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedBehaviorPropertyDescriptor(object); + addClassifierBehaviorPropertyDescriptor(object); + addInterfaceRealizationPropertyDescriptor(object); + addOwnedTriggerPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_ownedBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedBehavior(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Classifier Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_classifierBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_classifierBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Interface Realization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInterfaceRealizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_interfaceRealization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_interfaceRealization_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Trigger feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTriggerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_ownedTrigger_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedTrigger_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedTrigger(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedTrigger()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((BehavioredClassifier) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_BehavioredClassifier_type") : //$NON-NLS-1$ + getString("_UI_BehavioredClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(BehavioredClassifier.class)) { + case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR : + case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION : + case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TRIGGER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), + UMLFactory.eINSTANCE.createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedTrigger(), UMLFactory.eINSTANCE + .createTrigger())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()}, value, + collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()}, + value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java new file mode 100644 index 00000000..477ba530 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: BroadcastSignalActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.BroadcastSignalAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BroadcastSignalAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class BroadcastSignalActionItemProvider + extends InvocationActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BroadcastSignalActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignalPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BroadcastSignalAction_signal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BroadcastSignalAction_signal_feature", "_UI_BroadcastSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBroadcastSignalAction_Signal(), true, + null, null, null)); + } + + /** + * This returns BroadcastSignalAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator() + .getImage("full/obj16/BroadcastSignalAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((BroadcastSignalAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_BroadcastSignalAction_type") : //$NON-NLS-1$ + getString("_UI_BroadcastSignalAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java new file mode 100644 index 00000000..d09ffe90 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java @@ -0,0 +1,215 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CallActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CallAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CallActionItemProvider + extends InvocationActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CallActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsSynchronousPropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Synchronous feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsSynchronousPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallAction_isSynchronous_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallAction_isSynchronous_feature", "_UI_CallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallAction_IsSynchronous(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallAction_result_feature", "_UI_CallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallAction_Result(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getCallAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CallAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CallAction_type") : //$NON-NLS-1$ + getString("_UI_CallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CallAction.class)) { + case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.CALL_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCallAction_Result(), UMLFactory.eINSTANCE.createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java new file mode 100644 index 00000000..2195f9bf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CallBehaviorActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CallBehaviorAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallBehaviorAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CallBehaviorActionItemProvider + extends CallActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CallBehaviorActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBehaviorPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallBehaviorAction_behavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallBehaviorAction_behavior_feature", "_UI_CallBehaviorAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallBehaviorAction_Behavior(), true, + null, null, null)); + } + + /** + * This returns CallBehaviorAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CallBehaviorAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CallBehaviorAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CallBehaviorAction_type") : //$NON-NLS-1$ + getString("_UI_CallBehaviorAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java new file mode 100644 index 00000000..32cc8dcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CallEventItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CallEvent; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CallEventItemProvider + extends MessageEventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CallEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOperationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallEvent_operation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallEvent_operation_feature", "_UI_CallEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallEvent_Operation(), true, null, + null, null)); + } + + /** + * This returns CallEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CallEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CallEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CallEvent_type") : //$NON-NLS-1$ + getString("_UI_CallEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java new file mode 100644 index 00000000..142dd3f8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java @@ -0,0 +1,235 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CallOperationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CallOperationAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallOperationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CallOperationActionItemProvider + extends CallActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CallOperationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOperationPropertyDescriptor(object); + addTargetPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallOperationAction_operation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallOperationAction_operation_feature", "_UI_CallOperationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallOperationAction_Operation(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CallOperationAction_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CallOperationAction_target_feature", "_UI_CallOperationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCallOperationAction_Target(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCallOperationAction_Target()); + } + return childrenFeatures; + } + + /** + * This returns CallOperationAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CallOperationAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CallOperationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CallOperationAction_type") : //$NON-NLS-1$ + getString("_UI_CallOperationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CallOperationAction.class)) { + case UMLPackage.CALL_OPERATION_ACTION__TARGET : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCallOperationAction_Target(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCallOperationAction_Target(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCallOperationAction_Target(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getInvocationAction_Argument() + || childFeature == UMLPackage.eINSTANCE + .getCallOperationAction_Target(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java new file mode 100644 index 00000000..33ff3390 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CentralBufferNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CentralBufferNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CentralBufferNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CentralBufferNodeItemProvider + extends ObjectNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CentralBufferNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns CentralBufferNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CentralBufferNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CentralBufferNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CentralBufferNode_type") : //$NON-NLS-1$ + getString("_UI_CentralBufferNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java new file mode 100644 index 00000000..b5cc344c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java @@ -0,0 +1,255 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ChangeEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ChangeEvent; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ChangeEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ChangeEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addChangeExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Change Expression feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addChangeExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ChangeEvent_changeExpression_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ChangeEvent_changeExpression_feature", "_UI_ChangeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getChangeEvent_ChangeExpression(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression()); + } + return childrenFeatures; + } + + /** + * This returns ChangeEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ChangeEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ChangeEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ChangeEvent_type") : //$NON-NLS-1$ + getString("_UI_ChangeEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ChangeEvent.class)) { + case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getChangeEvent_ChangeExpression(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java new file mode 100644 index 00000000..aaccc6ae --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java @@ -0,0 +1,690 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClassItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Class} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClassItemProvider + extends EncapsulatedClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClassItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedBehaviorPropertyDescriptor(object); + addClassifierBehaviorPropertyDescriptor(object); + addInterfaceRealizationPropertyDescriptor(object); + addOwnedTriggerPropertyDescriptor(object); + addOwnedOperationPropertyDescriptor(object); + addNestedClassifierPropertyDescriptor(object); + addSuperClassPropertyDescriptor(object); + addIsActivePropertyDescriptor(object); + addOwnedReceptionPropertyDescriptor(object); + addExtensionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_ownedBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedBehavior(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Classifier Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_classifierBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_classifierBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Interface Realization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInterfaceRealizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_interfaceRealization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_interfaceRealization_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Trigger feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTriggerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_BehavioredClassifier_ownedTrigger_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedTrigger_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedTrigger(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_ownedOperation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_ownedOperation_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_OwnedOperation(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Nested Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestedClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_nestedClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_nestedClassifier_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_NestedClassifier(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Super Class feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuperClassPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_superClass_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_superClass_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_SuperClass(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Active feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsActivePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_isActive_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_isActive_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_IsActive(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Owned Reception feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedReceptionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_ownedReception_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_ownedReception_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_OwnedReception(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extension feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtensionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Class_extension_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Class_extension_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClass_Extension(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedTrigger()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getClass_OwnedOperation()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClass_NestedClassifier()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getClass_OwnedReception()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Class.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Class"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((org.eclipse.uml2.uml.Class) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Class_type") : //$NON-NLS-1$ + getString("_UI_Class_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(org.eclipse.uml2.uml.Class.class)) { + case UMLPackage.CLASS__IS_ACTIVE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.CLASS__OWNED_BEHAVIOR : + case UMLPackage.CLASS__INTERFACE_REALIZATION : + case UMLPackage.CLASS__OWNED_TRIGGER : + case UMLPackage.CLASS__OWNED_OPERATION : + case UMLPackage.CLASS__NESTED_CLASSIFIER : + case UMLPackage.CLASS__OWNED_RECEPTION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), + UMLFactory.eINSTANCE.createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedTrigger(), UMLFactory.eINSTANCE + .createTrigger())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_OwnedOperation(), UMLFactory.eINSTANCE + .createOperation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createStereotype())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createComponent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClass_NestedClassifier(), UMLFactory.eINSTANCE + .createAssociationClass())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClass_OwnedReception(), UMLFactory.eINSTANCE + .createReception())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()}, value, + collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization()}, + value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getBehavioredClassifier_ClassifierBehavior()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java new file mode 100644 index 00000000..d1834546 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java @@ -0,0 +1,803 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClassifierItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Classifier} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClassifierItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClassifierItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsLeafPropertyDescriptor(object); + addRedefinedElementPropertyDescriptor(object); + addRedefinitionContextPropertyDescriptor(object); + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addPackagePropertyDescriptor(object); + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + addIsAbstractPropertyDescriptor(object); + addGeneralizationPropertyDescriptor(object); + addPowertypeExtentPropertyDescriptor(object); + addFeaturePropertyDescriptor(object); + addInheritedMemberPropertyDescriptor(object); + addRedefinedClassifierPropertyDescriptor(object); + addGeneralPropertyDescriptor(object); + addOwnedUseCasePropertyDescriptor(object); + addUseCasePropertyDescriptor(object); + addSubstitutionPropertyDescriptor(object); + addAttributePropertyDescriptor(object); + addRepresentationPropertyDescriptor(object); + addCollaborationUsePropertyDescriptor(object); + addOwnedSignaturePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Leaf feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsLeafPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefinition Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinitionContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableElement_RedefinitionContext(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Type_package_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Type_package_feature", "_UI_Type_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getType_Package(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Abstract feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsAbstractPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_isAbstract_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_isAbstract_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_IsAbstract(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Generalization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_generalization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_generalization_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_Generalization(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Powertype Extent feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPowertypeExtentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_powertypeExtent_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_powertypeExtent_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_PowertypeExtent(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Feature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFeaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_feature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_feature_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_Feature(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Inherited Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInheritedMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_inheritedMember_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_inheritedMember_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_InheritedMember(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefined Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_redefinedClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_redefinedClassifier_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_RedefinedClassifier(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the General feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_general_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_general_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_General(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Use Case feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedUseCasePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_ownedUseCase_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_ownedUseCase_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_OwnedUseCase(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Use Case feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUseCasePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_useCase_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_useCase_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_UseCase(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Substitution feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubstitutionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_substitution_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_substitution_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_Substitution(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_attribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_attribute_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_Attribute(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Representation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRepresentationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_representation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_representation_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_Representation(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Collaboration Use feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCollaborationUsePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_collaborationUse_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_collaborationUse_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_CollaborationUse(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Classifier_ownedSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Classifier_ownedSignature_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClassifier_OwnedSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClassifier_Generalization()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClassifier_Substitution()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClassifier_CollaborationUse()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClassifier_OwnedSignature()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Classifier) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Classifier_type") : //$NON-NLS-1$ + getString("_UI_Classifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Classifier.class)) { + case UMLPackage.CLASSIFIER__IS_LEAF : + case UMLPackage.CLASSIFIER__IS_ABSTRACT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.CLASSIFIER__TEMPLATE_BINDING : + case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE : + case UMLPackage.CLASSIFIER__GENERALIZATION : + case UMLPackage.CLASSIFIER__OWNED_USE_CASE : + case UMLPackage.CLASSIFIER__SUBSTITUTION : + case UMLPackage.CLASSIFIER__COLLABORATION_USE : + case UMLPackage.CLASSIFIER__OWNED_SIGNATURE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClassifier_Generalization(), UMLFactory.eINSTANCE + .createGeneralization())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClassifier_Substitution(), UMLFactory.eINSTANCE + .createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClassifier_CollaborationUse(), UMLFactory.eINSTANCE + .createCollaborationUse())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(), UMLFactory.eINSTANCE + .createRedefinableTemplateSignature())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getClassifier_Substitution()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getClassifier_Substitution()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getClassifier_CollaborationUse()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getClassifier_Representation()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getClassifier_Substitution()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getClassifier_Substitution()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getClassifier_CollaborationUse()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getClassifier_Representation()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE.getClassifier_Representation()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getClassifier_CollaborationUse()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java new file mode 100644 index 00000000..2100a0f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClassifierTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ClassifierTemplateParameter; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClassifierTemplateParameter} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClassifierTemplateParameterItemProvider + extends TemplateParameterItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClassifierTemplateParameterItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addAllowSubstitutablePropertyDescriptor(object); + addDefaultClassifierPropertyDescriptor(object); + addConstrainingClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Allow Substitutable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAllowSubstitutablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ClassifierTemplateParameter_allowSubstitutable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_allowSubstitutable_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getClassifierTemplateParameter_AllowSubstitutable(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Default Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ClassifierTemplateParameter_defaultClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_defaultClassifier_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getClassifierTemplateParameter_DefaultClassifier(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Constraining Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConstrainingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ClassifierTemplateParameter_constrainingClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_constrainingClassifier_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getClassifierTemplateParameter_ConstrainingClassifier(), + true, null, null, null)); + } + + /** + * This returns ClassifierTemplateParameter.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ClassifierTemplateParameter"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter) object; + return getString("_UI_ClassifierTemplateParameter_type") + " " + classifierTemplateParameter.isAllowSubstitutable(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ClassifierTemplateParameter.class)) { + case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement() + || childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java new file mode 100644 index 00000000..564a4aa0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java @@ -0,0 +1,241 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClauseItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Clause} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClauseItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClauseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTestPropertyDescriptor(object); + addBodyPropertyDescriptor(object); + addPredecessorClausePropertyDescriptor(object); + addSuccessorClausePropertyDescriptor(object); + addDeciderPropertyDescriptor(object); + addBodyOutputPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Test feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTestPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_test_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_test_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_Test(), true, null, null, null)); + } + + /** + * This adds a property descriptor for the Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_body_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_body_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_Body(), true, null, null, null)); + } + + /** + * This adds a property descriptor for the Predecessor Clause feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPredecessorClausePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_predecessorClause_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_predecessorClause_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_PredecessorClause(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Successor Clause feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuccessorClausePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_successorClause_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_successorClause_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_SuccessorClause(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Decider feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeciderPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_decider_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_decider_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_Decider(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Body Output feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyOutputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Clause_bodyOutput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Clause_bodyOutput_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClause_BodyOutput(), true, null, null, + null)); + } + + /** + * This returns Clause.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Clause"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_Clause_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java new file mode 100644 index 00000000..62594e55 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClearAssociationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ClearAssociationAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearAssociationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClearAssociationActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClearAssociationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addObjectPropertyDescriptor(object); + addAssociationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ClearAssociationAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ClearAssociationAction_object_feature", "_UI_ClearAssociationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClearAssociationAction_Object(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Association feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAssociationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ClearAssociationAction_association_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ClearAssociationAction_association_feature", "_UI_ClearAssociationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getClearAssociationAction_Association(), + true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getClearAssociationAction_Object()); + } + return childrenFeatures; + } + + /** + * This returns ClearAssociationAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ClearAssociationAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ClearAssociationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ClearAssociationAction_type") : //$NON-NLS-1$ + getString("_UI_ClearAssociationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ClearAssociationAction.class)) { + case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClearAssociationAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClearAssociationAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getClearAssociationAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java new file mode 100644 index 00000000..5cf2741a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClearStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ClearStructuralFeatureAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClearStructuralFeatureActionItemProvider + extends StructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClearStructuralFeatureActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ClearStructuralFeatureAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ClearStructuralFeatureAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ClearStructuralFeatureAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ClearStructuralFeatureAction_type") : //$NON-NLS-1$ + getString("_UI_ClearStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java new file mode 100644 index 00000000..3a3cc3a4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ClearVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ClearVariableAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearVariableAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ClearVariableActionItemProvider + extends VariableActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClearVariableActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ClearVariableAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ClearVariableAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ClearVariableAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ClearVariableAction_type") : //$NON-NLS-1$ + getString("_UI_ClearVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java new file mode 100644 index 00000000..a3588a03 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CollaborationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Collaboration; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Collaboration} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CollaborationItemProvider + extends BehavioredClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CollaborationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedAttributePropertyDescriptor(object); + addPartPropertyDescriptor(object); + addRolePropertyDescriptor(object); + addOwnedConnectorPropertyDescriptor(object); + addCollaborationRolePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedAttribute_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Part feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPartPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_part_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_part_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_Part(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Role feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRolePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_role_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_role_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_Role(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Connector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedConnectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_ownedConnector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedConnector_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_OwnedConnector(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Collaboration Role feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCollaborationRolePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Collaboration_collaborationRole_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Collaboration_collaborationRole_feature", "_UI_Collaboration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCollaboration_CollaborationRole(), + true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedConnector()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Collaboration.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Collaboration"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Collaboration) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Collaboration_type") : //$NON-NLS-1$ + getString("_UI_Collaboration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Collaboration.class)) { + case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE : + case UMLPackage.COLLABORATION__OWNED_CONNECTOR : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedConnector(), UMLFactory.eINSTANCE + .createConnector())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java new file mode 100644 index 00000000..25749846 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java @@ -0,0 +1,231 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CollaborationUseItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CollaborationUse; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CollaborationUse} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CollaborationUseItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CollaborationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + addRoleBindingPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CollaborationUse_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CollaborationUse_type_feature", "_UI_CollaborationUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCollaborationUse_Type(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Role Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRoleBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CollaborationUse_roleBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CollaborationUse_roleBinding_feature", "_UI_CollaborationUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCollaborationUse_RoleBinding(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding()); + } + return childrenFeatures; + } + + /** + * This returns CollaborationUse.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CollaborationUse"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CollaborationUse) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CollaborationUse_type") : //$NON-NLS-1$ + getString("_UI_CollaborationUse_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CollaborationUse.class)) { + case UMLPackage.COLLABORATION_USE__ROLE_BINDING : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createDependency())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE + .createComponentRealization())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java new file mode 100644 index 00000000..00dbab42 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java @@ -0,0 +1,246 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CombinedFragmentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CombinedFragment; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CombinedFragment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CombinedFragmentItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CombinedFragmentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addInteractionOperatorPropertyDescriptor(object); + addOperandPropertyDescriptor(object); + addCfragmentGatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Interaction Operator feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInteractionOperatorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CombinedFragment_interactionOperator_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_interactionOperator_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCombinedFragment_InteractionOperator(), + true, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Operand feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperandPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CombinedFragment_operand_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_operand_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCombinedFragment_Operand(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Cfragment Gate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCfragmentGatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CombinedFragment_cfragmentGate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_cfragmentGate_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCombinedFragment_CfragmentGate(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCombinedFragment_Operand()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCombinedFragment_CfragmentGate()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns CombinedFragment.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CombinedFragment"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CombinedFragment) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CombinedFragment_type") : //$NON-NLS-1$ + getString("_UI_CombinedFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CombinedFragment.class)) { + case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.COMBINED_FRAGMENT__OPERAND : + case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCombinedFragment_Operand(), UMLFactory.eINSTANCE + .createInteractionOperand())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCombinedFragment_CfragmentGate(), UMLFactory.eINSTANCE + .createGate())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java new file mode 100644 index 00000000..56c27499 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CommentItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Comment; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Comment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CommentItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CommentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBodyPropertyDescriptor(object); + addAnnotatedElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Comment_body_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Comment_body_feature", "_UI_Comment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComment_Body(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Annotated Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAnnotatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Comment_annotatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Comment_annotatedElement_feature", "_UI_Comment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComment_AnnotatedElement(), true, null, + null, null)); + } + + /** + * This returns Comment.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Comment"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Comment) object).getBody(); + return label == null || label.length() == 0 + ? getString("_UI_Comment_type") : //$NON-NLS-1$ + getString("_UI_Comment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Comment.class)) { + case UMLPackage.COMMENT__BODY : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java new file mode 100644 index 00000000..89a6a523 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CommunicationPathItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CommunicationPath; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CommunicationPath} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CommunicationPathItemProvider + extends AssociationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CommunicationPathItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns CommunicationPath.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CommunicationPath"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CommunicationPath) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CommunicationPath_type") : //$NON-NLS-1$ + getString("_UI_CommunicationPath_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java new file mode 100644 index 00000000..d1cb6aad --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java @@ -0,0 +1,620 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ComponentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Component; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Component} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ComponentItemProvider + extends ClassItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ComponentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsIndirectlyInstantiatedPropertyDescriptor(object); + addRequiredPropertyDescriptor(object); + addProvidedPropertyDescriptor(object); + addPackagedElementPropertyDescriptor(object); + addRealizationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Indirectly Instantiated feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsIndirectlyInstantiatedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Component_isIndirectlyInstantiated_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Component_isIndirectlyInstantiated_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponent_IsIndirectlyInstantiated(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Required feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRequiredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Component_required_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Component_required_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponent_Required(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Provided feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addProvidedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Component_provided_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Component_provided_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponent_Provided(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Packaged Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackagedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Component_packagedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Component_packagedElement_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponent_PackagedElement(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Realization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Component_realization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Component_realization_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponent_Realization(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getComponent_PackagedElement()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getComponent_Realization()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Component.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Component"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Component) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Component_type") : //$NON-NLS-1$ + getString("_UI_Component_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Component.class)) { + case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.COMPONENT__PACKAGED_ELEMENT : + case UMLPackage.COMPONENT__REALIZATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDependency())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createPackage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createProfile())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createGeneralizationSet())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInstanceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createEnumerationLiteral())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createActor())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createExecutionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createCreationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDestructionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createSendOperationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createSendSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createCallEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createChangeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createAnyReceiveEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createInformationFlow())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createModel())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createComponentRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createComponent())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createTimeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_PackagedElement(), UMLFactory.eINSTANCE + .createAssociationClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getComponent_Realization(), UMLFactory.eINSTANCE + .createComponentRealization())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getComponent_PackagedElement() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_Substitution() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization() + || childFeature == UMLPackage.eINSTANCE.getComponent_Realization(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java new file mode 100644 index 00000000..b2b41779 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ComponentRealizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.ComponentRealization; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ComponentRealization} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ComponentRealizationItemProvider + extends RealizationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ComponentRealizationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addAbstractionPropertyDescriptor(object); + addRealizingClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Abstraction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAbstractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ComponentRealization_abstraction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ComponentRealization_abstraction_feature", "_UI_ComponentRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getComponentRealization_Abstraction(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Realizing Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ComponentRealization_realizingClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ComponentRealization_realizingClassifier_feature", "_UI_ComponentRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getComponentRealization_RealizingClassifier(), true, null, + null, null)); + } + + /** + * This returns ComponentRealization.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ComponentRealization"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ComponentRealization) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ComponentRealization_type") : //$NON-NLS-1$ + getString("_UI_ComponentRealization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getComponentRealization_Abstraction()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getComponentRealization_RealizingClassifier()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getComponentRealization_Abstraction()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getComponentRealization_RealizingClassifier()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getComponentRealization_Abstraction()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Client()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getComponentRealization_RealizingClassifier()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java new file mode 100644 index 00000000..eddb3052 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java @@ -0,0 +1,293 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConditionalNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ConditionalNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConditionalNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConditionalNodeItemProvider + extends StructuredActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConditionalNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsDeterminatePropertyDescriptor(object); + addIsAssuredPropertyDescriptor(object); + addClausePropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Determinate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDeterminatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConditionalNode_isDeterminate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_isDeterminate_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConditionalNode_IsDeterminate(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Assured feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsAssuredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConditionalNode_isAssured_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_isAssured_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConditionalNode_IsAssured(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Clause feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClausePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConditionalNode_clause_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_clause_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConditionalNode_Clause(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConditionalNode_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_result_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConditionalNode_Result(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getConditionalNode_Clause()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getConditionalNode_Result()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConditionalNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ConditionalNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ConditionalNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ConditionalNode_type") : //$NON-NLS-1$ + getString("_UI_ConditionalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConditionalNode.class)) { + case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE : + case UMLPackage.CONDITIONAL_NODE__IS_ASSURED : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.CONDITIONAL_NODE__CLAUSE : + case UMLPackage.CONDITIONAL_NODE__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConditionalNode_Clause(), UMLFactory.eINSTANCE.createClause())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConditionalNode_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE + .getStructuredActivityNode_Node() + || childFeature == UMLPackage.eINSTANCE.getConditionalNode_Result(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java new file mode 100644 index 00000000..f1dbec30 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java @@ -0,0 +1,207 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConnectableElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; + +import org.eclipse.uml2.uml.ConnectableElement; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectableElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConnectableElementItemProvider + extends TypedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConnectableElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addEndPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectableElement_end_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectableElement_end_feature", "_UI_ConnectableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectableElement_End(), true, null, + null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ConnectableElement) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ConnectableElement_type") : //$NON-NLS-1$ + getString("_UI_ConnectableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java new file mode 100644 index 00000000..b306e033 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConnectableElementTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConnectableElementTemplateParameterItemProvider + extends TemplateParameterItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConnectableElementTemplateParameterItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ConnectableElementTemplateParameter.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ConnectableElementTemplateParameter"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_ConnectableElementTemplateParameter_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement() + || childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java new file mode 100644 index 00000000..a856dc67 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConnectionPointReferenceItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ConnectionPointReference; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectionPointReference} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConnectionPointReferenceItemProvider + extends VertexItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConnectionPointReferenceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addEntryPropertyDescriptor(object); + addExitPropertyDescriptor(object); + addStatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Entry feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEntryPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectionPointReference_entry_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_entry_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectionPointReference_Entry(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Exit feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExitPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectionPointReference_exit_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_exit_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectionPointReference_Exit(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectionPointReference_state_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_state_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectionPointReference_State(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns ConnectionPointReference.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ConnectionPointReference"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ConnectionPointReference) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ConnectionPointReference_type") : //$NON-NLS-1$ + getString("_UI_ConnectionPointReference_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java new file mode 100644 index 00000000..64eb34f9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConnectorEndItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ConnectorEnd; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectorEnd} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConnectorEndItemProvider + extends MultiplicityElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConnectorEndItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDefiningEndPropertyDescriptor(object); + addPartWithPortPropertyDescriptor(object); + addRolePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Defining End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefiningEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectorEnd_definingEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_definingEnd_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectorEnd_DefiningEnd(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Part With Port feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPartWithPortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectorEnd_partWithPort_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_partWithPort_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectorEnd_PartWithPort(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Role feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRolePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectorEnd_role_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_role_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectorEnd_Role(), true, null, null, + null)); + } + + /** + * This returns ConnectorEnd.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ConnectorEnd"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + ConnectorEnd connectorEnd = (ConnectorEnd) object; + return getString("_UI_ConnectorEnd_type") + " " + connectorEnd.isOrdered(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java new file mode 100644 index 00000000..9d3fc6f1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java @@ -0,0 +1,261 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConnectorItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Connector; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Connector} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConnectorItemProvider + extends FeatureItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConnectorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + addRedefinedConnectorPropertyDescriptor(object); + addEndPropertyDescriptor(object); + addKindPropertyDescriptor(object); + addContractPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Connector_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Connector_type_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnector_Type(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Redefined Connector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedConnectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Connector_redefinedConnector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Connector_redefinedConnector_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnector_RedefinedConnector(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Connector_end_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Connector_end_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnector_End(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Kind feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addKindPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Connector_kind_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Connector_kind_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnector_Kind(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Contract feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContractPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Connector_contract_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Connector_contract_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnector_Contract(), true, null, null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getConnector_End()); + } + return childrenFeatures; + } + + /** + * This returns Connector.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Connector"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Connector) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Connector_type") : //$NON-NLS-1$ + getString("_UI_Connector_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Connector.class)) { + case UMLPackage.CONNECTOR__KIND : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.CONNECTOR__END : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConnector_End(), UMLFactory.eINSTANCE.createConnectorEnd())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java new file mode 100644 index 00000000..ce41f119 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConsiderIgnoreFragmentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ConsiderIgnoreFragment; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConsiderIgnoreFragmentItemProvider + extends CombinedFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConsiderIgnoreFragmentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMessagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Message feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConsiderIgnoreFragment_message_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConsiderIgnoreFragment_message_feature", "_UI_ConsiderIgnoreFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConsiderIgnoreFragment_Message(), true, + null, null, null)); + } + + /** + * This returns ConsiderIgnoreFragment.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ConsiderIgnoreFragment"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ConsiderIgnoreFragment) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ConsiderIgnoreFragment_type") : //$NON-NLS-1$ + getString("_UI_ConsiderIgnoreFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java new file mode 100644 index 00000000..29431945 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Constraint; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Constraint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ConstraintItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ConstraintItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addConstrainedElementPropertyDescriptor(object); + addSpecificationPropertyDescriptor(object); + addContextPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Constrained Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConstrainedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Constraint_constrainedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Constraint_constrainedElement_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConstraint_ConstrainedElement(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Specification feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSpecificationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Constraint_specification_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Constraint_specification_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConstraint_Specification(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Constraint_context_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Constraint_context_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConstraint_Context(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getConstraint_Specification()); + } + return childrenFeatures; + } + + /** + * This returns Constraint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Constraint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Constraint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Constraint_type") : //$NON-NLS-1$ + getString("_UI_Constraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Constraint.class)) { + case UMLPackage.CONSTRAINT__SPECIFICATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getConstraint_Specification(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getConstraint_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java new file mode 100644 index 00000000..9390d8e4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ContinuationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Continuation; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Continuation} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ContinuationItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ContinuationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSettingPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Setting feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSettingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Continuation_setting_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Continuation_setting_feature", "_UI_Continuation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getContinuation_Setting(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This returns Continuation.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Continuation"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Continuation) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Continuation_type") : //$NON-NLS-1$ + getString("_UI_Continuation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Continuation.class)) { + case UMLPackage.CONTINUATION__SETTING : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java new file mode 100644 index 00000000..d9f4b319 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ControlFlowItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ControlFlow; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ControlFlow} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ControlFlowItemProvider + extends ActivityEdgeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ControlFlowItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ControlFlow.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ControlFlow"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ControlFlow) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ControlFlow_type") : //$NON-NLS-1$ + getString("_UI_ControlFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java new file mode 100644 index 00000000..a0a40e58 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ControlNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ControlNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ControlNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ControlNodeItemProvider + extends ActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ControlNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ControlNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ControlNode_type") : //$NON-NLS-1$ + getString("_UI_ControlNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java new file mode 100644 index 00000000..f0e05d20 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CreateLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CreateLinkAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateLinkAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CreateLinkActionItemProvider + extends WriteLinkActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CreateLinkActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns CreateLinkAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CreateLinkAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CreateLinkAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CreateLinkAction_type") : //$NON-NLS-1$ + getString("_UI_CreateLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java new file mode 100644 index 00000000..d74416a4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CreateLinkObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CreateLinkObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateLinkObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CreateLinkObjectActionItemProvider + extends CreateLinkActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CreateLinkObjectActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CreateLinkObjectAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CreateLinkObjectAction_result_feature", "_UI_CreateLinkObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCreateLinkObjectAction_Result(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCreateLinkObjectAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns CreateLinkObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/CreateLinkObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CreateLinkObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CreateLinkObjectAction_type") : //$NON-NLS-1$ + getString("_UI_CreateLinkObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CreateLinkObjectAction.class)) { + case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCreateLinkObjectAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java new file mode 100644 index 00000000..4d84e0e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java @@ -0,0 +1,223 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CreateObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.CreateObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CreateObjectActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CreateObjectActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addClassifierPropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CreateObjectAction_classifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CreateObjectAction_classifier_feature", "_UI_CreateObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCreateObjectAction_Classifier(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CreateObjectAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_CreateObjectAction_result_feature", "_UI_CreateObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getCreateObjectAction_Result(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getCreateObjectAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns CreateObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CreateObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CreateObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CreateObjectAction_type") : //$NON-NLS-1$ + getString("_UI_CreateObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CreateObjectAction.class)) { + case UMLPackage.CREATE_OBJECT_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getCreateObjectAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java new file mode 100644 index 00000000..c9dd4d3f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: CreationEventItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.CreationEvent; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreationEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class CreationEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CreationEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns CreationEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/CreationEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((CreationEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_CreationEvent_type") : //$NON-NLS-1$ + getString("_UI_CreationEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java new file mode 100644 index 00000000..6aca5f30 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DataStoreNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DataStoreNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DataStoreNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DataStoreNodeItemProvider + extends CentralBufferNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataStoreNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DataStoreNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DataStoreNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DataStoreNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DataStoreNode_type") : //$NON-NLS-1$ + getString("_UI_DataStoreNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java new file mode 100644 index 00000000..e9e762d1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java @@ -0,0 +1,251 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DataTypeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.DataType; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DataType} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DataTypeItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedAttributePropertyDescriptor(object); + addOwnedOperationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DataType_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DataType_ownedAttribute_feature", "_UI_DataType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDataType_OwnedAttribute(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DataType_ownedOperation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DataType_ownedOperation_feature", "_UI_DataType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDataType_OwnedOperation(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDataType_OwnedAttribute()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDataType_OwnedOperation()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns DataType.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DataType"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DataType) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DataType_type") : //$NON-NLS-1$ + getString("_UI_DataType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DataType.class)) { + case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE : + case UMLPackage.DATA_TYPE__OWNED_OPERATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDataType_OwnedOperation(), UMLFactory.eINSTANCE + .createOperation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java new file mode 100644 index 00000000..64033238 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DecisionNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DecisionNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DecisionNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DecisionNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DecisionNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDecisionInputPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Decision Input feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDecisionInputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DecisionNode_decisionInput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DecisionNode_decisionInput_feature", "_UI_DecisionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDecisionNode_DecisionInput(), true, + null, null, null)); + } + + /** + * This returns DecisionNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DecisionNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DecisionNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DecisionNode_type") : //$NON-NLS-1$ + getString("_UI_DecisionNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java new file mode 100644 index 00000000..d9230a83 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java @@ -0,0 +1,233 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DependencyItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Dependency; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Dependency} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DependencyItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DependencyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addSupplierPropertyDescriptor(object); + addClientPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Supplier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSupplierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Dependency_supplier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Dependency_supplier_feature", "_UI_Dependency_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDependency_Supplier(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Client feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClientPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Dependency_client_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Dependency_client_feature", "_UI_Dependency_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDependency_Client(), true, null, null, + null)); + } + + /** + * This returns Dependency.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Dependency"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Dependency) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Dependency_type") : //$NON-NLS-1$ + getString("_UI_Dependency_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java new file mode 100644 index 00000000..e7406826 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DeployedArtifactItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DeployedArtifact; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeployedArtifact} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DeployedArtifactItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DeployedArtifactItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DeployedArtifact) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DeployedArtifact_type") : //$NON-NLS-1$ + getString("_UI_DeployedArtifact_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java new file mode 100644 index 00000000..aa33bc71 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java @@ -0,0 +1,313 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DeploymentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Deployment; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Deployment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DeploymentItemProvider + extends DependencyItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DeploymentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeployedArtifactPropertyDescriptor(object); + addConfigurationPropertyDescriptor(object); + addLocationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Deployed Artifact feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeployedArtifactPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Deployment_deployedArtifact_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Deployment_deployedArtifact_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeployment_DeployedArtifact(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Configuration feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConfigurationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Deployment_configuration_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Deployment_configuration_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeployment_Configuration(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Location feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLocationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Deployment_location_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Deployment_location_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeployment_Location(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDeployment_Configuration()); + } + return childrenFeatures; + } + + /** + * This returns Deployment.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Deployment"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Deployment) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Deployment_type") : //$NON-NLS-1$ + getString("_UI_Deployment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Deployment.class)) { + case UMLPackage.DEPLOYMENT__CONFIGURATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDeployment_Configuration(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getDeployment_DeployedArtifact()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeployment_DeployedArtifact()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeployment_Location()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDeployment_DeployedArtifact()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeployment_DeployedArtifact()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeployment_Location()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE.getDeployment_Location()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Client()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java new file mode 100644 index 00000000..e7e589e8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DeploymentSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.DeploymentSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeploymentSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DeploymentSpecificationItemProvider + extends ArtifactItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DeploymentSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeploymentLocationPropertyDescriptor(object); + addExecutionLocationPropertyDescriptor(object); + addDeploymentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Deployment Location feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeploymentLocationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentSpecification_deploymentLocation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_deploymentLocation_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getDeploymentSpecification_DeploymentLocation(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Execution Location feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExecutionLocationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentSpecification_executionLocation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_executionLocation_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getDeploymentSpecification_ExecutionLocation(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Deployment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeploymentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentSpecification_deployment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_deployment_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentSpecification_Deployment(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns DeploymentSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/DeploymentSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DeploymentSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DeploymentSpecification_type") : //$NON-NLS-1$ + getString("_UI_DeploymentSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DeploymentSpecification.class)) { + case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION : + case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java new file mode 100644 index 00000000..640c4634 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java @@ -0,0 +1,258 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DeploymentTargetItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.DeploymentTarget; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeploymentTarget} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DeploymentTargetItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DeploymentTargetItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeploymentPropertyDescriptor(object); + addDeployedElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Deployment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeploymentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Deployed Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeployedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DeploymentTarget) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DeploymentTarget_type") : //$NON-NLS-1$ + getString("_UI_DeploymentTarget_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DeploymentTarget.class)) { + case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE + .createDeployment())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java new file mode 100644 index 00000000..8f12dba2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DestroyLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DestroyLinkAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestroyLinkAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DestroyLinkActionItemProvider + extends WriteLinkActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DestroyLinkActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DestroyLinkAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DestroyLinkAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DestroyLinkAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DestroyLinkAction_type") : //$NON-NLS-1$ + getString("_UI_DestroyLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java new file mode 100644 index 00000000..890840cd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java @@ -0,0 +1,258 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DestroyObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.DestroyObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestroyObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DestroyObjectActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DestroyObjectActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsDestroyLinksPropertyDescriptor(object); + addIsDestroyOwnedObjectsPropertyDescriptor(object); + addTargetPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Destroy Links feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDestroyLinksPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DestroyObjectAction_isDestroyLinks_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_isDestroyLinks_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDestroyObjectAction_IsDestroyLinks(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Destroy Owned Objects feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDestroyOwnedObjectsPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DestroyObjectAction_isDestroyOwnedObjects_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_isDestroyOwnedObjects_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getDestroyObjectAction_IsDestroyOwnedObjects(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DestroyObjectAction_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_target_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDestroyObjectAction_Target(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDestroyObjectAction_Target()); + } + return childrenFeatures; + } + + /** + * This returns DestroyObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DestroyObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DestroyObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DestroyObjectAction_type") : //$NON-NLS-1$ + getString("_UI_DestroyObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DestroyObjectAction.class)) { + case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS : + case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.DESTROY_OBJECT_ACTION__TARGET : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java new file mode 100644 index 00000000..d6a7bd3d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DestructionEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DestructionEvent; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestructionEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DestructionEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DestructionEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DestructionEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DestructionEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DestructionEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DestructionEvent_type") : //$NON-NLS-1$ + getString("_UI_DestructionEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java new file mode 100644 index 00000000..37ab9956 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DeviceItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Device; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Device} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DeviceItemProvider + extends NodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DeviceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Device.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Device"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Device) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Device_type") : //$NON-NLS-1$ + getString("_UI_Device_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java new file mode 100644 index 00000000..aefeac99 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DirectedRelationshipItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DirectedRelationship} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DirectedRelationshipItemProvider + extends RelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DirectedRelationshipItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_DirectedRelationship_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java new file mode 100644 index 00000000..1adde4d9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DurationConstraintItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DurationConstraint; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationConstraint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DurationConstraintItemProvider + extends IntervalConstraintItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DurationConstraintItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DurationConstraint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DurationConstraint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DurationConstraint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DurationConstraint_type") : //$NON-NLS-1$ + getString("_UI_DurationConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getConstraint_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java new file mode 100644 index 00000000..fc6023d0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DurationIntervalItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DurationInterval; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationInterval} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DurationIntervalItemProvider + extends IntervalItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DurationIntervalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DurationInterval.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/DurationInterval"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DurationInterval) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DurationInterval_type") : //$NON-NLS-1$ + getString("_UI_DurationInterval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java new file mode 100644 index 00000000..8f26d879 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DurationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Duration; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Duration} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DurationItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DurationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFirstTimePropertyDescriptor(object); + addEventPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the First Time feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFirstTimePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Duration_firstTime_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Duration_firstTime_feature", "_UI_Duration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDuration_FirstTime(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Duration_event_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Duration_event_feature", "_UI_Duration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDuration_Event(), true, null, null, + null)); + } + + /** + * This returns Duration.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Duration"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Duration) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Duration_type") : //$NON-NLS-1$ + getString("_UI_Duration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Duration.class)) { + case UMLPackage.DURATION__FIRST_TIME : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java new file mode 100644 index 00000000..6b3734b8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: DurationObservationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.DurationObservationAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationObservationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class DurationObservationActionItemProvider + extends WriteStructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DurationObservationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDurationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Duration feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDurationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DurationObservationAction_duration_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DurationObservationAction_duration_feature", "_UI_DurationObservationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDurationObservationAction_Duration(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns DurationObservationAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/DurationObservationAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((DurationObservationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_DurationObservationAction_type") : //$NON-NLS-1$ + getString("_UI_DurationObservationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object() + || childFeature == UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java new file mode 100644 index 00000000..cf0af4bd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java @@ -0,0 +1,223 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ElementImportItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ElementImport; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.VisibilityKind; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ElementImport} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ElementImportItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ElementImportItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVisibilityPropertyDescriptor(object); + addAliasPropertyDescriptor(object); + addImportedElementPropertyDescriptor(object); + addImportingNamespacePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Visibility feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVisibilityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ElementImport_visibility_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ElementImport_visibility_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElementImport_Visibility(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Alias feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAliasPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ElementImport_alias_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ElementImport_alias_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElementImport_Alias(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Imported Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ElementImport_importedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ElementImport_importedElement_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElementImport_ImportedElement(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Importing Namespace feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportingNamespacePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ElementImport_importingNamespace_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ElementImport_importingNamespace_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElementImport_ImportingNamespace(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns ElementImport.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ElementImport"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + VisibilityKind labelValue = ((ElementImport) object).getVisibility(); + String label = labelValue == null + ? null + : labelValue.toString(); + return label == null || label.length() == 0 + ? getString("_UI_ElementImport_type") : //$NON-NLS-1$ + getString("_UI_ElementImport_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ElementImport.class)) { + case UMLPackage.ELEMENT_IMPORT__VISIBILITY : + case UMLPackage.ELEMENT_IMPORT__ALIAS : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java new file mode 100644 index 00000000..06830e6f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java @@ -0,0 +1,258 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.EcorePackage; + +import org.eclipse.emf.ecore.util.FeatureMap; +import org.eclipse.emf.ecore.util.FeatureMapUtil; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Element} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ElementItemProvider + extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedElementPropertyDescriptor(object); + addOwnerPropertyDescriptor(object); + addOwnedCommentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Element_ownedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Element_ownedElement_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElement_OwnedElement(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owner feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Element_owner_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Element_owner_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElement_Owner(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Comment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedCommentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Element_ownedComment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Element_ownedComment_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getElement_OwnedComment(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(EcorePackage.eINSTANCE + .getEModelElement_EAnnotations()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getElement_OwnedComment()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_Element_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Element.class)) { + case UMLPackage.ELEMENT__EANNOTATIONS : + case UMLPackage.ELEMENT__OWNED_COMMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getElement_OwnedComment(), UMLFactory.eINSTANCE.createComment())); + } + + /** + * This returns the icon image for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getCreateChildImage(Object owner, Object feature, + Object child, Collection selection) { + if (feature instanceof EStructuralFeature + && FeatureMapUtil.isFeatureMap((EStructuralFeature) feature)) { + FeatureMap.Entry entry = (FeatureMap.Entry) child; + feature = entry.getEStructuralFeature(); + child = entry.getValue(); + } + + if (feature instanceof EReference && child instanceof EObject) { + String name = "full/obj16/" + ((EObject) child).eClass().getName(); //$NON-NLS-1$ + + try { + return getResourceLocator().getImage(name); + } catch (Exception e) { + UMLEditPlugin.INSTANCE.log(e); + } + } + + return super.getCreateChildImage(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java new file mode 100644 index 00000000..d63de964 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java @@ -0,0 +1,234 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: EncapsulatedClassifierItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.EncapsulatedClassifier; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.EncapsulatedClassifier} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class EncapsulatedClassifierItemProvider + extends StructuredClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EncapsulatedClassifierItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedPortPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Port feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedPortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_EncapsulatedClassifier_ownedPort_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_EncapsulatedClassifier_ownedPort_feature", "_UI_EncapsulatedClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getEncapsulatedClassifier_OwnedPort(), + true, null, null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((EncapsulatedClassifier) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_EncapsulatedClassifier_type") : //$NON-NLS-1$ + getString("_UI_EncapsulatedClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getEncapsulatedClassifier_OwnedPort()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()}, collection, + index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getEncapsulatedClassifier_OwnedPort()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getEncapsulatedClassifier_OwnedPort()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()}, value, + collection); + } + if (feature == UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getEncapsulatedClassifier_OwnedPort()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java new file mode 100644 index 00000000..2ce66fcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java @@ -0,0 +1,202 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: EnumerationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Enumeration; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Enumeration} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class EnumerationItemProvider + extends DataTypeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EnumerationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedLiteralPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Literal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedLiteralPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Enumeration_ownedLiteral_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Enumeration_ownedLiteral_feature", "_UI_Enumeration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getEnumeration_OwnedLiteral(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getEnumeration_OwnedLiteral()); + } + return childrenFeatures; + } + + /** + * This returns Enumeration.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Enumeration"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Enumeration) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Enumeration_type") : //$NON-NLS-1$ + getString("_UI_Enumeration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Enumeration.class)) { + case UMLPackage.ENUMERATION__OWNED_LITERAL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getEnumeration_OwnedLiteral(), UMLFactory.eINSTANCE + .createEnumerationLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java new file mode 100644 index 00000000..2d1ec39f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: EnumerationLiteralItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.EnumerationLiteral; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.EnumerationLiteral} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class EnumerationLiteralItemProvider + extends InstanceSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EnumerationLiteralItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addEnumerationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Enumeration feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnumerationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_EnumerationLiteral_enumeration_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_EnumerationLiteral_enumeration_feature", "_UI_EnumerationLiteral_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getEnumerationLiteral_Enumeration(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns EnumerationLiteral.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/EnumerationLiteral"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((EnumerationLiteral) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_EnumerationLiteral_type") : //$NON-NLS-1$ + getString("_UI_EnumerationLiteral_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java new file mode 100644 index 00000000..4d50a431 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: EventItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Event; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Event} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class EventItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Event) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Event_type") : //$NON-NLS-1$ + getString("_UI_Event_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java new file mode 100644 index 00000000..1babcc92 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java @@ -0,0 +1,205 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExceptionHandlerItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExceptionHandler} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExceptionHandlerItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExceptionHandlerItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addHandlerBodyPropertyDescriptor(object); + addExceptionInputPropertyDescriptor(object); + addExceptionTypePropertyDescriptor(object); + addProtectedNodePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Handler Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addHandlerBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExceptionHandler_handlerBody_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_handlerBody_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExceptionHandler_HandlerBody(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Exception Input feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExceptionInputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExceptionHandler_exceptionInput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_exceptionInput_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExceptionHandler_ExceptionInput(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Exception Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExceptionTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExceptionHandler_exceptionType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_exceptionType_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExceptionHandler_ExceptionType(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Protected Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addProtectedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExceptionHandler_protectedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_protectedNode_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExceptionHandler_ProtectedNode(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns ExceptionHandler.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExceptionHandler"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_ExceptionHandler_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java new file mode 100644 index 00000000..1a671b8c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java @@ -0,0 +1,168 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExecutableNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ExecutableNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutableNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExecutableNodeItemProvider + extends ActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExecutableNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addHandlerPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Handler feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addHandlerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExecutableNode_handler_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExecutableNode_handler_feature", "_UI_ExecutableNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExecutableNode_Handler(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getExecutableNode_Handler()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExecutableNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExecutableNode_type") : //$NON-NLS-1$ + getString("_UI_ExecutableNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExecutableNode.class)) { + case UMLPackage.EXECUTABLE_NODE__HANDLER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExecutableNode_Handler(), UMLFactory.eINSTANCE + .createExceptionHandler())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java new file mode 100644 index 00000000..3bbdfd9f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExecutionEnvironmentItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExecutionEnvironment; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionEnvironment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExecutionEnvironmentItemProvider + extends NodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExecutionEnvironmentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ExecutionEnvironment.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExecutionEnvironment"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExecutionEnvironment) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExecutionEnvironment_type") : //$NON-NLS-1$ + getString("_UI_ExecutionEnvironment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java new file mode 100644 index 00000000..1651234a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExecutionEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExecutionEvent; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExecutionEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExecutionEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ExecutionEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExecutionEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExecutionEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExecutionEvent_type") : //$NON-NLS-1$ + getString("_UI_ExecutionEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java new file mode 100644 index 00000000..eb807b6a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExecutionOccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExecutionOccurrenceSpecificationItemProvider + extends OccurrenceSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExecutionOccurrenceSpecificationItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addExecutionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Execution feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExecutionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExecutionOccurrenceSpecification_execution_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExecutionOccurrenceSpecification_execution_feature", "_UI_ExecutionOccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getExecutionOccurrenceSpecification_Execution(), true, + null, null, null)); + } + + /** + * This returns ExecutionOccurrenceSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ExecutionOccurrenceSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExecutionOccurrenceSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExecutionOccurrenceSpecification_type") : //$NON-NLS-1$ + getString("_UI_ExecutionOccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java new file mode 100644 index 00000000..7c78c876 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExecutionSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExecutionSpecificationItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExecutionSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addStartPropertyDescriptor(object); + addFinishPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Start feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStartPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExecutionSpecification_start_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExecutionSpecification_start_feature", "_UI_ExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExecutionSpecification_Start(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Finish feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFinishPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExecutionSpecification_finish_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExecutionSpecification_finish_feature", "_UI_ExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExecutionSpecification_Finish(), true, + null, null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExecutionSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExecutionSpecification_type") : //$NON-NLS-1$ + getString("_UI_ExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java new file mode 100644 index 00000000..33f8070c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExpansionNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExpansionNode; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExpansionNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExpansionNodeItemProvider + extends ObjectNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExpansionNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRegionAsOutputPropertyDescriptor(object); + addRegionAsInputPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Region As Output feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRegionAsOutputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExpansionNode_regionAsOutput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExpansionNode_regionAsOutput_feature", "_UI_ExpansionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpansionNode_RegionAsOutput(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Region As Input feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRegionAsInputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExpansionNode_regionAsInput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExpansionNode_regionAsInput_feature", "_UI_ExpansionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpansionNode_RegionAsInput(), true, + null, null, null)); + } + + /** + * This returns ExpansionNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExpansionNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExpansionNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExpansionNode_type") : //$NON-NLS-1$ + getString("_UI_ExpansionNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java new file mode 100644 index 00000000..1aa0012a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExpansionRegionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ExpansionRegion; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExpansionRegion} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExpansionRegionItemProvider + extends StructuredActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExpansionRegionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addModePropertyDescriptor(object); + addInputElementPropertyDescriptor(object); + addOutputElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Mode feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addModePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExpansionRegion_mode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_mode_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpansionRegion_Mode(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Input Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInputElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExpansionRegion_inputElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_inputElement_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpansionRegion_InputElement(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Output Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutputElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExpansionRegion_outputElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_outputElement_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpansionRegion_OutputElement(), true, + null, null, null)); + } + + /** + * This returns ExpansionRegion.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExpansionRegion"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExpansionRegion) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExpansionRegion_type") : //$NON-NLS-1$ + getString("_UI_ExpansionRegion_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExpansionRegion.class)) { + case UMLPackage.EXPANSION_REGION__MODE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java new file mode 100644 index 00000000..14d7ee66 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java @@ -0,0 +1,276 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExpressionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Expression; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Expression} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExpressionItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSymbolPropertyDescriptor(object); + addOperandPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Symbol feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSymbolPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Expression_symbol_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Expression_symbol_feature", "_UI_Expression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpression_Symbol(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Operand feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperandPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Expression_operand_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Expression_operand_feature", "_UI_Expression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExpression_Operand(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getExpression_Operand()); + } + return childrenFeatures; + } + + /** + * This returns Expression.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Expression"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Expression) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Expression_type") : //$NON-NLS-1$ + getString("_UI_Expression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Expression.class)) { + case UMLPackage.EXPRESSION__SYMBOL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.EXPRESSION__OPERAND : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getExpression_Operand(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getExpression_Operand(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java new file mode 100644 index 00000000..65192e0d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java @@ -0,0 +1,320 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExtendItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Extend; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Extend} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExtendItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtendItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addExtendedCasePropertyDescriptor(object); + addConditionPropertyDescriptor(object); + addExtensionLocationPropertyDescriptor(object); + addExtensionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extended Case feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtendedCasePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extend_extendedCase_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extend_extendedCase_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtend_ExtendedCase(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extend_condition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extend_condition_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtend_Condition(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extension Location feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtensionLocationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extend_extensionLocation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extend_extensionLocation_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtend_ExtensionLocation(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Extension feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtensionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extend_extension_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extend_extension_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtend_Extension(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getExtend_Condition()); + } + return childrenFeatures; + } + + /** + * This returns Extend.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Extend"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Extend) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Extend_type") : //$NON-NLS-1$ + getString("_UI_Extend_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Extend.class)) { + case UMLPackage.EXTEND__CONDITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExtend_Condition(), UMLFactory.eINSTANCE.createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExtend_Condition(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExtend_Condition(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getExtend_Condition(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getExtend_Condition(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java new file mode 100644 index 00000000..a01896ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExtensionEndItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExtensionEnd; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExtensionEnd} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExtensionEndItemProvider + extends PropertyItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionEndItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ExtensionEnd.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExtensionEnd"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExtensionEnd) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExtensionEnd_type") : //$NON-NLS-1$ + getString("_UI_ExtensionEnd_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue() + || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java new file mode 100644 index 00000000..c1c19a68 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java @@ -0,0 +1,247 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExtensionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; + +import org.eclipse.uml2.uml.Extension; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Extension} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExtensionItemProvider + extends AssociationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsRequiredPropertyDescriptor(object); + addMetaclassPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Required feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsRequiredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extension_isRequired_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extension_isRequired_feature", "_UI_Extension_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtension_IsRequired(), false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Metaclass feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMetaclassPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Extension_metaclass_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Extension_metaclass_feature", "_UI_Extension_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtension_Metaclass(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns Extension.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Extension"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Extension) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Extension_type") : //$NON-NLS-1$ + getString("_UI_Extension_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Extension.class)) { + case UMLPackage.EXTENSION__IS_REQUIRED : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getAssociation_OwnedEnd()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java new file mode 100644 index 00000000..56b90f21 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ExtensionPointItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ExtensionPoint; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExtensionPoint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExtensionPointItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionPointItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addUseCasePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Use Case feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUseCasePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExtensionPoint_useCase_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ExtensionPoint_useCase_feature", "_UI_ExtensionPoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getExtensionPoint_UseCase(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns ExtensionPoint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ExtensionPoint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ExtensionPoint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ExtensionPoint_type") : //$NON-NLS-1$ + getString("_UI_ExtensionPoint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java new file mode 100644 index 00000000..7c4fd6ec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java @@ -0,0 +1,168 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: FeatureItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Feature; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Feature} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FeatureItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FeatureItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsStaticPropertyDescriptor(object); + addFeaturingClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Static feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsStaticPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Feature_isStatic_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Feature_isStatic_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getFeature_IsStatic(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Featuring Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFeaturingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Feature_featuringClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Feature_featuringClassifier_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getFeature_FeaturingClassifier(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Feature) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Feature_type") : //$NON-NLS-1$ + getString("_UI_Feature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Feature.class)) { + case UMLPackage.FEATURE__IS_STATIC : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java new file mode 100644 index 00000000..eca91d79 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: FinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.FinalNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FinalNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FinalNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FinalNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((FinalNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_FinalNode_type") : //$NON-NLS-1$ + getString("_UI_FinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java new file mode 100644 index 00000000..564dbaed --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: FinalStateItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.FinalState; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FinalState} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FinalStateItemProvider + extends StateItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FinalStateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FinalState.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/FinalState"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((FinalState) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_FinalState_type") : //$NON-NLS-1$ + getString("_UI_FinalState_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE.getState_StateInvariant() + || childFeature == UMLPackage.eINSTANCE.getState_Entry() + || childFeature == UMLPackage.eINSTANCE.getState_Exit() + || childFeature == UMLPackage.eINSTANCE.getState_DoActivity(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java new file mode 100644 index 00000000..5dfc331c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: FlowFinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.FlowFinalNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FlowFinalNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FlowFinalNodeItemProvider + extends FinalNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FlowFinalNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FlowFinalNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/FlowFinalNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((FlowFinalNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_FlowFinalNode_type") : //$NON-NLS-1$ + getString("_UI_FlowFinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java new file mode 100644 index 00000000..43b8941e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ForkNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.ForkNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ForkNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ForkNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ForkNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ForkNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ForkNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ForkNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ForkNode_type") : //$NON-NLS-1$ + getString("_UI_ForkNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java new file mode 100644 index 00000000..fa5fd131 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java @@ -0,0 +1,155 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: FunctionBehaviorItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.FunctionBehavior; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FunctionBehavior} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FunctionBehaviorItemProvider + extends OpaqueBehaviorItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FunctionBehaviorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FunctionBehavior.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/FunctionBehavior"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((FunctionBehavior) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_FunctionBehavior_type") : //$NON-NLS-1$ + getString("_UI_FunctionBehavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java new file mode 100644 index 00000000..bfa52ea4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: GateItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Gate; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Gate} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class GateItemProvider + extends MessageEndItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Gate.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Gate"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Gate) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Gate_type") : //$NON-NLS-1$ + getString("_UI_Gate_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java new file mode 100644 index 00000000..26ec9fe5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: GeneralOrderingItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.GeneralOrdering; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.GeneralOrdering} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class GeneralOrderingItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneralOrderingItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBeforePropertyDescriptor(object); + addAfterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Before feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBeforePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralOrdering_before_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralOrdering_before_feature", "_UI_GeneralOrdering_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralOrdering_Before(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the After feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAfterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralOrdering_after_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralOrdering_after_feature", "_UI_GeneralOrdering_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralOrdering_After(), true, null, + null, null)); + } + + /** + * This returns GeneralOrdering.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/GeneralOrdering"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((GeneralOrdering) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_GeneralOrdering_type") : //$NON-NLS-1$ + getString("_UI_GeneralOrdering_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java new file mode 100644 index 00000000..ccf7a052 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java @@ -0,0 +1,215 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: GeneralizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Generalization; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Generalization} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class GeneralizationItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneralizationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsSubstitutablePropertyDescriptor(object); + addGeneralPropertyDescriptor(object); + addGeneralizationSetPropertyDescriptor(object); + addSpecificPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Substitutable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsSubstitutablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Generalization_isSubstitutable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Generalization_isSubstitutable_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralization_IsSubstitutable(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the General feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Generalization_general_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Generalization_general_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralization_General(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Generalization Set feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralizationSetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Generalization_generalizationSet_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Generalization_generalizationSet_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralization_GeneralizationSet(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Specific feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSpecificPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Generalization_specific_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Generalization_specific_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralization_Specific(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns Generalization.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Generalization"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + Generalization generalization = (Generalization) object; + return getString("_UI_Generalization_type") + " " + generalization.isSubstitutable(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Generalization.class)) { + case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java new file mode 100644 index 00000000..b38962d2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java @@ -0,0 +1,217 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: GeneralizationSetItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.GeneralizationSet; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.GeneralizationSet} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class GeneralizationSetItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneralizationSetItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsCoveringPropertyDescriptor(object); + addIsDisjointPropertyDescriptor(object); + addPowertypePropertyDescriptor(object); + addGeneralizationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Covering feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsCoveringPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralizationSet_isCovering_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_isCovering_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralizationSet_IsCovering(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Disjoint feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDisjointPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralizationSet_isDisjoint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_isDisjoint_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralizationSet_IsDisjoint(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Powertype feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPowertypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralizationSet_powertype_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_powertype_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralizationSet_Powertype(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Generalization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_GeneralizationSet_generalization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_generalization_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getGeneralizationSet_Generalization(), + true, null, null, null)); + } + + /** + * This returns GeneralizationSet.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/GeneralizationSet"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((GeneralizationSet) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_GeneralizationSet_type") : //$NON-NLS-1$ + getString("_UI_GeneralizationSet_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(GeneralizationSet.class)) { + case UMLPackage.GENERALIZATION_SET__IS_COVERING : + case UMLPackage.GENERALIZATION_SET__IS_DISJOINT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java new file mode 100644 index 00000000..a1ee2173 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ImageItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.util.FeatureMap; +import org.eclipse.emf.ecore.util.FeatureMapUtil; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Image} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ImageItemProvider + extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ImageItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_Image_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the icon image for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getCreateChildImage(Object owner, Object feature, + Object child, Collection selection) { + if (feature instanceof EStructuralFeature + && FeatureMapUtil.isFeatureMap((EStructuralFeature) feature)) { + FeatureMap.Entry entry = (FeatureMap.Entry) child; + feature = entry.getEStructuralFeature(); + child = entry.getValue(); + } + + if (feature instanceof EReference && child instanceof EObject) { + String name = "full/obj16/" + ((EObject) child).eClass().getName(); //$NON-NLS-1$ + + try { + return getResourceLocator().getImage(name); + } catch (Exception e) { + UMLEditPlugin.INSTANCE.log(e); + } + } + + return super.getCreateChildImage(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java new file mode 100644 index 00000000..4147467b --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java @@ -0,0 +1,234 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: IncludeItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Include; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Include} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class IncludeItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IncludeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addAdditionPropertyDescriptor(object); + addIncludingCasePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Addition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAdditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Include_addition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Include_addition_feature", "_UI_Include_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInclude_Addition(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Including Case feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIncludingCasePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Include_includingCase_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Include_includingCase_feature", "_UI_Include_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInclude_IncludingCase(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns Include.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Include"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Include) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Include_type") : //$NON-NLS-1$ + getString("_UI_Include_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java new file mode 100644 index 00000000..bf40acbe --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java @@ -0,0 +1,333 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InformationFlowItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.InformationFlow; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InformationFlow} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InformationFlowItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InformationFlowItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addRealizationPropertyDescriptor(object); + addConveyedPropertyDescriptor(object); + addInformationSourcePropertyDescriptor(object); + addInformationTargetPropertyDescriptor(object); + addRealizingActivityEdgePropertyDescriptor(object); + addRealizingConnectorPropertyDescriptor(object); + addRealizingMessagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Realization feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_realization_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realization_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_Realization(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Conveyed feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConveyedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_conveyed_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_conveyed_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_Conveyed(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Information Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInformationSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_informationSource_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_informationSource_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_InformationSource(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Information Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInformationTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_informationTarget_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_informationTarget_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_InformationTarget(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Realizing Activity Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizingActivityEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_realizingActivityEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingActivityEdge_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_RealizingActivityEdge(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Realizing Connector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizingConnectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_realizingConnector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingConnector_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_RealizingConnector(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Realizing Message feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRealizingMessagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationFlow_realizingMessage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingMessage_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationFlow_RealizingMessage(), + true, null, null, null)); + } + + /** + * This returns InformationFlow.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InformationFlow"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InformationFlow) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InformationFlow_type") : //$NON-NLS-1$ + getString("_UI_InformationFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java new file mode 100644 index 00000000..9031dbf0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InformationItemItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.InformationItem; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InformationItem} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InformationItemItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InformationItemItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRepresentedPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Represented feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRepresentedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InformationItem_represented_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InformationItem_represented_feature", "_UI_InformationItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInformationItem_Represented(), true, + null, null, null)); + } + + /** + * This returns InformationItem.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InformationItem"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InformationItem) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InformationItem_type") : //$NON-NLS-1$ + getString("_UI_InformationItem_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java new file mode 100644 index 00000000..48cb0776 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InitialNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.InitialNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InitialNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InitialNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InitialNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InitialNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InitialNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InitialNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InitialNode_type") : //$NON-NLS-1$ + getString("_UI_InitialNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java new file mode 100644 index 00000000..003cc6dc --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InputPinItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.InputPin; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InputPin} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InputPinItemProvider + extends PinItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InputPinItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InputPin.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InputPin"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InputPin) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InputPin_type") : //$NON-NLS-1$ + getString("_UI_InputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java new file mode 100644 index 00000000..102bbd0e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java @@ -0,0 +1,395 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InstanceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.InstanceSpecification; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InstanceSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InstanceSpecificationItemProvider + extends DeploymentTargetItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InstanceSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addClassifierPropertyDescriptor(object); + addSpecificationPropertyDescriptor(object); + addSlotPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceSpecification_classifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_classifier_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInstanceSpecification_Classifier(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Specification feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSpecificationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceSpecification_specification_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_specification_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInstanceSpecification_Specification(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Slot feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSlotPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceSpecification_slot_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_slot_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInstanceSpecification_Slot(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInstanceSpecification_Slot()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InstanceSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator() + .getImage("full/obj16/InstanceSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InstanceSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InstanceSpecification_type") : //$NON-NLS-1$ + getString("_UI_InstanceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InstanceSpecification.class)) { + case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION : + case UMLPackage.INSTANCE_SPECIFICATION__SLOT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInstanceSpecification_Slot(), UMLFactory.eINSTANCE + .createSlot())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getInstanceSpecification_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java new file mode 100644 index 00000000..4d57f6c0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InstanceValueItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.InstanceValue; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InstanceValue} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InstanceValueItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InstanceValueItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addInstancePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Instance feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInstancePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceValue_instance_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InstanceValue_instance_feature", "_UI_InstanceValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInstanceValue_Instance(), true, null, + null, null)); + } + + /** + * This returns InstanceValue.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InstanceValue"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InstanceValue) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InstanceValue_type") : //$NON-NLS-1$ + getString("_UI_InstanceValue_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java new file mode 100644 index 00000000..4b01903a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java @@ -0,0 +1,355 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InteractionConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.InteractionConstraint; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionConstraint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InteractionConstraintItemProvider + extends ConstraintItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InteractionConstraintItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMinintPropertyDescriptor(object); + addMaxintPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Minint feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMinintPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionConstraint_minint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionConstraint_minint_feature", "_UI_InteractionConstraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionConstraint_Minint(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Maxint feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMaxintPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionConstraint_maxint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionConstraint_maxint_feature", "_UI_InteractionConstraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionConstraint_Maxint(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InteractionConstraint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator() + .getImage("full/obj16/InteractionConstraint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InteractionConstraint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InteractionConstraint_type") : //$NON-NLS-1$ + getString("_UI_InteractionConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InteractionConstraint.class)) { + case UMLPackage.INTERACTION_CONSTRAINT__MININT : + case UMLPackage.INTERACTION_CONSTRAINT__MAXINT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getConstraint_Specification() + || childFeature == UMLPackage.eINSTANCE + .getInteractionConstraint_Minint() + || childFeature == UMLPackage.eINSTANCE + .getInteractionConstraint_Maxint(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java new file mode 100644 index 00000000..228007b4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java @@ -0,0 +1,233 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InteractionFragmentItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.InteractionFragment; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionFragment} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InteractionFragmentItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InteractionFragmentItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addCoveredPropertyDescriptor(object); + addGeneralOrderingPropertyDescriptor(object); + addEnclosingInteractionPropertyDescriptor(object); + addEnclosingOperandPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Covered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCoveredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the General Ordering feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralOrderingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Interaction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingInteractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getInteractionFragment_EnclosingInteraction(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Operand feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingOperandPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InteractionFragment) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InteractionFragment_type") : //$NON-NLS-1$ + getString("_UI_InteractionFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InteractionFragment.class)) { + case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE + .createGeneralOrdering())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java new file mode 100644 index 00000000..edf8f366 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java @@ -0,0 +1,635 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InteractionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Interaction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interaction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InteractionItemProvider + extends BehaviorItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InteractionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addCoveredPropertyDescriptor(object); + addGeneralOrderingPropertyDescriptor(object); + addEnclosingInteractionPropertyDescriptor(object); + addEnclosingOperandPropertyDescriptor(object); + addLifelinePropertyDescriptor(object); + addFragmentPropertyDescriptor(object); + addActionPropertyDescriptor(object); + addFormalGatePropertyDescriptor(object); + addMessagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Covered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCoveredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the General Ordering feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralOrderingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Interaction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingInteractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getInteractionFragment_EnclosingInteraction(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Operand feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingOperandPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lifeline feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLifelinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interaction_lifeline_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interaction_lifeline_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteraction_Lifeline(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Fragment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFragmentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interaction_fragment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interaction_fragment_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteraction_Fragment(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Action feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interaction_action_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interaction_action_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteraction_Action(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Formal Gate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFormalGatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interaction_formalGate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interaction_formalGate_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteraction_FormalGate(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Message feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interaction_message_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interaction_message_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteraction_Message(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getInteraction_Lifeline()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getInteraction_Fragment()); + childrenFeatures.add(UMLPackage.eINSTANCE.getInteraction_Action()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteraction_FormalGate()); + childrenFeatures.add(UMLPackage.eINSTANCE.getInteraction_Message()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Interaction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Interaction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Interaction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Interaction_type") : //$NON-NLS-1$ + getString("_UI_Interaction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Interaction.class)) { + case UMLPackage.INTERACTION__GENERAL_ORDERING : + case UMLPackage.INTERACTION__LIFELINE : + case UMLPackage.INTERACTION__FRAGMENT : + case UMLPackage.INTERACTION__ACTION : + case UMLPackage.INTERACTION__FORMAL_GATE : + case UMLPackage.INTERACTION__MESSAGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE + .createGeneralOrdering())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Lifeline(), UMLFactory.eINSTANCE.createLifeline())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createInteractionUse())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createPartDecomposition())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createInteractionOperand())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createExecutionOccurrenceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createStateInvariant())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createActionExecutionSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createBehaviorExecutionSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createMessageOccurrenceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createCombinedFragment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createContinuation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Fragment(), UMLFactory.eINSTANCE + .createConsiderIgnoreFragment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE.createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createCreateLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createOpaqueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createAcceptEventAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createAcceptCallAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createReplyAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createUnmarshallAction())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE.createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Action(), UMLFactory.eINSTANCE + .createExpansionRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_FormalGate(), UMLFactory.eINSTANCE.createGate())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteraction_Message(), UMLFactory.eINSTANCE.createMessage())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE.getInteraction_Fragment(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java new file mode 100644 index 00000000..3259fc31 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java @@ -0,0 +1,382 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InteractionOperandItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.InteractionOperand; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionOperand} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InteractionOperandItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InteractionOperandItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addCoveredPropertyDescriptor(object); + addGeneralOrderingPropertyDescriptor(object); + addEnclosingInteractionPropertyDescriptor(object); + addEnclosingOperandPropertyDescriptor(object); + addGuardPropertyDescriptor(object); + addFragmentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Covered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCoveredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the General Ordering feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralOrderingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Interaction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingInteractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getInteractionFragment_EnclosingInteraction(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Enclosing Operand feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEnclosingOperandPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Guard feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGuardPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionOperand_guard_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionOperand_guard_feature", "_UI_InteractionOperand_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionOperand_Guard(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Fragment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFragmentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionOperand_fragment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionOperand_fragment_feature", "_UI_InteractionOperand_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionOperand_Fragment(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionOperand_Guard()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InteractionOperand.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InteractionOperand"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InteractionOperand) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InteractionOperand_type") : //$NON-NLS-1$ + getString("_UI_InteractionOperand_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InteractionOperand.class)) { + case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING : + case UMLPackage.INTERACTION_OPERAND__GUARD : + case UMLPackage.INTERACTION_OPERAND__FRAGMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE + .createGeneralOrdering())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Guard(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createInteractionUse())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createPartDecomposition())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createInteractionOperand())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createExecutionOccurrenceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createStateInvariant())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createActionExecutionSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createBehaviorExecutionSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createMessageOccurrenceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createCombinedFragment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createContinuation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE + .createConsiderIgnoreFragment())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE + .getInteractionOperand_Guard(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java new file mode 100644 index 00000000..2cee11ba --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java @@ -0,0 +1,411 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InteractionUseItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.InteractionUse; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionUse} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InteractionUseItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InteractionUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRefersToPropertyDescriptor(object); + addActualGatePropertyDescriptor(object); + addArgumentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Refers To feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionUse_refersTo_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionUse_refersTo_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionUse_RefersTo(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Actual Gate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActualGatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionUse_actualGate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionUse_actualGate_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionUse_ActualGate(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Argument feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addArgumentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InteractionUse_argument_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InteractionUse_argument_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInteractionUse_Argument(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionUse_ActualGate()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInteractionUse_Argument()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InteractionUse.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InteractionUse"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InteractionUse) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InteractionUse_type") : //$NON-NLS-1$ + getString("_UI_InteractionUse_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InteractionUse.class)) { + case UMLPackage.INTERACTION_USE__ACTUAL_GATE : + case UMLPackage.INTERACTION_USE__ARGUMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_ActualGate(), UMLFactory.eINSTANCE + .createGate())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createCreateLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createOpaqueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createAcceptEventAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createAcceptCallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createReplyAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createUnmarshallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInteractionUse_Argument(), UMLFactory.eINSTANCE + .createExpansionRegion())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java new file mode 100644 index 00000000..6a8fbf86 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java @@ -0,0 +1,469 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InterfaceItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Interface; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interface} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InterfaceItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InterfaceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedAttributePropertyDescriptor(object); + addNestedClassifierPropertyDescriptor(object); + addRedefinedInterfacePropertyDescriptor(object); + addOwnedReceptionPropertyDescriptor(object); + addProtocolPropertyDescriptor(object); + addOwnedOperationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_ownedAttribute_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_OwnedAttribute(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Nested Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestedClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_nestedClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_nestedClassifier_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_NestedClassifier(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefined Interface feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedInterfacePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_redefinedInterface_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_redefinedInterface_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_RedefinedInterface(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owned Reception feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedReceptionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_ownedReception_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_ownedReception_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_OwnedReception(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Protocol feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addProtocolPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_protocol_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_protocol_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_Protocol(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interface_ownedOperation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interface_ownedOperation_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterface_OwnedOperation(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInterface_OwnedAttribute()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInterface_NestedClassifier()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInterface_OwnedReception()); + childrenFeatures.add(UMLPackage.eINSTANCE.getInterface_Protocol()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInterface_OwnedOperation()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Interface.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Interface"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Interface) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Interface_type") : //$NON-NLS-1$ + getString("_UI_Interface_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Interface.class)) { + case UMLPackage.INTERFACE__OWNED_ATTRIBUTE : + case UMLPackage.INTERFACE__NESTED_CLASSIFIER : + case UMLPackage.INTERFACE__OWNED_RECEPTION : + case UMLPackage.INTERFACE__PROTOCOL : + case UMLPackage.INTERFACE__OWNED_OPERATION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createComponent())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_NestedClassifier(), UMLFactory.eINSTANCE + .createAssociationClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_OwnedReception(), UMLFactory.eINSTANCE + .createReception())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_Protocol(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInterface_OwnedOperation(), UMLFactory.eINSTANCE + .createOperation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE + .getInterface_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE.getInterface_Protocol(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java new file mode 100644 index 00000000..2533f97a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InterfaceRealizationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.InterfaceRealization; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InterfaceRealization} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InterfaceRealizationItemProvider + extends RealizationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InterfaceRealizationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addContractPropertyDescriptor(object); + addImplementingClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Contract feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContractPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InterfaceRealization_contract_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InterfaceRealization_contract_feature", "_UI_InterfaceRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterfaceRealization_Contract(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Implementing Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImplementingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InterfaceRealization_implementingClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InterfaceRealization_implementingClassifier_feature", "_UI_InterfaceRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getInterfaceRealization_ImplementingClassifier(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns InterfaceRealization.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/InterfaceRealization"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InterfaceRealization) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InterfaceRealization_type") : //$NON-NLS-1$ + getString("_UI_InterfaceRealization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getInterfaceRealization_Contract()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getInterfaceRealization_ImplementingClassifier()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getInterfaceRealization_Contract()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getInterfaceRealization_ImplementingClassifier()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE.getInterfaceRealization_Contract()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getInterfaceRealization_ImplementingClassifier()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Client()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java new file mode 100644 index 00000000..5267e511 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InterruptibleActivityRegionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InterruptibleActivityRegion} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InterruptibleActivityRegionItemProvider + extends ActivityGroupItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InterruptibleActivityRegionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNodePropertyDescriptor(object); + addInterruptingEdgePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InterruptibleActivityRegion_node_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InterruptibleActivityRegion_node_feature", "_UI_InterruptibleActivityRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterruptibleActivityRegion_Node(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Interrupting Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInterruptingEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InterruptibleActivityRegion_interruptingEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InterruptibleActivityRegion_interruptingEdge_feature", "_UI_InterruptibleActivityRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getInterruptibleActivityRegion_InterruptingEdge(), true, + null, null, null)); + } + + /** + * This returns InterruptibleActivityRegion.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/InterruptibleActivityRegion"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_InterruptibleActivityRegion_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java new file mode 100644 index 00000000..71858fbf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: IntervalConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.IntervalConstraint; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.IntervalConstraint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class IntervalConstraintItemProvider + extends ConstraintItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IntervalConstraintItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns IntervalConstraint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/IntervalConstraint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((IntervalConstraint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_IntervalConstraint_type") : //$NON-NLS-1$ + getString("_UI_IntervalConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getConstraint_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java new file mode 100644 index 00000000..d4f33acc --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: IntervalItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Interval; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interval} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class IntervalItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IntervalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMinPropertyDescriptor(object); + addMaxPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Min feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMinPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interval_min_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interval_min_feature", "_UI_Interval_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterval_Min(), true, null, null, null)); + } + + /** + * This adds a property descriptor for the Max feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMaxPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Interval_max_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Interval_max_feature", "_UI_Interval_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInterval_Max(), true, null, null, null)); + } + + /** + * This returns Interval.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Interval"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Interval) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Interval_type") : //$NON-NLS-1$ + getString("_UI_Interval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java new file mode 100644 index 00000000..92cfa812 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: InvocationActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.InvocationAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InvocationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InvocationActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InvocationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addArgumentPropertyDescriptor(object); + addOnPortPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Argument feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addArgumentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InvocationAction_argument_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InvocationAction_argument_feature", "_UI_InvocationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInvocationAction_Argument(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the On Port feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOnPortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InvocationAction_onPort_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_InvocationAction_onPort_feature", "_UI_InvocationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getInvocationAction_OnPort(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getInvocationAction_Argument()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((InvocationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_InvocationAction_type") : //$NON-NLS-1$ + getString("_UI_InvocationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InvocationAction.class)) { + case UMLPackage.INVOCATION_ACTION__ARGUMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInvocationAction_Argument(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInvocationAction_Argument(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getInvocationAction_Argument(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java new file mode 100644 index 00000000..a3a9af85 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java @@ -0,0 +1,276 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: JoinNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.JoinNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.JoinNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class JoinNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public JoinNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsCombineDuplicatePropertyDescriptor(object); + addJoinSpecPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Combine Duplicate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsCombineDuplicatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_JoinNode_isCombineDuplicate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_JoinNode_isCombineDuplicate_feature", "_UI_JoinNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getJoinNode_IsCombineDuplicate(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Join Spec feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addJoinSpecPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_JoinNode_joinSpec_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_JoinNode_joinSpec_feature", "_UI_JoinNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getJoinNode_JoinSpec(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getJoinNode_JoinSpec()); + } + return childrenFeatures; + } + + /** + * This returns JoinNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/JoinNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((JoinNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_JoinNode_type") : //$NON-NLS-1$ + getString("_UI_JoinNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(JoinNode.class)) { + case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.JOIN_NODE__JOIN_SPEC : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getJoinNode_JoinSpec(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java new file mode 100644 index 00000000..deb224ba --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java @@ -0,0 +1,332 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LifelineItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Lifeline; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Lifeline} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LifelineItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LifelineItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRepresentsPropertyDescriptor(object); + addInteractionPropertyDescriptor(object); + addSelectorPropertyDescriptor(object); + addDecomposedAsPropertyDescriptor(object); + addCoveredByPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Represents feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRepresentsPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Lifeline_represents_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Lifeline_represents_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLifeline_Represents(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Interaction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInteractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Lifeline_interaction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Lifeline_interaction_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLifeline_Interaction(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Selector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSelectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Lifeline_selector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Lifeline_selector_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLifeline_Selector(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Decomposed As feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDecomposedAsPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Lifeline_decomposedAs_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Lifeline_decomposedAs_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLifeline_DecomposedAs(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Covered By feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addCoveredByPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Lifeline_coveredBy_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Lifeline_coveredBy_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLifeline_CoveredBy(), true, null, null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getLifeline_Selector()); + } + return childrenFeatures; + } + + /** + * This returns Lifeline.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Lifeline"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Lifeline) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Lifeline_type") : //$NON-NLS-1$ + getString("_UI_Lifeline_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Lifeline.class)) { + case UMLPackage.LIFELINE__SELECTOR : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLifeline_Selector(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getLifeline_Selector(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java new file mode 100644 index 00000000..0dbd5e75 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java @@ -0,0 +1,252 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LinkActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LinkAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LinkActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LinkActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addEndDataPropertyDescriptor(object); + addInputValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the End Data feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndDataPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkAction_endData_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkAction_endData_feature", "_UI_LinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkAction_EndData(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Input Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInputValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkAction_inputValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkAction_inputValue_feature", "_UI_LinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkAction_InputValue(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getLinkAction_EndData()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getLinkAction_InputValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LinkAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LinkAction_type") : //$NON-NLS-1$ + getString("_UI_LinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LinkAction.class)) { + case UMLPackage.LINK_ACTION__END_DATA : + case UMLPackage.LINK_ACTION__INPUT_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_EndData(), UMLFactory.eINSTANCE + .createLinkEndData())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_EndData(), UMLFactory.eINSTANCE + .createLinkEndCreationData())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_EndData(), UMLFactory.eINSTANCE + .createLinkEndDestructionData())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_InputValue(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_InputValue(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLinkAction_InputValue(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java new file mode 100644 index 00000000..1257feaa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LinkEndCreationDataItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LinkEndCreationData; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndCreationData} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LinkEndCreationDataItemProvider + extends LinkEndDataItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LinkEndCreationDataItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReplaceAllPropertyDescriptor(object); + addInsertAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Replace All feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReplaceAllPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndCreationData_isReplaceAll_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndCreationData_isReplaceAll_feature", "_UI_LinkEndCreationData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndCreationData_IsReplaceAll(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Insert At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInsertAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndCreationData_insertAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndCreationData_insertAt_feature", "_UI_LinkEndCreationData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndCreationData_InsertAt(), true, + null, null, null)); + } + + /** + * This returns LinkEndCreationData.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LinkEndCreationData"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + LinkEndCreationData linkEndCreationData = (LinkEndCreationData) object; + return getString("_UI_LinkEndCreationData_type") + " " + linkEndCreationData.isReplaceAll(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LinkEndCreationData.class)) { + case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java new file mode 100644 index 00000000..b26d3201 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java @@ -0,0 +1,215 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LinkEndDataItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LinkEndData; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndData} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LinkEndDataItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LinkEndDataItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + addEndPropertyDescriptor(object); + addQualifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndData_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndData_value_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndData_Value(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndData_end_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndData_end_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndData_End(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Qualifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addQualifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndData_qualifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndData_qualifier_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndData_Qualifier(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getLinkEndData_Qualifier()); + } + return childrenFeatures; + } + + /** + * This returns LinkEndData.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LinkEndData"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_LinkEndData_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LinkEndData.class)) { + case UMLPackage.LINK_END_DATA__QUALIFIER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLinkEndData_Qualifier(), UMLFactory.eINSTANCE + .createQualifierValue())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java new file mode 100644 index 00000000..f8e668aa --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LinkEndDestructionDataItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LinkEndDestructionData; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndDestructionData} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LinkEndDestructionDataItemProvider + extends LinkEndDataItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LinkEndDestructionDataItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsDestroyDuplicatesPropertyDescriptor(object); + addDestroyAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Destroy Duplicates feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDestroyDuplicatesPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndDestructionData_isDestroyDuplicates_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndDestructionData_isDestroyDuplicates_feature", "_UI_LinkEndDestructionData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getLinkEndDestructionData_IsDestroyDuplicates(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Destroy At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDestroyAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LinkEndDestructionData_destroyAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LinkEndDestructionData_destroyAt_feature", "_UI_LinkEndDestructionData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLinkEndDestructionData_DestroyAt(), + true, null, null, null)); + } + + /** + * This returns LinkEndDestructionData.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/LinkEndDestructionData"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + LinkEndDestructionData linkEndDestructionData = (LinkEndDestructionData) object; + return getString("_UI_LinkEndDestructionData_type") + " " + linkEndDestructionData.isDestroyDuplicates(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LinkEndDestructionData.class)) { + case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java new file mode 100644 index 00000000..f444d74e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralBooleanItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LiteralBoolean; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralBoolean} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralBooleanItemProvider + extends LiteralSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralBooleanItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LiteralBoolean_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LiteralBoolean_value_feature", "_UI_LiteralBoolean_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLiteralBoolean_Value(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This returns LiteralBoolean.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LiteralBoolean"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralBoolean) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralBoolean_type") : //$NON-NLS-1$ + getString("_UI_LiteralBoolean_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LiteralBoolean.class)) { + case UMLPackage.LITERAL_BOOLEAN__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java new file mode 100644 index 00000000..1b6f523b --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralIntegerItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LiteralInteger; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralInteger} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralIntegerItemProvider + extends LiteralSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralIntegerItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LiteralInteger_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LiteralInteger_value_feature", "_UI_LiteralInteger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLiteralInteger_Value(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null)); + } + + /** + * This returns LiteralInteger.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LiteralInteger"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralInteger) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralInteger_type") : //$NON-NLS-1$ + getString("_UI_LiteralInteger_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LiteralInteger.class)) { + case UMLPackage.LITERAL_INTEGER__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java new file mode 100644 index 00000000..587a240b --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralNullItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.LiteralNull; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralNull} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralNullItemProvider + extends LiteralSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralNullItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns LiteralNull.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LiteralNull"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralNull) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralNull_type") : //$NON-NLS-1$ + getString("_UI_LiteralNull_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java new file mode 100644 index 00000000..5fd12671 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.LiteralSpecification; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralSpecificationItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralSpecification_type") : //$NON-NLS-1$ + getString("_UI_LiteralSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java new file mode 100644 index 00000000..3f2321b3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralStringItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LiteralString; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralString} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralStringItemProvider + extends LiteralSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralStringItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LiteralString_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LiteralString_value_feature", "_UI_LiteralString_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLiteralString_Value(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This returns LiteralString.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LiteralString"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralString) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralString_type") : //$NON-NLS-1$ + getString("_UI_LiteralString_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LiteralString.class)) { + case UMLPackage.LITERAL_STRING__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java new file mode 100644 index 00000000..d0bbfc35 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LiteralUnlimitedNaturalItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LiteralUnlimitedNatural; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LiteralUnlimitedNaturalItemProvider + extends LiteralSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LiteralUnlimitedNaturalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LiteralUnlimitedNatural_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LiteralUnlimitedNatural_value_feature", "_UI_LiteralUnlimitedNatural_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLiteralUnlimitedNatural_Value(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null)); + } + + /** + * This returns LiteralUnlimitedNatural.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/LiteralUnlimitedNatural"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LiteralUnlimitedNatural) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LiteralUnlimitedNatural_type") : //$NON-NLS-1$ + getString("_UI_LiteralUnlimitedNatural_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LiteralUnlimitedNatural.class)) { + case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java new file mode 100644 index 00000000..e8b911b0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java @@ -0,0 +1,411 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: LoopNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.LoopNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LoopNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class LoopNodeItemProvider + extends StructuredActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LoopNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsTestedFirstPropertyDescriptor(object); + addBodyPartPropertyDescriptor(object); + addSetupPartPropertyDescriptor(object); + addDeciderPropertyDescriptor(object); + addTestPropertyDescriptor(object); + addResultPropertyDescriptor(object); + addLoopVariablePropertyDescriptor(object); + addBodyOutputPropertyDescriptor(object); + addLoopVariableInputPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Tested First feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsTestedFirstPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_isTestedFirst_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_isTestedFirst_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_IsTestedFirst(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Body Part feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPartPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_bodyPart_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_bodyPart_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_BodyPart(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Setup Part feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSetupPartPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_setupPart_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_setupPart_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_SetupPart(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Decider feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeciderPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_decider_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_decider_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_Decider(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Test feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTestPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_test_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_test_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_Test(), true, null, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_result_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_Result(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Loop Variable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLoopVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_loopVariable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_loopVariable_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_LoopVariable(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Body Output feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyOutputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_bodyOutput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_bodyOutput_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_BodyOutput(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Loop Variable Input feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLoopVariableInputPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LoopNode_loopVariableInput_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_LoopNode_loopVariableInput_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getLoopNode_LoopVariableInput(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getLoopNode_Result()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getLoopNode_LoopVariable()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getLoopNode_LoopVariableInput()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LoopNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/LoopNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((LoopNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_LoopNode_type") : //$NON-NLS-1$ + getString("_UI_LoopNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LoopNode.class)) { + case UMLPackage.LOOP_NODE__IS_TESTED_FIRST : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.LOOP_NODE__RESULT : + case UMLPackage.LOOP_NODE__LOOP_VARIABLE : + case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLoopNode_Result(), UMLFactory.eINSTANCE.createOutputPin())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getLoopNode_LoopVariable(), UMLFactory.eINSTANCE + .createOutputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE + .getStructuredActivityNode_Node() + || childFeature == UMLPackage.eINSTANCE.getLoopNode_Result() + || childFeature == UMLPackage.eINSTANCE.getLoopNode_LoopVariable() + || childFeature == UMLPackage.eINSTANCE + .getLoopNode_LoopVariableInput(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java new file mode 100644 index 00000000..937a3b4f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java @@ -0,0 +1,207 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ManifestationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Manifestation; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Manifestation} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ManifestationItemProvider + extends AbstractionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ManifestationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addUtilizedElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Utilized Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUtilizedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Manifestation_utilizedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Manifestation_utilizedElement_feature", "_UI_Manifestation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getManifestation_UtilizedElement(), true, + null, null, null)); + } + + /** + * This returns Manifestation.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Manifestation"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Manifestation) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Manifestation_type") : //$NON-NLS-1$ + getString("_UI_Manifestation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getManifestation_UtilizedElement()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getManifestation_UtilizedElement()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE.getManifestation_UtilizedElement()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java new file mode 100644 index 00000000..b2aaefcc --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MergeNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.MergeNode; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MergeNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MergeNodeItemProvider + extends ControlNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MergeNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns MergeNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/MergeNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((MergeNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_MergeNode_type") : //$NON-NLS-1$ + getString("_UI_MergeNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java new file mode 100644 index 00000000..bcf6d97a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MessageEndItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.MessageEnd; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageEnd} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MessageEndItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MessageEndItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMessagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Message feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MessageEnd_message_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MessageEnd_message_feature", "_UI_MessageEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessageEnd_Message(), true, null, null, + null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((MessageEnd) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_MessageEnd_type") : //$NON-NLS-1$ + getString("_UI_MessageEnd_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java new file mode 100644 index 00000000..fced9440 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MessageEventItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.MessageEvent; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MessageEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MessageEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((MessageEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_MessageEvent_type") : //$NON-NLS-1$ + getString("_UI_MessageEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java new file mode 100644 index 00000000..590c8b6d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java @@ -0,0 +1,402 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MessageItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Message; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Message} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MessageItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MessageItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMessageKindPropertyDescriptor(object); + addMessageSortPropertyDescriptor(object); + addReceiveEventPropertyDescriptor(object); + addSendEventPropertyDescriptor(object); + addConnectorPropertyDescriptor(object); + addInteractionPropertyDescriptor(object); + addArgumentPropertyDescriptor(object); + addSignaturePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Message Kind feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessageKindPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_messageKind_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_messageKind_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_MessageKind(), false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Message Sort feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessageSortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_messageSort_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_messageSort_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_MessageSort(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Receive Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReceiveEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_receiveEvent_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_receiveEvent_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_ReceiveEvent(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Send Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSendEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_sendEvent_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_sendEvent_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_SendEvent(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Connector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConnectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_connector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_connector_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_Connector(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Interaction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInteractionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_interaction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_interaction_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_Interaction(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Argument feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addArgumentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_argument_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_argument_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_Argument(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Message_signature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Message_signature_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessage_Signature(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getMessage_Argument()); + } + return childrenFeatures; + } + + /** + * This returns Message.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Message"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Message) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Message_type") : //$NON-NLS-1$ + getString("_UI_Message_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Message.class)) { + case UMLPackage.MESSAGE__MESSAGE_KIND : + case UMLPackage.MESSAGE__MESSAGE_SORT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.MESSAGE__ARGUMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMessage_Argument(), UMLFactory.eINSTANCE.createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getMessage_Argument(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java new file mode 100644 index 00000000..e8e8370c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MessageOccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.MessageOccurrenceSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MessageOccurrenceSpecificationItemProvider + extends OccurrenceSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MessageOccurrenceSpecificationItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMessagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Message feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMessagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MessageEnd_message_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MessageEnd_message_feature", "_UI_MessageEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMessageEnd_Message(), true, null, null, + null)); + } + + /** + * This returns MessageOccurrenceSpecification.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/MessageOccurrenceSpecification"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((MessageOccurrenceSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_MessageOccurrenceSpecification_type") : //$NON-NLS-1$ + getString("_UI_MessageOccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java new file mode 100644 index 00000000..901a4dcf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ModelItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Model; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Model} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ModelItemProvider + extends PackageItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModelItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addViewpointPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Viewpoint feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addViewpointPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Model_viewpoint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Model_viewpoint_feature", "_UI_Model_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getModel_Viewpoint(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This returns Model.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Model"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Model) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Model_type") : //$NON-NLS-1$ + getString("_UI_Model_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Model.class)) { + case UMLPackage.MODEL__VIEWPOINT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getPackage_PackagedElement() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java new file mode 100644 index 00000000..b9032911 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java @@ -0,0 +1,430 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: MultiplicityElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.MultiplicityElement; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MultiplicityElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class MultiplicityElementItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MultiplicityElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsOrderedPropertyDescriptor(object); + addIsUniquePropertyDescriptor(object); + addUpperPropertyDescriptor(object); + addLowerPropertyDescriptor(object); + addUpperValuePropertyDescriptor(object); + addLowerValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Ordered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrderedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Unique feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUniquePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Upper feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Upper Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + MultiplicityElement multiplicityElement = (MultiplicityElement) object; + return getString("_UI_MultiplicityElement_type") + " " + multiplicityElement.isOrdered(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(MultiplicityElement.class)) { + case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED : + case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE : + case UMLPackage.MULTIPLICITY_ELEMENT__UPPER : + case UMLPackage.MULTIPLICITY_ELEMENT__LOWER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE : + case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java new file mode 100644 index 00000000..0a562eec --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java @@ -0,0 +1,279 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: NamedElementItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.NamedElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class NamedElementItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NamedElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + addVisibilityPropertyDescriptor(object); + addQualifiedNamePropertyDescriptor(object); + addClientDependencyPropertyDescriptor(object); + addNamespacePropertyDescriptor(object); + addNameExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_Name(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Visibility feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVisibilityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_visibility_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_visibility_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_Visibility(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Qualified Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addQualifiedNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_qualifiedName_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_qualifiedName_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_QualifiedName(), false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Client Dependency feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClientDependencyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_clientDependency_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_clientDependency_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_ClientDependency(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Namespace feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNamespacePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_namespace_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_namespace_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_Namespace(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Name Expression feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNameExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_nameExpression_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_NamedElement_nameExpression_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamedElement_NameExpression(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getNamedElement_NameExpression()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((NamedElement) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_NamedElement_type") : //$NON-NLS-1$ + getString("_UI_NamedElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NamedElement.class)) { + case UMLPackage.NAMED_ELEMENT__NAME : + case UMLPackage.NAMED_ELEMENT__VISIBILITY : + case UMLPackage.NAMED_ELEMENT__QUALIFIED_NAME : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamedElement_NameExpression(), UMLFactory.eINSTANCE + .createStringExpression())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java new file mode 100644 index 00000000..cb49a6fe --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java @@ -0,0 +1,322 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: NamespaceItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Namespace; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Namespace} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class NamespaceItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NamespaceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addElementImportPropertyDescriptor(object); + addPackageImportPropertyDescriptor(object); + addOwnedRulePropertyDescriptor(object); + addMemberPropertyDescriptor(object); + addImportedMemberPropertyDescriptor(object); + addOwnedMemberPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Element Import feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addElementImportPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_elementImport_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_elementImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_ElementImport(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Package Import feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackageImportPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_packageImport_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_packageImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_PackageImport(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Rule feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedRulePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_ownedRule_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedRule_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_OwnedRule(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_member_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_member_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_Member(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Imported Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportedMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_importedMember_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_importedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_ImportedMember(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_ownedMember_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_OwnedMember(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getNamespace_ElementImport()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getNamespace_PackageImport()); + childrenFeatures.add(UMLPackage.eINSTANCE.getNamespace_OwnedRule()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Namespace) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Namespace_type") : //$NON-NLS-1$ + getString("_UI_Namespace_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Namespace.class)) { + case UMLPackage.NAMESPACE__ELEMENT_IMPORT : + case UMLPackage.NAMESPACE__PACKAGE_IMPORT : + case UMLPackage.NAMESPACE__OWNED_RULE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_ElementImport(), UMLFactory.eINSTANCE + .createElementImport())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_PackageImport(), UMLFactory.eINSTANCE + .createPackageImport())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_PackageImport(), UMLFactory.eINSTANCE + .createProfileApplication())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java new file mode 100644 index 00000000..b6a88f8c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: NodeItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Node; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Node} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class NodeItemProvider + extends ClassItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeploymentPropertyDescriptor(object); + addDeployedElementPropertyDescriptor(object); + addNestedNodePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Deployment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeploymentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Deployed Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeployedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Nested Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Node_nestedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Node_nestedNode_feature", "_UI_Node_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNode_NestedNode(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()); + childrenFeatures.add(UMLPackage.eINSTANCE.getNode_NestedNode()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Node.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Node"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Node) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Node_type") : //$NON-NLS-1$ + getString("_UI_Node_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Node.class)) { + case UMLPackage.NODE__DEPLOYMENT : + case UMLPackage.NODE__NESTED_NODE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNode_NestedNode(), UMLFactory.eINSTANCE.createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNode_NestedNode(), UMLFactory.eINSTANCE.createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNode_NestedNode(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior() + || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), + UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getClassifier_Substitution(), + UMLPackage.eINSTANCE + .getBehavioredClassifier_InterfaceRealization(), + UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()}, + value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java new file mode 100644 index 00000000..22f2ea55 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java @@ -0,0 +1,241 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ObjectFlowItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ObjectFlow; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ObjectFlow} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ObjectFlowItemProvider + extends ActivityEdgeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ObjectFlowItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsMulticastPropertyDescriptor(object); + addIsMultireceivePropertyDescriptor(object); + addTransformationPropertyDescriptor(object); + addSelectionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Multicast feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsMulticastPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectFlow_isMulticast_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_isMulticast_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectFlow_IsMulticast(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Multireceive feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsMultireceivePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectFlow_isMultireceive_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_isMultireceive_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectFlow_IsMultireceive(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Transformation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTransformationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectFlow_transformation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_transformation_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectFlow_Transformation(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Selection feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSelectionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectFlow_selection_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_selection_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectFlow_Selection(), true, null, + null, null)); + } + + /** + * This returns ObjectFlow.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ObjectFlow"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ObjectFlow) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ObjectFlow_type") : //$NON-NLS-1$ + getString("_UI_ObjectFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObjectFlow.class)) { + case UMLPackage.OBJECT_FLOW__IS_MULTICAST : + case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard() + || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java new file mode 100644 index 00000000..c4dc4126 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ObjectNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ObjectNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ObjectNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ObjectNodeItemProvider + extends ActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ObjectNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + addOrderingPropertyDescriptor(object); + addIsControlTypePropertyDescriptor(object); + addUpperBoundPropertyDescriptor(object); + addInStatePropertyDescriptor(object); + addSelectionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Ordering feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOrderingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectNode_ordering_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectNode_ordering_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectNode_Ordering(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Control Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsControlTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectNode_isControlType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectNode_isControlType_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectNode_IsControlType(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Upper Bound feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperBoundPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectNode_upperBound_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectNode_upperBound_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectNode_UpperBound(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectNode_inState_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectNode_inState_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectNode_InState(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Selection feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSelectionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ObjectNode_selection_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ObjectNode_selection_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getObjectNode_Selection(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getObjectNode_UpperBound()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ObjectNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ObjectNode_type") : //$NON-NLS-1$ + getString("_UI_ObjectNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObjectNode.class)) { + case UMLPackage.OBJECT_NODE__ORDERING : + case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.OBJECT_NODE__UPPER_BOUND : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getObjectNode_UpperBound(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java new file mode 100644 index 00000000..fb9eb105 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.OccurrenceSpecification; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OccurrenceSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OccurrenceSpecificationItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OccurrenceSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addToBeforePropertyDescriptor(object); + addEventPropertyDescriptor(object); + addToAfterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the To Before feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addToBeforePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OccurrenceSpecification_toBefore_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_toBefore_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOccurrenceSpecification_ToBefore(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OccurrenceSpecification_event_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_event_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOccurrenceSpecification_Event(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the To After feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addToAfterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OccurrenceSpecification_toAfter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_toAfter_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOccurrenceSpecification_ToAfter(), + true, null, null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((OccurrenceSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_OccurrenceSpecification_type") : //$NON-NLS-1$ + getString("_UI_OccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java new file mode 100644 index 00000000..8ec89e9e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java @@ -0,0 +1,241 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OpaqueActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.OpaqueAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OpaqueActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OpaqueActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBodyPropertyDescriptor(object); + addLanguagePropertyDescriptor(object); + addInputValuePropertyDescriptor(object); + addOutputValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueAction_body_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_body_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueAction_Body(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Language feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLanguagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueAction_language_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_language_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueAction_Language(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Input Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInputValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueAction_inputValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_inputValue_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueAction_InputValue(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Output Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutputValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueAction_outputValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_outputValue_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueAction_OutputValue(), true, null, + null, null)); + } + + /** + * This returns OpaqueAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/OpaqueAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((OpaqueAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_OpaqueAction_type") : //$NON-NLS-1$ + getString("_UI_OpaqueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(OpaqueAction.class)) { + case UMLPackage.OPAQUE_ACTION__BODY : + case UMLPackage.OPAQUE_ACTION__LANGUAGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java new file mode 100644 index 00000000..90fccd80 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OpaqueBehaviorItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.OpaqueBehavior; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueBehavior} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OpaqueBehaviorItemProvider + extends BehaviorItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OpaqueBehaviorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBodyPropertyDescriptor(object); + addLanguagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueBehavior_body_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueBehavior_body_feature", "_UI_OpaqueBehavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueBehavior_Body(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Language feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLanguagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueBehavior_language_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueBehavior_language_feature", "_UI_OpaqueBehavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueBehavior_Language(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This returns OpaqueBehavior.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/OpaqueBehavior"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((OpaqueBehavior) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_OpaqueBehavior_type") : //$NON-NLS-1$ + getString("_UI_OpaqueBehavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(OpaqueBehavior.class)) { + case UMLPackage.OPAQUE_BEHAVIOR__BODY : + case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java new file mode 100644 index 00000000..25a6cb27 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java @@ -0,0 +1,218 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OpaqueExpressionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.OpaqueExpression; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueExpression} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OpaqueExpressionItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OpaqueExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addBodyPropertyDescriptor(object); + addLanguagePropertyDescriptor(object); + addResultPropertyDescriptor(object); + addBehaviorPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Body feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueExpression_body_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_body_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueExpression_Body(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Language feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLanguagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueExpression_language_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_language_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueExpression_Language(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueExpression_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_result_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueExpression_Result(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_OpaqueExpression_behavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_behavior_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOpaqueExpression_Behavior(), true, + null, null, null)); + } + + /** + * This returns OpaqueExpression.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/OpaqueExpression"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((OpaqueExpression) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_OpaqueExpression_type") : //$NON-NLS-1$ + getString("_UI_OpaqueExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(OpaqueExpression.class)) { + case UMLPackage.OPAQUE_EXPRESSION__BODY : + case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java new file mode 100644 index 00000000..6ece86fe --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java @@ -0,0 +1,656 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OperationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Operation; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Operation} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OperationItemProvider + extends BehavioralFeatureItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OperationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + addIsQueryPropertyDescriptor(object); + addIsOrderedPropertyDescriptor(object); + addIsUniquePropertyDescriptor(object); + addLowerPropertyDescriptor(object); + addUpperPropertyDescriptor(object); + addClass_PropertyDescriptor(object); + addPreconditionPropertyDescriptor(object); + addPostconditionPropertyDescriptor(object); + addRedefinedOperationPropertyDescriptor(object); + addDatatypePropertyDescriptor(object); + addBodyConditionPropertyDescriptor(object); + addTypePropertyDescriptor(object); + addInterfacePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Query feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsQueryPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_isQuery_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_isQuery_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_IsQuery(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Ordered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrderedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_isOrdered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_isOrdered_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_IsOrdered(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Unique feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUniquePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_isUnique_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_isUnique_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_IsUnique(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_lower_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_lower_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Lower(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Upper feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_upper_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_upper_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Upper(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Class feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClass_PropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_class__feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_class__feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Class_(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Precondition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPreconditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_precondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_precondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Precondition(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Postcondition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPostconditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_postcondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_postcondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Postcondition(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Redefined Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_redefinedOperation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_redefinedOperation_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_RedefinedOperation(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Datatype feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDatatypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_datatype_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_datatype_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Datatype(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Body Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBodyConditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_bodyCondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_bodyCondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_BodyCondition(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_type_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Type(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Interface feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInterfacePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Operation_interface_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Operation_interface_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getOperation_Interface(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Operation.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Operation"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Operation) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Operation_type") : //$NON-NLS-1$ + getString("_UI_Operation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Operation.class)) { + case UMLPackage.OPERATION__IS_QUERY : + case UMLPackage.OPERATION__IS_ORDERED : + case UMLPackage.OPERATION__IS_UNIQUE : + case UMLPackage.OPERATION__LOWER : + case UMLPackage.OPERATION__UPPER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.OPERATION__TEMPLATE_BINDING : + case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getOperation_Precondition()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_OwnedRule()}, collection, index); + } + if (feature == UMLPackage.eINSTANCE.getOperation_Postcondition()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_OwnedRule()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getOperation_Precondition(), + UMLPackage.eINSTANCE.getOperation_Postcondition(), + UMLPackage.eINSTANCE.getOperation_BodyCondition()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getOperation_Precondition()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_OwnedRule()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getOperation_Postcondition()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_OwnedRule()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getOperation_Precondition(), + UMLPackage.eINSTANCE.getOperation_Postcondition(), + UMLPackage.eINSTANCE.getOperation_BodyCondition()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE.getOperation_BodyCondition()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_OwnedRule()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java new file mode 100644 index 00000000..df1ca907 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OperationTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OperationTemplateParameter} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OperationTemplateParameterItemProvider + extends TemplateParameterItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OperationTemplateParameterItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns OperationTemplateParameter.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/OperationTemplateParameter"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_OperationTemplateParameter_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement() + || childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java new file mode 100644 index 00000000..5579f7b9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: OutputPinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.OutputPin; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OutputPin} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OutputPinItemProvider + extends PinItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OutputPinItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns OutputPin.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/OutputPin"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((OutputPin) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_OutputPin_type") : //$NON-NLS-1$ + getString("_UI_OutputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java new file mode 100644 index 00000000..fd65e76a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java @@ -0,0 +1,202 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PackageImportItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.PackageImport; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.VisibilityKind; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageImport} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PackageImportItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PackageImportItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVisibilityPropertyDescriptor(object); + addImportedPackagePropertyDescriptor(object); + addImportingNamespacePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Visibility feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVisibilityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PackageImport_visibility_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_PackageImport_visibility_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackageImport_Visibility(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Imported Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportedPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PackageImport_importedPackage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_PackageImport_importedPackage_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackageImport_ImportedPackage(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Importing Namespace feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportingNamespacePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PackageImport_importingNamespace_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_PackageImport_importingNamespace_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackageImport_ImportingNamespace(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns PackageImport.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/PackageImport"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + VisibilityKind labelValue = ((PackageImport) object).getVisibility(); + String label = labelValue == null + ? null + : labelValue.toString(); + return label == null || label.length() == 0 + ? getString("_UI_PackageImport_type") : //$NON-NLS-1$ + getString("_UI_PackageImport_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PackageImport.class)) { + case UMLPackage.PACKAGE_IMPORT__VISIBILITY : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java new file mode 100644 index 00000000..c10030e2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java @@ -0,0 +1,812 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PackageItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Package} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PackageItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PackageItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + addPackageMergePropertyDescriptor(object); + addPackagedElementPropertyDescriptor(object); + addOwnedTypePropertyDescriptor(object); + addNestedPackagePropertyDescriptor(object); + addNestingPackagePropertyDescriptor(object); + addAppliedProfilePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Package Merge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackageMergePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_packageMerge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_packageMerge_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_PackageMerge(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Packaged Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackagedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_packagedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_packagedElement_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_PackagedElement(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_ownedType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_ownedType_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_OwnedType(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Nested Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestedPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_nestedPackage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_nestedPackage_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_NestedPackage(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Nesting Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNestingPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_nestingPackage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_nestingPackage_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_NestingPackage(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Applied Profile feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAppliedProfilePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_appliedProfile_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Package_appliedProfile_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackage_AppliedProfile(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getPackage_PackageMerge()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getPackage_PackagedElement()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Package.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Package"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((org.eclipse.uml2.uml.Package) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Package_type") : //$NON-NLS-1$ + getString("_UI_Package_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(org.eclipse.uml2.uml.Package.class)) { + case UMLPackage.PACKAGE__TEMPLATE_BINDING : + case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE : + case UMLPackage.PACKAGE__PACKAGE_MERGE : + case UMLPackage.PACKAGE__PACKAGED_ELEMENT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackageMerge(), UMLFactory.eINSTANCE + .createPackageMerge())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDependency())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createPackage())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createProfile())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createGeneralizationSet())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInterface())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInstanceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createEnumerationLiteral())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createExecutionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createCreationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDestructionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createSendOperationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createSendSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createCallEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createChangeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createAnyReceiveEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createInformationFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createModel())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createComponentRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createComponent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createTimeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getPackage_PackagedElement(), UMLFactory.eINSTANCE + .createAssociationClass())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getPackage_PackagedElement() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getPackage_AppliedProfile()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_PackageImport()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getPackage_AppliedProfile()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getPackage_AppliedProfile()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_PackageImport()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getPackage_AppliedProfile()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java new file mode 100644 index 00000000..68bd6257 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PackageMergeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageMerge} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PackageMergeItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PackageMergeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addMergedPackagePropertyDescriptor(object); + addReceivingPackagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Merged Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMergedPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PackageMerge_mergedPackage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_PackageMerge_mergedPackage_feature", "_UI_PackageMerge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackageMerge_MergedPackage(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Receiving Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReceivingPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PackageMerge_receivingPackage_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_PackageMerge_receivingPackage_feature", "_UI_PackageMerge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPackageMerge_ReceivingPackage(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns PackageMerge.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/PackageMerge"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_PackageMerge_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java new file mode 100644 index 00000000..05da22e1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PackageableElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.PackageableElement; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageableElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PackageableElementItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PackageableElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((PackageableElement) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_PackageableElement_type") : //$NON-NLS-1$ + getString("_UI_PackageableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java new file mode 100644 index 00000000..bfc7f39c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java @@ -0,0 +1,674 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Parameter} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ParameterItemProvider + extends ConnectableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ParameterItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsOrderedPropertyDescriptor(object); + addIsUniquePropertyDescriptor(object); + addUpperPropertyDescriptor(object); + addLowerPropertyDescriptor(object); + addUpperValuePropertyDescriptor(object); + addLowerValuePropertyDescriptor(object); + addParameterSetPropertyDescriptor(object); + addOperationPropertyDescriptor(object); + addDirectionPropertyDescriptor(object); + addDefaultPropertyDescriptor(object); + addDefaultValuePropertyDescriptor(object); + addIsExceptionPropertyDescriptor(object); + addIsStreamPropertyDescriptor(object); + addEffectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Ordered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrderedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Unique feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUniquePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Upper feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Upper Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Parameter Set feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterSetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_parameterSet_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_parameterSet_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_ParameterSet(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_operation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_operation_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_Operation(), false, null, + null, null)); + } + + /** + * This adds a property descriptor for the Direction feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDirectionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_direction_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_direction_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_Direction(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Default feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_default_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_default_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_Default(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Default Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_defaultValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_defaultValue_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_DefaultValue(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Exception feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsExceptionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_isException_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_isException_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_IsException(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Stream feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsStreamPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_isStream_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_isStream_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_IsStream(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Effect feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEffectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Parameter_effect_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Parameter_effect_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameter_Effect(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getParameter_DefaultValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Parameter.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Parameter"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Parameter) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Parameter_type") : //$NON-NLS-1$ + getString("_UI_Parameter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Parameter.class)) { + case UMLPackage.PARAMETER__IS_ORDERED : + case UMLPackage.PARAMETER__IS_UNIQUE : + case UMLPackage.PARAMETER__UPPER : + case UMLPackage.PARAMETER__LOWER : + case UMLPackage.PARAMETER__DIRECTION : + case UMLPackage.PARAMETER__DEFAULT : + case UMLPackage.PARAMETER__IS_EXCEPTION : + case UMLPackage.PARAMETER__IS_STREAM : + case UMLPackage.PARAMETER__EFFECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.PARAMETER__UPPER_VALUE : + case UMLPackage.PARAMETER__LOWER_VALUE : + case UMLPackage.PARAMETER__DEFAULT_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameter_DefaultValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue() + || childFeature == UMLPackage.eINSTANCE.getParameter_DefaultValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java new file mode 100644 index 00000000..932051a5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java @@ -0,0 +1,214 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ParameterSetItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ParameterSet; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ParameterSet} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ParameterSetItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ParameterSetItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addParameterPropertyDescriptor(object); + addConditionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterSet_parameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterSet_parameter_feature", "_UI_ParameterSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameterSet_Parameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterSet_condition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterSet_condition_feature", "_UI_ParameterSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getParameterSet_Condition(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getParameterSet_Condition()); + } + return childrenFeatures; + } + + /** + * This returns ParameterSet.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ParameterSet"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ParameterSet) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ParameterSet_type") : //$NON-NLS-1$ + getString("_UI_ParameterSet_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ParameterSet.class)) { + case UMLPackage.PARAMETER_SET__CONDITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameterSet_Condition(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameterSet_Condition(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameterSet_Condition(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameterSet_Condition(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getParameterSet_Condition(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java new file mode 100644 index 00000000..e055148a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ParameterableElementItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ParameterableElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ParameterableElementItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ParameterableElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_ParameterableElement_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java new file mode 100644 index 00000000..36f0e72a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PartDecompositionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.PartDecomposition; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PartDecomposition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PartDecompositionItemProvider + extends InteractionUseItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PartDecompositionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PartDecomposition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/PartDecomposition"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((PartDecomposition) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_PartDecomposition_type") : //$NON-NLS-1$ + getString("_UI_PartDecomposition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java new file mode 100644 index 00000000..94111e78 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java @@ -0,0 +1,179 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Pin; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Pin} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PinItemProvider + extends ObjectNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PinItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsControlPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Control feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsControlPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Pin_isControl_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Pin_isControl_feature", "_UI_Pin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPin_IsControl(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This returns Pin.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Pin"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Pin) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Pin_type") : //$NON-NLS-1$ + getString("_UI_Pin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Pin.class)) { + case UMLPackage.PIN__IS_CONTROL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java new file mode 100644 index 00000000..554769f5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java @@ -0,0 +1,285 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PortItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Port; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Port} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PortItemProvider + extends PropertyItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PortItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsBehaviorPropertyDescriptor(object); + addIsServicePropertyDescriptor(object); + addRequiredPropertyDescriptor(object); + addRedefinedPortPropertyDescriptor(object); + addProvidedPropertyDescriptor(object); + addProtocolPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Behavior feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsBehaviorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_isBehavior_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_isBehavior_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_IsBehavior(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Service feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsServicePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_isService_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_isService_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_IsService(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Required feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRequiredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_required_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_required_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_Required(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefined Port feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedPortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_redefinedPort_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_redefinedPort_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_RedefinedPort(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Provided feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addProvidedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_provided_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_provided_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_Provided(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Protocol feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addProtocolPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Port_protocol_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Port_protocol_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPort_Protocol(), true, null, null, null)); + } + + /** + * This returns Port.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Port"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Port) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Port_type") : //$NON-NLS-1$ + getString("_UI_Port_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Port.class)) { + case UMLPackage.PORT__IS_BEHAVIOR : + case UMLPackage.PORT__IS_SERVICE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue() + || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java new file mode 100644 index 00000000..3fa438c5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PrimitiveTypeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.PrimitiveType; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PrimitiveType} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PrimitiveTypeItemProvider + extends DataTypeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PrimitiveTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PrimitiveType.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/PrimitiveType"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((PrimitiveType) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_PrimitiveType_type") : //$NON-NLS-1$ + getString("_UI_PrimitiveType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java new file mode 100644 index 00000000..f1b67e28 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ProfileApplicationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.ProfileApplication; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.VisibilityKind; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProfileApplication} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ProfileApplicationItemProvider + extends PackageImportItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProfileApplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addImportedProfilePropertyDescriptor(object); + addIsStrictPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Imported Profile feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportedProfilePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProfileApplication_importedProfile_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProfileApplication_importedProfile_feature", "_UI_ProfileApplication_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProfileApplication_ImportedProfile(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Is Strict feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsStrictPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProfileApplication_isStrict_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProfileApplication_isStrict_feature", "_UI_ProfileApplication_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProfileApplication_IsStrict(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This returns ProfileApplication.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ProfileApplication"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + VisibilityKind labelValue = ((ProfileApplication) object) + .getVisibility(); + String label = labelValue == null + ? null + : labelValue.toString(); + return label == null || label.length() == 0 + ? getString("_UI_ProfileApplication_type") : //$NON-NLS-1$ + getString("_UI_ProfileApplication_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ProfileApplication.class)) { + case UMLPackage.PROFILE_APPLICATION__IS_STRICT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getProfileApplication_ImportedProfile()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getPackageImport_ImportedPackage()}, value); + } + if (feature == UMLPackage.eINSTANCE.getPackageImport_ImportedPackage()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProfileApplication_ImportedProfile()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java new file mode 100644 index 00000000..b56b1bb9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java @@ -0,0 +1,323 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ProfileItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Profile; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Profile} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ProfileItemProvider + extends PackageItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProfileItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedStereotypePropertyDescriptor(object); + addMetaclassReferencePropertyDescriptor(object); + addMetamodelReferencePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Stereotype feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedStereotypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Profile_ownedStereotype_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Profile_ownedStereotype_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProfile_OwnedStereotype(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Metaclass Reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMetaclassReferencePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Profile_metaclassReference_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Profile_metaclassReference_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProfile_MetaclassReference(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Metamodel Reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMetamodelReferencePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Profile_metamodelReference_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Profile_metamodelReference_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProfile_MetamodelReference(), true, + null, null, null)); + } + + /** + * This returns Profile.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Profile"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Profile) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Profile_type") : //$NON-NLS-1$ + getString("_UI_Profile_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getPackage_PackagedElement() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getProfile_OwnedStereotype()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getPackage_PackagedElement()}, collection, index); + } + if (feature == UMLPackage.eINSTANCE.getProfile_MetaclassReference()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_ElementImport()}, collection, index); + } + if (feature == UMLPackage.eINSTANCE.getProfile_MetamodelReference()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_PackageImport()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getPackage_PackagedElement()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProfile_OwnedStereotype()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_ElementImport()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProfile_MetaclassReference()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getPackage_AppliedProfile(), + UMLPackage.eINSTANCE.getProfile_MetamodelReference()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getProfile_OwnedStereotype()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getPackage_PackagedElement()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getProfile_MetaclassReference()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_ElementImport()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getProfile_MetamodelReference()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamespace_PackageImport()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getPackage_PackagedElement()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProfile_OwnedStereotype()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_ElementImport()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProfile_MetaclassReference()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{ + UMLPackage.eINSTANCE.getPackage_AppliedProfile(), + UMLPackage.eINSTANCE.getProfile_MetamodelReference()}, + value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java new file mode 100644 index 00000000..37295cd2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java @@ -0,0 +1,857 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PropertyItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Property} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PropertyItemProvider + extends StructuralFeatureItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateParameterPropertyDescriptor(object); + addOwningTemplateParameterPropertyDescriptor(object); + addEndPropertyDescriptor(object); + addDeploymentPropertyDescriptor(object); + addDeployedElementPropertyDescriptor(object); + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + addDatatypePropertyDescriptor(object); + addIsDerivedPropertyDescriptor(object); + addIsDerivedUnionPropertyDescriptor(object); + addDefaultPropertyDescriptor(object); + addAggregationPropertyDescriptor(object); + addIsCompositePropertyDescriptor(object); + addClass_PropertyDescriptor(object); + addRedefinedPropertyPropertyDescriptor(object); + addOwningAssociationPropertyDescriptor(object); + addAssociationPropertyDescriptor(object); + addDefaultValuePropertyDescriptor(object); + addOppositePropertyDescriptor(object); + addSubsettedPropertyPropertyDescriptor(object); + addQualifierPropertyDescriptor(object); + addAssociationEndPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Owning Template Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningTemplateParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ConnectableElement_end_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ConnectableElement_end_feature", "_UI_ConnectableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getConnectableElement_End(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Deployment feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeploymentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Deployed Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeployedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Datatype feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDatatypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_datatype_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_datatype_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Datatype(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Derived feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDerivedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_isDerived_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_isDerived_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_IsDerived(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Derived Union feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDerivedUnionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_isDerivedUnion_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_isDerivedUnion_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_IsDerivedUnion(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Default feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_default_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_default_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Default(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Aggregation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAggregationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_aggregation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_aggregation_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Aggregation(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Composite feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsCompositePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_isComposite_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_isComposite_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_IsComposite(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Class feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClass_PropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_class__feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_class__feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Class_(), false, null, null, + null)); + } + + /** + * This adds a property descriptor for the Redefined Property feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedPropertyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_redefinedProperty_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_redefinedProperty_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_RedefinedProperty(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owning Association feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningAssociationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_owningAssociation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_owningAssociation_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_OwningAssociation(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Association feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAssociationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_association_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_association_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Association(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Default Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_defaultValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_defaultValue_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_DefaultValue(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Opposite feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOppositePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_opposite_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_opposite_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Opposite(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Subsetted Property feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubsettedPropertyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_subsettedProperty_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_subsettedProperty_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_SubsettedProperty(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Qualifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addQualifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_qualifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_qualifier_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_Qualifier(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Association End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addAssociationEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Property_associationEnd_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Property_associationEnd_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProperty_AssociationEnd(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getProperty_DefaultValue()); + childrenFeatures.add(UMLPackage.eINSTANCE.getProperty_Qualifier()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Property.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Property"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Property) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Property_type") : //$NON-NLS-1$ + getString("_UI_Property_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Property.class)) { + case UMLPackage.PROPERTY__IS_DERIVED : + case UMLPackage.PROPERTY__IS_DERIVED_UNION : + case UMLPackage.PROPERTY__DEFAULT : + case UMLPackage.PROPERTY__AGGREGATION : + case UMLPackage.PROPERTY__IS_COMPOSITE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.PROPERTY__DEPLOYMENT : + case UMLPackage.PROPERTY__TEMPLATE_BINDING : + case UMLPackage.PROPERTY__OWNED_TEMPLATE_SIGNATURE : + case UMLPackage.PROPERTY__DEFAULT_VALUE : + case UMLPackage.PROPERTY__QUALIFIER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_DefaultValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_Qualifier(), UMLFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_Qualifier(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getProperty_Qualifier(), UMLFactory.eINSTANCE + .createExtensionEnd())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue() + || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getNamedElement_ClientDependency()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDeploymentTarget_Deployment()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getParameterableElement_OwningTemplateParameter()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getParameterableElement_TemplateParameter()}, value); + } + if (feature == UMLPackage.eINSTANCE.getProperty_OwningAssociation()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProperty_Association()}, value); + } + if (feature == UMLPackage.eINSTANCE.getProperty_Association()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProperty_OwningAssociation()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java new file mode 100644 index 00000000..b0bf5dce --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ProtocolConformanceItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolConformance} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ProtocolConformanceItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProtocolConformanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addGeneralMachinePropertyDescriptor(object); + addSpecificMachinePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the General Machine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGeneralMachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolConformance_generalMachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolConformance_generalMachine_feature", "_UI_ProtocolConformance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolConformance_GeneralMachine(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Specific Machine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSpecificMachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolConformance_specificMachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolConformance_specificMachine_feature", "_UI_ProtocolConformance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolConformance_SpecificMachine(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns ProtocolConformance.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ProtocolConformance"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_ProtocolConformance_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java new file mode 100644 index 00000000..f7b25323 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java @@ -0,0 +1,208 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ProtocolStateMachineItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ProtocolStateMachine; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolStateMachine} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ProtocolStateMachineItemProvider + extends StateMachineItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProtocolStateMachineItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addConformancePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Conformance feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConformancePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolStateMachine_conformance_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolStateMachine_conformance_feature", "_UI_ProtocolStateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolStateMachine_Conformance(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getProtocolStateMachine_Conformance()); + } + return childrenFeatures; + } + + /** + * This returns ProtocolStateMachine.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ProtocolStateMachine"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ProtocolStateMachine) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ProtocolStateMachine_type") : //$NON-NLS-1$ + getString("_UI_ProtocolStateMachine_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ProtocolStateMachine.class)) { + case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolStateMachine_Conformance(), UMLFactory.eINSTANCE + .createProtocolConformance())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java new file mode 100644 index 00000000..eb827d5d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java @@ -0,0 +1,293 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ProtocolTransitionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.ProtocolTransition; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolTransition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ProtocolTransitionItemProvider + extends TransitionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProtocolTransitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addPostConditionPropertyDescriptor(object); + addReferredPropertyDescriptor(object); + addPreConditionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Post Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPostConditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolTransition_postCondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_postCondition_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolTransition_PostCondition(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Referred feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolTransition_referred_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_referred_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolTransition_Referred(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Pre Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPreConditionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProtocolTransition_preCondition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_preCondition_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getProtocolTransition_PreCondition(), + true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition()); + } + return childrenFeatures; + } + + /** + * This returns ProtocolTransition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ProtocolTransition"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ProtocolTransition) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ProtocolTransition_type") : //$NON-NLS-1$ + getString("_UI_ProtocolTransition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ProtocolTransition.class)) { + case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTransition_Guard() + || childFeature == UMLPackage.eINSTANCE + .getProtocolTransition_PostCondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getProtocolTransition_PreCondition()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTransition_Guard()}, value); + } + if (feature == UMLPackage.eINSTANCE.getTransition_Guard()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getProtocolTransition_PreCondition()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java new file mode 100644 index 00000000..6bb05016 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: PseudostateItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Pseudostate; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Pseudostate} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PseudostateItemProvider + extends VertexItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PseudostateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addKindPropertyDescriptor(object); + addStateMachinePropertyDescriptor(object); + addStatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Kind feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addKindPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Pseudostate_kind_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Pseudostate_kind_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPseudostate_Kind(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the State Machine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStateMachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Pseudostate_stateMachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Pseudostate_stateMachine_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPseudostate_StateMachine(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Pseudostate_state_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Pseudostate_state_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getPseudostate_State(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns Pseudostate.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Pseudostate"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Pseudostate) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Pseudostate_type") : //$NON-NLS-1$ + getString("_UI_Pseudostate_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Pseudostate.class)) { + case UMLPackage.PSEUDOSTATE__KIND : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java new file mode 100644 index 00000000..3902ab57 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java @@ -0,0 +1,163 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: QualifierValueItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.QualifierValue} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class QualifierValueItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public QualifierValueItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addQualifierPropertyDescriptor(object); + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Qualifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addQualifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_QualifierValue_qualifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_QualifierValue_qualifier_feature", "_UI_QualifierValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getQualifierValue_Qualifier(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_QualifierValue_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_QualifierValue_value_feature", "_UI_QualifierValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getQualifierValue_Value(), true, null, + null, null)); + } + + /** + * This returns QualifierValue.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/QualifierValue"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_QualifierValue_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java new file mode 100644 index 00000000..c1734170 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RaiseExceptionActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.RaiseExceptionAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RaiseExceptionAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RaiseExceptionActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RaiseExceptionActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addExceptionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Exception feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExceptionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RaiseExceptionAction_exception_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RaiseExceptionAction_exception_feature", "_UI_RaiseExceptionAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRaiseExceptionAction_Exception(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getRaiseExceptionAction_Exception()); + } + return childrenFeatures; + } + + /** + * This returns RaiseExceptionAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/RaiseExceptionAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((RaiseExceptionAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_RaiseExceptionAction_type") : //$NON-NLS-1$ + getString("_UI_RaiseExceptionAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RaiseExceptionAction.class)) { + case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java new file mode 100644 index 00000000..4a71cf1f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadExtentActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadExtentAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadExtentAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadExtentActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadExtentActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + addClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadExtentAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadExtentAction_result_feature", "_UI_ReadExtentAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadExtentAction_Result(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadExtentAction_classifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadExtentAction_classifier_feature", "_UI_ReadExtentAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadExtentAction_Classifier(), true, + null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadExtentAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns ReadExtentAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ReadExtentAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadExtentAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadExtentAction_type") : //$NON-NLS-1$ + getString("_UI_ReadExtentAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadExtentAction.class)) { + case UMLPackage.READ_EXTENT_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadExtentAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java new file mode 100644 index 00000000..a1cb15d1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java @@ -0,0 +1,302 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadIsClassifiedObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadIsClassifiedObjectActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadIsClassifiedObjectActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsDirectPropertyDescriptor(object); + addClassifierPropertyDescriptor(object); + addResultPropertyDescriptor(object); + addObjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Direct feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsDirectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadIsClassifiedObjectAction_isDirect_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_isDirect_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_IsDirect(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadIsClassifiedObjectAction_classifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_classifier_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Classifier(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadIsClassifiedObjectAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_result_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_Result(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadIsClassifiedObjectAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_object_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_Object(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Result()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Object()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReadIsClassifiedObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ReadIsClassifiedObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadIsClassifiedObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadIsClassifiedObjectAction_type") : //$NON-NLS-1$ + getString("_UI_ReadIsClassifiedObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadIsClassifiedObjectAction.class)) { + case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT : + case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java new file mode 100644 index 00000000..3eda43f2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadLinkAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadLinkActionItemProvider + extends LinkActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadLinkActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkAction_result_feature", "_UI_ReadLinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadLinkAction_Result(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadLinkAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns ReadLinkAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ReadLinkAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadLinkAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadLinkAction_type") : //$NON-NLS-1$ + getString("_UI_ReadLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadLinkAction.class)) { + case UMLPackage.READ_LINK_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java new file mode 100644 index 00000000..9d3d66cf --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadLinkObjectEndActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadLinkObjectEndAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadLinkObjectEndActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadLinkObjectEndActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addObjectPropertyDescriptor(object); + addEndPropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_object_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadLinkObjectEndAction_Object(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the End feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEndPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndAction_end_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_end_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadLinkObjectEndAction_End(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_result_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadLinkObjectEndAction_Result(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Object()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Result()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReadLinkObjectEndAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ReadLinkObjectEndAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadLinkObjectEndAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadLinkObjectEndAction_type") : //$NON-NLS-1$ + getString("_UI_ReadLinkObjectEndAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadLinkObjectEndAction.class)) { + case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT : + case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java new file mode 100644 index 00000000..f6ce02fd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java @@ -0,0 +1,278 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadLinkObjectEndQualifierActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadLinkObjectEndQualifierActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadLinkObjectEndQualifierActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addObjectPropertyDescriptor(object); + addResultPropertyDescriptor(object); + addQualifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndQualifierAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_object_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Object(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndQualifierAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_result_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Result(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Qualifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addQualifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadLinkObjectEndQualifierAction_qualifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_qualifier_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Qualifier(), true, + null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Object()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Result()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReadLinkObjectEndQualifierAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ReadLinkObjectEndQualifierAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadLinkObjectEndQualifierAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadLinkObjectEndQualifierAction_type") : //$NON-NLS-1$ + getString("_UI_ReadLinkObjectEndQualifierAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification + .getFeatureID(ReadLinkObjectEndQualifierAction.class)) { + case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT : + case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadLinkObjectEndQualifierAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java new file mode 100644 index 00000000..418f1354 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadSelfActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadSelfAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadSelfAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadSelfActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadSelfActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadSelfAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadSelfAction_result_feature", "_UI_ReadSelfAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadSelfAction_Result(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadSelfAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns ReadSelfAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ReadSelfAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadSelfAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadSelfAction_type") : //$NON-NLS-1$ + getString("_UI_ReadSelfAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadSelfAction.class)) { + case UMLPackage.READ_SELF_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getReadSelfAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java new file mode 100644 index 00000000..73a934a2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadStructuralFeatureAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadStructuralFeatureActionItemProvider + extends StructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadStructuralFeatureActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadStructuralFeatureAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadStructuralFeatureAction_result_feature", "_UI_ReadStructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadStructuralFeatureAction_Result(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadStructuralFeatureAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns ReadStructuralFeatureAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ReadStructuralFeatureAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadStructuralFeatureAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadStructuralFeatureAction_type") : //$NON-NLS-1$ + getString("_UI_ReadStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadStructuralFeatureAction.class)) { + case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadStructuralFeatureAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java new file mode 100644 index 00000000..a069dc31 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReadVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReadVariableAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadVariableAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReadVariableActionItemProvider + extends VariableActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReadVariableActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReadVariableAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReadVariableAction_result_feature", "_UI_ReadVariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReadVariableAction_Result(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReadVariableAction_Result()); + } + return childrenFeatures; + } + + /** + * This returns ReadVariableAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ReadVariableAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReadVariableAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReadVariableAction_type") : //$NON-NLS-1$ + getString("_UI_ReadVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReadVariableAction.class)) { + case UMLPackage.READ_VARIABLE_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReadVariableAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java new file mode 100644 index 00000000..037f266f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RealizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Realization; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Realization} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RealizationItemProvider + extends AbstractionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RealizationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Realization.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Realization"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Realization) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Realization_type") : //$NON-NLS-1$ + getString("_UI_Realization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java new file mode 100644 index 00000000..11343aea --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReceptionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Reception; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Reception} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReceptionItemProvider + extends BehavioralFeatureItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReceptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignalPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Reception_signal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Reception_signal_feature", "_UI_Reception_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReception_Signal(), true, null, null, + null)); + } + + /** + * This returns Reception.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Reception"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Reception) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Reception_type") : //$NON-NLS-1$ + getString("_UI_Reception_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java new file mode 100644 index 00000000..24c02438 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java @@ -0,0 +1,277 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReclassifyObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReclassifyObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReclassifyObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReclassifyObjectActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReclassifyObjectActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsReplaceAllPropertyDescriptor(object); + addOldClassifierPropertyDescriptor(object); + addNewClassifierPropertyDescriptor(object); + addObjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Replace All feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReplaceAllPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReclassifyObjectAction_isReplaceAll_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_isReplaceAll_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReclassifyObjectAction_IsReplaceAll(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Old Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOldClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReclassifyObjectAction_oldClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_oldClassifier_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReclassifyObjectAction_OldClassifier(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the New Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNewClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReclassifyObjectAction_newClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_newClassifier_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReclassifyObjectAction_NewClassifier(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReclassifyObjectAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_object_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReclassifyObjectAction_Object(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReclassifyObjectAction_Object()); + } + return childrenFeatures; + } + + /** + * This returns ReclassifyObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ReclassifyObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReclassifyObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReclassifyObjectAction_type") : //$NON-NLS-1$ + getString("_UI_ReclassifyObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReclassifyObjectAction.class)) { + case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java new file mode 100644 index 00000000..0c949a4f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RedefinableElementItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.RedefinableElement; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RedefinableElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RedefinableElementItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RedefinableElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsLeafPropertyDescriptor(object); + addRedefinedElementPropertyDescriptor(object); + addRedefinitionContextPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Leaf feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsLeafPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefinition Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinitionContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableElement_RedefinitionContext(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((RedefinableElement) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_RedefinableElement_type") : //$NON-NLS-1$ + getString("_UI_RedefinableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RedefinableElement.class)) { + case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java new file mode 100644 index 00000000..dad8b3f4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java @@ -0,0 +1,370 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RedefinableTemplateSignatureItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.RedefinableTemplateSignature; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RedefinableTemplateSignature} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RedefinableTemplateSignatureItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RedefinableTemplateSignatureItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addParameterPropertyDescriptor(object); + addTemplatePropertyDescriptor(object); + addOwnedParameterPropertyDescriptor(object); + addExtendedSignaturePropertyDescriptor(object); + addInheritedParameterPropertyDescriptor(object); + addClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_parameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_parameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_Parameter(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Template feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_template_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_template_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_Template(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_ownedParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_ownedParameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_OwnedParameter(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extended Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtendedSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableTemplateSignature_extendedSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_extendedSignature_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableTemplateSignature_ExtendedSignature(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Inherited Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInheritedParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableTemplateSignature_inheritedParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_inheritedParameter_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableTemplateSignature_InheritedParameter(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableTemplateSignature_classifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_classifier_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableTemplateSignature_Classifier(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()); + } + return childrenFeatures; + } + + /** + * This returns RedefinableTemplateSignature.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/RedefinableTemplateSignature"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((RedefinableTemplateSignature) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_RedefinableTemplateSignature_type") : //$NON-NLS-1$ + getString("_UI_RedefinableTemplateSignature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RedefinableTemplateSignature.class)) { + case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createOperationTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createConnectableElementTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createClassifierTemplateParameter())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_Parameter()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_Parameter()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java new file mode 100644 index 00000000..d91dc17e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java @@ -0,0 +1,361 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RegionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Region; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Region} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RegionItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RegionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsLeafPropertyDescriptor(object); + addRedefinedElementPropertyDescriptor(object); + addRedefinitionContextPropertyDescriptor(object); + addSubvertexPropertyDescriptor(object); + addTransitionPropertyDescriptor(object); + addStatePropertyDescriptor(object); + addExtendedRegionPropertyDescriptor(object); + addStateMachinePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Leaf feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsLeafPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefinition Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinitionContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableElement_RedefinitionContext(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Subvertex feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubvertexPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Region_subvertex_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Region_subvertex_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRegion_Subvertex(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Transition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTransitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Region_transition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Region_transition_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRegion_Transition(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Region_state_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Region_state_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRegion_State(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extended Region feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtendedRegionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Region_extendedRegion_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Region_extendedRegion_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRegion_ExtendedRegion(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the State Machine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStateMachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Region_stateMachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Region_stateMachine_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRegion_StateMachine(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getRegion_Subvertex()); + childrenFeatures.add(UMLPackage.eINSTANCE.getRegion_Transition()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Region.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Region"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Region) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Region_type") : //$NON-NLS-1$ + getString("_UI_Region_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Region.class)) { + case UMLPackage.REGION__IS_LEAF : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.REGION__SUBVERTEX : + case UMLPackage.REGION__TRANSITION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Subvertex(), UMLFactory.eINSTANCE.createState())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Subvertex(), UMLFactory.eINSTANCE + .createConnectionPointReference())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Subvertex(), UMLFactory.eINSTANCE.createPseudostate())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Subvertex(), UMLFactory.eINSTANCE.createFinalState())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Transition(), UMLFactory.eINSTANCE.createTransition())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRegion_Transition(), UMLFactory.eINSTANCE + .createProtocolTransition())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java new file mode 100644 index 00000000..a70be1a4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RelationshipItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Relationship} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RelationshipItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RelationshipItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRelatedElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Related Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRelatedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_Relationship_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java new file mode 100644 index 00000000..8debcf09 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java @@ -0,0 +1,247 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RemoveStructuralFeatureValueActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RemoveStructuralFeatureValueActionItemProvider + extends WriteStructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RemoveStructuralFeatureValueActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsRemoveDuplicatesPropertyDescriptor(object); + addRemoveAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Remove Duplicates feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsRemoveDuplicatesPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature", "_UI_RemoveStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_IsRemoveDuplicates(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Remove At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRemoveAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RemoveStructuralFeatureValueAction_removeAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RemoveStructuralFeatureValueAction_removeAt_feature", "_UI_RemoveStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt()); + } + return childrenFeatures; + } + + /** + * This returns RemoveStructuralFeatureValueAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/RemoveStructuralFeatureValueAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((RemoveStructuralFeatureValueAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_RemoveStructuralFeatureValueAction_type") : //$NON-NLS-1$ + getString("_UI_RemoveStructuralFeatureValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification + .getFeatureID(RemoveStructuralFeatureValueAction.class)) { + case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt(), + UMLFactory.eINSTANCE.createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt(), + UMLFactory.eINSTANCE.createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt(), + UMLFactory.eINSTANCE.createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object() + || childFeature == UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value() + || childFeature == UMLPackage.eINSTANCE + .getRemoveStructuralFeatureValueAction_RemoveAt(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java new file mode 100644 index 00000000..941ace94 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: RemoveVariableValueActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.RemoveVariableValueAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RemoveVariableValueAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RemoveVariableValueActionItemProvider + extends WriteVariableActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RemoveVariableValueActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsRemoveDuplicatesPropertyDescriptor(object); + addRemoveAtPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Remove Duplicates feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsRemoveDuplicatesPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RemoveVariableValueAction_isRemoveDuplicates_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RemoveVariableValueAction_isRemoveDuplicates_feature", "_UI_RemoveVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRemoveVariableValueAction_IsRemoveDuplicates(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Remove At feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRemoveAtPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RemoveVariableValueAction_removeAt_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RemoveVariableValueAction_removeAt_feature", "_UI_RemoveVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRemoveVariableValueAction_RemoveAt(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getRemoveVariableValueAction_RemoveAt()); + } + return childrenFeatures; + } + + /** + * This returns RemoveVariableValueAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/RemoveVariableValueAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((RemoveVariableValueAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_RemoveVariableValueAction_type") : //$NON-NLS-1$ + getString("_UI_RemoveVariableValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RemoveVariableValueAction.class)) { + case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getWriteVariableAction_Value() + || childFeature == UMLPackage.eINSTANCE + .getRemoveVariableValueAction_RemoveAt(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java new file mode 100644 index 00000000..5665cbb4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java @@ -0,0 +1,286 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ReplyActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.ReplyAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReplyAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ReplyActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReplyActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addReplyToCallPropertyDescriptor(object); + addReturnInformationPropertyDescriptor(object); + addReplyValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Reply To Call feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReplyToCallPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReplyAction_replyToCall_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReplyAction_replyToCall_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReplyAction_ReplyToCall(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Return Information feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReturnInformationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReplyAction_returnInformation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReplyAction_returnInformation_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReplyAction_ReturnInformation(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Reply Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReplyValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReplyAction_replyValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ReplyAction_replyValue_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getReplyAction_ReplyValue(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReplyAction_ReturnInformation()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getReplyAction_ReplyValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReplyAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ReplyAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ReplyAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ReplyAction_type") : //$NON-NLS-1$ + getString("_UI_ReplyAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReplyAction.class)) { + case UMLPackage.REPLY_ACTION__RETURN_INFORMATION : + case UMLPackage.REPLY_ACTION__REPLY_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getReplyAction_ReturnInformation() + || childFeature == UMLPackage.eINSTANCE.getReplyAction_ReplyValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java new file mode 100644 index 00000000..c3d58d88 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java @@ -0,0 +1,266 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SendObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.SendObjectAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendObjectAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SendObjectActionItemProvider + extends InvocationActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SendObjectActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTargetPropertyDescriptor(object); + addRequestPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendObjectAction_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendObjectAction_target_feature", "_UI_SendObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendObjectAction_Target(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Request feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRequestPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendObjectAction_request_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendObjectAction_request_feature", "_UI_SendObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendObjectAction_Request(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getSendObjectAction_Target()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getSendObjectAction_Request()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns SendObjectAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SendObjectAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SendObjectAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SendObjectAction_type") : //$NON-NLS-1$ + getString("_UI_SendObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(SendObjectAction.class)) { + case UMLPackage.SEND_OBJECT_ACTION__TARGET : + case UMLPackage.SEND_OBJECT_ACTION__REQUEST : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Target(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Target(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Target(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Request(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Request(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendObjectAction_Request(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getInvocationAction_Argument() + || childFeature == UMLPackage.eINSTANCE + .getSendObjectAction_Target() + || childFeature == UMLPackage.eINSTANCE + .getSendObjectAction_Request(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java new file mode 100644 index 00000000..a1945df6 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SendOperationEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.SendOperationEvent; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendOperationEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SendOperationEventItemProvider + extends MessageEventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SendOperationEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOperationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Operation feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOperationPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendOperationEvent_operation_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendOperationEvent_operation_feature", "_UI_SendOperationEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendOperationEvent_Operation(), true, + null, null, null)); + } + + /** + * This returns SendOperationEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SendOperationEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SendOperationEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SendOperationEvent_type") : //$NON-NLS-1$ + getString("_UI_SendOperationEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java new file mode 100644 index 00000000..b970967c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java @@ -0,0 +1,234 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SendSignalActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.SendSignalAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendSignalAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SendSignalActionItemProvider + extends InvocationActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SendSignalActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTargetPropertyDescriptor(object); + addSignalPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendSignalAction_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendSignalAction_target_feature", "_UI_SendSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendSignalAction_Target(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Signal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendSignalAction_signal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendSignalAction_signal_feature", "_UI_SendSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendSignalAction_Signal(), true, null, + null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getSendSignalAction_Target()); + } + return childrenFeatures; + } + + /** + * This returns SendSignalAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SendSignalAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SendSignalAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SendSignalAction_type") : //$NON-NLS-1$ + getString("_UI_SendSignalAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(SendSignalAction.class)) { + case UMLPackage.SEND_SIGNAL_ACTION__TARGET : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendSignalAction_Target(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendSignalAction_Target(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSendSignalAction_Target(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getInvocationAction_Argument() + || childFeature == UMLPackage.eINSTANCE + .getSendSignalAction_Target(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java new file mode 100644 index 00000000..32303f92 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SendSignalEventItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.SendSignalEvent; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendSignalEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SendSignalEventItemProvider + extends MessageEventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SendSignalEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignalPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendSignalEvent_signal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SendSignalEvent_signal_feature", "_UI_SendSignalEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSendSignalEvent_Signal(), true, null, + null, null)); + } + + /** + * This returns SendSignalEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SendSignalEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SendSignalEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SendSignalEvent_type") : //$NON-NLS-1$ + getString("_UI_SendSignalEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java new file mode 100644 index 00000000..6193523c --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java @@ -0,0 +1,376 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SequenceNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.SequenceNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SequenceNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SequenceNodeItemProvider + extends StructuredActivityNodeItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SequenceNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addExecutableNodePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Executable Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExecutableNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SequenceNode_executableNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SequenceNode_executableNode_feature", "_UI_SequenceNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSequenceNode_ExecutableNode(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode()); + } + return childrenFeatures; + } + + /** + * This returns SequenceNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SequenceNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SequenceNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SequenceNode_type") : //$NON-NLS-1$ + getString("_UI_SequenceNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(SequenceNode.class)) { + case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createCreateLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createOpaqueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createAcceptEventAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createAcceptCallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createReplyAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createUnmarshallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE + .createExpansionRegion())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE + .getStructuredActivityNode_Node() + || childFeature == UMLPackage.eINSTANCE + .getSequenceNode_ExecutableNode(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java new file mode 100644 index 00000000..5f6e9d80 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SignalEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.SignalEvent; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SignalEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SignalEventItemProvider + extends MessageEventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SignalEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignalPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SignalEvent_signal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_SignalEvent_signal_feature", "_UI_SignalEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSignalEvent_Signal(), true, null, null, + null)); + } + + /** + * This returns SignalEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/SignalEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((SignalEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_SignalEvent_type") : //$NON-NLS-1$ + getString("_UI_SignalEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java new file mode 100644 index 00000000..cd3400f4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java @@ -0,0 +1,210 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SignalItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Signal; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Signal} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SignalItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SignalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedAttributePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Signal_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Signal_ownedAttribute_feature", "_UI_Signal_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSignal_OwnedAttribute(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getSignal_OwnedAttribute()); + } + return childrenFeatures; + } + + /** + * This returns Signal.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Signal"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Signal) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Signal_type") : //$NON-NLS-1$ + getString("_UI_Signal_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Signal.class)) { + case UMLPackage.SIGNAL__OWNED_ATTRIBUTE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java new file mode 100644 index 00000000..0264255f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java @@ -0,0 +1,254 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SlotItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Slot; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Slot} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SlotItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SlotItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwningInstancePropertyDescriptor(object); + addDefiningFeaturePropertyDescriptor(object); + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owning Instance feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningInstancePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Slot_owningInstance_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Slot_owningInstance_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSlot_OwningInstance(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Defining Feature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefiningFeaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Slot_definingFeature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Slot_definingFeature_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSlot_DefiningFeature(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Slot_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Slot_value_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSlot_Value(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getSlot_Value()); + } + return childrenFeatures; + } + + /** + * This returns Slot.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Slot"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_Slot_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Slot.class)) { + case UMLPackage.SLOT__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getSlot_Value(), UMLFactory.eINSTANCE.createTimeInterval())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java new file mode 100644 index 00000000..79735179 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StartClassifierBehaviorActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StartClassifierBehaviorAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StartClassifierBehaviorActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StartClassifierBehaviorActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addObjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StartClassifierBehaviorAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StartClassifierBehaviorAction_object_feature", "_UI_StartClassifierBehaviorAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStartClassifierBehaviorAction_Object(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStartClassifierBehaviorAction_Object()); + } + return childrenFeatures; + } + + /** + * This returns StartClassifierBehaviorAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/StartClassifierBehaviorAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StartClassifierBehaviorAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StartClassifierBehaviorAction_type") : //$NON-NLS-1$ + getString("_UI_StartClassifierBehaviorAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StartClassifierBehaviorAction.class)) { + case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java new file mode 100644 index 00000000..6a854664 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StateInvariantItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StateInvariant; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StateInvariant} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StateInvariantItemProvider + extends InteractionFragmentItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateInvariantItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addInvariantPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Invariant feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInvariantPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StateInvariant_invariant_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StateInvariant_invariant_feature", "_UI_StateInvariant_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStateInvariant_Invariant(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStateInvariant_Invariant()); + } + return childrenFeatures; + } + + /** + * This returns StateInvariant.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/StateInvariant"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StateInvariant) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StateInvariant_type") : //$NON-NLS-1$ + getString("_UI_StateInvariant_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StateInvariant.class)) { + case UMLPackage.STATE_INVARIANT__INVARIANT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateInvariant_Invariant(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateInvariant_Invariant(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateInvariant_Invariant(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateInvariant_Invariant(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateInvariant_Invariant(), UMLFactory.eINSTANCE + .createDurationConstraint())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java new file mode 100644 index 00000000..c6d2fb8a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java @@ -0,0 +1,745 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StateItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.State; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.State} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StateItemProvider + extends NamespaceItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsLeafPropertyDescriptor(object); + addRedefinedElementPropertyDescriptor(object); + addRedefinitionContextPropertyDescriptor(object); + addOutgoingPropertyDescriptor(object); + addIncomingPropertyDescriptor(object); + addContainerPropertyDescriptor(object); + addIsCompositePropertyDescriptor(object); + addIsOrthogonalPropertyDescriptor(object); + addIsSimplePropertyDescriptor(object); + addIsSubmachineStatePropertyDescriptor(object); + addSubmachinePropertyDescriptor(object); + addConnectionPropertyDescriptor(object); + addConnectionPointPropertyDescriptor(object); + addRedefinedStatePropertyDescriptor(object); + addStateInvariantPropertyDescriptor(object); + addEntryPropertyDescriptor(object); + addExitPropertyDescriptor(object); + addDoActivityPropertyDescriptor(object); + addDeferrableTriggerPropertyDescriptor(object); + addRegionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Leaf feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsLeafPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Redefined Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(), + false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefinition Context feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinitionContextPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getRedefinableElement_RedefinitionContext(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Outgoing feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutgoingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_outgoing_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_outgoing_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Outgoing(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Incoming feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIncomingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_incoming_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_incoming_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Incoming(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Container feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_container_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_container_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Container(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Composite feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsCompositePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_isComposite_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_isComposite_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_IsComposite(), false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Orthogonal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrthogonalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_isOrthogonal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_isOrthogonal_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_IsOrthogonal(), false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Simple feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsSimplePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_isSimple_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_isSimple_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_IsSimple(), false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Submachine State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsSubmachineStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_isSubmachineState_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_isSubmachineState_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_IsSubmachineState(), false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Submachine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubmachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_submachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_submachine_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_Submachine(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Connection feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConnectionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_connection_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_connection_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_Connection(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Connection Point feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConnectionPointPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_connectionPoint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_connectionPoint_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_ConnectionPoint(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Redefined State feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedStatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_redefinedState_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_redefinedState_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_RedefinedState(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the State Invariant feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStateInvariantPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_stateInvariant_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_stateInvariant_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_StateInvariant(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Entry feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEntryPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_entry_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_entry_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_Entry(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Exit feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExitPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_exit_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_exit_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_Exit(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Do Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDoActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_doActivity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_doActivity_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_DoActivity(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Deferrable Trigger feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDeferrableTriggerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_deferrableTrigger_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_deferrableTrigger_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_DeferrableTrigger(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Region feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRegionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_State_region_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_State_region_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getState_Region(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getState_Connection()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getState_ConnectionPoint()); + childrenFeatures + .add(UMLPackage.eINSTANCE.getState_StateInvariant()); + childrenFeatures.add(UMLPackage.eINSTANCE.getState_Entry()); + childrenFeatures.add(UMLPackage.eINSTANCE.getState_Exit()); + childrenFeatures.add(UMLPackage.eINSTANCE.getState_DoActivity()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getState_DeferrableTrigger()); + childrenFeatures.add(UMLPackage.eINSTANCE.getState_Region()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns State.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/State"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((State) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_State_type") : //$NON-NLS-1$ + getString("_UI_State_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(State.class)) { + case UMLPackage.STATE__IS_LEAF : + case UMLPackage.STATE__IS_COMPOSITE : + case UMLPackage.STATE__IS_ORTHOGONAL : + case UMLPackage.STATE__IS_SIMPLE : + case UMLPackage.STATE__IS_SUBMACHINE_STATE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.STATE__CONNECTION : + case UMLPackage.STATE__CONNECTION_POINT : + case UMLPackage.STATE__STATE_INVARIANT : + case UMLPackage.STATE__ENTRY : + case UMLPackage.STATE__EXIT : + case UMLPackage.STATE__DO_ACTIVITY : + case UMLPackage.STATE__DEFERRABLE_TRIGGER : + case UMLPackage.STATE__REGION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Connection(), UMLFactory.eINSTANCE + .createConnectionPointReference())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_ConnectionPoint(), UMLFactory.eINSTANCE + .createPseudostate())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getState_StateInvariant(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_StateInvariant(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_StateInvariant(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_StateInvariant(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_StateInvariant(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Entry(), UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createStateMachine())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getState_Exit(), + UMLFactory.eINSTANCE.createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Exit(), UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE.createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_DoActivity(), UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getState_DeferrableTrigger(), UMLFactory.eINSTANCE + .createTrigger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getState_Region(), UMLFactory.eINSTANCE.createRegion())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamespace_OwnedRule() + || childFeature == UMLPackage.eINSTANCE.getState_StateInvariant() + || childFeature == UMLPackage.eINSTANCE.getState_Entry() + || childFeature == UMLPackage.eINSTANCE.getState_Exit() + || childFeature == UMLPackage.eINSTANCE.getState_DoActivity(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java new file mode 100644 index 00000000..f18d25c1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java @@ -0,0 +1,268 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StateMachineItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StateMachine; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StateMachine} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StateMachineItemProvider + extends BehaviorItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateMachineItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addRegionPropertyDescriptor(object); + addConnectionPointPropertyDescriptor(object); + addExtendedStateMachinePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Region feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRegionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StateMachine_region_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StateMachine_region_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStateMachine_Region(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Connection Point feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConnectionPointPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StateMachine_connectionPoint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StateMachine_connectionPoint_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStateMachine_ConnectionPoint(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extended State Machine feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtendedStateMachinePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StateMachine_extendedStateMachine_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StateMachine_extendedStateMachine_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStateMachine_ExtendedStateMachine(), + true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getStateMachine_Region()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStateMachine_ConnectionPoint()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StateMachine.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/StateMachine"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StateMachine) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StateMachine_type") : //$NON-NLS-1$ + getString("_UI_StateMachine_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StateMachine.class)) { + case UMLPackage.STATE_MACHINE__REGION : + case UMLPackage.STATE_MACHINE__CONNECTION_POINT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateMachine_Region(), UMLFactory.eINSTANCE.createRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStateMachine_ConnectionPoint(), UMLFactory.eINSTANCE + .createPseudostate())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java new file mode 100644 index 00000000..146b93c8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StereotypeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Stereotype; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Stereotype} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StereotypeItemProvider + extends ClassItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StereotypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIconPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Icon feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIconPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Stereotype_icon_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Stereotype_icon_feature", "_UI_Stereotype_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStereotype_Icon(), true, null, null, + null)); + } + + /** + * This returns Stereotype.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Stereotype"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Stereotype) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Stereotype_type") : //$NON-NLS-1$ + getString("_UI_Stereotype_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedUseCase() + || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier() + || childFeature == UMLPackage.eINSTANCE + .getBehavioredClassifier_OwnedBehavior(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java new file mode 100644 index 00000000..1a81bbb8 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java @@ -0,0 +1,303 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StringExpressionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StringExpression; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StringExpression} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StringExpressionItemProvider + extends ExpressionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StringExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + addSubExpressionPropertyDescriptor(object); + addOwningExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Sub Expression feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StringExpression_subExpression_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StringExpression_subExpression_feature", "_UI_StringExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStringExpression_SubExpression(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owning Expression feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwningExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StringExpression_owningExpression_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StringExpression_owningExpression_feature", "_UI_StringExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStringExpression_OwningExpression(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStringExpression_SubExpression()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StringExpression.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/StringExpression"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StringExpression) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StringExpression_type") : //$NON-NLS-1$ + getString("_UI_StringExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StringExpression.class)) { + case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING : + case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE : + case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStringExpression_SubExpression(), UMLFactory.eINSTANCE + .createStringExpression())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getExpression_Operand() + || childFeature == UMLPackage.eINSTANCE + .getStringExpression_SubExpression(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java new file mode 100644 index 00000000..f771ce40 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StructuralFeatureAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuralFeatureAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StructuralFeatureActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StructuralFeatureActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addStructuralFeaturePropertyDescriptor(object); + addObjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Structural Feature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addStructuralFeaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuralFeatureAction_structuralFeature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuralFeatureAction_structuralFeature_feature", "_UI_StructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getStructuralFeatureAction_StructuralFeature(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuralFeatureAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuralFeatureAction_object_feature", "_UI_StructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuralFeatureAction_Object(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StructuralFeatureAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StructuralFeatureAction_type") : //$NON-NLS-1$ + getString("_UI_StructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StructuralFeatureAction.class)) { + case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java new file mode 100644 index 00000000..fb28f65f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java @@ -0,0 +1,475 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StructuralFeatureItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StructuralFeature; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuralFeature} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StructuralFeatureItemProvider + extends FeatureItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StructuralFeatureItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + addIsOrderedPropertyDescriptor(object); + addIsUniquePropertyDescriptor(object); + addUpperPropertyDescriptor(object); + addLowerPropertyDescriptor(object); + addUpperValuePropertyDescriptor(object); + addLowerValuePropertyDescriptor(object); + addIsReadOnlyPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Is Ordered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrderedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Unique feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUniquePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Upper feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Upper Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Is Read Only feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsReadOnlyPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuralFeature_isReadOnly_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuralFeature_isReadOnly_feature", "_UI_StructuralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuralFeature_IsReadOnly(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StructuralFeature) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StructuralFeature_type") : //$NON-NLS-1$ + getString("_UI_StructuralFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StructuralFeature.class)) { + case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED : + case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE : + case UMLPackage.STRUCTURAL_FEATURE__UPPER : + case UMLPackage.STRUCTURAL_FEATURE__LOWER : + case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE : + case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java new file mode 100644 index 00000000..4367cb57 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java @@ -0,0 +1,819 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StructuredActivityNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StructuredActivityNode; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuredActivityNode} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StructuredActivityNodeItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StructuredActivityNodeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addElementImportPropertyDescriptor(object); + addPackageImportPropertyDescriptor(object); + addOwnedRulePropertyDescriptor(object); + addMemberPropertyDescriptor(object); + addImportedMemberPropertyDescriptor(object); + addOwnedMemberPropertyDescriptor(object); + addSubgroupPropertyDescriptor(object); + addSuperGroupPropertyDescriptor(object); + addContainedNodePropertyDescriptor(object); + addInActivityPropertyDescriptor(object); + addContainedEdgePropertyDescriptor(object); + addVariablePropertyDescriptor(object); + addNodePropertyDescriptor(object); + addMustIsolatePropertyDescriptor(object); + addEdgePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Element Import feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addElementImportPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_elementImport_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_elementImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_ElementImport(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Package Import feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackageImportPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_packageImport_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_packageImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_PackageImport(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Rule feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedRulePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_ownedRule_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedRule_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_OwnedRule(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_member_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_member_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_Member(), false, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Imported Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportedMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_importedMember_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_importedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_ImportedMember(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Member feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedMemberPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Namespace_ownedMember_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getNamespace_OwnedMember(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Subgroup feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubgroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Super Group feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSuperGroupPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the In Activity feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addInActivityPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Contained Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainedEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Variable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredActivityNode_variable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_variable_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredActivityNode_Variable(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Node feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNodePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredActivityNode_node_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_node_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredActivityNode_Node(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Must Isolate feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMustIsolatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredActivityNode_mustIsolate_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_mustIsolate_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredActivityNode_MustIsolate(), + true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Edge feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEdgePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredActivityNode_edge_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_edge_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredActivityNode_Edge(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getNamespace_ElementImport()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getNamespace_PackageImport()); + childrenFeatures.add(UMLPackage.eINSTANCE.getNamespace_OwnedRule()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredActivityNode_Variable()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredActivityNode_Edge()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StructuredActivityNode.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/StructuredActivityNode"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StructuredActivityNode) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StructuredActivityNode_type") : //$NON-NLS-1$ + getString("_UI_StructuredActivityNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StructuredActivityNode.class)) { + case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT : + case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT : + case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE : + case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE : + case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE : + case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_ElementImport(), UMLFactory.eINSTANCE + .createElementImport())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_PackageImport(), UMLFactory.eINSTANCE + .createPackageImport())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_PackageImport(), UMLFactory.eINSTANCE + .createProfileApplication())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getNamespace_OwnedRule(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Variable(), UMLFactory.eINSTANCE + .createVariable())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createStructuredActivityNode())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createOutputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCreateObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createDestroyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createTestIdentityAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadSelfAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createClearStructuralFeatureAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createRemoveStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createAddStructuralFeatureValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCreateLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createDestroyLinkAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createClearAssociationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createBroadcastSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createSendObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createValueSpecificationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createTimeObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createDurationObservationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createOpaqueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createSendSignalAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCallOperationAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCallBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createClearVariableAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createAddVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createRemoveVariableValueAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createRaiseExceptionAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadExtentAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReclassifyObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadIsClassifiedObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createStartClassifierBehaviorAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadLinkObjectEndAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReadLinkObjectEndQualifierAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCreateLinkObjectAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createAcceptEventAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createAcceptCallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createReplyAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createUnmarshallAction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createInitialNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createActivityParameterNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createForkNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createFlowFinalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createCentralBufferNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createMergeNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createDecisionNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createActivityFinalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createJoinNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createDataStoreNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createSequenceNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createConditionalNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createLoopNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createExpansionNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE + .createExpansionRegion())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE + .createActivityEdge())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE + .createControlFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE + .createObjectFlow())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java new file mode 100644 index 00000000..438f2901 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java @@ -0,0 +1,288 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: StructuredClassifierItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.StructuredClassifier; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuredClassifier} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StructuredClassifierItemProvider + extends ClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StructuredClassifierItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOwnedAttributePropertyDescriptor(object); + addPartPropertyDescriptor(object); + addRolePropertyDescriptor(object); + addOwnedConnectorPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Owned Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedAttributePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_ownedAttribute_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedAttribute_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Part feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPartPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_part_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_part_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_Part(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Role feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRolePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_role_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_role_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_Role(), false, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Connector feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedConnectorPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StructuredClassifier_ownedConnector_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedConnector_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getStructuredClassifier_OwnedConnector(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedConnector()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((StructuredClassifier) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_StructuredClassifier_type") : //$NON-NLS-1$ + getString("_UI_StructuredClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StructuredClassifier.class)) { + case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE : + case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE + .createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getStructuredClassifier_OwnedConnector(), UMLFactory.eINSTANCE + .createConnector())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java new file mode 100644 index 00000000..f26f8e9d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java @@ -0,0 +1,246 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: SubstitutionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.Substitution; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Substitution} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class SubstitutionItemProvider + extends RealizationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SubstitutionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addContractPropertyDescriptor(object); + addSubstitutingClassifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Contract feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContractPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Substitution_contract_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Substitution_contract_feature", "_UI_Substitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSubstitution_Contract(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Substituting Classifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubstitutingClassifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Substitution_substitutingClassifier_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Substitution_substitutingClassifier_feature", "_UI_Substitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getSubstitution_SubstitutingClassifier(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns Substitution.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Substitution"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Substitution) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Substitution_type") : //$NON-NLS-1$ + getString("_UI_Substitution_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getSubstitution_Contract()}, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getSubstitution_SubstitutingClassifier()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getSubstitution_Contract()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getDependency_Client()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getSubstitution_SubstitutingClassifier()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE.getSubstitution_Contract()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Supplier()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getSubstitution_SubstitutingClassifier()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getDependency_Client()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java new file mode 100644 index 00000000..a3eb0b6d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java @@ -0,0 +1,218 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TemplateBindingItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.TemplateBinding; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateBinding} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TemplateBindingItemProvider + extends DirectedRelationshipItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemplateBindingItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignaturePropertyDescriptor(object); + addParameterSubstitutionPropertyDescriptor(object); + addBoundElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateBinding_signature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_signature_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateBinding_Signature(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Parameter Substitution feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterSubstitutionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateBinding_parameterSubstitution_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_parameterSubstitution_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateBinding_ParameterSubstitution(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Bound Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addBoundElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateBinding_boundElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_boundElement_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateBinding_BoundElement(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateBinding_ParameterSubstitution()); + } + return childrenFeatures; + } + + /** + * This returns TemplateBinding.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TemplateBinding"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_TemplateBinding_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TemplateBinding.class)) { + case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateBinding_ParameterSubstitution(), UMLFactory.eINSTANCE + .createTemplateParameterSubstitution())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java new file mode 100644 index 00000000..f877291e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java @@ -0,0 +1,963 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetSetCommand; +import org.eclipse.uml2.common.edit.command.SupersetSetCommand; + +import org.eclipse.uml2.uml.TemplateParameter; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateParameter} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TemplateParameterItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemplateParameterItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSignaturePropertyDescriptor(object); + addOwnedParameteredElementPropertyDescriptor(object); + addDefaultPropertyDescriptor(object); + addOwnedDefaultPropertyDescriptor(object); + addParameteredElementPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameter_signature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_signature_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameter_Signature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Parametered Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameteredElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameter_ownedParameteredElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_ownedParameteredElement_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Default feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addDefaultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameter_default_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_default_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameter_Default(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Owned Default feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedDefaultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameter_ownedDefault_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_ownedDefault_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameter_OwnedDefault(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Parametered Element feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameteredElementPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameter_parameteredElement_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_parameteredElement_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameter_ParameteredElement(), + true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns TemplateParameter.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TemplateParameter"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_TemplateParameter_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TemplateParameter.class)) { + case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT : + case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDependency())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createPackage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createProfile())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createGeneralizationSet())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createOperation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInstanceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createEnumerationLiteral())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createExecutionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createCreationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDestructionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createSendOperationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createSendSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createCallEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createChangeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createAnyReceiveEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createInformationFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createModel())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createComponentRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createComponent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createTimeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement(), + UMLFactory.eINSTANCE.createAssociationClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDependency())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createPackage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createProfile())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createGeneralizationSet())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createOperation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInstanceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createEnumerationLiteral())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createExecutionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createCreationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDestructionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createSendOperationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createSendSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createCallEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createChangeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createAnyReceiveEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createInformationFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createModel())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createComponentRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createComponent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createTimeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE + .createAssociationClass())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement() + || childFeature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createSetCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Object value) { + if (feature == UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameter_ParameteredElement()}, value); + } + if (feature == UMLPackage.eINSTANCE.getTemplateParameter_OwnedDefault()) { + return new SubsetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameter_Default()}, value); + } + if (feature == UMLPackage.eINSTANCE + .getTemplateParameter_ParameteredElement()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameter_OwnedParameteredElement()}, value); + } + if (feature == UMLPackage.eINSTANCE.getTemplateParameter_Default()) { + return new SupersetSetCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameter_OwnedDefault()}, value); + } + return super.createSetCommand(domain, owner, feature, value); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java new file mode 100644 index 00000000..84ab782f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java @@ -0,0 +1,625 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TemplateParameterSubstitutionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.TemplateParameterSubstitution; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateParameterSubstitution} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TemplateParameterSubstitutionItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemplateParameterSubstitutionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFormalPropertyDescriptor(object); + addActualPropertyDescriptor(object); + addOwnedActualPropertyDescriptor(object); + addTemplateBindingPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Formal feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFormalPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameterSubstitution_formal_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_formal_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameterSubstitution_Formal(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Actual feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActualPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameterSubstitution_actual_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_actual_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateParameterSubstitution_Actual(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Owned Actual feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedActualPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameterSubstitution_ownedActual_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_ownedActual_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateParameterSubstitution_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_templateBinding_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_TemplateBinding(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual()); + } + return childrenFeatures; + } + + /** + * This returns TemplateParameterSubstitution.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/TemplateParameterSubstitution"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_TemplateParameterSubstitution_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TemplateParameterSubstitution.class)) { + case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDependency())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createPackage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createProfile())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createClass())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createStereotype())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createGeneralizationSet())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createUseCase())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createAbstraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createSubstitution())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDeployment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createArtifact())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDeploymentSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createManifestation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createOperation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDataType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInterface())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createSignal())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createPort())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createAssociation())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createCollaboration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInterfaceRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createExtension())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createExtensionEnd())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInstanceSpecification())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createEnumeration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createEnumerationLiteral())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createPrimitiveType())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createActor())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createUsage())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createExecutionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createCreationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDestructionEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createSendOperationEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createSendSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createCallEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createChangeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createSignalEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createAnyReceiveEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createIntervalConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInformationItem())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createInformationFlow())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createModel())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createComponentRealization())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createComponent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createNode())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createDevice())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createExecutionEnvironment())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createCommunicationPath())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createTimeEvent())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual(), + UMLFactory.eINSTANCE.createAssociationClass())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_Actual()}, collection, + index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_Actual()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual()}, + collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_Actual()}, value, + collection); + } + if (feature == UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_Actual()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateParameterSubstitution_OwnedActual()}, value, + collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java new file mode 100644 index 00000000..f05ee956 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java @@ -0,0 +1,299 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TemplateSignatureItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.command.Command; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.domain.EditingDomain; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.common.edit.command.SubsetAddCommand; +import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand; +import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand; +import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand; + +import org.eclipse.uml2.uml.TemplateSignature; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateSignature} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TemplateSignatureItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemplateSignatureItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addParameterPropertyDescriptor(object); + addTemplatePropertyDescriptor(object); + addOwnedParameterPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_parameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_parameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_Parameter(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Template feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplatePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_template_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_template_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_Template(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Parameter feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedParameterPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateSignature_ownedParameter_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_ownedParameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateSignature_OwnedParameter(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()); + } + return childrenFeatures; + } + + /** + * This returns TemplateSignature.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TemplateSignature"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_TemplateSignature_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TemplateSignature.class)) { + case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createOperationTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createConnectableElementTemplateParameter())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE + .createClassifierTemplateParameter())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createAddCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection, int index) { + if (feature == UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()) { + return new SubsetAddCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_Parameter()}, collection, index); + } + return super + .createAddCommand(domain, owner, feature, collection, index); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createRemoveCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, Collection collection) { + if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) { + return new SupersetRemoveCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()}, collection); + } + return super.createRemoveCommand(domain, owner, feature, collection); + } + + /** + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection) + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Command createReplaceCommand(EditingDomain domain, EObject owner, + EStructuralFeature feature, EObject value, Collection collection) { + if (feature == UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()) { + return new SubsetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_Parameter()}, value, collection); + } + if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) { + return new SupersetReplaceCommand(domain, owner, feature, + new EStructuralFeature[]{UMLPackage.eINSTANCE + .getTemplateSignature_OwnedParameter()}, value, collection); + } + return super.createReplaceCommand(domain, owner, feature, value, + collection); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java new file mode 100644 index 00000000..ba569684 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java @@ -0,0 +1,214 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TemplateableElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.TemplateableElement; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateableElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TemplateableElementItemProvider + extends ElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemplateableElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTemplateBindingPropertyDescriptor(object); + addOwnedTemplateSignaturePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Template Binding feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTemplateBindingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Owned Template Signature feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + return getString("_UI_TemplateableElement_type"); //$NON-NLS-1$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TemplateableElement.class)) { + case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING : + case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE + .createTemplateBinding())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createTemplateSignature())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature(), + UMLFactory.eINSTANCE.createRedefinableTemplateSignature())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java new file mode 100644 index 00000000..bf8b44a0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java @@ -0,0 +1,294 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TestIdentityActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.TestIdentityAction; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TestIdentityAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TestIdentityActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TestIdentityActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFirstPropertyDescriptor(object); + addSecondPropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the First feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFirstPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TestIdentityAction_first_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_first_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTestIdentityAction_First(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Second feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSecondPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TestIdentityAction_second_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_second_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTestIdentityAction_Second(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TestIdentityAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_result_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTestIdentityAction_Result(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTestIdentityAction_First()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTestIdentityAction_Second()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getTestIdentityAction_Result()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns TestIdentityAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TestIdentityAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TestIdentityAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TestIdentityAction_type") : //$NON-NLS-1$ + getString("_UI_TestIdentityAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TestIdentityAction.class)) { + case UMLPackage.TEST_IDENTITY_ACTION__FIRST : + case UMLPackage.TEST_IDENTITY_ACTION__SECOND : + case UMLPackage.TEST_IDENTITY_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_First(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_First(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_First(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_Second(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_Second(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_Second(), UMLFactory.eINSTANCE + .createActionInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTestIdentityAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getTestIdentityAction_First() + || childFeature == UMLPackage.eINSTANCE + .getTestIdentityAction_Second(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java new file mode 100644 index 00000000..03963374 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TimeConstraintItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.TimeConstraint; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeConstraint} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TimeConstraintItemProvider + extends IntervalConstraintItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeConstraintItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns TimeConstraint.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TimeConstraint"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TimeConstraint) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TimeConstraint_type") : //$NON-NLS-1$ + getString("_UI_TimeConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getConstraint_Specification(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java new file mode 100644 index 00000000..e5d7208e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java @@ -0,0 +1,267 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TimeEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.TimeEvent; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeEvent} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TimeEventItemProvider + extends EventItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsRelativePropertyDescriptor(object); + addWhenPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Relative feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsRelativePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TimeEvent_isRelative_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TimeEvent_isRelative_feature", "_UI_TimeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTimeEvent_IsRelative(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the When feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addWhenPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TimeEvent_when_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TimeEvent_when_feature", "_UI_TimeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTimeEvent_When(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getTimeEvent_When()); + } + return childrenFeatures; + } + + /** + * This returns TimeEvent.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TimeEvent"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TimeEvent) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TimeEvent_type") : //$NON-NLS-1$ + getString("_UI_TimeEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TimeEvent.class)) { + case UMLPackage.TIME_EVENT__IS_RELATIVE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.TIME_EVENT__WHEN : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(), + UMLFactory.eINSTANCE.createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(), + UMLFactory.eINSTANCE.createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(), + UMLFactory.eINSTANCE.createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTimeEvent_When(), UMLFactory.eINSTANCE.createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getTimeEvent_When(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java new file mode 100644 index 00000000..24844ad3 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TimeExpressionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.TimeExpression; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeExpression} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TimeExpressionItemProvider + extends ValueSpecificationItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFirstTimePropertyDescriptor(object); + addEventPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the First Time feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFirstTimePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TimeExpression_firstTime_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TimeExpression_firstTime_feature", "_UI_TimeExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTimeExpression_FirstTime(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TimeExpression_event_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TimeExpression_event_feature", "_UI_TimeExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTimeExpression_Event(), true, null, + null, null)); + } + + /** + * This returns TimeExpression.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TimeExpression"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TimeExpression) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TimeExpression_type") : //$NON-NLS-1$ + getString("_UI_TimeExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TimeExpression.class)) { + case UMLPackage.TIME_EXPRESSION__FIRST_TIME : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java new file mode 100644 index 00000000..79d5cf8a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TimeIntervalItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.TimeInterval; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeInterval} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TimeIntervalItemProvider + extends IntervalItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeIntervalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns TimeInterval.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/TimeInterval"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TimeInterval) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TimeInterval_type") : //$NON-NLS-1$ + getString("_UI_TimeInterval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java new file mode 100644 index 00000000..e1862265 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TimeObservationActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.TimeObservationAction; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeObservationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TimeObservationActionItemProvider + extends WriteStructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeObservationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNowPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Now feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNowPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TimeObservationAction_now_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TimeObservationAction_now_feature", "_UI_TimeObservationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTimeObservationAction_Now(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns TimeObservationAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator() + .getImage("full/obj16/TimeObservationAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TimeObservationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TimeObservationAction_type") : //$NON-NLS-1$ + getString("_UI_TimeObservationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object() + || childFeature == UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java new file mode 100644 index 00000000..f0ad8fef --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java @@ -0,0 +1,388 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TransitionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.Transition; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Transition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TransitionItemProvider + extends RedefinableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TransitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addKindPropertyDescriptor(object); + addContainerPropertyDescriptor(object); + addTargetPropertyDescriptor(object); + addRedefinedTransitionPropertyDescriptor(object); + addGuardPropertyDescriptor(object); + addEffectPropertyDescriptor(object); + addTriggerPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Kind feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addKindPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_kind_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_kind_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Kind(), true, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Container feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_container_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_container_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Container(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_target_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_target_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Target(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Redefined Transition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRedefinedTransitionPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_redefinedTransition_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_redefinedTransition_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_RedefinedTransition(), true, + null, null, null)); + } + + /** + * This adds a property descriptor for the Guard feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGuardPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_guard_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_guard_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Guard(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Effect feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEffectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_effect_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_effect_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Effect(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Trigger feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTriggerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_trigger_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_trigger_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Trigger(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Transition_source_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Transition_source_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTransition_Source(), true, null, null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Guard()); + childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Effect()); + childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Trigger()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Transition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Transition"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Transition) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Transition_type") : //$NON-NLS-1$ + getString("_UI_Transition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Transition.class)) { + case UMLPackage.TRANSITION__KIND : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.TRANSITION__GUARD : + case UMLPackage.TRANSITION__EFFECT : + case UMLPackage.TRANSITION__TRIGGER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Guard(), UMLFactory.eINSTANCE.createConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Guard(), UMLFactory.eINSTANCE + .createInteractionConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Guard(), UMLFactory.eINSTANCE + .createIntervalConstraint())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Guard(), UMLFactory.eINSTANCE + .createTimeConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Guard(), UMLFactory.eINSTANCE + .createDurationConstraint())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE.createBehavior())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE + .createStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE + .createProtocolStateMachine())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE + .createOpaqueBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE + .createFunctionBehavior())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE.createInteraction())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Effect(), UMLFactory.eINSTANCE.createActivity())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getTransition_Trigger(), UMLFactory.eINSTANCE.createTrigger())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java new file mode 100644 index 00000000..01e7d8fe --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TriggerItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Trigger; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Trigger} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TriggerItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TriggerItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addEventPropertyDescriptor(object); + addPortPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Event feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addEventPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Trigger_event_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Trigger_event_feature", "_UI_Trigger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTrigger_Event(), true, null, null, null)); + } + + /** + * This adds a property descriptor for the Port feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPortPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Trigger_port_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Trigger_port_feature", "_UI_Trigger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTrigger_Port(), true, null, null, null)); + } + + /** + * This returns Trigger.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Trigger"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Trigger) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Trigger_type") : //$NON-NLS-1$ + getString("_UI_Trigger_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java new file mode 100644 index 00000000..6f0eb62f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TypeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Type; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Type} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TypeItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addPackagePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Package feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPackagePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Type_package_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Type_package_feature", "_UI_Type_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getType_Package(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Type) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Type_type") : //$NON-NLS-1$ + getString("_UI_Type_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java new file mode 100644 index 00000000..01793f2a --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: TypedElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.TypedElement; +import org.eclipse.uml2.uml.UMLPackage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TypedElement} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TypedElementItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TypedElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null, + null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((TypedElement) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_TypedElement_type") : //$NON-NLS-1$ + getString("_UI_TypedElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java new file mode 100644 index 00000000..19e278e6 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java @@ -0,0 +1,5000 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLItemProviderAdapterFactory.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.util.UMLAdapterFactory; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UMLItemProviderAdapterFactory + extends UMLAdapterFactory + implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection supportedTypes = new ArrayList(); + + /** + * This constructs an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Comment} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CommentItemProvider commentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Comment}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCommentAdapter() { + if (commentItemProvider == null) { + commentItemProvider = new CommentItemProvider(this); + } + + return commentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Dependency} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DependencyItemProvider dependencyItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Dependency}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDependencyAdapter() { + if (dependencyItemProvider == null) { + dependencyItemProvider = new DependencyItemProvider(this); + } + + return dependencyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateParameter} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TemplateParameterItemProvider templateParameterItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateParameter}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTemplateParameterAdapter() { + if (templateParameterItemProvider == null) { + templateParameterItemProvider = new TemplateParameterItemProvider( + this); + } + + return templateParameterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateSignature} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TemplateSignatureItemProvider templateSignatureItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateSignature}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTemplateSignatureAdapter() { + if (templateSignatureItemProvider == null) { + templateSignatureItemProvider = new TemplateSignatureItemProvider( + this); + } + + return templateSignatureItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateBinding} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TemplateBindingItemProvider templateBindingItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateBinding}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTemplateBindingAdapter() { + if (templateBindingItemProvider == null) { + templateBindingItemProvider = new TemplateBindingItemProvider(this); + } + + return templateBindingItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateParameterSubstitution} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TemplateParameterSubstitutionItemProvider templateParameterSubstitutionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateParameterSubstitution}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTemplateParameterSubstitutionAdapter() { + if (templateParameterSubstitutionItemProvider == null) { + templateParameterSubstitutionItemProvider = new TemplateParameterSubstitutionItemProvider( + this); + } + + return templateParameterSubstitutionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ElementImport} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ElementImportItemProvider elementImportItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ElementImport}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createElementImportAdapter() { + if (elementImportItemProvider == null) { + elementImportItemProvider = new ElementImportItemProvider(this); + } + + return elementImportItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PackageImport} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PackageImportItemProvider packageImportItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.PackageImport}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPackageImportAdapter() { + if (packageImportItemProvider == null) { + packageImportItemProvider = new PackageImportItemProvider(this); + } + + return packageImportItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Package} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PackageItemProvider packageItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Package}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPackageAdapter() { + if (packageItemProvider == null) { + packageItemProvider = new PackageItemProvider(this); + } + + return packageItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PackageMerge} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PackageMergeItemProvider packageMergeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.PackageMerge}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPackageMergeAdapter() { + if (packageMergeItemProvider == null) { + packageMergeItemProvider = new PackageMergeItemProvider(this); + } + + return packageMergeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProfileApplication} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProfileApplicationItemProvider profileApplicationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ProfileApplication}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createProfileApplicationAdapter() { + if (profileApplicationItemProvider == null) { + profileApplicationItemProvider = new ProfileApplicationItemProvider( + this); + } + + return profileApplicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Profile} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProfileItemProvider profileItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Profile}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createProfileAdapter() { + if (profileItemProvider == null) { + profileItemProvider = new ProfileItemProvider(this); + } + + return profileItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Stereotype} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StereotypeItemProvider stereotypeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Stereotype}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStereotypeAdapter() { + if (stereotypeItemProvider == null) { + stereotypeItemProvider = new StereotypeItemProvider(this); + } + + return stereotypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Class} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClassItemProvider classItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Class}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClassAdapter() { + if (classItemProvider == null) { + classItemProvider = new ClassItemProvider(this); + } + + return classItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Generalization} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneralizationItemProvider generalizationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Generalization}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createGeneralizationAdapter() { + if (generalizationItemProvider == null) { + generalizationItemProvider = new GeneralizationItemProvider(this); + } + + return generalizationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.GeneralizationSet} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneralizationSetItemProvider generalizationSetItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.GeneralizationSet}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createGeneralizationSetAdapter() { + if (generalizationSetItemProvider == null) { + generalizationSetItemProvider = new GeneralizationSetItemProvider( + this); + } + + return generalizationSetItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.UseCase} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UseCaseItemProvider useCaseItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.UseCase}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createUseCaseAdapter() { + if (useCaseItemProvider == null) { + useCaseItemProvider = new UseCaseItemProvider(this); + } + + return useCaseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Include} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IncludeItemProvider includeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Include}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createIncludeAdapter() { + if (includeItemProvider == null) { + includeItemProvider = new IncludeItemProvider(this); + } + + return includeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Extend} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExtendItemProvider extendItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Extend}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExtendAdapter() { + if (extendItemProvider == null) { + extendItemProvider = new ExtendItemProvider(this); + } + + return extendItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Constraint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConstraintItemProvider constraintItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Constraint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConstraintAdapter() { + if (constraintItemProvider == null) { + constraintItemProvider = new ConstraintItemProvider(this); + } + + return constraintItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExtensionPoint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExtensionPointItemProvider extensionPointItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExtensionPoint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExtensionPointAdapter() { + if (extensionPointItemProvider == null) { + extensionPointItemProvider = new ExtensionPointItemProvider(this); + } + + return extensionPointItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Substitution} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SubstitutionItemProvider substitutionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Substitution}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSubstitutionAdapter() { + if (substitutionItemProvider == null) { + substitutionItemProvider = new SubstitutionItemProvider(this); + } + + return substitutionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Realization} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RealizationItemProvider realizationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Realization}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRealizationAdapter() { + if (realizationItemProvider == null) { + realizationItemProvider = new RealizationItemProvider(this); + } + + return realizationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Abstraction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractionItemProvider abstractionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Abstraction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAbstractionAdapter() { + if (abstractionItemProvider == null) { + abstractionItemProvider = new AbstractionItemProvider(this); + } + + return abstractionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueExpression} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OpaqueExpressionItemProvider opaqueExpressionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueExpression}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOpaqueExpressionAdapter() { + if (opaqueExpressionItemProvider == null) { + opaqueExpressionItemProvider = new OpaqueExpressionItemProvider( + this); + } + + return opaqueExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Parameter} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParameterItemProvider parameterItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Parameter}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createParameterAdapter() { + if (parameterItemProvider == null) { + parameterItemProvider = new ParameterItemProvider(this); + } + + return parameterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectorEnd} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConnectorEndItemProvider connectorEndItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectorEnd}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConnectorEndAdapter() { + if (connectorEndItemProvider == null) { + connectorEndItemProvider = new ConnectorEndItemProvider(this); + } + + return connectorEndItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Property} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PropertyItemProvider propertyItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Property}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPropertyAdapter() { + if (propertyItemProvider == null) { + propertyItemProvider = new PropertyItemProvider(this); + } + + return propertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Deployment} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DeploymentItemProvider deploymentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Deployment}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDeploymentAdapter() { + if (deploymentItemProvider == null) { + deploymentItemProvider = new DeploymentItemProvider(this); + } + + return deploymentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DeploymentSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DeploymentSpecificationItemProvider deploymentSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DeploymentSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDeploymentSpecificationAdapter() { + if (deploymentSpecificationItemProvider == null) { + deploymentSpecificationItemProvider = new DeploymentSpecificationItemProvider( + this); + } + + return deploymentSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Artifact} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ArtifactItemProvider artifactItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Artifact}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createArtifactAdapter() { + if (artifactItemProvider == null) { + artifactItemProvider = new ArtifactItemProvider(this); + } + + return artifactItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Manifestation} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ManifestationItemProvider manifestationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Manifestation}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createManifestationAdapter() { + if (manifestationItemProvider == null) { + manifestationItemProvider = new ManifestationItemProvider(this); + } + + return manifestationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Operation} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OperationItemProvider operationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Operation}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOperationAdapter() { + if (operationItemProvider == null) { + operationItemProvider = new OperationItemProvider(this); + } + + return operationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BehavioralFeature} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BehavioralFeatureItemProvider behavioralFeatureItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.BehavioralFeature}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createBehavioralFeatureAdapter() { + if (behavioralFeatureItemProvider == null) { + behavioralFeatureItemProvider = new BehavioralFeatureItemProvider( + this); + } + + return behavioralFeatureItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Behavior} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BehaviorItemProvider behaviorItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Behavior}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createBehaviorAdapter() { + if (behaviorItemProvider == null) { + behaviorItemProvider = new BehaviorItemProvider(this); + } + + return behaviorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ParameterSet} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParameterSetItemProvider parameterSetItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ParameterSet}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createParameterSetAdapter() { + if (parameterSetItemProvider == null) { + parameterSetItemProvider = new ParameterSetItemProvider(this); + } + + return parameterSetItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DataType} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DataTypeItemProvider dataTypeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DataType}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDataTypeAdapter() { + if (dataTypeItemProvider == null) { + dataTypeItemProvider = new DataTypeItemProvider(this); + } + + return dataTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interface} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InterfaceItemProvider interfaceItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Interface}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInterfaceAdapter() { + if (interfaceItemProvider == null) { + interfaceItemProvider = new InterfaceItemProvider(this); + } + + return interfaceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Reception} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReceptionItemProvider receptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Reception}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReceptionAdapter() { + if (receptionItemProvider == null) { + receptionItemProvider = new ReceptionItemProvider(this); + } + + return receptionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Signal} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SignalItemProvider signalItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Signal}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSignalAdapter() { + if (signalItemProvider == null) { + signalItemProvider = new SignalItemProvider(this); + } + + return signalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolStateMachine} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProtocolStateMachineItemProvider protocolStateMachineItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolStateMachine}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createProtocolStateMachineAdapter() { + if (protocolStateMachineItemProvider == null) { + protocolStateMachineItemProvider = new ProtocolStateMachineItemProvider( + this); + } + + return protocolStateMachineItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StateMachine} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateMachineItemProvider stateMachineItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.StateMachine}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStateMachineAdapter() { + if (stateMachineItemProvider == null) { + stateMachineItemProvider = new StateMachineItemProvider(this); + } + + return stateMachineItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Region} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RegionItemProvider regionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Region}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRegionAdapter() { + if (regionItemProvider == null) { + regionItemProvider = new RegionItemProvider(this); + } + + return regionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Transition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionItemProvider transitionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Transition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this); + } + + return transitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Trigger} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TriggerItemProvider triggerItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Trigger}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTriggerAdapter() { + if (triggerItemProvider == null) { + triggerItemProvider = new TriggerItemProvider(this); + } + + return triggerItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Port} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PortItemProvider portItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Port}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPortAdapter() { + if (portItemProvider == null) { + portItemProvider = new PortItemProvider(this); + } + + return portItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.State} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateItemProvider stateItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.State}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStateAdapter() { + if (stateItemProvider == null) { + stateItemProvider = new StateItemProvider(this); + } + + return stateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectionPointReference} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConnectionPointReferenceItemProvider connectionPointReferenceItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectionPointReference}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConnectionPointReferenceAdapter() { + if (connectionPointReferenceItemProvider == null) { + connectionPointReferenceItemProvider = new ConnectionPointReferenceItemProvider( + this); + } + + return connectionPointReferenceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Pseudostate} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PseudostateItemProvider pseudostateItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Pseudostate}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPseudostateAdapter() { + if (pseudostateItemProvider == null) { + pseudostateItemProvider = new PseudostateItemProvider(this); + } + + return pseudostateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolConformance} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProtocolConformanceItemProvider protocolConformanceItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolConformance}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createProtocolConformanceAdapter() { + if (protocolConformanceItemProvider == null) { + protocolConformanceItemProvider = new ProtocolConformanceItemProvider( + this); + } + + return protocolConformanceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OperationTemplateParameter} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OperationTemplateParameterItemProvider operationTemplateParameterItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.OperationTemplateParameter}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOperationTemplateParameterAdapter() { + if (operationTemplateParameterItemProvider == null) { + operationTemplateParameterItemProvider = new OperationTemplateParameterItemProvider( + this); + } + + return operationTemplateParameterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Association} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AssociationItemProvider associationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Association}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAssociationAdapter() { + if (associationItemProvider == null) { + associationItemProvider = new AssociationItemProvider(this); + } + + return associationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConnectableElementTemplateParameterItemProvider connectableElementTemplateParameterItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConnectableElementTemplateParameterAdapter() { + if (connectableElementTemplateParameterItemProvider == null) { + connectableElementTemplateParameterItemProvider = new ConnectableElementTemplateParameterItemProvider( + this); + } + + return connectableElementTemplateParameterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CollaborationUse} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CollaborationUseItemProvider collaborationUseItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CollaborationUse}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCollaborationUseAdapter() { + if (collaborationUseItemProvider == null) { + collaborationUseItemProvider = new CollaborationUseItemProvider( + this); + } + + return collaborationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Collaboration} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CollaborationItemProvider collaborationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Collaboration}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCollaborationAdapter() { + if (collaborationItemProvider == null) { + collaborationItemProvider = new CollaborationItemProvider(this); + } + + return collaborationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Connector} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConnectorItemProvider connectorItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Connector}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConnectorAdapter() { + if (connectorItemProvider == null) { + connectorItemProvider = new ConnectorItemProvider(this); + } + + return connectorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RedefinableTemplateSignature} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RedefinableTemplateSignatureItemProvider redefinableTemplateSignatureItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.RedefinableTemplateSignature}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRedefinableTemplateSignatureAdapter() { + if (redefinableTemplateSignatureItemProvider == null) { + redefinableTemplateSignatureItemProvider = new RedefinableTemplateSignatureItemProvider( + this); + } + + return redefinableTemplateSignatureItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClassifierTemplateParameter} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClassifierTemplateParameterItemProvider classifierTemplateParameterItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ClassifierTemplateParameter}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClassifierTemplateParameterAdapter() { + if (classifierTemplateParameterItemProvider == null) { + classifierTemplateParameterItemProvider = new ClassifierTemplateParameterItemProvider( + this); + } + + return classifierTemplateParameterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InterfaceRealization} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InterfaceRealizationItemProvider interfaceRealizationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InterfaceRealization}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInterfaceRealizationAdapter() { + if (interfaceRealizationItemProvider == null) { + interfaceRealizationItemProvider = new InterfaceRealizationItemProvider( + this); + } + + return interfaceRealizationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Extension} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExtensionItemProvider extensionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Extension}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExtensionAdapter() { + if (extensionItemProvider == null) { + extensionItemProvider = new ExtensionItemProvider(this); + } + + return extensionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExtensionEnd} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExtensionEndItemProvider extensionEndItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExtensionEnd}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExtensionEndAdapter() { + if (extensionEndItemProvider == null) { + extensionEndItemProvider = new ExtensionEndItemProvider(this); + } + + return extensionEndItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StringExpression} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StringExpressionItemProvider stringExpressionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.StringExpression}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStringExpressionAdapter() { + if (stringExpressionItemProvider == null) { + stringExpressionItemProvider = new StringExpressionItemProvider( + this); + } + + return stringExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Expression} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExpressionItemProvider expressionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Expression}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExpressionAdapter() { + if (expressionItemProvider == null) { + expressionItemProvider = new ExpressionItemProvider(this); + } + + return expressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralInteger} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LiteralIntegerItemProvider literalIntegerItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralInteger}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLiteralIntegerAdapter() { + if (literalIntegerItemProvider == null) { + literalIntegerItemProvider = new LiteralIntegerItemProvider(this); + } + + return literalIntegerItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralString} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LiteralStringItemProvider literalStringItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralString}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLiteralStringAdapter() { + if (literalStringItemProvider == null) { + literalStringItemProvider = new LiteralStringItemProvider(this); + } + + return literalStringItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralBoolean} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LiteralBooleanItemProvider literalBooleanItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralBoolean}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLiteralBooleanAdapter() { + if (literalBooleanItemProvider == null) { + literalBooleanItemProvider = new LiteralBooleanItemProvider(this); + } + + return literalBooleanItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralNull} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LiteralNullItemProvider literalNullItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralNull}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLiteralNullAdapter() { + if (literalNullItemProvider == null) { + literalNullItemProvider = new LiteralNullItemProvider(this); + } + + return literalNullItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Slot} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SlotItemProvider slotItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Slot}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSlotAdapter() { + if (slotItemProvider == null) { + slotItemProvider = new SlotItemProvider(this); + } + + return slotItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InstanceSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InstanceSpecificationItemProvider instanceSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InstanceSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInstanceSpecificationAdapter() { + if (instanceSpecificationItemProvider == null) { + instanceSpecificationItemProvider = new InstanceSpecificationItemProvider( + this); + } + + return instanceSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Enumeration} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EnumerationItemProvider enumerationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Enumeration}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createEnumerationAdapter() { + if (enumerationItemProvider == null) { + enumerationItemProvider = new EnumerationItemProvider(this); + } + + return enumerationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.EnumerationLiteral} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EnumerationLiteralItemProvider enumerationLiteralItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.EnumerationLiteral}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createEnumerationLiteralAdapter() { + if (enumerationLiteralItemProvider == null) { + enumerationLiteralItemProvider = new EnumerationLiteralItemProvider( + this); + } + + return enumerationLiteralItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PrimitiveType} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PrimitiveTypeItemProvider primitiveTypeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.PrimitiveType}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPrimitiveTypeAdapter() { + if (primitiveTypeItemProvider == null) { + primitiveTypeItemProvider = new PrimitiveTypeItemProvider(this); + } + + return primitiveTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InstanceValue} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InstanceValueItemProvider instanceValueItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InstanceValue}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInstanceValueAdapter() { + if (instanceValueItemProvider == null) { + instanceValueItemProvider = new InstanceValueItemProvider(this); + } + + return instanceValueItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LiteralUnlimitedNaturalItemProvider literalUnlimitedNaturalItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLiteralUnlimitedNaturalAdapter() { + if (literalUnlimitedNaturalItemProvider == null) { + literalUnlimitedNaturalItemProvider = new LiteralUnlimitedNaturalItemProvider( + this); + } + + return literalUnlimitedNaturalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueBehavior} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OpaqueBehaviorItemProvider opaqueBehaviorItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueBehavior}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOpaqueBehaviorAdapter() { + if (opaqueBehaviorItemProvider == null) { + opaqueBehaviorItemProvider = new OpaqueBehaviorItemProvider(this); + } + + return opaqueBehaviorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FunctionBehavior} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionBehaviorItemProvider functionBehaviorItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.FunctionBehavior}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createFunctionBehaviorAdapter() { + if (functionBehaviorItemProvider == null) { + functionBehaviorItemProvider = new FunctionBehaviorItemProvider( + this); + } + + return functionBehaviorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Actor} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActorItemProvider actorItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Actor}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActorAdapter() { + if (actorItemProvider == null) { + actorItemProvider = new ActorItemProvider(this); + } + + return actorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Usage} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UsageItemProvider usageItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Usage}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createUsageAdapter() { + if (usageItemProvider == null) { + usageItemProvider = new UsageItemProvider(this); + } + + return usageItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Message} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MessageItemProvider messageItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Message}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createMessageAdapter() { + if (messageItemProvider == null) { + messageItemProvider = new MessageItemProvider(this); + } + + return messageItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interaction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InteractionItemProvider interactionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Interaction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInteractionAdapter() { + if (interactionItemProvider == null) { + interactionItemProvider = new InteractionItemProvider(this); + } + + return interactionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Lifeline} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LifelineItemProvider lifelineItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Lifeline}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLifelineAdapter() { + if (lifelineItemProvider == null) { + lifelineItemProvider = new LifelineItemProvider(this); + } + + return lifelineItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PartDecomposition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PartDecompositionItemProvider partDecompositionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.PartDecomposition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPartDecompositionAdapter() { + if (partDecompositionItemProvider == null) { + partDecompositionItemProvider = new PartDecompositionItemProvider( + this); + } + + return partDecompositionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionUse} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InteractionUseItemProvider interactionUseItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionUse}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInteractionUseAdapter() { + if (interactionUseItemProvider == null) { + interactionUseItemProvider = new InteractionUseItemProvider(this); + } + + return interactionUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Gate} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GateItemProvider gateItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Gate}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createGateAdapter() { + if (gateItemProvider == null) { + gateItemProvider = new GateItemProvider(this); + } + + return gateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Action} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActionItemProvider actionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Action}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActionAdapter() { + if (actionItemProvider == null) { + actionItemProvider = new ActionItemProvider(this); + } + + return actionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityEdge} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActivityEdgeItemProvider activityEdgeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityEdge}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActivityEdgeAdapter() { + if (activityEdgeItemProvider == null) { + activityEdgeItemProvider = new ActivityEdgeItemProvider(this); + } + + return activityEdgeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Activity} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActivityItemProvider activityItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Activity}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActivityAdapter() { + if (activityItemProvider == null) { + activityItemProvider = new ActivityItemProvider(this); + } + + return activityItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityPartition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActivityPartitionItemProvider activityPartitionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityPartition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActivityPartitionAdapter() { + if (activityPartitionItemProvider == null) { + activityPartitionItemProvider = new ActivityPartitionItemProvider( + this); + } + + return activityPartitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StructuredActivityNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StructuredActivityNodeItemProvider structuredActivityNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.StructuredActivityNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStructuredActivityNodeAdapter() { + if (structuredActivityNodeItemProvider == null) { + structuredActivityNodeItemProvider = new StructuredActivityNodeItemProvider( + this); + } + + return structuredActivityNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Variable} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected VariableItemProvider variableItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Variable}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createVariableAdapter() { + if (variableItemProvider == null) { + variableItemProvider = new VariableItemProvider(this); + } + + return variableItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InterruptibleActivityRegion} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InterruptibleActivityRegionItemProvider interruptibleActivityRegionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InterruptibleActivityRegion}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInterruptibleActivityRegionAdapter() { + if (interruptibleActivityRegionItemProvider == null) { + interruptibleActivityRegionItemProvider = new InterruptibleActivityRegionItemProvider( + this); + } + + return interruptibleActivityRegionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExceptionHandler} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExceptionHandlerItemProvider exceptionHandlerItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExceptionHandler}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExceptionHandlerAdapter() { + if (exceptionHandlerItemProvider == null) { + exceptionHandlerItemProvider = new ExceptionHandlerItemProvider( + this); + } + + return exceptionHandlerItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OutputPin} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OutputPinItemProvider outputPinItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.OutputPin}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOutputPinAdapter() { + if (outputPinItemProvider == null) { + outputPinItemProvider = new OutputPinItemProvider(this); + } + + return outputPinItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Pin} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PinItemProvider pinItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Pin}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createPinAdapter() { + if (pinItemProvider == null) { + pinItemProvider = new PinItemProvider(this); + } + + return pinItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InputPin} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InputPinItemProvider inputPinItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InputPin}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInputPinAdapter() { + if (inputPinItemProvider == null) { + inputPinItemProvider = new InputPinItemProvider(this); + } + + return inputPinItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.GeneralOrdering} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneralOrderingItemProvider generalOrderingItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.GeneralOrdering}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createGeneralOrderingAdapter() { + if (generalOrderingItemProvider == null) { + generalOrderingItemProvider = new GeneralOrderingItemProvider(this); + } + + return generalOrderingItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionOperand} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InteractionOperandItemProvider interactionOperandItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionOperand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInteractionOperandAdapter() { + if (interactionOperandItemProvider == null) { + interactionOperandItemProvider = new InteractionOperandItemProvider( + this); + } + + return interactionOperandItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionConstraint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InteractionConstraintItemProvider interactionConstraintItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionConstraint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInteractionConstraintAdapter() { + if (interactionConstraintItemProvider == null) { + interactionConstraintItemProvider = new InteractionConstraintItemProvider( + this); + } + + return interactionConstraintItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExecutionOccurrenceSpecificationItemProvider executionOccurrenceSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExecutionOccurrenceSpecificationAdapter() { + if (executionOccurrenceSpecificationItemProvider == null) { + executionOccurrenceSpecificationItemProvider = new ExecutionOccurrenceSpecificationItemProvider( + this); + } + + return executionOccurrenceSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExecutionEventItemProvider executionEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExecutionEventAdapter() { + if (executionEventItemProvider == null) { + executionEventItemProvider = new ExecutionEventItemProvider(this); + } + + return executionEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StateInvariant} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateInvariantItemProvider stateInvariantItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.StateInvariant}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStateInvariantAdapter() { + if (stateInvariantItemProvider == null) { + stateInvariantItemProvider = new StateInvariantItemProvider(this); + } + + return stateInvariantItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActionExecutionSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActionExecutionSpecificationItemProvider actionExecutionSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActionExecutionSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActionExecutionSpecificationAdapter() { + if (actionExecutionSpecificationItemProvider == null) { + actionExecutionSpecificationItemProvider = new ActionExecutionSpecificationItemProvider( + this); + } + + return actionExecutionSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BehaviorExecutionSpecificationItemProvider behaviorExecutionSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createBehaviorExecutionSpecificationAdapter() { + if (behaviorExecutionSpecificationItemProvider == null) { + behaviorExecutionSpecificationItemProvider = new BehaviorExecutionSpecificationItemProvider( + this); + } + + return behaviorExecutionSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreationEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CreationEventItemProvider creationEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CreationEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCreationEventAdapter() { + if (creationEventItemProvider == null) { + creationEventItemProvider = new CreationEventItemProvider(this); + } + + return creationEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestructionEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DestructionEventItemProvider destructionEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DestructionEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDestructionEventAdapter() { + if (destructionEventItemProvider == null) { + destructionEventItemProvider = new DestructionEventItemProvider( + this); + } + + return destructionEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendOperationEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SendOperationEventItemProvider sendOperationEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SendOperationEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSendOperationEventAdapter() { + if (sendOperationEventItemProvider == null) { + sendOperationEventItemProvider = new SendOperationEventItemProvider( + this); + } + + return sendOperationEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendSignalEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SendSignalEventItemProvider sendSignalEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SendSignalEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSendSignalEventAdapter() { + if (sendSignalEventItemProvider == null) { + sendSignalEventItemProvider = new SendSignalEventItemProvider(this); + } + + return sendSignalEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MessageOccurrenceSpecificationItemProvider messageOccurrenceSpecificationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createMessageOccurrenceSpecificationAdapter() { + if (messageOccurrenceSpecificationItemProvider == null) { + messageOccurrenceSpecificationItemProvider = new MessageOccurrenceSpecificationItemProvider( + this); + } + + return messageOccurrenceSpecificationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CombinedFragment} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CombinedFragmentItemProvider combinedFragmentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CombinedFragment}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCombinedFragmentAdapter() { + if (combinedFragmentItemProvider == null) { + combinedFragmentItemProvider = new CombinedFragmentItemProvider( + this); + } + + return combinedFragmentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Continuation} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ContinuationItemProvider continuationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Continuation}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createContinuationAdapter() { + if (continuationItemProvider == null) { + continuationItemProvider = new ContinuationItemProvider(this); + } + + return continuationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConsiderIgnoreFragmentItemProvider considerIgnoreFragmentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConsiderIgnoreFragmentAdapter() { + if (considerIgnoreFragmentItemProvider == null) { + considerIgnoreFragmentItemProvider = new ConsiderIgnoreFragmentItemProvider( + this); + } + + return considerIgnoreFragmentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CallEventItemProvider callEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CallEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCallEventAdapter() { + if (callEventItemProvider == null) { + callEventItemProvider = new CallEventItemProvider(this); + } + + return callEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ChangeEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ChangeEventItemProvider changeEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ChangeEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createChangeEventAdapter() { + if (changeEventItemProvider == null) { + changeEventItemProvider = new ChangeEventItemProvider(this); + } + + return changeEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SignalEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SignalEventItemProvider signalEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SignalEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSignalEventAdapter() { + if (signalEventItemProvider == null) { + signalEventItemProvider = new SignalEventItemProvider(this); + } + + return signalEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AnyReceiveEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AnyReceiveEventItemProvider anyReceiveEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AnyReceiveEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAnyReceiveEventAdapter() { + if (anyReceiveEventItemProvider == null) { + anyReceiveEventItemProvider = new AnyReceiveEventItemProvider(this); + } + + return anyReceiveEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CreateObjectActionItemProvider createObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCreateObjectActionAdapter() { + if (createObjectActionItemProvider == null) { + createObjectActionItemProvider = new CreateObjectActionItemProvider( + this); + } + + return createObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestroyObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DestroyObjectActionItemProvider destroyObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DestroyObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDestroyObjectActionAdapter() { + if (destroyObjectActionItemProvider == null) { + destroyObjectActionItemProvider = new DestroyObjectActionItemProvider( + this); + } + + return destroyObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TestIdentityAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TestIdentityActionItemProvider testIdentityActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TestIdentityAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTestIdentityActionAdapter() { + if (testIdentityActionItemProvider == null) { + testIdentityActionItemProvider = new TestIdentityActionItemProvider( + this); + } + + return testIdentityActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadSelfAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadSelfActionItemProvider readSelfActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadSelfAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadSelfActionAdapter() { + if (readSelfActionItemProvider == null) { + readSelfActionItemProvider = new ReadSelfActionItemProvider(this); + } + + return readSelfActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadStructuralFeatureActionItemProvider readStructuralFeatureActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadStructuralFeatureActionAdapter() { + if (readStructuralFeatureActionItemProvider == null) { + readStructuralFeatureActionItemProvider = new ReadStructuralFeatureActionItemProvider( + this); + } + + return readStructuralFeatureActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClearStructuralFeatureActionItemProvider clearStructuralFeatureActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClearStructuralFeatureActionAdapter() { + if (clearStructuralFeatureActionItemProvider == null) { + clearStructuralFeatureActionItemProvider = new ClearStructuralFeatureActionItemProvider( + this); + } + + return clearStructuralFeatureActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RemoveStructuralFeatureValueActionItemProvider removeStructuralFeatureValueActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRemoveStructuralFeatureValueActionAdapter() { + if (removeStructuralFeatureValueActionItemProvider == null) { + removeStructuralFeatureValueActionItemProvider = new RemoveStructuralFeatureValueActionItemProvider( + this); + } + + return removeStructuralFeatureValueActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AddStructuralFeatureValueActionItemProvider addStructuralFeatureValueActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAddStructuralFeatureValueActionAdapter() { + if (addStructuralFeatureValueActionItemProvider == null) { + addStructuralFeatureValueActionItemProvider = new AddStructuralFeatureValueActionItemProvider( + this); + } + + return addStructuralFeatureValueActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndData} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LinkEndDataItemProvider linkEndDataItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndData}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLinkEndDataAdapter() { + if (linkEndDataItemProvider == null) { + linkEndDataItemProvider = new LinkEndDataItemProvider(this); + } + + return linkEndDataItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.QualifierValue} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected QualifierValueItemProvider qualifierValueItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.QualifierValue}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createQualifierValueAdapter() { + if (qualifierValueItemProvider == null) { + qualifierValueItemProvider = new QualifierValueItemProvider(this); + } + + return qualifierValueItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadLinkActionItemProvider readLinkActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadLinkActionAdapter() { + if (readLinkActionItemProvider == null) { + readLinkActionItemProvider = new ReadLinkActionItemProvider(this); + } + + return readLinkActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndCreationData} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LinkEndCreationDataItemProvider linkEndCreationDataItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndCreationData}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLinkEndCreationDataAdapter() { + if (linkEndCreationDataItemProvider == null) { + linkEndCreationDataItemProvider = new LinkEndCreationDataItemProvider( + this); + } + + return linkEndCreationDataItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateLinkAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CreateLinkActionItemProvider createLinkActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateLinkAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCreateLinkActionAdapter() { + if (createLinkActionItemProvider == null) { + createLinkActionItemProvider = new CreateLinkActionItemProvider( + this); + } + + return createLinkActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestroyLinkAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DestroyLinkActionItemProvider destroyLinkActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DestroyLinkAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDestroyLinkActionAdapter() { + if (destroyLinkActionItemProvider == null) { + destroyLinkActionItemProvider = new DestroyLinkActionItemProvider( + this); + } + + return destroyLinkActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndDestructionData} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LinkEndDestructionDataItemProvider linkEndDestructionDataItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndDestructionData}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLinkEndDestructionDataAdapter() { + if (linkEndDestructionDataItemProvider == null) { + linkEndDestructionDataItemProvider = new LinkEndDestructionDataItemProvider( + this); + } + + return linkEndDestructionDataItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearAssociationAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClearAssociationActionItemProvider clearAssociationActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearAssociationAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClearAssociationActionAdapter() { + if (clearAssociationActionItemProvider == null) { + clearAssociationActionItemProvider = new ClearAssociationActionItemProvider( + this); + } + + return clearAssociationActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BroadcastSignalAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BroadcastSignalActionItemProvider broadcastSignalActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.BroadcastSignalAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createBroadcastSignalActionAdapter() { + if (broadcastSignalActionItemProvider == null) { + broadcastSignalActionItemProvider = new BroadcastSignalActionItemProvider( + this); + } + + return broadcastSignalActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SendObjectActionItemProvider sendObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SendObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSendObjectActionAdapter() { + if (sendObjectActionItemProvider == null) { + sendObjectActionItemProvider = new SendObjectActionItemProvider( + this); + } + + return sendObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ValueSpecificationAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ValueSpecificationActionItemProvider valueSpecificationActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ValueSpecificationAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createValueSpecificationActionAdapter() { + if (valueSpecificationActionItemProvider == null) { + valueSpecificationActionItemProvider = new ValueSpecificationActionItemProvider( + this); + } + + return valueSpecificationActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeExpression} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeExpressionItemProvider timeExpressionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeExpression}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTimeExpressionAdapter() { + if (timeExpressionItemProvider == null) { + timeExpressionItemProvider = new TimeExpressionItemProvider(this); + } + + return timeExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Duration} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DurationItemProvider durationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Duration}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDurationAdapter() { + if (durationItemProvider == null) { + durationItemProvider = new DurationItemProvider(this); + } + + return durationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeObservationAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeObservationActionItemProvider timeObservationActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeObservationAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTimeObservationActionAdapter() { + if (timeObservationActionItemProvider == null) { + timeObservationActionItemProvider = new TimeObservationActionItemProvider( + this); + } + + return timeObservationActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ValuePin} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ValuePinItemProvider valuePinItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ValuePin}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createValuePinAdapter() { + if (valuePinItemProvider == null) { + valuePinItemProvider = new ValuePinItemProvider(this); + } + + return valuePinItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationInterval} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DurationIntervalItemProvider durationIntervalItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationInterval}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDurationIntervalAdapter() { + if (durationIntervalItemProvider == null) { + durationIntervalItemProvider = new DurationIntervalItemProvider( + this); + } + + return durationIntervalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interval} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IntervalItemProvider intervalItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Interval}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createIntervalAdapter() { + if (intervalItemProvider == null) { + intervalItemProvider = new IntervalItemProvider(this); + } + + return intervalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeConstraint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeConstraintItemProvider timeConstraintItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeConstraint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTimeConstraintAdapter() { + if (timeConstraintItemProvider == null) { + timeConstraintItemProvider = new TimeConstraintItemProvider(this); + } + + return timeConstraintItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.IntervalConstraint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IntervalConstraintItemProvider intervalConstraintItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.IntervalConstraint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createIntervalConstraintAdapter() { + if (intervalConstraintItemProvider == null) { + intervalConstraintItemProvider = new IntervalConstraintItemProvider( + this); + } + + return intervalConstraintItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeInterval} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeIntervalItemProvider timeIntervalItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeInterval}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTimeIntervalAdapter() { + if (timeIntervalItemProvider == null) { + timeIntervalItemProvider = new TimeIntervalItemProvider(this); + } + + return timeIntervalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationObservationAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DurationObservationActionItemProvider durationObservationActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationObservationAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDurationObservationActionAdapter() { + if (durationObservationActionItemProvider == null) { + durationObservationActionItemProvider = new DurationObservationActionItemProvider( + this); + } + + return durationObservationActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationConstraint} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DurationConstraintItemProvider durationConstraintItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationConstraint}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDurationConstraintAdapter() { + if (durationConstraintItemProvider == null) { + durationConstraintItemProvider = new DurationConstraintItemProvider( + this); + } + + return durationConstraintItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OpaqueActionItemProvider opaqueActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createOpaqueActionAdapter() { + if (opaqueActionItemProvider == null) { + opaqueActionItemProvider = new OpaqueActionItemProvider(this); + } + + return opaqueActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendSignalAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SendSignalActionItemProvider sendSignalActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SendSignalAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSendSignalActionAdapter() { + if (sendSignalActionItemProvider == null) { + sendSignalActionItemProvider = new SendSignalActionItemProvider( + this); + } + + return sendSignalActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallOperationAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CallOperationActionItemProvider callOperationActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CallOperationAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCallOperationActionAdapter() { + if (callOperationActionItemProvider == null) { + callOperationActionItemProvider = new CallOperationActionItemProvider( + this); + } + + return callOperationActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallBehaviorAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CallBehaviorActionItemProvider callBehaviorActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CallBehaviorAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCallBehaviorActionAdapter() { + if (callBehaviorActionItemProvider == null) { + callBehaviorActionItemProvider = new CallBehaviorActionItemProvider( + this); + } + + return callBehaviorActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InformationItem} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InformationItemItemProvider informationItemItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InformationItem}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInformationItemAdapter() { + if (informationItemItemProvider == null) { + informationItemItemProvider = new InformationItemItemProvider(this); + } + + return informationItemItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InformationFlow} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InformationFlowItemProvider informationFlowItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InformationFlow}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInformationFlowAdapter() { + if (informationFlowItemProvider == null) { + informationFlowItemProvider = new InformationFlowItemProvider(this); + } + + return informationFlowItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Model} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModelItemProvider modelItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Model}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createModelAdapter() { + if (modelItemProvider == null) { + modelItemProvider = new ModelItemProvider(this); + } + + return modelItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadVariableAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadVariableActionItemProvider readVariableActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadVariableAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadVariableActionAdapter() { + if (readVariableActionItemProvider == null) { + readVariableActionItemProvider = new ReadVariableActionItemProvider( + this); + } + + return readVariableActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearVariableAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClearVariableActionItemProvider clearVariableActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearVariableAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClearVariableActionAdapter() { + if (clearVariableActionItemProvider == null) { + clearVariableActionItemProvider = new ClearVariableActionItemProvider( + this); + } + + return clearVariableActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AddVariableValueAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AddVariableValueActionItemProvider addVariableValueActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AddVariableValueAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAddVariableValueActionAdapter() { + if (addVariableValueActionItemProvider == null) { + addVariableValueActionItemProvider = new AddVariableValueActionItemProvider( + this); + } + + return addVariableValueActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RemoveVariableValueAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RemoveVariableValueActionItemProvider removeVariableValueActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.RemoveVariableValueAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRemoveVariableValueActionAdapter() { + if (removeVariableValueActionItemProvider == null) { + removeVariableValueActionItemProvider = new RemoveVariableValueActionItemProvider( + this); + } + + return removeVariableValueActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RaiseExceptionAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RaiseExceptionActionItemProvider raiseExceptionActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.RaiseExceptionAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createRaiseExceptionActionAdapter() { + if (raiseExceptionActionItemProvider == null) { + raiseExceptionActionItemProvider = new RaiseExceptionActionItemProvider( + this); + } + + return raiseExceptionActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActionInputPin} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActionInputPinItemProvider actionInputPinItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActionInputPin}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActionInputPinAdapter() { + if (actionInputPinItemProvider == null) { + actionInputPinItemProvider = new ActionInputPinItemProvider(this); + } + + return actionInputPinItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadExtentAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadExtentActionItemProvider readExtentActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadExtentAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadExtentActionAdapter() { + if (readExtentActionItemProvider == null) { + readExtentActionItemProvider = new ReadExtentActionItemProvider( + this); + } + + return readExtentActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReclassifyObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReclassifyObjectActionItemProvider reclassifyObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReclassifyObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReclassifyObjectActionAdapter() { + if (reclassifyObjectActionItemProvider == null) { + reclassifyObjectActionItemProvider = new ReclassifyObjectActionItemProvider( + this); + } + + return reclassifyObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadIsClassifiedObjectActionItemProvider readIsClassifiedObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadIsClassifiedObjectActionAdapter() { + if (readIsClassifiedObjectActionItemProvider == null) { + readIsClassifiedObjectActionItemProvider = new ReadIsClassifiedObjectActionItemProvider( + this); + } + + return readIsClassifiedObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StartClassifierBehaviorActionItemProvider startClassifierBehaviorActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createStartClassifierBehaviorActionAdapter() { + if (startClassifierBehaviorActionItemProvider == null) { + startClassifierBehaviorActionItemProvider = new StartClassifierBehaviorActionItemProvider( + this); + } + + return startClassifierBehaviorActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadLinkObjectEndActionItemProvider readLinkObjectEndActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadLinkObjectEndActionAdapter() { + if (readLinkObjectEndActionItemProvider == null) { + readLinkObjectEndActionItemProvider = new ReadLinkObjectEndActionItemProvider( + this); + } + + return readLinkObjectEndActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReadLinkObjectEndQualifierActionItemProvider readLinkObjectEndQualifierActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReadLinkObjectEndQualifierActionAdapter() { + if (readLinkObjectEndQualifierActionItemProvider == null) { + readLinkObjectEndQualifierActionItemProvider = new ReadLinkObjectEndQualifierActionItemProvider( + this); + } + + return readLinkObjectEndQualifierActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateLinkObjectAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CreateLinkObjectActionItemProvider createLinkObjectActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateLinkObjectAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCreateLinkObjectActionAdapter() { + if (createLinkObjectActionItemProvider == null) { + createLinkObjectActionItemProvider = new CreateLinkObjectActionItemProvider( + this); + } + + return createLinkObjectActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AcceptEventAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AcceptEventActionItemProvider acceptEventActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AcceptEventAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAcceptEventActionAdapter() { + if (acceptEventActionItemProvider == null) { + acceptEventActionItemProvider = new AcceptEventActionItemProvider( + this); + } + + return acceptEventActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AcceptCallAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AcceptCallActionItemProvider acceptCallActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AcceptCallAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAcceptCallActionAdapter() { + if (acceptCallActionItemProvider == null) { + acceptCallActionItemProvider = new AcceptCallActionItemProvider( + this); + } + + return acceptCallActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReplyAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ReplyActionItemProvider replyActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ReplyAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createReplyActionAdapter() { + if (replyActionItemProvider == null) { + replyActionItemProvider = new ReplyActionItemProvider(this); + } + + return replyActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.UnmarshallAction} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UnmarshallActionItemProvider unmarshallActionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.UnmarshallAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createUnmarshallActionAdapter() { + if (unmarshallActionItemProvider == null) { + unmarshallActionItemProvider = new UnmarshallActionItemProvider( + this); + } + + return unmarshallActionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ControlFlow} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ControlFlowItemProvider controlFlowItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ControlFlow}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createControlFlowAdapter() { + if (controlFlowItemProvider == null) { + controlFlowItemProvider = new ControlFlowItemProvider(this); + } + + return controlFlowItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InitialNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InitialNodeItemProvider initialNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.InitialNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createInitialNodeAdapter() { + if (initialNodeItemProvider == null) { + initialNodeItemProvider = new InitialNodeItemProvider(this); + } + + return initialNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityParameterNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActivityParameterNodeItemProvider activityParameterNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityParameterNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActivityParameterNodeAdapter() { + if (activityParameterNodeItemProvider == null) { + activityParameterNodeItemProvider = new ActivityParameterNodeItemProvider( + this); + } + + return activityParameterNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ForkNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ForkNodeItemProvider forkNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ForkNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createForkNodeAdapter() { + if (forkNodeItemProvider == null) { + forkNodeItemProvider = new ForkNodeItemProvider(this); + } + + return forkNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FlowFinalNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FlowFinalNodeItemProvider flowFinalNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.FlowFinalNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createFlowFinalNodeAdapter() { + if (flowFinalNodeItemProvider == null) { + flowFinalNodeItemProvider = new FlowFinalNodeItemProvider(this); + } + + return flowFinalNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CentralBufferNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CentralBufferNodeItemProvider centralBufferNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CentralBufferNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCentralBufferNodeAdapter() { + if (centralBufferNodeItemProvider == null) { + centralBufferNodeItemProvider = new CentralBufferNodeItemProvider( + this); + } + + return centralBufferNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.MergeNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MergeNodeItemProvider mergeNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.MergeNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createMergeNodeAdapter() { + if (mergeNodeItemProvider == null) { + mergeNodeItemProvider = new MergeNodeItemProvider(this); + } + + return mergeNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DecisionNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DecisionNodeItemProvider decisionNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DecisionNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDecisionNodeAdapter() { + if (decisionNodeItemProvider == null) { + decisionNodeItemProvider = new DecisionNodeItemProvider(this); + } + + return decisionNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityFinalNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActivityFinalNodeItemProvider activityFinalNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityFinalNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createActivityFinalNodeAdapter() { + if (activityFinalNodeItemProvider == null) { + activityFinalNodeItemProvider = new ActivityFinalNodeItemProvider( + this); + } + + return activityFinalNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.JoinNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected JoinNodeItemProvider joinNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.JoinNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createJoinNodeAdapter() { + if (joinNodeItemProvider == null) { + joinNodeItemProvider = new JoinNodeItemProvider(this); + } + + return joinNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DataStoreNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DataStoreNodeItemProvider dataStoreNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.DataStoreNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDataStoreNodeAdapter() { + if (dataStoreNodeItemProvider == null) { + dataStoreNodeItemProvider = new DataStoreNodeItemProvider(this); + } + + return dataStoreNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ObjectFlow} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ObjectFlowItemProvider objectFlowItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ObjectFlow}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createObjectFlowAdapter() { + if (objectFlowItemProvider == null) { + objectFlowItemProvider = new ObjectFlowItemProvider(this); + } + + return objectFlowItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SequenceNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SequenceNodeItemProvider sequenceNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.SequenceNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createSequenceNodeAdapter() { + if (sequenceNodeItemProvider == null) { + sequenceNodeItemProvider = new SequenceNodeItemProvider(this); + } + + return sequenceNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConditionalNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConditionalNodeItemProvider conditionalNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ConditionalNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createConditionalNodeAdapter() { + if (conditionalNodeItemProvider == null) { + conditionalNodeItemProvider = new ConditionalNodeItemProvider(this); + } + + return conditionalNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Clause} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ClauseItemProvider clauseItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Clause}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createClauseAdapter() { + if (clauseItemProvider == null) { + clauseItemProvider = new ClauseItemProvider(this); + } + + return clauseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LoopNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LoopNodeItemProvider loopNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.LoopNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createLoopNodeAdapter() { + if (loopNodeItemProvider == null) { + loopNodeItemProvider = new LoopNodeItemProvider(this); + } + + return loopNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExpansionNode} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExpansionNodeItemProvider expansionNodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExpansionNode}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExpansionNodeAdapter() { + if (expansionNodeItemProvider == null) { + expansionNodeItemProvider = new ExpansionNodeItemProvider(this); + } + + return expansionNodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExpansionRegion} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExpansionRegionItemProvider expansionRegionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExpansionRegion}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExpansionRegionAdapter() { + if (expansionRegionItemProvider == null) { + expansionRegionItemProvider = new ExpansionRegionItemProvider(this); + } + + return expansionRegionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ComponentRealization} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComponentRealizationItemProvider componentRealizationItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ComponentRealization}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createComponentRealizationAdapter() { + if (componentRealizationItemProvider == null) { + componentRealizationItemProvider = new ComponentRealizationItemProvider( + this); + } + + return componentRealizationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Component} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComponentItemProvider componentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Component}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createComponentAdapter() { + if (componentItemProvider == null) { + componentItemProvider = new ComponentItemProvider(this); + } + + return componentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Node} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NodeItemProvider nodeItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Node}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createNodeAdapter() { + if (nodeItemProvider == null) { + nodeItemProvider = new NodeItemProvider(this); + } + + return nodeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Device} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DeviceItemProvider deviceItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.Device}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createDeviceAdapter() { + if (deviceItemProvider == null) { + deviceItemProvider = new DeviceItemProvider(this); + } + + return deviceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionEnvironment} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExecutionEnvironmentItemProvider executionEnvironmentItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionEnvironment}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createExecutionEnvironmentAdapter() { + if (executionEnvironmentItemProvider == null) { + executionEnvironmentItemProvider = new ExecutionEnvironmentItemProvider( + this); + } + + return executionEnvironmentItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CommunicationPath} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CommunicationPathItemProvider communicationPathItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.CommunicationPath}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createCommunicationPathAdapter() { + if (communicationPathItemProvider == null) { + communicationPathItemProvider = new CommunicationPathItemProvider( + this); + } + + return communicationPathItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FinalState} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FinalStateItemProvider finalStateItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.FinalState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createFinalStateAdapter() { + if (finalStateItemProvider == null) { + finalStateItemProvider = new FinalStateItemProvider(this); + } + + return finalStateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeEvent} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeEventItemProvider timeEventItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeEvent}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createTimeEventAdapter() { + if (timeEventItemProvider == null) { + timeEventItemProvider = new TimeEventItemProvider(this); + } + + return timeEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolTransition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProtocolTransitionItemProvider protocolTransitionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolTransition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createProtocolTransitionAdapter() { + if (protocolTransitionItemProvider == null) { + protocolTransitionItemProvider = new ProtocolTransitionItemProvider( + this); + } + + return protocolTransitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AssociationClass} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AssociationClassItemProvider associationClassItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.uml2.uml.AssociationClass}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter createAssociationClassAdapter() { + if (associationClassItemProvider == null) { + associationClassItemProvider = new AssociationClassItemProvider( + this); + } + + return associationClassItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null + ? this + : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setParentAdapterFactory( + ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class) + || (((Class) type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void dispose() { + if (commentItemProvider != null) + commentItemProvider.dispose(); + if (dependencyItemProvider != null) + dependencyItemProvider.dispose(); + if (templateParameterItemProvider != null) + templateParameterItemProvider.dispose(); + if (templateSignatureItemProvider != null) + templateSignatureItemProvider.dispose(); + if (templateBindingItemProvider != null) + templateBindingItemProvider.dispose(); + if (templateParameterSubstitutionItemProvider != null) + templateParameterSubstitutionItemProvider.dispose(); + if (elementImportItemProvider != null) + elementImportItemProvider.dispose(); + if (packageImportItemProvider != null) + packageImportItemProvider.dispose(); + if (packageItemProvider != null) + packageItemProvider.dispose(); + if (packageMergeItemProvider != null) + packageMergeItemProvider.dispose(); + if (profileApplicationItemProvider != null) + profileApplicationItemProvider.dispose(); + if (profileItemProvider != null) + profileItemProvider.dispose(); + if (stereotypeItemProvider != null) + stereotypeItemProvider.dispose(); + if (classItemProvider != null) + classItemProvider.dispose(); + if (generalizationItemProvider != null) + generalizationItemProvider.dispose(); + if (generalizationSetItemProvider != null) + generalizationSetItemProvider.dispose(); + if (useCaseItemProvider != null) + useCaseItemProvider.dispose(); + if (includeItemProvider != null) + includeItemProvider.dispose(); + if (extendItemProvider != null) + extendItemProvider.dispose(); + if (constraintItemProvider != null) + constraintItemProvider.dispose(); + if (extensionPointItemProvider != null) + extensionPointItemProvider.dispose(); + if (substitutionItemProvider != null) + substitutionItemProvider.dispose(); + if (realizationItemProvider != null) + realizationItemProvider.dispose(); + if (abstractionItemProvider != null) + abstractionItemProvider.dispose(); + if (opaqueExpressionItemProvider != null) + opaqueExpressionItemProvider.dispose(); + if (parameterItemProvider != null) + parameterItemProvider.dispose(); + if (connectorEndItemProvider != null) + connectorEndItemProvider.dispose(); + if (propertyItemProvider != null) + propertyItemProvider.dispose(); + if (deploymentItemProvider != null) + deploymentItemProvider.dispose(); + if (deploymentSpecificationItemProvider != null) + deploymentSpecificationItemProvider.dispose(); + if (artifactItemProvider != null) + artifactItemProvider.dispose(); + if (manifestationItemProvider != null) + manifestationItemProvider.dispose(); + if (operationItemProvider != null) + operationItemProvider.dispose(); + if (behavioralFeatureItemProvider != null) + behavioralFeatureItemProvider.dispose(); + if (behaviorItemProvider != null) + behaviorItemProvider.dispose(); + if (parameterSetItemProvider != null) + parameterSetItemProvider.dispose(); + if (dataTypeItemProvider != null) + dataTypeItemProvider.dispose(); + if (interfaceItemProvider != null) + interfaceItemProvider.dispose(); + if (receptionItemProvider != null) + receptionItemProvider.dispose(); + if (signalItemProvider != null) + signalItemProvider.dispose(); + if (protocolStateMachineItemProvider != null) + protocolStateMachineItemProvider.dispose(); + if (stateMachineItemProvider != null) + stateMachineItemProvider.dispose(); + if (regionItemProvider != null) + regionItemProvider.dispose(); + if (transitionItemProvider != null) + transitionItemProvider.dispose(); + if (triggerItemProvider != null) + triggerItemProvider.dispose(); + if (portItemProvider != null) + portItemProvider.dispose(); + if (stateItemProvider != null) + stateItemProvider.dispose(); + if (connectionPointReferenceItemProvider != null) + connectionPointReferenceItemProvider.dispose(); + if (pseudostateItemProvider != null) + pseudostateItemProvider.dispose(); + if (protocolConformanceItemProvider != null) + protocolConformanceItemProvider.dispose(); + if (operationTemplateParameterItemProvider != null) + operationTemplateParameterItemProvider.dispose(); + if (associationItemProvider != null) + associationItemProvider.dispose(); + if (connectableElementTemplateParameterItemProvider != null) + connectableElementTemplateParameterItemProvider.dispose(); + if (collaborationUseItemProvider != null) + collaborationUseItemProvider.dispose(); + if (collaborationItemProvider != null) + collaborationItemProvider.dispose(); + if (connectorItemProvider != null) + connectorItemProvider.dispose(); + if (redefinableTemplateSignatureItemProvider != null) + redefinableTemplateSignatureItemProvider.dispose(); + if (classifierTemplateParameterItemProvider != null) + classifierTemplateParameterItemProvider.dispose(); + if (interfaceRealizationItemProvider != null) + interfaceRealizationItemProvider.dispose(); + if (extensionItemProvider != null) + extensionItemProvider.dispose(); + if (extensionEndItemProvider != null) + extensionEndItemProvider.dispose(); + if (stringExpressionItemProvider != null) + stringExpressionItemProvider.dispose(); + if (expressionItemProvider != null) + expressionItemProvider.dispose(); + if (literalIntegerItemProvider != null) + literalIntegerItemProvider.dispose(); + if (literalStringItemProvider != null) + literalStringItemProvider.dispose(); + if (literalBooleanItemProvider != null) + literalBooleanItemProvider.dispose(); + if (literalNullItemProvider != null) + literalNullItemProvider.dispose(); + if (slotItemProvider != null) + slotItemProvider.dispose(); + if (instanceSpecificationItemProvider != null) + instanceSpecificationItemProvider.dispose(); + if (enumerationItemProvider != null) + enumerationItemProvider.dispose(); + if (enumerationLiteralItemProvider != null) + enumerationLiteralItemProvider.dispose(); + if (primitiveTypeItemProvider != null) + primitiveTypeItemProvider.dispose(); + if (instanceValueItemProvider != null) + instanceValueItemProvider.dispose(); + if (literalUnlimitedNaturalItemProvider != null) + literalUnlimitedNaturalItemProvider.dispose(); + if (opaqueBehaviorItemProvider != null) + opaqueBehaviorItemProvider.dispose(); + if (functionBehaviorItemProvider != null) + functionBehaviorItemProvider.dispose(); + if (actorItemProvider != null) + actorItemProvider.dispose(); + if (usageItemProvider != null) + usageItemProvider.dispose(); + if (messageItemProvider != null) + messageItemProvider.dispose(); + if (interactionItemProvider != null) + interactionItemProvider.dispose(); + if (lifelineItemProvider != null) + lifelineItemProvider.dispose(); + if (partDecompositionItemProvider != null) + partDecompositionItemProvider.dispose(); + if (interactionUseItemProvider != null) + interactionUseItemProvider.dispose(); + if (gateItemProvider != null) + gateItemProvider.dispose(); + if (actionItemProvider != null) + actionItemProvider.dispose(); + if (activityEdgeItemProvider != null) + activityEdgeItemProvider.dispose(); + if (activityItemProvider != null) + activityItemProvider.dispose(); + if (activityPartitionItemProvider != null) + activityPartitionItemProvider.dispose(); + if (structuredActivityNodeItemProvider != null) + structuredActivityNodeItemProvider.dispose(); + if (variableItemProvider != null) + variableItemProvider.dispose(); + if (interruptibleActivityRegionItemProvider != null) + interruptibleActivityRegionItemProvider.dispose(); + if (exceptionHandlerItemProvider != null) + exceptionHandlerItemProvider.dispose(); + if (outputPinItemProvider != null) + outputPinItemProvider.dispose(); + if (pinItemProvider != null) + pinItemProvider.dispose(); + if (inputPinItemProvider != null) + inputPinItemProvider.dispose(); + if (generalOrderingItemProvider != null) + generalOrderingItemProvider.dispose(); + if (interactionOperandItemProvider != null) + interactionOperandItemProvider.dispose(); + if (interactionConstraintItemProvider != null) + interactionConstraintItemProvider.dispose(); + if (executionOccurrenceSpecificationItemProvider != null) + executionOccurrenceSpecificationItemProvider.dispose(); + if (executionEventItemProvider != null) + executionEventItemProvider.dispose(); + if (stateInvariantItemProvider != null) + stateInvariantItemProvider.dispose(); + if (actionExecutionSpecificationItemProvider != null) + actionExecutionSpecificationItemProvider.dispose(); + if (behaviorExecutionSpecificationItemProvider != null) + behaviorExecutionSpecificationItemProvider.dispose(); + if (creationEventItemProvider != null) + creationEventItemProvider.dispose(); + if (destructionEventItemProvider != null) + destructionEventItemProvider.dispose(); + if (sendOperationEventItemProvider != null) + sendOperationEventItemProvider.dispose(); + if (sendSignalEventItemProvider != null) + sendSignalEventItemProvider.dispose(); + if (messageOccurrenceSpecificationItemProvider != null) + messageOccurrenceSpecificationItemProvider.dispose(); + if (combinedFragmentItemProvider != null) + combinedFragmentItemProvider.dispose(); + if (continuationItemProvider != null) + continuationItemProvider.dispose(); + if (considerIgnoreFragmentItemProvider != null) + considerIgnoreFragmentItemProvider.dispose(); + if (callEventItemProvider != null) + callEventItemProvider.dispose(); + if (changeEventItemProvider != null) + changeEventItemProvider.dispose(); + if (signalEventItemProvider != null) + signalEventItemProvider.dispose(); + if (anyReceiveEventItemProvider != null) + anyReceiveEventItemProvider.dispose(); + if (createObjectActionItemProvider != null) + createObjectActionItemProvider.dispose(); + if (destroyObjectActionItemProvider != null) + destroyObjectActionItemProvider.dispose(); + if (testIdentityActionItemProvider != null) + testIdentityActionItemProvider.dispose(); + if (readSelfActionItemProvider != null) + readSelfActionItemProvider.dispose(); + if (readStructuralFeatureActionItemProvider != null) + readStructuralFeatureActionItemProvider.dispose(); + if (clearStructuralFeatureActionItemProvider != null) + clearStructuralFeatureActionItemProvider.dispose(); + if (removeStructuralFeatureValueActionItemProvider != null) + removeStructuralFeatureValueActionItemProvider.dispose(); + if (addStructuralFeatureValueActionItemProvider != null) + addStructuralFeatureValueActionItemProvider.dispose(); + if (linkEndDataItemProvider != null) + linkEndDataItemProvider.dispose(); + if (qualifierValueItemProvider != null) + qualifierValueItemProvider.dispose(); + if (readLinkActionItemProvider != null) + readLinkActionItemProvider.dispose(); + if (linkEndCreationDataItemProvider != null) + linkEndCreationDataItemProvider.dispose(); + if (createLinkActionItemProvider != null) + createLinkActionItemProvider.dispose(); + if (destroyLinkActionItemProvider != null) + destroyLinkActionItemProvider.dispose(); + if (linkEndDestructionDataItemProvider != null) + linkEndDestructionDataItemProvider.dispose(); + if (clearAssociationActionItemProvider != null) + clearAssociationActionItemProvider.dispose(); + if (broadcastSignalActionItemProvider != null) + broadcastSignalActionItemProvider.dispose(); + if (sendObjectActionItemProvider != null) + sendObjectActionItemProvider.dispose(); + if (valueSpecificationActionItemProvider != null) + valueSpecificationActionItemProvider.dispose(); + if (timeExpressionItemProvider != null) + timeExpressionItemProvider.dispose(); + if (durationItemProvider != null) + durationItemProvider.dispose(); + if (timeObservationActionItemProvider != null) + timeObservationActionItemProvider.dispose(); + if (valuePinItemProvider != null) + valuePinItemProvider.dispose(); + if (durationIntervalItemProvider != null) + durationIntervalItemProvider.dispose(); + if (intervalItemProvider != null) + intervalItemProvider.dispose(); + if (timeConstraintItemProvider != null) + timeConstraintItemProvider.dispose(); + if (intervalConstraintItemProvider != null) + intervalConstraintItemProvider.dispose(); + if (timeIntervalItemProvider != null) + timeIntervalItemProvider.dispose(); + if (durationObservationActionItemProvider != null) + durationObservationActionItemProvider.dispose(); + if (durationConstraintItemProvider != null) + durationConstraintItemProvider.dispose(); + if (opaqueActionItemProvider != null) + opaqueActionItemProvider.dispose(); + if (sendSignalActionItemProvider != null) + sendSignalActionItemProvider.dispose(); + if (callOperationActionItemProvider != null) + callOperationActionItemProvider.dispose(); + if (callBehaviorActionItemProvider != null) + callBehaviorActionItemProvider.dispose(); + if (informationItemItemProvider != null) + informationItemItemProvider.dispose(); + if (informationFlowItemProvider != null) + informationFlowItemProvider.dispose(); + if (modelItemProvider != null) + modelItemProvider.dispose(); + if (readVariableActionItemProvider != null) + readVariableActionItemProvider.dispose(); + if (clearVariableActionItemProvider != null) + clearVariableActionItemProvider.dispose(); + if (addVariableValueActionItemProvider != null) + addVariableValueActionItemProvider.dispose(); + if (removeVariableValueActionItemProvider != null) + removeVariableValueActionItemProvider.dispose(); + if (raiseExceptionActionItemProvider != null) + raiseExceptionActionItemProvider.dispose(); + if (actionInputPinItemProvider != null) + actionInputPinItemProvider.dispose(); + if (readExtentActionItemProvider != null) + readExtentActionItemProvider.dispose(); + if (reclassifyObjectActionItemProvider != null) + reclassifyObjectActionItemProvider.dispose(); + if (readIsClassifiedObjectActionItemProvider != null) + readIsClassifiedObjectActionItemProvider.dispose(); + if (startClassifierBehaviorActionItemProvider != null) + startClassifierBehaviorActionItemProvider.dispose(); + if (readLinkObjectEndActionItemProvider != null) + readLinkObjectEndActionItemProvider.dispose(); + if (readLinkObjectEndQualifierActionItemProvider != null) + readLinkObjectEndQualifierActionItemProvider.dispose(); + if (createLinkObjectActionItemProvider != null) + createLinkObjectActionItemProvider.dispose(); + if (acceptEventActionItemProvider != null) + acceptEventActionItemProvider.dispose(); + if (acceptCallActionItemProvider != null) + acceptCallActionItemProvider.dispose(); + if (replyActionItemProvider != null) + replyActionItemProvider.dispose(); + if (unmarshallActionItemProvider != null) + unmarshallActionItemProvider.dispose(); + if (controlFlowItemProvider != null) + controlFlowItemProvider.dispose(); + if (initialNodeItemProvider != null) + initialNodeItemProvider.dispose(); + if (activityParameterNodeItemProvider != null) + activityParameterNodeItemProvider.dispose(); + if (forkNodeItemProvider != null) + forkNodeItemProvider.dispose(); + if (flowFinalNodeItemProvider != null) + flowFinalNodeItemProvider.dispose(); + if (centralBufferNodeItemProvider != null) + centralBufferNodeItemProvider.dispose(); + if (mergeNodeItemProvider != null) + mergeNodeItemProvider.dispose(); + if (decisionNodeItemProvider != null) + decisionNodeItemProvider.dispose(); + if (activityFinalNodeItemProvider != null) + activityFinalNodeItemProvider.dispose(); + if (joinNodeItemProvider != null) + joinNodeItemProvider.dispose(); + if (dataStoreNodeItemProvider != null) + dataStoreNodeItemProvider.dispose(); + if (objectFlowItemProvider != null) + objectFlowItemProvider.dispose(); + if (sequenceNodeItemProvider != null) + sequenceNodeItemProvider.dispose(); + if (conditionalNodeItemProvider != null) + conditionalNodeItemProvider.dispose(); + if (clauseItemProvider != null) + clauseItemProvider.dispose(); + if (loopNodeItemProvider != null) + loopNodeItemProvider.dispose(); + if (expansionNodeItemProvider != null) + expansionNodeItemProvider.dispose(); + if (expansionRegionItemProvider != null) + expansionRegionItemProvider.dispose(); + if (componentRealizationItemProvider != null) + componentRealizationItemProvider.dispose(); + if (componentItemProvider != null) + componentItemProvider.dispose(); + if (nodeItemProvider != null) + nodeItemProvider.dispose(); + if (deviceItemProvider != null) + deviceItemProvider.dispose(); + if (executionEnvironmentItemProvider != null) + executionEnvironmentItemProvider.dispose(); + if (communicationPathItemProvider != null) + communicationPathItemProvider.dispose(); + if (finalStateItemProvider != null) + finalStateItemProvider.dispose(); + if (timeEventItemProvider != null) + timeEventItemProvider.dispose(); + if (protocolTransitionItemProvider != null) + protocolTransitionItemProvider.dispose(); + if (associationClassItemProvider != null) + associationClassItemProvider.dispose(); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java new file mode 100644 index 00000000..c3c71480 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java @@ -0,0 +1,250 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UnmarshallActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.UnmarshallAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.UnmarshallAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UnmarshallActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UnmarshallActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addResultPropertyDescriptor(object); + addUnmarshallTypePropertyDescriptor(object); + addObjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UnmarshallAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_result_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUnmarshallAction_Result(), true, null, + null, null)); + } + + /** + * This adds a property descriptor for the Unmarshall Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUnmarshallTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UnmarshallAction_unmarshallType_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_unmarshallType_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUnmarshallAction_UnmarshallType(), + true, null, null, null)); + } + + /** + * This adds a property descriptor for the Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addObjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UnmarshallAction_object_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_object_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUnmarshallAction_Object(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getUnmarshallAction_Object()); + } + return childrenFeatures; + } + + /** + * This returns UnmarshallAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/UnmarshallAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((UnmarshallAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_UnmarshallAction_type") : //$NON-NLS-1$ + getString("_UI_UnmarshallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnmarshallAction.class)) { + case UMLPackage.UNMARSHALL_ACTION__OBJECT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUnmarshallAction_Object(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUnmarshallAction_Object(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUnmarshallAction_Object(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java new file mode 100644 index 00000000..0bc85a86 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UsageItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.Usage; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Usage} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UsageItemProvider + extends DependencyItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UsageItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Usage.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Usage"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Usage) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Usage_type") : //$NON-NLS-1$ + getString("_UI_Usage_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java new file mode 100644 index 00000000..28657578 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java @@ -0,0 +1,288 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UseCaseItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.UseCase; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.UseCase} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UseCaseItemProvider + extends BehavioredClassifierItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UseCaseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIncludePropertyDescriptor(object); + addExtendPropertyDescriptor(object); + addExtensionPointPropertyDescriptor(object); + addSubjectPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Include feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIncludePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UseCase_include_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UseCase_include_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUseCase_Include(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extend feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtendPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UseCase_extend_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UseCase_extend_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUseCase_Extend(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Extension Point feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExtensionPointPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UseCase_extensionPoint_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UseCase_extensionPoint_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUseCase_ExtensionPoint(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Subject feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSubjectPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_UseCase_subject_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_UseCase_subject_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getUseCase_Subject(), true, null, null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getUseCase_Include()); + childrenFeatures.add(UMLPackage.eINSTANCE.getUseCase_Extend()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getUseCase_ExtensionPoint()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UseCase.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/UseCase"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((UseCase) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_UseCase_type") : //$NON-NLS-1$ + getString("_UI_UseCase_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UseCase.class)) { + case UMLPackage.USE_CASE__INCLUDE : + case UMLPackage.USE_CASE__EXTEND : + case UMLPackage.USE_CASE__EXTENSION_POINT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUseCase_Include(), UMLFactory.eINSTANCE.createInclude())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUseCase_Extend(), UMLFactory.eINSTANCE.createExtend())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getUseCase_ExtensionPoint(), UMLFactory.eINSTANCE + .createExtensionPoint())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getTemplateableElement_OwnedTemplateSignature() + || childFeature == UMLPackage.eINSTANCE + .getClassifier_OwnedSignature(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java new file mode 100644 index 00000000..43ad33ba --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java @@ -0,0 +1,243 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ValuePinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.ValuePin; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValuePin} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ValuePinItemProvider + extends InputPinItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ValuePinItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ValuePin_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ValuePin_value_feature", "_UI_ValuePin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getValuePin_Value(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE.getValuePin_Value()); + } + return childrenFeatures; + } + + /** + * This returns ValuePin.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/ValuePin"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ValuePin) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ValuePin_type") : //$NON-NLS-1$ + getString("_UI_ValuePin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ValuePin.class)) { + case UMLPackage.VALUE_PIN__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(), + UMLFactory.eINSTANCE.createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createExpression())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(), + UMLFactory.eINSTANCE.createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createInterval())); + + newChildDescriptors + .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(), + UMLFactory.eINSTANCE.createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValuePin_Value(), UMLFactory.eINSTANCE.createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound() + || childFeature == UMLPackage.eINSTANCE.getValuePin_Value(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java new file mode 100644 index 00000000..185261fd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java @@ -0,0 +1,303 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ValueSpecificationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.ValueSpecificationAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValueSpecificationAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ValueSpecificationActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ValueSpecificationActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + addResultPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ValueSpecificationAction_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ValueSpecificationAction_value_feature", "_UI_ValueSpecificationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getValueSpecificationAction_Value(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Result feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addResultPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ValueSpecificationAction_result_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_ValueSpecificationAction_result_feature", "_UI_ValueSpecificationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getValueSpecificationAction_Result(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getValueSpecificationAction_Result()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ValueSpecificationAction.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage( + "full/obj16/ValueSpecificationAction"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ValueSpecificationAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ValueSpecificationAction_type") : //$NON-NLS-1$ + getString("_UI_ValueSpecificationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ValueSpecificationAction.class)) { + case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE : + case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getValueSpecificationAction_Result(), UMLFactory.eINSTANCE + .createOutputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getValueSpecificationAction_Value() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java new file mode 100644 index 00000000..895ee3d2 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: ValueSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.ValueSpecification; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValueSpecification} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ValueSpecificationItemProvider + extends PackageableElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ValueSpecificationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null, + null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((ValueSpecification) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_ValueSpecification_type") : //$NON-NLS-1$ + getString("_UI_ValueSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java new file mode 100644 index 00000000..3cfef0d9 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: VariableActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.VariableAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.VariableAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class VariableActionItemProvider + extends ActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public VariableActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVariablePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Variable feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableAction_variable_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_VariableAction_variable_feature", "_UI_VariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVariableAction_Variable(), true, null, + null, null)); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((VariableAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_VariableAction_type") : //$NON-NLS-1$ + getString("_UI_VariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java new file mode 100644 index 00000000..6bd8e07d --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java @@ -0,0 +1,486 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: VariableItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.Variable; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Variable} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class VariableItemProvider + extends TypedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public VariableItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIsOrderedPropertyDescriptor(object); + addIsUniquePropertyDescriptor(object); + addUpperPropertyDescriptor(object); + addLowerPropertyDescriptor(object); + addUpperValuePropertyDescriptor(object); + addLowerValuePropertyDescriptor(object); + addActivityScopePropertyDescriptor(object); + addScopePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Is Ordered feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsOrderedPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Is Unique feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIsUniquePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Upper feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Upper Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUpperValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Lower Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addLowerValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Activity Scope feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addActivityScopePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Variable_activityScope_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Variable_activityScope_feature", "_UI_Variable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVariable_ActivityScope(), true, null, + null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This adds a property descriptor for the Scope feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addScopePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Variable_scope_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Variable_scope_feature", "_UI_Variable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVariable_Scope(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue()); + childrenFeatures.add(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue()); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Variable.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getImage(Object object) { + return getResourceLocator().getImage("full/obj16/Variable"); //$NON-NLS-1$ + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Variable) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Variable_type") : //$NON-NLS-1$ + getString("_UI_Variable_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Variable.class)) { + case UMLPackage.VARIABLE__IS_ORDERED : + case UMLPackage.VARIABLE__IS_UNIQUE : + case UMLPackage.VARIABLE__UPPER : + case UMLPackage.VARIABLE__LOWER : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), false, true)); + return; + case UMLPackage.VARIABLE__UPPER_VALUE : + case UMLPackage.VARIABLE__LOWER_VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createOpaqueExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createStringExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralInteger())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralString())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralBoolean())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralNull())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInstanceValue())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createLiteralUnlimitedNatural())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeExpression())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDuration())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createDurationInterval())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE + .createTimeInterval())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getNamedElement_NameExpression() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_UpperValue() + || childFeature == UMLPackage.eINSTANCE + .getMultiplicityElement_LowerValue(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java new file mode 100644 index 00000000..7e081a22 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: VertexItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.Vertex; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Vertex} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class VertexItemProvider + extends NamedElementItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public VertexItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOutgoingPropertyDescriptor(object); + addIncomingPropertyDescriptor(object); + addContainerPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Outgoing feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addOutgoingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_outgoing_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_outgoing_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Outgoing(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Incoming feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIncomingPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_incoming_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_incoming_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Incoming(), true, null, null, + null)); + } + + /** + * This adds a property descriptor for the Container feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContainerPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Vertex_container_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_Vertex_container_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getVertex_Container(), true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((Vertex) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_Vertex_type") : //$NON-NLS-1$ + getString("_UI_Vertex_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java new file mode 100644 index 00000000..f2810bc4 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: WriteLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.WriteLinkAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteLinkAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class WriteLinkActionItemProvider + extends LinkActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public WriteLinkActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((WriteLinkAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_WriteLinkAction_type") : //$NON-NLS-1$ + getString("_UI_WriteLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java new file mode 100644 index 00000000..f94ca3ca --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: WriteStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.WriteStructuralFeatureAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteStructuralFeatureAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class WriteStructuralFeatureActionItemProvider + extends StructuralFeatureActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public WriteStructuralFeatureActionItemProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_WriteStructuralFeatureAction_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_WriteStructuralFeatureAction_value_feature", "_UI_WriteStructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getWriteStructuralFeatureAction_Value(), + true, null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((WriteStructuralFeatureAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_WriteStructuralFeatureAction_type") : //$NON-NLS-1$ + getString("_UI_WriteStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(WriteStructuralFeatureAction.class)) { + case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition() + || childFeature == UMLPackage.eINSTANCE + .getStructuralFeatureAction_Object() + || childFeature == UMLPackage.eINSTANCE + .getWriteStructuralFeatureAction_Value(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java new file mode 100644 index 00000000..b328391f --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java @@ -0,0 +1,201 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: WriteVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $ + */ +package org.eclipse.uml2.uml.edit.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.WriteVariableAction; + +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteVariableAction} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class WriteVariableActionItemProvider + extends VariableActionItemProvider + implements IEditingDomainItemProvider, IStructuredItemContentProvider, + ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public WriteVariableActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_WriteVariableAction_value_feature"), //$NON-NLS-1$ + getString( + "_UI_PropertyDescriptor_description", "_UI_WriteVariableAction_value_feature", "_UI_WriteVariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + UMLPackage.eINSTANCE.getWriteVariableAction_Value(), true, + null, null, + new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$ + })); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(UMLPackage.eINSTANCE + .getWriteVariableAction_Value()); + } + return childrenFeatures; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getText(Object object) { + String label = ((WriteVariableAction) object).getName(); + return label == null || label.length() == 0 + ? getString("_UI_WriteVariableAction_type") : //$NON-NLS-1$ + getString("_UI_WriteVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(WriteVariableAction.class)) { + case UMLPackage.WRITE_VARIABLE_ACTION__VALUE : + fireNotifyChanged(new ViewerNotification(notification, + notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, + Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteVariableAction_Value(), UMLFactory.eINSTANCE + .createInputPin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteVariableAction_Value(), UMLFactory.eINSTANCE + .createValuePin())); + + newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE + .getWriteVariableAction_Value(), UMLFactory.eINSTANCE + .createActionInputPin())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCreateChildText(Object owner, Object feature, + Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == UMLPackage.eINSTANCE + .getAction_LocalPrecondition() + || childFeature == UMLPackage.eINSTANCE + .getAction_LocalPostcondition(); + + if (qualify) { + return getString("_UI_CreateChild_text2", //$NON-NLS-1$ + new Object[]{getTypeText(childObject), + getFeatureText(childFeature), getTypeText(owner)}); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResourceLocator getResourceLocator() { + return UMLEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.editor/.classpath b/plugins/org.eclipse.uml2.uml.editor/.classpath new file mode 100644 index 00000000..751c8f2e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.uml2.uml.editor/.cvsignore b/plugins/org.eclipse.uml2.uml.editor/.cvsignore new file mode 100644 index 00000000..ba077a40 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/plugins/org.eclipse.uml2.uml.editor/.project b/plugins/org.eclipse.uml2.uml.editor/.project new file mode 100644 index 00000000..67c7cad0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.uml2.uml.editor</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF new file mode 100644 index 00000000..9f8e22dd --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.uml2.uml.editor; singleton:=true +Bundle-Version: 1.0.0 +Bundle-ClassPath: org.eclipse.uml2.uml.editor.jar +Bundle-Activator: org.eclipse.uml2.uml.editor.UMLEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Export-Package: org.eclipse.uml2.uml.editor, + org.eclipse.uml2.uml.editor.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + org.eclipse.uml2.uml.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Eclipse-LazyStart: true diff --git a/plugins/org.eclipse.uml2.uml.editor/build.properties b/plugins/org.eclipse.uml2.uml.editor/build.properties new file mode 100644 index 00000000..6a4cbd36 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/build.properties @@ -0,0 +1,19 @@ +# Copyright (c) 2005 IBM Corporation 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: +# IBM - initial API and implementation +# +# $Id: build.properties,v 1.1 2005/11/14 22:15:02 khussey Exp $ + +bin.includes = org.eclipse.uml2.uml.editor.jar,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = org.eclipse.uml2.uml.editor.jar +source.org.eclipse.uml2.uml.editor.jar = src/ +output.org.eclipse.uml2.uml.editor.jar = bin/
\ No newline at end of file diff --git a/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif b/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif Binary files differnew file mode 100644 index 00000000..93140089 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif diff --git a/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif b/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif Binary files differnew file mode 100644 index 00000000..60379db0 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif diff --git a/plugins/org.eclipse.uml2.uml.editor/plugin.properties b/plugins/org.eclipse.uml2.uml.editor/plugin.properties new file mode 100644 index 00000000..d814a4c5 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/plugin.properties @@ -0,0 +1,71 @@ +# Copyright (c) 2005 IBM Corporation 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: +# IBM - initial API and implementation +# +# $Id: plugin.properties,v 1.1 2005/11/14 22:15:02 khussey Exp $ + +# ==================================================================== +# To code developer: +# Do NOT change the properties between this line and the +# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# Make a new property name, append to the end of the file and change +# the code to use the new property. +# ==================================================================== + +# ==================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# ==================================================================== + +pluginName = UML Editor +providerName = www.example.org + +_UI_UMLEditor_menu = &UML Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_UMLModelWizard_label = UML Model +_UI_UMLModelWizard_description = Create a new UML model + +_UI_UMLEditor_label = UML Model Editor + +_UI_UMLEditorFilenameDefaultBase = My +_UI_UMLEditorFilenameExtension = uml + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ".{0}" + +_UI_ModelObject = Model Object +_UI_XMLEncoding = XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/plugins/org.eclipse.uml2.uml.editor/plugin.xml b/plugins/org.eclipse.uml2.uml.editor/plugin.xml new file mode 100644 index 00000000..f665df7e --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/plugin.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- + Copyright (c) 2005 IBM Corporation 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: + IBM - initial API and implementation + + $Id: plugin.xml,v 1.1 2005/11/14 22:15:02 khussey Exp $ +--> + +<plugin> + + + <extension + point = "org.eclipse.ui.newWizards"> + <category + id = "org.eclipse.emf.ecore.Wizard.category.ID" + name="%_UI_Wizard_category"> + </category> + <wizard + id = "org.eclipse.uml2.uml.editor.presentation.UMLModelWizardID" + name = "%_UI_UMLModelWizard_label" + class = "org.eclipse.uml2.uml.editor.presentation.UMLModelWizard" + category = "org.eclipse.emf.ecore.Wizard.category.ID" + icon = "icons/full/obj16/UMLModelFile.gif"> + <description>%_UI_UMLModelWizard_description</description> + <selection class = "org.eclipse.core.resources.IResource" /> + </wizard> + </extension> + + <extension point = "org.eclipse.ui.editors"> + <editor + id = "org.eclipse.uml2.uml.editor.presentation.UMLEditorID" + name = "%_UI_UMLEditor_label" + icon = "icons/full/obj16/UMLModelFile.gif" + extensions = "uml" + class = "org.eclipse.uml2.uml.editor.presentation.UMLEditor" + contributorClass="org.eclipse.uml2.uml.editor.presentation.UMLActionBarContributor" > + </editor> + </extension> +</plugin> diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java new file mode 100644 index 00000000..9eb16391 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLEditorPlugin.java,v 1.1 2005/11/14 22:15:02 khussey Exp $ + */ +package org.eclipse.uml2.uml.editor; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the UML editor plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class UMLEditorPlugin + extends EMFPlugin { + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final UMLEditorPlugin INSTANCE = new UMLEditorPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLEditorPlugin() { + super(new ResourceLocator[]{}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation + extends EclipseUIPlugin { + + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java new file mode 100644 index 00000000..0c537dde --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java @@ -0,0 +1,448 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLActionBarContributor.java,v 1.1 2005/11/14 22:15:02 khussey Exp $ + */ +package org.eclipse.uml2.uml.editor.presentation; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.uml2.uml.editor.UMLEditorPlugin; + +/** + * This is the action bar contributor for the UML model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UMLActionBarContributor + extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + + /** + * This keeps track of the active editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction showPropertiesViewAction = new Action( + UMLEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) //$NON-NLS-1$ + { + + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$ + } catch (PartInitException exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction refreshViewerAction = new Action(UMLEditorPlugin.INSTANCE + .getString("_UI_RefreshViewer_menu_item")) //$NON-NLS-1$ + { + + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider) activeEditorPart) + .getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLActionBarContributor() { + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void contributeToToolBar(IToolBarManager toolBarManager) { + toolBarManager.add(new Separator("uml-settings")); //$NON-NLS-1$ + toolBarManager.add(new Separator("uml-additions")); //$NON-NLS-1$ + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE + .getString("_UI_UMLEditor_menu"), "org.eclipse.uml2.umlMenuID"); //$NON-NLS-1$ //$NON-NLS-2$ + menuManager.insertAfter("additions", submenuManager); //$NON-NLS-1$ + submenuManager.add(new Separator("settings")); //$NON-NLS-1$ + submenuManager.add(new Separator("actions")); //$NON-NLS-1$ + submenuManager.add(new Separator("additions")); //$NON-NLS-1$ + submenuManager.add(new Separator("additions-end")); //$NON-NLS-1$ + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(UMLEditorPlugin.INSTANCE + .getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$ + submenuManager.insertBefore("additions", createChildMenuManager); //$NON-NLS-1$ + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager(UMLEditorPlugin.INSTANCE + .getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$ + submenuManager.insertBefore("additions", createSiblingMenuManager); //$NON-NLS-1$ + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener(new IMenuListener() { + + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, + selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection newChildDescriptors = null; + Collection newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection + && ((IStructuredSelection) selection).size() == 1) { + Object object = ((IStructuredSelection) selection) + .getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider) activeEditorPart) + .getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, + selection); + createSiblingActions = generateCreateSiblingActions( + newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, + null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection generateCreateChildActions(Collection descriptors, + ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Iterator i = descriptors.iterator(); i.hasNext();) { + actions.add(new CreateChildAction(activeEditorPart, selection, + i.next())); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection generateCreateSiblingActions(Collection descriptors, + ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Iterator i = descriptors.iterator(); i.hasNext();) { + actions.add(new CreateSiblingAction(activeEditorPart, + selection, i.next())); + } + } + return actions; + } + + /** + * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection, + * by inserting them before the specified contribution item <code>contributionID</code>. + * If <code>ID</code> is <code>null</code>, they are simply added. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void populateManager(IContributionManager manager, + Collection actions, String contributionID) { + if (actions != null) { + for (Iterator i = actions.iterator(); i.hasNext();) { + IAction action = (IAction) i.next(); + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void depopulateManager(IContributionManager manager, + Collection actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem) contributionItem) + .getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem) contributionItem) + .getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE + .getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$ + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("additions", submenuManager); //$NON-NLS-1$ + + submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE + .getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$ + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("additions", submenuManager); //$NON-NLS-1$ + } + + /** + * This inserts global actions before the "additions-end" separator. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$ + menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$ + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$ + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java new file mode 100644 index 00000000..d4ab1b87 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java @@ -0,0 +1,1548 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLEditor.java,v 1.1 2005/11/14 22:15:02 khussey Exp $ + */ +package org.eclipse.uml2.uml.editor.presentation; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; + +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EValidator; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import java.io.IOException; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +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.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.uml2.uml.edit.provider.UMLItemProviderAdapterFactory; + +import java.util.HashMap; + +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.uml2.uml.editor.UMLEditorPlugin; + +/** + * This is an example of a UML model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UMLEditor + extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, + IViewerProvider, IGotoMarker { + + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PropertySheetPage propertySheetPage; + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection selectionChangedListeners = new ArrayList(); + + /** + * This keeps track of the selection of the editor as a whole. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * This listens for when the outline becomes active + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IPartListener partListener = new IPartListener() { + + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(UMLEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } else if (p instanceof PropertySheet) { + if (((PropertySheet) p).getCurrentPage() == propertySheetPage) { + getActionBarContributor().setActiveEditor(UMLEditor.this); + handleActivate(); + } + } else if (p == UMLEditor.this) { + handleActivate(); + } + } + + public void partBroughtToTop(IWorkbenchPart p) { + } + + public void partClosed(IWorkbenchPart p) { + } + + public void partDeactivated(IWorkbenchPart p) { + } + + public void partOpened(IWorkbenchPart p) { + } + }; + + /** + * Resources that have been removed since last activation. + * @generated + */ + Collection removedResources = new ArrayList(); + + /** + * Resources that have been changed since last activation. + * @generated + */ + Collection changedResources = new ArrayList(); + + /** + * Resources that have been saved. + * @generated + */ + Collection savedResources = new ArrayList(); + + /** + * This listens for workspace changes. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + + public void resourceChanged(IResourceChangeEvent event) { + // Only listening to these. + // if (event.getType() == IResourceDelta.POST_CHANGE) + { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor + implements IResourceDeltaVisitor { + + protected ResourceSet resourceSet = editingDomain + .getResourceSet(); + + protected Collection changedResources = new ArrayList(); + + protected Collection removedResources = new ArrayList(); + + public boolean visit(IResourceDelta delta) { + if (delta.getFlags() != IResourceDelta.MARKERS + && delta.getResource().getType() == IResource.FILE) { + if ((delta.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) { + Resource resource = resourceSet + .getResource(URI.createURI(delta + .getFullPath().toString()), false); + if (resource != null) { + if ((delta.getKind() & IResourceDelta.REMOVED) != 0) { + removedResources.add(resource); + } else { + changedResources.add(resource); + } + } + } + } + + return true; + } + + public Collection getChangedResources() { + return changedResources; + } + + public Collection getRemovedResources() { + return removedResources; + } + } + + ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getShell().getDisplay().asyncExec( + new Runnable() { + + public void run() { + getSite().getPage().closeEditor( + UMLEditor.this, false); + UMLEditor.this.dispose(); + } + }); + } + } + + if (!visitor.getChangedResources().isEmpty()) { + changedResources.addAll(visitor.getChangedResources()); + } + } catch (CoreException exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(UMLEditor.this, false); + UMLEditor.this.dispose(); + } else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() + && (!isDirty() || handleDirtyConflict())) { + editingDomain.getCommandStack().flush(); + + for (Iterator i = changedResources.iterator(); i.hasNext();) { + Resource resource = (Resource) i.next(); + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(Collections.EMPTY_MAP); + } catch (IOException exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * @generated + */ + protected boolean handleDirtyConflict() { + return MessageDialog.openQuestion(getSite().getShell(), + getString("_UI_FileConflict_label"), //$NON-NLS-1$ + getString("_WARN_FileConflict")); //$NON-NLS-1$ + } + + /** + * This creates a model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLEditor() { + super(); + + // Create an adapter factory that yields item providers. + // + List factories = new ArrayList(); + factories.add(new ResourceItemProviderAdapterFactory()); + factories.add(new UMLItemProviderAdapterFactory()); + factories.add(new ReflectiveItemProviderAdapterFactory()); + + adapterFactory = new ComposedAdapterFactory(factories); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener(new CommandStackListener() { + + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec(new Runnable() { + + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack) event + .getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand + .getAffectedObjects()); + } + if (propertySheetPage != null) { + propertySheetPage.refresh(); + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, + commandStack, new HashMap()); + } + + /** + * This is here for the listener to be able to call it. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelectionToViewer(Collection collection) { + final Collection theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + // I don't know if this should be run this deferred + // because we might have to give the editor a chance to process the viewer update events + // and hence to update the views first. + // + // + Runnable runnable = new Runnable() { + + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection( + theSelection.toArray()), true); + } + } + }; + runnable.run(); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class ReverseAdapterFactoryContentProvider + extends AdapterFactoryContentProvider { + + public ReverseAdapterFactoryContentProvider( + AdapterFactory adapterFactory) { + super(adapterFactory); + } + + public Object[] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null + ? Collections.EMPTY_SET + : Collections.singleton(parent)).toArray(); + } + + public Object[] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null + ? Collections.EMPTY_SET + : Collections.singleton(parent)).toArray(); + } + + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + public Object getParent(Object object) { + return null; + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = new ISelectionChangedListener() { + + // This just notifies those things that are affected by the section. + // + public void selectionChanged( + SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer + .removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null + ? StructuredSelection.EMPTY + : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$ + contextMenu.add(new Separator("additions")); //$NON-NLS-1$ + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu = contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, viewer); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[]{LocalTransfer.getInstance()}; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter( + viewer)); + viewer.addDropSupport(dndOperations, transfers, + new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createModel() { + // I assume that the input is a file object. + // + IFileEditorInput modelFile = (IFileEditorInput) getEditorInput(); + + try { + // Load the resource through the editing domain. + // + editingDomain.loadResource(URI.createPlatformResourceURI( + modelFile.getFile().getFullPath().toString()).toString()); + } catch (Exception exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + + /** + * This is the method used by the framework to install your own controls. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer) viewerPane.getViewer(); + selectionViewer + .setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), + adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); //$NON-NLS-1$ + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer) viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer + .setContentProvider(new ReverseAdapterFactoryContentProvider( + adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); //$NON-NLS-1$ + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer) viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); //$NON-NLS-1$ + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer) viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); //$NON-NLS-1$ + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer) viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$ + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$ + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String[]{"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$ + tableViewer.setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); //$NON-NLS-1$ + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), + UMLEditor.this) { + + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer) viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$ + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$ + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String[]{"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$ + treeViewerWithColumns + .setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + treeViewerWithColumns + .setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); //$NON-NLS-1$ + } + + setActivePage(0); + + getContainer().addControlListener(new ControlAdapter() { + + boolean guard = false; + + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + } + + /** + * If there is just one page in the multi-page editor part, this hides + * the single tab at the bottom. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); //$NON-NLS-1$ + if (getContainer() instanceof CTabFolder) { + ((CTabFolder) getContainer()).setTabHeight(1); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y + 6); + } + } + } + + /** + * This is used to track the active viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object getAdapter(Class key) { + if (key.equals(IContentOutlinePage.class)) { + return getContentOutlinePage(); + } else if (key.equals(IPropertySheetPage.class)) { + return getPropertySheetPage(); + } else if (key.equals(IGotoMarker.class)) { + return this; + } else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage + extends ContentOutlinePage { + + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer + .setContentProvider(new AdapterFactoryContentProvider( + adapterFactory)); + contentOutlineViewer + .setLabelProvider(new AdapterFactoryLabelProvider( + adapterFactory)); + contentOutlineViewer.setInput(editingDomain + .getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources() + .isEmpty()) { + // Select the root object in the view. + // + ArrayList selection = new ArrayList(); + selection.add(editingDomain.getResourceSet() + .getResources().get(0)); + contentOutlineViewer.setSelection( + new StructuredSelection(selection), true); + } + } + + public void makeContributions(IMenuManager menuManager, + IToolBarManager toolBarManager, + IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, + statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, + actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage + .addSelectionChangedListener(new ISelectionChangedListener() { + + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + if (propertySheetPage == null) { + propertySheetPage = new ExtendedPropertySheetPage(editingDomain) { + + public void setSelectionToViewer(List selection) { + UMLEditor.this.setSelectionToViewer(selection); + UMLEditor.this.setFocus(); + } + + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, + actionBars); + } + }; + propertySheetPage + .setPropertySourceProvider(new AdapterFactoryContentProvider( + adapterFactory)); + } + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() + && selection instanceof IStructuredSelection) { + Iterator selectedElements = ((IStructuredSelection) selection) + .iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList selectionList = new ArrayList(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection( + selectionList)); + } else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isDirty() { + return ((BasicCommandStack) editingDomain.getCommandStack()) + .isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void doSave(IProgressMonitor progressMonitor) { + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + + // This is the method that gets invoked when the operation runs. + // + public void execute(IProgressMonitor monitor) { + try { + // Save the resource to the file system. + // + Resource savedResource = (Resource) editingDomain + .getResourceSet().getResources().get(0); + savedResources.add(savedResource); + savedResource.save(Collections.EMPTY_MAP); + } catch (Exception exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + }; + + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, + operation); + + // Refresh the necessary state. + // + ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } catch (Exception exception) { + // Something went wrong that shouldn't. + // + UMLEditorPlugin.INSTANCE.log(exception); + } + } + + /** + * This always returns true because it is not currently supported. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath() + .toString()), new FileEditorInput(file)); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + ((Resource) editingDomain.getResourceSet().getResources().get(0)) + .setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = getActionBars() + .getStatusLineManager() != null + ? getActionBars().getStatusLineManager().getProgressMonitor() + : new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void gotoMarker(IMarker marker) { + try { + if (marker.getType().equals(EValidator.MARKER)) { + String uriAttribute = marker.getAttribute( + EValidator.URI_ATTRIBUTE, null); + if (uriAttribute != null) { + URI uri = URI.createURI(uriAttribute); + EObject eObject = editingDomain.getResourceSet() + .getEObject(uri, true); + if (eObject != null) { + setSelectionToViewer(Collections + .singleton(editingDomain.getWrapper(eObject))); + } + } + } + } catch (CoreException exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } + } + + /** + * This is called during startup. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener( + resourceChangeListener, IResourceChangeEvent.POST_CHANGE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeSelectionChangedListener( + ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (Iterator listeners = selectionChangedListeners.iterator(); listeners + .hasNext();) { + ISelectionChangedListener listener = (ISelectionChangedListener) listeners + .next(); + listener + .selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null + && currentViewer == contentOutlineViewer + ? contentOutlineStatusLineManager + : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection collection = ((IStructuredSelection) selection) + .toList(); + switch (collection.size()) { + case 0 : { + statusLineManager + .setMessage(getString("_UI_NoObjectSelected")); //$NON-NLS-1$ + break; + } + case 1 : { + String text = new AdapterFactoryItemDelegator( + adapterFactory).getText(collection.iterator() + .next()); + statusLineManager.setMessage(getString( + "_UI_SingleObjectSelected", text)); //$NON-NLS-1$ + break; + } + default : { + statusLineManager + .setMessage(getString( + "_UI_MultiObjectSelected", Integer.toString(collection.size()))); //$NON-NLS-1$ + break; + } + } + } else { + statusLineManager.setMessage(""); //$NON-NLS-1$ + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key) { + return UMLEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key, Object s1) { + return UMLEditorPlugin.INSTANCE.getString(key, new Object[]{s1}); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener) getEditorSite().getActionBarContributor()) + .menuAboutToShow(menuManager); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor) getEditorSite() + .getActionBarContributor(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void dispose() { + ResourcesPlugin.getWorkspace().removeResourceChangeListener( + resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + if (propertySheetPage != null) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + +} diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java new file mode 100644 index 00000000..0c6438a1 --- /dev/null +++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java @@ -0,0 +1,659 @@ +/* + * Copyright (c) 2005 IBM Corporation 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: + * IBM - initial API and implementation + * + * $Id: UMLModelWizard.java,v 1.1 2005/11/14 22:15:02 khussey Exp $ + */ +package org.eclipse.uml2.uml.editor.presentation; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.edit.UMLEditPlugin; + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + +import org.eclipse.uml2.uml.editor.UMLEditorPlugin; + +/** + * This is a simple wizard for creating a new model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class UMLModelWizard + extends Wizard + implements INewWizard { + + /** + * This caches an instance of the model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UMLPackage umlPackage = UMLPackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UMLFactory umlFactory = umlPackage.getUMLFactory(); + + /** + * This is the file creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UMLModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UMLModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected List initialObjectNames; + + /** + * This just records the information. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(UMLEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$ + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE + .getImageDescriptor(UMLEditorPlugin.INSTANCE + .getImage("full/wizban/NewUML"))); //$NON-NLS-1$ + } + + /** + * Returns the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList(); + for (Iterator classifiers = umlPackage.getEClassifiers().iterator(); classifiers + .hasNext();) { + EClassifier eClassifier = (EClassifier) classifiers.next(); + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, java.text.Collator + .getInstance()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass) umlPackage + .getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = umlFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile + .getFullPath().toString()); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map options = new HashMap(); + options.put(XMLResource.OPTION_ENCODING, + initialObjectCreationPage.getEncoding()); + resource.save(options); + } catch (Exception exception) { + UMLEditorPlugin.INSTANCE.log(exception); + } finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench + .getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection( + modelFile); + getShell().getDisplay().asyncExec(new Runnable() { + + public void run() { + ((ISetSelectionTarget) activePart) + .selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor(new FileEditorInput(modelFile), workbench + .getEditorRegistry().getDefaultEditor( + modelFile.getFullPath().toString()).getId()); + } catch (PartInitException exception) { + MessageDialog + .openError( + workbenchWindow.getShell(), + UMLEditorPlugin.INSTANCE + .getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$ + return false; + } + + return true; + } catch (Exception exception) { + UMLEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class UMLModelWizardNewFileCreationPage + extends WizardNewFileCreationPage { + + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLModelWizardNewFileCreationPage(String pageId, + IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean validatePage() { + if (super.validatePage()) { + // Make sure the file ends in ".uml". + // + String requiredExt = UMLEditorPlugin.INSTANCE + .getString("_UI_UMLEditorFilenameExtension"); //$NON-NLS-1$ + String enteredExt = new Path(getFileName()).getFileExtension(); + if (enteredExt == null || !enteredExt.equals(requiredExt)) { + setErrorMessage(UMLEditorPlugin.INSTANCE.getString( + "_WARN_FilenameExtension", new Object[]{requiredExt})); //$NON-NLS-1$ + return false; + } else { + return true; + } + } else { + return false; + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile( + getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class UMLModelWizardInitialObjectCreationPage + extends WizardPage { + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + protected List encodings; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UMLModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(UMLEditorPlugin.INSTANCE + .getString("_UI_ModelObject")); //$NON-NLS-1$ + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (Iterator i = getInitialObjectNames().iterator(); i.hasNext();) { + initialObjectField.add(getLabel((String) i.next())); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(UMLEditorPlugin.INSTANCE + .getString("_UI_XMLEncoding")); //$NON-NLS-1$ + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (Iterator i = getEncodings().iterator(); i.hasNext();) { + encodingField.add((String) i.next()); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModifyListener validator = new ModifyListener() { + + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null + && getEncodings().contains(encodingField.getText()); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (Iterator i = getInitialObjectNames().iterator(); i.hasNext();) { + String name = (String) i.next(); + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected String getLabel(String typeName) { + try { + return UMLEditPlugin.INSTANCE + .getString("_UI_" + typeName + "_type"); //$NON-NLS-1$ + } catch (MissingResourceException mre) { + UMLEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection getEncodings() { + if (encodings == null) { + encodings = new ArrayList(); + for (StringTokenizer stringTokenizer = new StringTokenizer( + UMLEditorPlugin.INSTANCE + .getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();) //$NON-NLS-1$ + { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new UMLModelWizardNewFileCreationPage( + "Whatever", selection); //$NON-NLS-1$ + newFileCreationPage.setTitle(UMLEditorPlugin.INSTANCE + .getString("_UI_UMLModelWizard_label")); //$NON-NLS-1$ + newFileCreationPage.setDescription(UMLEditorPlugin.INSTANCE + .getString("_UI_UMLModelWizard_description")); //$NON-NLS-1$ + newFileCreationPage + .setFileName(UMLEditorPlugin.INSTANCE + .getString("_UI_UMLEditorFilenameDefaultBase") + "." + UMLEditorPlugin.INSTANCE.getString("_UI_UMLEditorFilenameExtension")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource) selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder + || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource + .getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = UMLEditorPlugin.INSTANCE + .getString("_UI_UMLEditorFilenameDefaultBase"); //$NON-NLS-1$ + String defaultModelFilenameExtension = UMLEditorPlugin.INSTANCE + .getString("_UI_UMLEditorFilenameExtension"); //$NON-NLS-1$ + String modelFilename = defaultModelBaseFilename + + "." + defaultModelFilenameExtension; //$NON-NLS-1$ + for (int i = 1; ((IContainer) selectedResource) + .findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + + "." + defaultModelFilenameExtension; //$NON-NLS-1$ + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new UMLModelWizardInitialObjectCreationPage( + "Whatever2"); //$NON-NLS-1$ + initialObjectCreationPage.setTitle(UMLEditorPlugin.INSTANCE + .getString("_UI_UMLModelWizard_label")); //$NON-NLS-1$ + initialObjectCreationPage.setDescription(UMLEditorPlugin.INSTANCE + .getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$ + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} |