blob: 83dab0d2c2586a40f07d992b4b5c2674409f4404 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<!-- Diagram declaration -->
<extension point="org.eclipse.papyrus.infra.ui.papyrusDiagram">
<creationCommand
creationCommandClass="org.eclipse.papyrus.sysml.diagram.blockdefinition.BlockDefinitionDiagramCreateCommand"
creationCondition="org.eclipse.papyrus.sysml.diagram.blockdefinition.BlockDefinitionDiagramCondition"
icon="icons/obj16/Diagram_BlockDefinition.gif"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.CreateCommand"
language="sysml"
label="Block Definition Diagram"/>
<editorDiagram
actionBarContributorId="org.eclipse.papyrus.uml.diagram.common.part.UMLDiagramActionBarContributor"
factoryClass="org.eclipse.papyrus.sysml.diagram.blockdefinition.BlockDefinitionDiagramEditorFactory"
icon="icons/obj16/Diagram_BlockDefinition.gif" />
</extension>
<!-- Diagram creation command and handler -->
<extension point="org.eclipse.ui.commands">
<command id="org.eclipse.papyrus.sysml.diagram.blockdefinition.CreateCommand"
name="Create a new Block Definition Diagram"
description="Create a new Block Definition Diagram"
categoryId="org.eclipse.papyrus.editor.category"/>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.BlockDefinitionDiagramCreateCommand"
commandId="org.eclipse.papyrus.sysml.diagram.blockdefinition.CreateCommand">
<activeWhen>
<with variable="activeEditorId">
<equals value="org.eclipse.papyrus.infra.core.papyrusEditor" />
</with>
</activeWhen>
</handler>
</extension>
<!-- Diagram creation command registration in menu and toolbar -->
<!-- Palette tool definition (defines tools possibly used by the palette(s)) -->
<!-- Diagram view providers declaration -->
<extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders">
<!-- Diagram view provider -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.BlockDefinitionDiagramViewProvider">
<Priority name="Low"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="BlockDefinition"/>
</viewProvider>
<!-- Custom graphical types view provider -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.CustomViewProvider">
<Priority name="Medium"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="SysML::ActorPartProperty, SysML::ReferenceProperty, UML::EnumerationLiteral, SysML::ConstraintBlock, UML::Signal, UML::Operation, SysML::FlowProperty, UML::PrimitiveType, UML::Port, SysML::ConstraintProperty, SysML::ValueProperty, UML::Reception, UML::Interface, UML::Constraint, UML::DataType, SysML::Unit, UML::Enumeration, SysML::ValueType, UML::Actor, UML::Property, SysML::Dimension, SysML::FlowSpecification, SysML::PartProperty, SysML::Block, SysML::FlowPort"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="shape_sysml_block_as_classifier, shape_sysml_part_as_label, shape_uml_reception_as_label, shape_uml_port_as_label, shape_sysml_valuetype_as_classifier, shape_uml_enumerationliteral_as_label, shape_sysml_constraintproperty_as_label, shape_sysml_dimension_as_classifier, shape_sysml_flowspecification_as_classifier, shape_uml_operation_as_label, shape_sysml_reference_as_label, shape_sysml_unit_as_classifier, shape_sysml_flowport_as_affixed, shape_uml_port_as_affixed, shape_uml_property_as_label, shape_uml_signal_as_classifier, shape_uml_enumeration_as_classifier, shape_uml_primitivetype_as_classifier, shape_uml_datatype_as_classifier, shape_uml_interface_as_classifier, shape_sysml_flowproperty_as_label, shape_sysml_constraintblock_as_classifier, shape_sysml_value_as_label, shape_sysml_flowport_as_label, shape_uml_actor_as_classifier, shape_uml_constraint_as_label"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="SysML::AssociationNone, UML::Dependency, SysML::Association, UML::InterfaceRealization, UML::Generalization, SysML::AssociationSharedDirected, SysML::AssociationCompositeDirected, SysML::AssociationComposite, UML::Usage, SysML::AssociationNoneDirected, SysML::AssociationShared"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="link_uml_dependency, link_uml_usage, link_uml_interfacerealization, link_sysml_association, link_uml_generalization"/>
<object id="elementtype.node"
class="org.eclipse.papyrus.gmf.diagram.common.commands.ISemanticHintAdapter(org.eclipse.papyrus.sysml.diagram.common)">
<method
name="getSemanticHint()"
value="SysML::ActorPartProperty, SysML::ReferenceProperty, UML::EnumerationLiteral, SysML::ConstraintBlock, UML::Signal, UML::Operation, SysML::FlowProperty, UML::PrimitiveType, UML::Port, SysML::ConstraintProperty, SysML::ValueProperty, UML::Reception, UML::Interface, UML::Constraint, UML::DataType, SysML::Unit, UML::Enumeration, SysML::ValueType, UML::Actor, UML::Property, SysML::Dimension, SysML::FlowSpecification, SysML::PartProperty, SysML::Block, SysML::FlowPort">
</method>
</object>
<context
elements="elementtype.node"
viewClass="org.eclipse.gmf.runtime.notation.Node">
</context>
<object id="elementtype.edge"
class="org.eclipse.papyrus.gmf.diagram.common.commands.ISemanticHintAdapter(org.eclipse.papyrus.sysml.diagram.common)">
<method
name="getSemanticHint()"
value="SysML::AssociationNone, UML::Dependency, SysML::Association, UML::InterfaceRealization, UML::Generalization, SysML::AssociationSharedDirected, SysML::AssociationCompositeDirected, SysML::AssociationComposite, UML::Usage, SysML::AssociationNoneDirected, SysML::AssociationShared">
</method>
</object>
<context
elements="elementtype.edge"
viewClass="org.eclipse.gmf.runtime.notation.Edge">
</context>
<!-- Additional descriptors provided in case the semantic hint is is not provided -->
<!-- "uml.Actor" -->
<object id="uml.Actor" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Actor"/>
</object>
<context
elements="uml.Actor"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Class" -->
<object id="uml.Class" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Class"/>
</object>
<context
elements="uml.Class"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Constraint" -->
<object id="uml.Constraint" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Constraint"/>
</object>
<context
elements="uml.Constraint"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.DataType" -->
<object id="uml.DataType" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.DataType"/>
</object>
<context
elements="uml.DataType"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Enumeration" -->
<object id="uml.Enumeration" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Enumeration"/>
</object>
<context
elements="uml.Enumeration"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.EnumerationLiteral" -->
<object id="uml.EnumerationLiteral" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.EnumerationLiteral"/>
</object>
<context
elements="uml.EnumerationLiteral"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.InstanceSpecification" -->
<object id="uml.InstanceSpecification" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.InstanceSpecification"/>
</object>
<context
elements="uml.InstanceSpecification"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Interface" -->
<object id="uml.Interface" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Interface"/>
</object>
<context
elements="uml.Interface"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Operation" -->
<object id="uml.Operation" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Operation"/>
</object>
<context
elements="uml.Operation"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Port" -->
<object id="uml.Port" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Port"/>
</object>
<context
elements="uml.Port"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.PrimitiveType" -->
<object id="uml.PrimitiveType" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.PrimitiveType"/>
</object>
<context
elements="uml.PrimitiveType"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Property" -->
<object id="uml.Property" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Property"/>
</object>
<context
elements="uml.Property"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Reception" -->
<object id="uml.Reception" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Reception"/>
</object>
<context
elements="uml.Reception"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Signal" -->
<object id="uml.Signal" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Signal"/>
</object>
<context
elements="uml.Signal"
viewClass="org.eclipse.gmf.runtime.notation.Node"/>
<!-- "uml.Association" -->
<object id="uml.Association" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Association"/>
</object>
<context
elements="uml.Association"
viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
<!-- "uml.Dependency" -->
<object id="uml.Dependency" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Dependency"/>
</object>
<context
elements="uml.Dependency"
viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
<!-- "uml.Generalization" -->
<object id="uml.Generalization" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Generalization"/>
</object>
<context
elements="uml.Generalization"
viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
<!-- "uml.InterfaceRealization" -->
<object id="uml.InterfaceRealization" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.InterfaceRealization"/>
</object>
<context
elements="uml.InterfaceRealization"
viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
<!-- "uml.Usage" -->
<object id="uml.Usage" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Usage"/>
</object>
<context
elements="uml.Usage"
viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
</viewProvider>
<!-- ViewProvider for inherited elements (from ClassDiagram ViewProvider) -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.InheritedClassDiagramViewProvider">
<Priority name="Low"/>
<!-- Load the ViewProvider on following SemanticHint related to IElementType(s) used in the palette (also used for legacy elements) -->
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="UML::Model, UML::Package, UML::InstanceSpecification, UML::Comment, UML::Constraint, UML::Slot"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="Model_Shape, Model_Shape_CN, Package_Shape, Package_Shape_CN, InstanceSpecification_Shape, InstanceSpecification_Shape_CN, Constraint_Shape, Constraint_Shape_CN, Comment_Shape, Comment_Shape_CN"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="Slot_SlotLabel"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="Comment_AnnotatedElementEdge, Constraint_ConstrainedElementEdge"/>
<!-- Additional descriptors provided in case the semantic hint is is not provided -->
<!-- "uml.Model" -->
<object id="uml.Model" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Model"/>
</object>
<!-- "uml.Package" -->
<object id="uml.Package" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Package"/>
</object>
<!-- "uml.InstanceSpecification" -->
<object id="uml.InstanceSpecification" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.InstanceSpecification"/>
</object>
<!-- "uml.Constraint" -->
<object id="uml.Constraint" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Constraint"/>
</object>
<!-- "uml.Comment" -->
<object id="uml.Comment" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Comment"/>
</object>
<!-- "uml.Slot" -->
<object id="uml.Slot" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Slot"/>
</object>
<!-- Additional activation contexts for nodes semantic objects -->
<context viewClass="org.eclipse.gmf.runtime.notation.Node"
elements="uml.Model, uml.Package, uml.InstanceSpecification, uml.Constraint, uml.Comment, uml.Slot"/>
</viewProvider>
</extension>
<!-- Diagram edit part providers declaration -->
<extension point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders">
<!-- Diagram edit part provider -->
<editpartProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.BlockDefinitionDiagramEditPartProvider">
<Priority name="Low"/>
<object
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.Diagram"
class="org.eclipse.gmf.runtime.notation.Diagram">
<method name="getType()" value="BlockDefinition"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.blockdefinition.Diagram"/>
</editpartProvider>
<!-- Custom graphical types edit part provider -->
<editpartProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.CustomEditPartProvider">
<Priority name="Medium"/>
<object
class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomNodeGraphicalTypes">
<method name="getType()" value="shape_sysml_block_as_classifier, shape_sysml_part_as_label, shape_uml_reception_as_label, shape_uml_port_as_label, shape_sysml_valuetype_as_classifier, shape_uml_enumerationliteral_as_label, shape_sysml_constraintproperty_as_label, shape_sysml_dimension_as_classifier, shape_sysml_flowspecification_as_classifier, shape_uml_operation_as_label, shape_sysml_reference_as_label, shape_sysml_unit_as_classifier, shape_sysml_flowport_as_affixed, shape_uml_port_as_affixed, shape_uml_property_as_label, shape_uml_signal_as_classifier, shape_uml_enumeration_as_classifier, shape_uml_primitivetype_as_classifier, shape_uml_datatype_as_classifier, shape_uml_interface_as_classifier, shape_sysml_flowproperty_as_label, shape_sysml_constraintblock_as_classifier, shape_sysml_value_as_label, shape_sysml_flowport_as_label, shape_uml_actor_as_classifier, shape_uml_constraint_as_label"/>
</object>
<object
class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomGraphicalTypes_Decorations">
<method name="getType()" value="linklabel_uml_association_target_role, compartment_sysml_value_as_list, label_sysml_block_name, compartment_sysml_flowproperty_as_list, affixedlabel_uml_port_label, affixedlabel_sysml_flowport_label, linklabel_uml_association_source_multiplicity, label_sysml_dimension_name, linklabel_uml_appliedstereotype, linklabel_uml_association_source_role, linklabel_uml_association_target_multiplicity, compartment_sysml_constraint_as_list, label_sysml_valuetype_name, compartment_sysml_flowport_as_list, linklabel_uml_namedelement_name, compartment_sysml_reference_as_list, label_sysml_flowspecification_name, compartment_uml_property_as_list, label_sysml_unit_name, affixedlabel_uml_namedelement_name, compartment_uml_port_as_list, label_sysml_constraintblock_name, compartment_sysml_parameter_as_list, compartment_sysml_property_as_list, compartment_uml_enumerationliteral_as_list, affixedlabel_uml_appliedstereotype, compartment_uml_operation_as_list, compartment_sysml_part_as_list, label_uml_namedelement_name"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomNodeGraphicalTypes"/>
<context views="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomGraphicalTypes_Decorations"/>
<object
class="org.eclipse.gmf.runtime.notation.Edge(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomEdgeGraphicalTypes">
<method name="getType()" value="link_uml_dependency, link_uml_usage, link_uml_interfacerealization, link_sysml_association, link_uml_generalization"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.blockdefinition.CustomEdgeGraphicalTypes"/>
</editpartProvider>
<!-- EditPartProvider for inherited elements (from ClassDiagram) -->
<editpartProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.InheritedClassDiagramEditPartProvider">
<Priority name="Low"/>
<object
id="MODEL"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Model_Shape, Model_NameLabel, Model_PackagedElementCompartment"/>
</object>
<object
id="MODEL_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Model_Shape_CN, Model_NameLabel_CN, Model_PackagedElementCompartment_CN"/>
</object>
<object
id="PACKAGE"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Package_Shape, Package_NameLabel, Package_PackagedElementCompartment"/>
</object>
<object
id="PACKAGE_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Package_Shape_CN, Package_NameLabel_CN, Package_PackagedElementCompartment_CN"/>
</object>
<object
id="INSTANCE_SPECIFICATION"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="InstanceSpecification_Shape, InstanceSpecification_NameLabel, InstanceSpecification_SlotCompartment"/>
</object>
<object
id="INSTANCE_SPECIFICATION_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="InstanceSpecification_Shape_CN, InstanceSpecification_NameLabel_CN, InstanceSpecification_SlotCompartment_CN"/>
</object>
<object
id="CONSTRAINT"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Constraint_Shape, Constraint_NameLabel, Constraint_BodyLabel"/>
</object>
<object
id="CONSTRAINT_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Constraint_Shape_CN, Constraint_NameLabel_CN, Constraint_FloatingNameLabel_CN"/>
</object>
<object
id="COMMENT"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Comment_Shape, Comment_BodyLabel"/>
</object>
<object
id="COMMENT_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Comment_Shape_CN, Comment_BodyLabel_CN"/>
</object>
<object
id="INSTANCE_SPECIFICATION_SLOT_CLN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Slot_SlotLabel"/>
</object>
<object
id="COMMENT_ANNOTATED_ELEMENT"
class="org.eclipse.gmf.runtime.notation.Edge">
<method name="getType()" value="Comment_AnnotatedElementEdge"/>
</object>
<object
id="CONSTRAINT_CONSTRAINED_ELEMENT"
class="org.eclipse.gmf.runtime.notation.Edge">
<method name="getType()" value="Constraint_ConstrainedElementEdge"/>
</object>
<context views="MODEL, MODEL_CN, PACKAGE, PACKAGE_CN, INSTANCE_SPECIFICATION, INSTANCE_SPECIFICATION_CN, CONSTRAINT, CONSTRAINT_CN, COMMENT, COMMENT_CN"/>
<context views="INSTANCE_SPECIFICATION_SLOT_CLN"/>
<context views="COMMENT_ANNOTATED_ELEMENT, CONSTRAINT_CONSTRAINED_ELEMENT"/>
</editpartProvider>
</extension>
<!-- Diagram edit policy provider -->
<extension
point="org.eclipse.gmf.runtime.diagram.ui.editpolicyProviders">
<editpolicyProvider
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.CustomEditPolicyProvider">
<Priority name="Low"/>
</editpolicyProvider>
</extension>
<!-- Preference pages declaration -->
<extension point="org.eclipse.ui.preferencePages" id="prefpages">
<!-- Diagram Preference pages declaration -->
<page
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.preferences"
name="BlockDefinition Diagram"
category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.preferences.BlockDefinitionDiagramGeneralPreferencePage">
</page>
</extension>
<!-- Parser provider declaration -->
<extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders">
<ParserProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.ParserProvider">
<Priority name="Low"/>
</ParserProvider>
</extension>
<!-- Validation markers declaration -->
<extension point="org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders" id="markers-navigation">
<MarkerNavigationProvider class="org.eclipse.papyrus.gmf.diagram.common.provider.MarkerNavigationProvider">
<MarkerType name="org.eclipse.papyrus.sysml.diagram.blockdefinition.diagnostic"/>
<Priority name="Lowest"/>
</MarkerNavigationProvider>
</extension>
<extension id="diagnostic" name="Block Definition Diagram problems" point="org.eclipse.core.resources.markers">
<super type="org.eclipse.core.resources.problemmarker"/>
<super type="org.eclipse.gmf.runtime.common.ui.services.marker"/>
<persistent value="true"/>
</extension>
<extension id="validationDecoratorProvider" name="ValidationDecorations" point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
<decoratorProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.ValidationDecoratorProvider">
<Priority name="Lowest"/>
<object class="org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart(org.eclipse.gmf.runtime.diagram.ui)" id="PRIMARY_VIEW"/>
<context decoratorTargets="PRIMARY_VIEW"/>
</decoratorProvider>
</extension>
<!-- The Command to manages the Provided and Required Interfaces for a Port-->
<extension
point="org.eclipse.ui.commands">
<command
categoryId="org.eclipse.papyrus.editor.category"
description="Allows to manage easily provided Interfaces for a Port"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.command.manage.interfaces"
name="Manage Provided Interfaces">
</command>
</extension>
<!-- The Handler to manages the Provided and Required Interfaces for a Port-->
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.handler.BlockDefinitionManageInterfacesHandler"
commandId="org.eclipse.papyrus.sysml.diagram.blockdefinition.command.manage.interfaces">
<activeWhen>
<and>
<or>
<with variable="selection">
<iterate>
<instanceof value="org.eclipse.papyrus.uml.diagram.common.edit.part.DefaultChildLabelEditPart"/>
</iterate>
</with>
<with variable="selection">
<iterate>
<instanceof value="org.eclipse.papyrus.uml.diagram.common.edit.part.PortAffixedNodeEditPart"/>
</iterate>
</with>
</or>
<with variable="activeEditor">
<test property="org.eclipse.papyrus.uml.diagram.common.diagram.tester.diagramType" value="BlockDefinition" forcePluginActivation="true"/>
</with>
</and>
</activeWhen>
</handler>
</extension>
<!-- Add the Menu to manages the Provided and Required Interfaces for a Port-->
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?endof=editMenu">
<command
commandId="org.eclipse.papyrus.sysml.diagram.blockdefinition.command.manage.interfaces"
icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.popup.manage.interface"
label="Manage Interfaces"
mnemonic="&amp;I"
style="push"
tooltip="The command to manage the interfaces provided and required by a Port">
<!-- The action is visible only if there is an active handler for it -->
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- Diagram specific advices -->
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
<metamodel nsURI="http://www.eclipse.org/uml2/5.0.0/UML">
<!-- Delete moved views advice -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringMoveHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringMoveHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.uml.Element">
</adviceBinding>
<!-- Generalization specific advices (remove inconsistent views when a Generalization is deleted) -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.GeneralizationHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.GeneralizationHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.uml.Generalization">
</adviceBinding>
<!-- Part specific advices (remove inconsistent views when a Part aggregation kind changes) -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringPartEditHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringPartEditHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.sysml.PartProperty">
</adviceBinding>
<!-- Reference specific advices (remove inconsistent views when a reference aggregation kind changes) -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringReferenceEditHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringReferenceEditHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.sysml.ReferenceProperty">
</adviceBinding>
<!-- Value specific advices (remove inconsistent views when a value aggregation or type changes) -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringValueEditHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringValueEditHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.sysml.ValueProperty">
</adviceBinding>
<!-- Block specific advices (remove inconsistent Part or Ref views when a Block is deleted)
Not used (the property itself is supposed to be deleted during Block delete, no need to create a specific view deletion.
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringBlockDeleteHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringBlockDeleteHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.sysml.Block">
</adviceBinding>
-->
<!-- DataType specific advices (remove inconsistent Value views when a DataType is deleted) -->
<adviceBinding id="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringDataTypeDeleteHelperAdvice"
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.helper.advice.DeleteViewDuringDataTypeDeleteHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.sysml.DataType">
</adviceBinding>
</metamodel>
</extension>
<!-- UML ElementType bindings to Papyrus shared IClientContext -->
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
<!-- Bindings declaration to shared IClientContext -->
<binding context="org.eclipse.papyrus.infra.services.edit.TypeContext">
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.GeneralizationHelperAdvice"/>
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringMoveHelperAdvice"/>
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringPartEditHelperAdvice"/>
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringReferenceEditHelperAdvice"/>
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringValueEditHelperAdvice"/>
<elementType ref="org.eclipse.papyrus.sysml.diagram.blockdefinition.DeleteViewDuringDataTypeDeleteHelperAdvice"/>
</binding>
</extension>
<!-- // End of user code
-->
<extension point="org.eclipse.papyrus.infra.gmfdiag.common.notationTypesMapping">
<diagramMappings diagramID="BlockDefinition">
<mapping type="BlockDefinition" humanReadableType="BlockDefinitionDiagram"/>
<!-- Compartments -->
<mapping
humanReadableType="literals"
type="compartment_uml_enumerationliteral_as_list">
</mapping>
<mapping
humanReadableType="operations"
type="compartment_uml_operation_as_list">
</mapping>
<mapping
humanReadableType="standard ports"
type="compartment_uml_port_as_list">
</mapping>
<mapping
humanReadableType="properties"
type="compartment_uml_property_as_list">
</mapping>
<mapping
humanReadableType="constraints"
type="compartment_sysml_constraint_as_list">
</mapping>
<mapping
humanReadableType="flow ports"
type="compartment_sysml_flowport_as_list">
</mapping>
<mapping
humanReadableType="flow properties"
type="compartment_sysml_flowproperty_as_list">
</mapping>
<mapping
humanReadableType="parameters"
type="compartment_sysml_parameter_as_list">
</mapping>
<mapping
humanReadableType="parts"
type="compartment_sysml_part_as_list">
</mapping>
<mapping
humanReadableType="references"
type="compartment_sysml_reference_as_list">
</mapping>
<mapping
humanReadableType="values"
type="compartment_sysml_value_as_list">
</mapping>
<mapping
humanReadableType="properties"
type="compartment_sysml_property_as_list">
</mapping>
<!-- Link labels -->
<mapping
humanReadableType="Name"
type="affixedlabel_uml_namedelement_name">
</mapping>
<mapping
humanReadableType="Name"
type="affixedlabel_uml_appliedstereotype">
</mapping>
<mapping
humanReadableType="Label"
type="affixedlabel_uml_port_label">
</mapping>
<mapping
humanReadableType="Label"
type="affixedlabel_sysml_flowport_label">
</mapping>
<mapping
humanReadableType="Stereotype"
type="linklabel_uml_appliedstereotype">
</mapping>
<mapping
humanReadableType="Name"
type="linklabel_uml_namedelement_name">
</mapping>
<mapping
humanReadableType="SourceMultiplicity"
type="linklabel_uml_association_source_multiplicity">
</mapping>
<mapping
humanReadableType="SourceRole"
type="linklabel_uml_association_source_role">
</mapping>
<mapping
humanReadableType="TargetMultiplicity"
type="linklabel_uml_association_target_multiplicity">
</mapping>
<mapping
humanReadableType="TargetRole"
type="linklabel_uml_association_target_role">
</mapping>
<mapping
humanReadableType="slots"
type="InstanceSpecification_SlotCompartment">
</mapping>
<mapping
humanReadableType="slots"
type="InstanceSpecification_SlotCompartment_CN">
</mapping>
<mapping
humanReadableType="packagedElements"
type="Model_PackagedElementCompartment_CN">
</mapping>
<mapping
humanReadableType="packagedElements"
type="Package_PackagedElementCompartment_CN">
</mapping>
<mapping
humanReadableType="packagedElements"
type="Model_PackagedElementCompartment">
</mapping>
<mapping
humanReadableType="packagedElements"
type="Package_PackagedElementCompartment">
</mapping>
</diagramMappings>
</extension>
<extension
point="org.eclipse.papyrus.infra.gmfdiag.common.diagramReconciler">
<diagramReconciler
diagramType="BlockDefinition"
reconcilerClass="org.eclipse.papyrus.sysml.diagram.blockdefinition.migration.BDDReconciler"
source="0.9.1"
target="1.3.0">
</diagramReconciler>
<diagramReconciler
diagramType="BlockDefinition"
reconcilerClass="org.eclipse.papyrus.uml.diagram.clazz.custom.migration.ClassReconciler_1_1_0"
source="1.0.0"
target="1.3.0">
</diagramReconciler>
<diagramReconciler
diagramType="BlockDefinition"
reconcilerClass="org.eclipse.papyrus.uml.diagram.clazz.custom.migration.ClassReconcilerForCompartment_1_2_0"
source="1.1.0"
target="1.3.0">
</diagramReconciler>
<diagramReconciler
diagramType="BlockDefinition"
reconcilerClass="org.eclipse.papyrus.uml.diagram.clazz.custom.migration.ClassReconciler_1_2_0"
source="1.1.0"
target="1.3.0">
</diagramReconciler>
</extension>
<extension
point="org.eclipse.papyrus.infra.gmfdiag.common.visualTypeProviders">
<visualTypeProvider
class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.BlockDefinitionVisualTypeProvider"
diagramType="BlockDefinition">
</visualTypeProvider>
</extension>
<extension point="org.eclipse.papyrus.infra.gmfdiag.common.paletteDefinition">
<paletteDefinition
ID="org.eclipse.papyrus.sysml.diagram.blockdefinition.paletteconfiguration"
class="org.eclipse.papyrus.infra.gmfdiag.common.service.palette.ExtendedPluginPaletteProvider"
name="Papyrus SysML blockdefinition editor Plugin Palette"
path="palettes/PapyrusSYSMLBlockDefinitionDiagram.paletteconfiguration"
provider="Eclipse Modeling Project">
<Priority
name="Lowest">
</Priority>
<!-- Specify diagram this palette tools relate to -->
<editor
id="org.eclipse.papyrus.sysml.diagram.blockdefinition">
</editor>
</paletteDefinition>
</extension>
</plugin>