Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SCA/Components/SCA CompositeDesignerExtension
< SCA
To extend the SCA Composite Designer:
- Create a new plugin-in
- Add the following dependencies:
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.expressions,
- org.eclipse.jface,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.ui.navigator,
- org.eclipse.ui.navigator.resources,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.emf.edit.ui,
- org.eclipse.gmf.runtime.emf.core,
- org.eclipse.gmf.runtime.emf.commands.core,
- org.eclipse.gmf.runtime.emf.ui.properties,
- org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.gmf.runtime.diagram.ui.properties,
- org.eclipse.gmf.runtime.diagram.ui.providers,
- org.eclipse.gmf.runtime.diagram.ui.providers.ide,
- org.eclipse.gmf.runtime.diagram.ui.render,
- org.eclipse.gmf.runtime.diagram.ui.resources.editor,
- org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
- org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport,
- org.eclipse.gef;visibility:=reexport,
- org.eclipse.stp.sca.diagram.extension,
- org.eclipse.stp.sca.diagram,
- xyz.yourmodel,
- xyz.yourmodel.edit
- Extend the required extension points:
- org.eclipse.gmf.runtime.emf.type.core.elementTypes
- org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings
- org.eclipse.stp.sca.diagram.AdaptorFactories
- org.eclipse.stp.sca.diagram.extension.implementations
- org.eclipse.stp.sca.diagram.extension.interfaces
- org.eclipse.stp.sca.diagram.extension.bindings
- org.eclipse.stp.sca.diagram.ImplementationEntryPalette
- org.eclipse.stp.sca.diagram.InterfaceEntryPalette
- org.eclipse.stp.sca.diagram.BindingEntryPalette
Example
<plugin> <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes"> <metamodel nsURI="http://frascati.ow2.org"> <metamodelType id="org.eclipse.stp.sca.diagram.frascati.FractalImplementation" name="FractalImplementation" eclass="FractalImplementation" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"> <param name="semanticHint" value="org.eclipse.stp.sca.diagram.frascati.FractalImplementation"/> </metamodelType> <metamodelType id="org.eclipse.stp.sca.diagram.frascati.JBIBinding" name="JBIBinding" eclass="JBIBinding" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"> <param name="semanticHint" value="org.eclipse.stp.sca.diagram.frascati.JBIBinding"/> </metamodelType> </metamodel> </extension> <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> <clientContext id="ScaClientContext"> <enablement> <test property="org.eclipse.gmf.runtime.emf.core.editingDomain" value="org.eclipse.stp.sca.diagram.EditingDomain"/> </enablement> </clientContext> <binding context="ScaClientContext"> <elementType ref="org.eclipse.stp.sca.diagram.frascati.FractalImplementation"/> <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/> </binding> <binding context="ScaClientContext"> <elementType ref="org.eclipse.stp.sca.diagram.frascati.JBIBinding"/> <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/> </binding> </extension> <extension point="org.eclipse.stp.sca.diagram.extension.implementations"> <element typeId="org.eclipse.stp.sca.diagram.frascati.FractalImplementation" literalClass="org.eclipse.stp.sca.domainmodel.frascati.FrascatiPackage$Literals" literalField="DOCUMENT_ROOT__IMPLEMENTATION_FRACTAL" iconPath="/org.eclipse.stp.sca.domainmodel.frascati.edit/icons/full/obj16/FractalImplementation.gif"/> </extension> <extension point="org.eclipse.stp.sca.diagram.extension.bindings"> <element typeId="org.eclipse.stp.sca.diagram.frascati.JBIBinding" literalClass="org.eclipse.stp.sca.domainmodel.frascati.FrascatiPackage$Literals" literalField="DOCUMENT_ROOT__BINDING_JBI" iconPath="/org.eclipse.stp.sca.domainmodel.frascati.edit/icons/full/obj16/JBIBinding.gif"/> </extension> <extension point="org.eclipse.stp.sca.diagram.AdaptorFactories"> <adaptorFactory class="org.eclipse.stp.sca.domainmodel.frascati.provider.FrascatiItemProviderAdapterFactory"/> </extension> <extension point="org.eclipse.stp.sca.diagram.ImplementationEntryPalette"> <implementationEntry description="Create a new FractalImplementation" iconPath="/org.eclipse.stp.sca.domainmodel.frascati.edit/icons/full/obj16/FractalImplementation.gif" label="Fractal (Frascati 0.4)" type="org.eclipse.stp.sca.diagram.frascati.FractalImplementation"> </implementationEntry> </extension> <extension point="org.eclipse.stp.sca.diagram.BindingEntryPalette"> <bindingEntry description="Create a new JBIBinding" iconPath="/org.eclipse.stp.sca.domainmodel.frascati.edit/icons/full/obj16/JBIBinding.gif" label="JBI (Frascati 0.4)" type="org.eclipse.stp.sca.diagram.frascati.JBIBinding"> </bindingEntry> </extension> </plugin>