Skip to main content
Jump to: navigation, search

STP/BPMN Component/STP BPMN Presentation Hands on tutorial

< STP‎ | BPMN Component
Revision as of 17:24, 3 March 2007 by (Talk | contribs) (Adding a property tab to see your annotation)

This tutorial is presented as part of the STP BPMN Presentation at EclipseCon 2007.


In this section, we are going to begin to play with the modeler and try to extend its use.

We want to add a participant to our shapes. A participant represents a person with a name and a role.

Adding a property tab to see your annotation

The easiest way to add a participant to your shape is to create a property tab to represent it and enable us to enter his name and his role.

In the plugin.xml, we define a new property tab named "Participants". We add one section to the tab.

The contributor for the new tab, it defines a new category

        <propertyCategory category="Participants"/>

The definition of the tab itself

   <extension point="">
     <propertyTabs contributorId="">

The definition of the section inside the property tab

   <extension point="">
     <propertySections contributorId="">
           <input type="org.eclipse.stp.bpmn.Activity"/>
           <input type="java.lang.Object"/>

Now we are going to code the tab itself.

A tab is an instance of AbstractPropertySection.

Create a class in as ParticipantPropertySection.

Two methods are important there :

the property tab UI is defined in createPartControl, and the input management in setInput. We need to implement those two methods.

Let's create a first version of createPartControl, with two text fields:

       * Creates the UI of the section.
       public void createControls(Composite parent, 
               TabbedPropertySheetPage aTabbedPropertySheetPage) {
               super.createControls(parent, aTabbedPropertySheetPage);
               GridLayout layout = new GridLayout(2, false);
               GridData gd = new GridData(SWT.FILL);
               gd.minimumWidth = 500;
               gd.widthHint = 500;
               getWidgetFactory().createCLabel(parent, "Name");
               nameText = getWidgetFactory().createText(parent, "");
               getWidgetFactory().createCLabel(parent, "Role");
               roleText = getWidgetFactory().createText(parent, "");

Adding a drop action

Back to the top