Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SOA/BPMN Modeler/Developing with the BPMN modeler
< SOA/BPMN Modeler
Revision as of 14:08, 20 February 2008 by Antoine.lunar-ocean.com (Talk | contribs) (→Hiding elements of the palette)
This page is about developing with the STP BPMN modeler, by contributing and/or removing actions, shapes, etc.
Contents
Menus
Adding toolbar extensions
Adding a toolbar item
Adding a toolbar group
Creating a new drag and drop (DND) interaction
Creating a DND to add a semantic element (eg annotation)
Creating a DND to add a graphical element
Hiding elements of the palette
You can remove elements by overriding the palette provider
<extension point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders">
<paletteProvider class="org.eclipse.stp.bpmn.sample.editor.NoTextAnnotationPaletteContributor">
<Priority name="Lowest"/>
<editor id="org.eclipse.stp.bpmn.sample.noTextAnnotationInPalette.editor1"/>
</paletteProvider>
</extension>
You can override the BpmnPaletteProvider class, call the super method and remove a specific entry from the palette containers. Obviously you can override the BpmnPaletteFactory and have it your way.
public void contributeToPalette(IEditorPart editor, Object content,
PaletteRoot root, Map predefinedEntries) {
//this is the short way
super.contributeToPalette(editor, content, root, predefinedEntries);
((PaletteContainer) root.getChildren().get(1)).getChildren().remove(0);
//the long way consists in populating the palette with your own factory.
}
You need to create your own editor, subclassing the BpmnDiagramEditor
.
In this editor you will override the method createDiagramEditDomain
:
protected void createDiagramEditDomain() { BpmnDiagramEditDomain domain = new BpmnDiagramEditDomain(this); domain.setActionManager(createActionManager()); Set<IElementType> types = new HashSet<IElementType>(); for (Object gatewayType : ActivityType.VALUES_GATEWAYS) { types.add(ElementTypeEx.wrap(BpmnElementTypes.Activity_2001, ((ActivityType) gatewayType).getLiteral())); } types.add(BpmnElementTypes.Group_1004); types.add(BpmnElementTypes.Group_2006); domain.setRemovedElementTypes(types); setEditDomain(domain); }