blob: 388b6e10ed8d77ca479654673e5644ba7730fd83 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<!-- Diagram declaration -->
<extension point="org.eclipse.papyrus.core.papyrusDiagram">
<creationCommand
creationCommandClass="org.eclipse.papyrus.sysml.diagram.internalblock.InternalBlockDiagramCreateCommand"
icon="icons/obj16/Diagram_InternalBlock.gif"
id="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand"
language="sysml"
label="Internal Block Diagram"/>
<editorDiagram
actionBarContributorId="org.eclipse.papyrus.uml.diagram.common.part.UMLDiagramActionBarContributor"
factoryClass="org.eclipse.papyrus.sysml.diagram.internalblock.InternalBlockDiagramEditorFactory"
icon="icons/obj16/Diagram_InternalBlock.gif" />
</extension>
<!-- Diagram creation command and handler -->
<extension point="org.eclipse.ui.commands">
<command id="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand"
name="Create a new Internal Block Diagram"
description="Create a new Internal Block Diagram"
categoryId="org.eclipse.papyrus.editor.category"/>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.papyrus.sysml.diagram.internalblock.InternalBlockDiagramCreateCommand"
commandId="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand">
<activeWhen>
<with variable="activeEditorId">
<equals value="org.eclipse.papyrus.core.papyrusEditor" />
</with>
</activeWhen>
</handler>
</extension>
<!-- Diagram creation command registration in menu and toolbar -->
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:org.eclipse.papyrus.ui.menu">
<menu id="org.eclipse.papyrus.diagram.ui.menu.diagrams" label="Diagrams">
<command commandId="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand"
icon="icons/obj16/Diagram_InternalBlock.gif" label="Create a new Internal Block Diagram"
style="push" tooltip="Create a new Internal Block Diagram">
<visibleWhen>
<reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
</visibleWhen>
</command>
</menu>
</menuContribution>
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="org.eclipse.papyrus.diagram.ui.toolbar">
<command commandId="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand"
icon="icons/obj16/Diagram_InternalBlock.gif" label="Create a new Internal Block Diagram"
style="push" tooltip="Create a new Internal Block Diagram">
<visibleWhen>
<reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
</visibleWhen>
</command>
</toolbar>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.papyrus.modelexplorer.popupmenu.creatediagram">
<command commandId="org.eclipse.papyrus.sysml.diagram.internalblock.CreateCommand"
icon="icons/obj16/Diagram_InternalBlock.gif"
label="Create a new Internal Block Diagram"
style="push"
tooltip="Create a new Internal Block Diagram">
<visibleWhen>
<reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- Palette tool definition (defines tools possibly used by the palette(s)) -->
<extension point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders"
name="SYSML_InternalBlock_Predefined_Entries"
id="org.eclipse.papyrus.sysml.diagram.blockdefinition.palettedefinition">
<paletteProvider class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider">
<Priority name="Lowest"/> <!-- Lower priority than Palette tool declaration -->
<!-- SysML Internal Block Diagram specific tool definition -->
<contribution
factoryClass="org.eclipse.papyrus.sysml.diagram.internalblock.factory.DiagramPaletteFactory">
<!-- internalblock.tool.blockcomposite -->
<entry
defineOnly="true"
description="Create a BlockComposite"
id="internalblock.tool.blockcomposite"
kind="tool"
label="BlockComposite"
large_icon="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Block.gif"
small_icon="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Block.gif">
</entry>
<!-- internalblock.tool.blockpropertycomposite -->
<entry
defineOnly="true"
description="Create a BlockPropertyComposite"
id="internalblock.tool.blockpropertycomposite"
kind="tool"
label="BlockPropertyComposite"
large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif"
small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
</entry>
<!-- internalblock.tool.flowport -->
<entry
defineOnly="true"
description="Create a FlowPort"
id="internalblock.tool.flowport"
kind="tool"
label="FlowPort"
large_icon="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif"
small_icon="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif">
</entry>
<!-- internalblock.tool.port -->
<entry
defineOnly="true"
description="Create a Port"
id="internalblock.tool.port"
kind="tool"
label="Port"
large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif"
small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif">
</entry>
<!-- Start of user code Custom node button entry
-->
<!-- End of user code -->
<!-- internalblock.tool.connector -->
<entry
defineOnly="true"
description="Create a Connector"
id="internalblock.tool.connector"
kind="tool"
label="Connector"
large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif"
small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif">
</entry>
<!-- internalblock.tool.dependency -->
<entry
defineOnly="true"
description="Create a Dependency"
id="internalblock.tool.dependency"
kind="tool"
label="Dependency"
large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif"
small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif">
</entry>
<!-- Start of user code Custom edge button entry
-->
<!-- End of user code -->
</contribution>
<!-- Specify diagram this palette tools relate to -->
<editor id="org.eclipse.papyrus.sysml.diagram.internalblock"/>
</paletteProvider>
</extension>
<!-- Palette tool declaration (declares the real palette containment) -->
<extension point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition"
name="SYSML_InternalBlock">
<paletteDefinition ID="SYSML_InternalBlock"
class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
name="SYSML_InternalBlock" icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
path="palettes/internalblock.palette.xml"
provider="CEA LIST">
<Priority name="Low"/>
<!-- Specify diagram this palette tools relate to -->
<editor id="org.eclipse.papyrus.sysml.diagram.internalblock"/>
</paletteDefinition>
</extension>
<!-- Diagram view providers declaration -->
<extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders">
<!-- Diagram view provider -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.internalblock.provider.InternalBlockDiagramViewProvider">
<Priority name="Low"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="InternalBlock"/>
</viewProvider>
<!-- Custom graphical types view provider -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.internalblock.provider.CustomViewProvider">
<Priority name="Medium"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="SysML::ReferenceProperty, SysML::FlowPort_In, UML::Port, SysML::FlowPort_Out, SysML::PartProperty, SysML::FlowPort_InOut, SysML::FlowPort, SysML::Block"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="shape_sysml_flowport_as_affixed, shape_sysml_block_as_composite, shape_uml_port_as_affixed, shape_sysml_blockproperty_as_composite"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="UML::Dependency, UML::Connector"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="link_uml_connector, link_uml_dependency"/>
<!-- Additional descriptors provided in case the semantic hint is is not provided -->
<!-- "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 viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="uml.Class"/>
<!-- "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 viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="uml.Port"/>
<!-- "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 viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="uml.Property"/>
<!-- "uml.Connector" -->
<object id="uml.Connector" class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)">
<method name="getProxyClassID()" value="uml.Connector"/>
</object>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="uml.Connector"/>
<!-- "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 viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="uml.Dependency"/>
</viewProvider>
<!-- ViewProvider for inherited elements (from CompositeDiagram ViewProvider) -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.internalblock.provider.InheritedCompositeDiagramViewProvider">
<Priority name="Low"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="Constraint_Shape, Comment_Shape_CN, Comment_Shape, Constraint_Shape_CN"/>
<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.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>
<!-- Additional activation contexts for nodes semantic objects -->
<context viewClass="org.eclipse.gmf.runtime.notation.Node"
elements="uml.Constraint, uml.Comment"/>
</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.internalblock.provider.InternalBlockDiagramEditPartProvider">
<Priority name="Low"/>
<object
id="org.eclipse.papyrus.sysml.diagram.internalblock.Diagram"
class="org.eclipse.gmf.runtime.notation.Diagram">
<method name="getType()" value="InternalBlock"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.internalblock.Diagram"/>
</editpartProvider>
<!-- Custom graphical types edit part provider -->
<editpartProvider class="org.eclipse.papyrus.sysml.diagram.internalblock.provider.CustomEditPartProvider">
<Priority name="Medium"/>
<object
class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.internalblock.CustomNodeGraphicalTypes">
<method name="getType()" value="shape_sysml_flowport_as_affixed, shape_sysml_block_as_composite, shape_uml_port_as_affixed, shape_sysml_blockproperty_as_composite"/>
</object>
<object
class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.internalblock.CustomGraphicalTypes_Decorations">
<method name="getType()" value="linklabel_uml_connector_target_multiplicity, label_uml_property_label, linklabel_uml_appliedstereotype, label_sysml_block_name, compartment_sysml_structure, affixedlabel_uml_port_label, linklabel_uml_connector_source_multiplicity, linklabel_uml_namedelement_name, linklabel_uml_connector_label, compartment_sysml_blockproperty_structure, affixedlabel_uml_appliedstereotype, affixedlabel_sysml_flowport_label"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.internalblock.CustomNodeGraphicalTypes"/>
<context views="org.eclipse.papyrus.sysml.diagram.internalblock.CustomGraphicalTypes_Decorations"/>
<object
class="org.eclipse.gmf.runtime.notation.Edge(org.eclipse.gmf.runtime.notation)"
id="org.eclipse.papyrus.sysml.diagram.internalblock.CustomEdgeGraphicalTypes">
<method name="getType()" value="link_uml_connector, link_uml_dependency"/>
</object>
<context views="org.eclipse.papyrus.sysml.diagram.internalblock.CustomEdgeGraphicalTypes"/>
</editpartProvider>
<!-- EditPartProvider for inherited elements (from CompositeDiagram) -->
<editpartProvider class="org.eclipse.papyrus.sysml.diagram.internalblock.provider.InheritedCompositeDiagramEditPartProvider">
<Priority name="Low"/>
<object
id="CONSTRAINT"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Constraint_Shape, Constraint_NameLabel, Constraint_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="COMMENT"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Comment_Shape, Comment_BodyLabel"/>
</object>
<object
id="CONSTRAINT_CN"
class="org.eclipse.gmf.runtime.notation.Node">
<method name="getType()" value="Constraint_Shape_CN, Constraint_NameLabel_CN, Constraint_BodyLabel_CN"/>
</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="CONSTRAINT, COMMENT_CN, COMMENT, CONSTRAINT_CN"/>
<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.internalblock.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.internalblock.preferences"
name="InternalBlock Diagram"
category="org.eclipse.papyrus.preferences.diagrams"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.InternalBlockDiagramGeneralPreferencePage">
</page>
<!-- Element Preference pages declaration -->
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConstraintPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConstraintPreferencePage"
name="Constraint">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.CommentPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.CommentPreferencePage"
name="Comment">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.CommentAnnotatedElementPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.CommentAnnotatedElementPreferencePage"
name="CommentAnnotatedElement">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConstraintConstrainedElementPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConstraintConstrainedElementPreferencePage"
name="ConstraintConstrainedElement">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.BlockCompositePreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.BlockCompositePreferencePage"
name="BlockComposite">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.BlockPropertyCompositePreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.BlockPropertyCompositePreferencePage"
name="BlockPropertyComposite">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.FlowPortPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.FlowPortPreferencePage"
name="FlowPort">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.PortPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.PortPreferencePage"
name="Port">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConnectorPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.ConnectorPreferencePage"
name="Connector">
</page>
<page category="org.eclipse.papyrus.sysml.diagram.internalblock.preferences"
class="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.DependencyPreferencePage"
id="org.eclipse.papyrus.sysml.diagram.internalblock.preferences.DependencyPreferencePage"
name="Dependency">
</page>
</extension>
<!-- // Start of user code custom extensions
-->
<!-- Insert custom extensions here. -->
<!--
Handler declaration for the Interface Manager Command.
The handler is enabled only if the selected element is a Port (excluding FlowPort) in an InternalBlockDiagram.
-->
<extension point="org.eclipse.ui.handlers">
<handler commandId="org.eclipse.papyrus.uml.diagram.composite.command.manage.interfaces"
class="org.eclipse.papyrus.uml.diagram.composite.custom.actions.ManageProvidedInterfacesHandler">
<activeWhen>
<and>
<with variable="selection">
<iterate>
<instanceof value="org.eclipse.papyrus.uml.diagram.composite.edit.parts.PortEditPart"/>
</iterate>
</with>
<with variable="activeEditor">
<test property="org.eclipse.papyrus.uml.diagram.common.diagram.tester.diagramType" value="InternalBlock" forcePluginActivation="true"/>
</with>
<with variable="selection">
<test property="org.eclipse.papyrus.uml.diagram.internalblock.tester.selection.isFlowPort" value="false" forcePluginActivation="true"/>
</with>
</and>
</activeWhen>
</handler>
</extension>
<!--
Add a property tester for this diagram.
The tested properties allow to enable/disable handlers for commands .
-->
<extension point="org.eclipse.core.expressions.propertyTesters">
<propertyTester id="org.eclipse.papyrus.uml.diagram.internalblock.tester.selection" type="org.eclipse.jface.viewers.ISelection"
namespace="org.eclipse.papyrus.uml.diagram.internalblock.tester.selection" properties="isFlowPort"
class="org.eclipse.papyrus.sysml.diagram.internalblock.utils.InternalBlockDiagramTester">
</propertyTester>
</extension>
<!-- // End of user code
-->
</plugin>