Jump to: navigation, search

Difference between revisions of "SCA/Components/SCA CompositeDesignerExtension"

< SCA
Line 2: Line 2:
 
# Create a new plugin-in
 
# Create a new plugin-in
 
# Add the following dependencies:
 
# Add the following dependencies:
** org.eclipse.core.runtime,
+
#* org.eclipse.core.runtime,
** org.eclipse.core.resources,
+
#* org.eclipse.core.resources,
** org.eclipse.core.expressions,
+
#* org.eclipse.core.expressions,
** org.eclipse.jface,
+
#* org.eclipse.jface,
** org.eclipse.ui.ide,
+
#* org.eclipse.ui.ide,
** org.eclipse.ui.views,
+
#* org.eclipse.ui.views,
** org.eclipse.ui.navigator,
+
#* org.eclipse.ui.navigator,
** org.eclipse.ui.navigator.resources,
+
#* org.eclipse.ui.navigator.resources,
** org.eclipse.emf.ecore,
+
#* org.eclipse.emf.ecore,
** org.eclipse.emf.ecore.xmi,
+
#* org.eclipse.emf.ecore.xmi,
** org.eclipse.emf.edit.ui,
+
#* org.eclipse.emf.edit.ui,
** org.eclipse.gmf.runtime.emf.core,
+
#* org.eclipse.gmf.runtime.emf.core,
** org.eclipse.gmf.runtime.emf.commands.core,
+
#* org.eclipse.gmf.runtime.emf.commands.core,
** org.eclipse.gmf.runtime.emf.ui.properties,
+
#* org.eclipse.gmf.runtime.emf.ui.properties,
** org.eclipse.gmf.runtime.diagram.ui,
+
#* org.eclipse.gmf.runtime.diagram.ui,
** org.eclipse.gmf.runtime.diagram.ui.properties,
+
#* org.eclipse.gmf.runtime.diagram.ui.properties,
** org.eclipse.gmf.runtime.diagram.ui.providers,
+
#* org.eclipse.gmf.runtime.diagram.ui.providers,
** org.eclipse.gmf.runtime.diagram.ui.providers.ide,
+
#* org.eclipse.gmf.runtime.diagram.ui.providers.ide,
** org.eclipse.gmf.runtime.diagram.ui.render,
+
#* org.eclipse.gmf.runtime.diagram.ui.render,
** org.eclipse.gmf.runtime.diagram.ui.resources.editor,
+
#* org.eclipse.gmf.runtime.diagram.ui.resources.editor,
** org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
+
#* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
** org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport,
+
#* org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport,
** org.eclipse.gef;visibility:=reexport,
+
#* org.eclipse.gef;visibility:=reexport,
** org.eclipse.stp.sca.diagram.extension,
+
#* org.eclipse.stp.sca.diagram.extension,
** org.eclipse.stp.sca.diagram,
+
#* org.eclipse.stp.sca.diagram,
** xyz.youmodel,
+
#* xyz.youmodel,
** xyz.youmodel.edit
+
#* xyz.youmodel.edit
  
 
# Extend the required extension points:
 
# Extend the required extension points:
** org.eclipse.gmf.runtime.emf.type.core.elementTypes
+
#* org.eclipse.gmf.runtime.emf.type.core.elementTypes
** org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings
+
#* org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings
** org.eclipse.stp.sca.diagram.AdaptorFactories
+
#* org.eclipse.stp.sca.diagram.AdaptorFactories
** org.eclipse.stp.sca.diagram.extension.implementations
+
#* org.eclipse.stp.sca.diagram.extension.implementations
** org.eclipse.stp.sca.diagram.extension.interfaces
+
#* org.eclipse.stp.sca.diagram.extension.interfaces
** org.eclipse.stp.sca.diagram.extension.bindings
+
#* org.eclipse.stp.sca.diagram.extension.bindings
** org.eclipse.stp.sca.diagram.ImplementationEntryPalette
+
#* org.eclipse.stp.sca.diagram.ImplementationEntryPalette
** org.eclipse.stp.sca.diagram.InterfaceEntryPalette
+
#* org.eclipse.stp.sca.diagram.InterfaceEntryPalette
** org.eclipse.stp.sca.diagram.BindingEntryPalette
+
#* org.eclipse.stp.sca.diagram.BindingEntryPalette
  
  

Revision as of 11:42, 25 March 2009

To extend the SCA Composite Designer:

  1. Create a new plugin-in
  2. 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.youmodel,
    • xyz.youmodel.edit
  1. 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>