Author: koen.aers(a)jboss.com
Date: 2009-04-28 15:50:22 -0400 (Tue, 28 Apr 2009)
New Revision: 14951
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Assignment.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/AssignmentPropertySource.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/TimerSection.java
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/NoDetailsTreeRootEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessTreeRootEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Swimlane.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/AssignmentSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/NameSection.java
Log:
assigment properties and name property for swimlanes
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-04-28 19:49:47 UTC (rev
14950)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-04-28 19:50:22 UTC (rev
14951)
@@ -281,12 +281,20 @@
<input
type="org.jboss.tools.flow.jpdl4.model.SequenceFlow"/>
<input type="org.jboss.tools.flow.jpdl4.model.ProcessNode"/>
<input type="org.jboss.tools.flow.jpdl4.model.Process"/>
- </propertySection>
+ <input type="org.jboss.tools.flow.jpdl4.model.Swimlane"/>
+ </propertySection>
<propertySection
+ class="org.jboss.tools.flow.jpdl4.properties.TimerSection"
+ id="org.jboss.tools.jpdl4.timer"
+ tab="org.jboss.tools.jpdl4.general">
+ <input type="org.jboss.tools.flow.jpdl4.model.Timer"/>
+ </propertySection>
+ <propertySection
class="org.jboss.tools.flow.jpdl4.properties.AssignmentSection"
id="org.jboss.tools.jpdl4.assignment"
tab="org.jboss.tools.jpdl4.assignment">
<input type="org.jboss.tools.flow.jpdl4.model.HumanTask"/>
+ <input type="org.jboss.tools.flow.jpdl4.model.Swimlane"/>
</propertySection>
</propertySections>
</extension>
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -16,6 +16,8 @@
import org.jboss.tools.flow.common.wrapper.NodeWrapper;
import org.jboss.tools.flow.common.wrapper.Wrapper;
import org.jboss.tools.flow.jpdl4.Logger;
+import org.jboss.tools.flow.jpdl4.model.Assignment;
+import org.jboss.tools.flow.jpdl4.model.AssignmentPropertySource;
import org.jboss.tools.flow.jpdl4.model.HumanTask;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -67,24 +69,24 @@
String assignee = element.getAttribute(HumanTask.ASSIGNEE);
if (!"".equals(assignee)) {
wrapper.setPropertyValue(
- HumanTask.ASSIGNMENT_TYPE,
- HumanTask.getAssignmentTypesIndex(HumanTask.ASSIGNEE));
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(HumanTask.ASSIGNEE));
wrapper.setPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION, assignee);
return;
}
String candidateGroups = element.getAttribute(HumanTask.CANDIDATE_GROUPS);
if (!"".equals(candidateGroups)) {
wrapper.setPropertyValue(
- HumanTask.ASSIGNMENT_TYPE,
- HumanTask.getAssignmentTypesIndex(HumanTask.CANDIDATE_GROUPS));
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(HumanTask.CANDIDATE_GROUPS));
wrapper.setPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION, candidateGroups);
return;
}
String swimlane = element.getAttribute(HumanTask.SWIMLANE);
if (!"".equals(swimlane)) {
wrapper.setPropertyValue(
- HumanTask.ASSIGNMENT_TYPE,
- HumanTask.getAssignmentTypesIndex(HumanTask.SWIMLANE));
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(HumanTask.SWIMLANE));
wrapper.setPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION, swimlane);
return;
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPart.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPart.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -31,7 +31,7 @@
private void initPropertySource() {
EditPart editPart = this;
- while (editPart != null && propertySource != null) {
+ while (editPart != null && propertySource == null) {
if (editPart.getModel() != null && editPart.getModel() instanceof
IAdaptable) {
propertySource =
(IPropertySource)((IAdaptable)editPart.getModel()).getAdapter(IPropertySource.class);
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/NoDetailsTreeRootEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/NoDetailsTreeRootEditPart.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/NoDetailsTreeRootEditPart.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -7,4 +7,8 @@
super(null);
}
+ protected String getText() {
+ return "Details are not available.";
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessTreeRootEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessTreeRootEditPart.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessTreeRootEditPart.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -4,12 +4,10 @@
import java.util.List;
import org.eclipse.gef.EditPart;
-import org.jboss.tools.flow.common.command.DeleteChildCommand;
import org.jboss.tools.flow.common.model.Element;
import org.jboss.tools.flow.common.wrapper.FlowWrapper;
import org.jboss.tools.flow.common.wrapper.ModelEvent;
import org.jboss.tools.flow.common.wrapper.Wrapper;
-import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
public class ProcessTreeRootEditPart extends JpdlTreeEditPart {
@@ -64,26 +62,9 @@
}
} else if (event.getChangeType() == Wrapper.REMOVE_ELEMENT) {
refreshChildren();
-// if ("eventListener".equals(event.getChangeDiscriminator())) {
-// doCleanup(event.getChangedObject());
-// }
}
}
- private void doCleanup(Object object) {
- if (!(object instanceof Wrapper)) return;
- Wrapper child = (Wrapper)object;
- if (!(child.getElement() instanceof EventListenerContainer)) return;
- EventListenerContainer eventListenerContainer =
(EventListenerContainer)child.getElement();
- if (eventListenerContainer.getListeners().isEmpty()) {
- DeleteChildCommand deleteChildCommand = new DeleteChildCommand();
- deleteChildCommand.setChild(child);
- deleteChildCommand.setParent((Wrapper)getModel());
- deleteChildCommand.setType("eventListener");
- getViewer().getEditDomain().getCommandStack().execute(deleteChildCommand);
- }
- }
-
public void activate() {
super.activate();
((FlowWrapper)getModel()).addListener(this);
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Assignment.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Assignment.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Assignment.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -0,0 +1,18 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+public interface Assignment {
+
+ public final String ASSIGNMENT_LABEL = "Assignment";
+
+ public final String ASSIGNMENT_TYPE =
"org.jboss.tools.flow.jpdl4.model.task.assignment.type";
+ public final String ASSIGNMENT_EXPRESSION =
"org.jboss.tools.flow.jpdl4.model.task.assignment.expression";
+ public final String ASSIGNMENT_EXPRESSION_LANGUAGE =
"org.jboss.tools.flow.jpdl4.model.task.assignment.expression.language";
+
+ public final String ASSIGNEE = "assignee";
+ public final String CANDIDATE_GROUPS = "candidate-groups";
+ public final String SWIMLANE = "swimlane";
+ public final String NONE = "none";
+
+ public final String[] ASSIGNMENT_TYPES = { ASSIGNEE, CANDIDATE_GROUPS, SWIMLANE, NONE
};
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Assignment.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/AssignmentPropertySource.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/AssignmentPropertySource.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/AssignmentPropertySource.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -0,0 +1,98 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+public class AssignmentPropertySource implements IPropertySource, Assignment {
+
+ private String assignmentType = NONE;
+ private String assignmentExpression = "";
+ private String assignmentExpressionLanguage = "";
+
+ public static Integer getAssignmentTypesIndex(String assignmentType) {
+ Integer result = 0;
+ for (String type : ASSIGNMENT_TYPES) {
+ if (type.equals(assignmentType)) {
+ break;
+ }
+ result++;
+ }
+ return result;
+ }
+
+ private IPropertyDescriptor[] propertyDescriptors;
+
+ private void initializePropertyDescriptors() {
+ PropertyDescriptor assignmentTypeDescriptor =
+ new ComboBoxPropertyDescriptor(ASSIGNMENT_TYPE, "Type", ASSIGNMENT_TYPES);
+ assignmentTypeDescriptor.setCategory(ASSIGNMENT_LABEL);
+ PropertyDescriptor assignmentExpressionDescriptor =
+ new TextPropertyDescriptor(ASSIGNMENT_EXPRESSION, "Expression");
+ assignmentExpressionDescriptor.setCategory(ASSIGNMENT_LABEL);
+ PropertyDescriptor assignmentExpressionLanguageDescriptor =
+ new TextPropertyDescriptor(ASSIGNMENT_EXPRESSION_LANGUAGE, "Language");
+ assignmentExpressionLanguageDescriptor.setCategory(ASSIGNMENT_LABEL);
+ propertyDescriptors = new IPropertyDescriptor[] {
+ assignmentTypeDescriptor,
+ assignmentExpressionDescriptor,
+ assignmentExpressionLanguageDescriptor
+ };
+ }
+
+ public Object getEditableValue() {
+ return null;
+ }
+
+ public IPropertyDescriptor[] getPropertyDescriptors() {
+ if (propertyDescriptors == null) {
+ initializePropertyDescriptors();
+ }
+ return propertyDescriptors;
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (ASSIGNMENT_TYPE.equals(id)) {
+ return getAssignmentTypesIndex(assignmentType);
+ } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
+ return assignmentExpression;
+ } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
+ return assignmentExpressionLanguage;
+ }
+ return null;
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (ASSIGNMENT_TYPE.equals(id)) {
+ return true;
+ } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
+ return !"".equals(assignmentExpression);
+ } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
+ return !"".equals(assignmentExpressionLanguage);
+ }
+ return false;
+ }
+
+ public void resetPropertyValue(Object id) {
+ if (ASSIGNMENT_TYPE.equals(id)) {
+ assignmentType = NONE;
+ } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
+ assignmentExpression = "";
+ } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
+ assignmentExpressionLanguage = "";
+ }
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (ASSIGNMENT_TYPE.equals(id)) {
+ assignmentType = ASSIGNMENT_TYPES[(Integer)value];
+ } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
+ assignmentExpression = (String)value;
+ } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
+ assignmentExpressionLanguage = (String)value;
+ }
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/AssignmentPropertySource.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -1,123 +1,9 @@
package org.jboss.tools.flow.jpdl4.model;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-
-public class HumanTask extends Task {
+public class HumanTask extends Task implements Assignment {
- private static String ASSIGNMENT_LABEL = "Assignment";
-
- public static final String ASSIGNMENT_TYPE =
"org.jboss.tools.flow.jpdl4.model.task.assignment.type";
- public static final String ASSIGNMENT_EXPRESSION =
"org.jboss.tools.flow.jpdl4.model.task.assignment.expression";
- public static final String ASSIGNMENT_EXPRESSION_LANGUAGE =
"org.jboss.tools.flow.jpdl4.model.task.assignment.expression.language";
-
- public static final String ASSIGNEE = "assignee";
- public static final String CANDIDATE_GROUPS = "candidate-groups";
- public static final String SWIMLANE = "swimlane";
- public static final String NONE = "none";
-
- public static final String[] ASSIGNMENT_TYPES = {
- ASSIGNEE, CANDIDATE_GROUPS, SWIMLANE, NONE
- };
-
- public static Integer getAssignmentTypesIndex(String assignmentType) {
- Integer result = 0;
- for (String type : ASSIGNMENT_TYPES) {
- if (type.equals(assignmentType)) {
- break;
- }
- result++;
- }
- return result;
- }
-
- private String assignmentType = NONE;
- private String assignmentExpression = "";
- private String assignmentExpressionLanguage = "";
-
public HumanTask() {
- setMetaData("propertySource", new PropertySource());
+ setMetaData("propertySource", new AssignmentPropertySource());
}
- private class PropertySource implements IPropertySource {
-
- private IPropertyDescriptor[] propertyDescriptors;
-
- private void initializePropertyDescriptors() {
- PropertyDescriptor assignmentTypeDescriptor =
- new ComboBoxPropertyDescriptor(ASSIGNMENT_TYPE, "Type", ASSIGNMENT_TYPES);
- assignmentTypeDescriptor.setCategory(ASSIGNMENT_LABEL);
- PropertyDescriptor assignmentExpressionDescriptor =
- new TextPropertyDescriptor(ASSIGNMENT_EXPRESSION, "Expression");
- assignmentExpressionDescriptor.setCategory(ASSIGNMENT_LABEL);
- PropertyDescriptor assignmentExpressionLanguageDescriptor =
- new TextPropertyDescriptor(ASSIGNMENT_EXPRESSION_LANGUAGE, "Language");
- assignmentExpressionLanguageDescriptor.setCategory(ASSIGNMENT_LABEL);
- propertyDescriptors = new IPropertyDescriptor[] {
- assignmentTypeDescriptor,
- assignmentExpressionDescriptor,
- assignmentExpressionLanguageDescriptor
- };
- }
-
- public Object getEditableValue() {
- return null;
- }
-
- public IPropertyDescriptor[] getPropertyDescriptors() {
- if (propertyDescriptors == null) {
- initializePropertyDescriptors();
- }
- return propertyDescriptors;
- }
-
- public Object getPropertyValue(Object id) {
- if (ASSIGNMENT_TYPE.equals(id)) {
- return getAssignmentTypesIndex(assignmentType);
- } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
- return assignmentExpression;
- } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
- return assignmentExpressionLanguage;
- }
- return null;
- }
-
- public boolean isPropertySet(Object id) {
- if (ASSIGNMENT_TYPE.equals(id)) {
- return true;
- } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
- return !"".equals(assignmentExpression);
- } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
- return !"".equals(assignmentExpressionLanguage);
- }
- return false;
- }
-
- public void resetPropertyValue(Object id) {
- if (ASSIGNMENT_TYPE.equals(id)) {
- assignmentType = NONE;
- } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
- assignmentExpression = "";
- } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
- assignmentExpressionLanguage = "";
- }
- }
-
- public void setPropertyValue(Object id, Object value) {
- if (ASSIGNMENT_TYPE.equals(id)) {
- assignmentType = ASSIGNMENT_TYPES[(Integer)value];
- } else if (ASSIGNMENT_EXPRESSION.equals(id)) {
- assignmentExpression = (String)value;
- } else if (ASSIGNMENT_EXPRESSION_LANGUAGE.equals(id)) {
- assignmentExpressionLanguage = (String)value;
- }
- }
-
- }
-
-
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Swimlane.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Swimlane.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Swimlane.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -1,8 +1,82 @@
package org.jboss.tools.flow.jpdl4.model;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
import org.jboss.tools.flow.common.model.DefaultElement;
+import org.jboss.tools.flow.common.properties.IPropertyId;
public class Swimlane extends DefaultElement {
+
+ private String name;
+ public Swimlane() {
+ setMetaData("propertySource", new PropertySource());
+ }
+
+ public void setName(String newName) {
+ name = newName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ private class PropertySource extends AssignmentPropertySource implements IPropertyId {
+
+ private IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[] {
+ new TextPropertyDescriptor(NAME, "Name") {
+ public String getCategory() {
+ return "General";
+ }
+ }
+ };
+
+ public Object getEditableValue() {
+ return super.getEditableValue();
+ }
+
+ public IPropertyDescriptor[] getPropertyDescriptors() {
+ IPropertyDescriptor[] parentDescriptors = super.getPropertyDescriptors();
+ int size = propertyDescriptors.length + parentDescriptors.length;
+ ArrayList<IPropertyDescriptor> list = new
ArrayList<IPropertyDescriptor>(size);
+ list.addAll(Arrays.asList(propertyDescriptors));
+ list.addAll(Arrays.asList(parentDescriptors));
+ return (IPropertyDescriptor[]) list.toArray();
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (NAME.equals(id)) {
+ return getName() != null ? getName() : "";
+ } else {
+ return super.getPropertyValue(id);
+ }
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (NAME.equals(id)) {
+ return getName() != null;
+ } else {
+ return super.isPropertySet(id);
+ }
+ }
+
+ public void resetPropertyValue(Object id) {
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (NAME.equals(id)) {
+ if (value instanceof String) {
+ setName((String)value);
+ }
+ } else {
+ super.setPropertyValue(id, value);
+ }
+ }
+
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/AssignmentSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/AssignmentSection.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/AssignmentSection.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -1,9 +1,5 @@
package org.jboss.tools.flow.jpdl4.properties;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gef.commands.CommandStack;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.ModifyEvent;
@@ -15,51 +11,38 @@
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.jboss.tools.flow.jpdl4.command.ChangePropertyCommand;
import org.jboss.tools.flow.jpdl4.model.HumanTask;
-public class AssignmentSection extends AbstractPropertySection {
+public class AssignmentSection extends JpdlPropertySection {
private CCombo typeCombo;
private CLabel typeLabel;
private Text expressionText;
private CLabel expressionLabel;
-// private Text languageText;
-// private CLabel languageLabel;
-// private Composite parent;
+ private SelectionListener typeComboSelectionListener = new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ changeProperty(HumanTask.ASSIGNMENT_TYPE, typeCombo.getSelectionIndex());
+ expressionText.setEnabled(!HumanTask.NONE.equals(typeCombo.getText()));
+ }
+ };
- private IPropertySource input;
+ private ModifyListener expressionTextModifyListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ changeProperty(HumanTask.ASSIGNMENT_EXPRESSION, expressionText.getText());
+ }
+ };
- private CommandStack commandStack;
-
-// private CommandStackListener commandStackListener = new CommandStackListener() {
-// public void commandStackChanged(EventObject event) {
-// if (!parent.isDisposed()) {
-// refresh();
-// }
-// }
-// };
-
public void createControls(Composite parent,
TabbedPropertySheetPage aTabbedPropertySheetPage) {
super.createControls(parent, aTabbedPropertySheetPage);
-// this.parent = parent;
- if (aTabbedPropertySheetPage instanceof JpdlPropertySheetPage) {
- commandStack = ((JpdlPropertySheetPage)aTabbedPropertySheetPage).getCommandStack();
-// commandStack.addCommandStackListener(commandStackListener);
- }
- Composite composite = getWidgetFactory().createFlatFormComposite(parent);
+ Composite composite = getFlatFormComposite();
createTypeLabel(composite);
createTypeCombo(composite);
createExpressionLabel(composite);
createExpressionText(composite);
-// createLanguageLabel(composite);
-// createLanguageText(composite);
}
@@ -97,86 +80,22 @@
expressionText.setLayoutData(data);
}
-// private void createLanguageLabel(Composite parent) {
-// languageLabel = getWidgetFactory().createCLabel(parent, "Language");
-// FormData data = new FormData();
-// data.left = new FormAttachment(0, 0);
-// data.top = new FormAttachment(expressionText, 2);
-// languageLabel.setLayoutData(data);
-// }
-//
-// private void createLanguageText(Composite parent) {
-// languageText = getWidgetFactory().createText(parent, "");
-// FormData data = new FormData();
-// data.top = new FormAttachment(expressionText, 0);
-// data.left = new FormAttachment(0, 80);
-// data.right = new FormAttachment(100, 0);
-// languageText.setLayoutData(data);
-// }
-
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- if (selection instanceof IStructuredSelection) {
- Object object = ((IStructuredSelection)selection).getFirstElement();
- if (object instanceof IAdaptable) {
- object = ((IAdaptable)object).getAdapter(IPropertySource.class);
- if (object instanceof IPropertySource) {
- input = (IPropertySource)object;
- return;
- }
- }
- }
- input = null;
- }
-
- private SelectionListener typeComboSelectionListener = new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- changeProperty(HumanTask.ASSIGNMENT_TYPE, typeCombo.getSelectionIndex());
- expressionText.setEnabled(!HumanTask.NONE.equals(typeCombo.getText()));
- }
- };
-
- private ModifyListener expressionTextModifyListener = new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- changeProperty(HumanTask.ASSIGNMENT_EXPRESSION, expressionText.getText());
- }
- };
-
-// private ModifyListener languageTextModifyListener = new ModifyListener() {
-// public void modifyText(ModifyEvent e) {
-// changeProperty(HumanTask.ASSIGNMENT_EXPRESSION_LANGUAGE, languageText.getText());
-// }
-// };
-
- protected void changeProperty(Object propertyId, Object newValue) {
- if (commandStack == null || input == null) return;
- Object oldValue = input.getPropertyValue(propertyId);
- if (oldValue == newValue) return;
- ChangePropertyCommand changePropertyCommand = new ChangePropertyCommand();
- changePropertyCommand.setPropertyId(propertyId);
- changePropertyCommand.setTarget(input);
- changePropertyCommand.setNewValue(newValue);
- commandStack.execute(changePropertyCommand);
- }
-
protected void unhookListeners() {
typeCombo.removeSelectionListener(typeComboSelectionListener);
expressionText.removeModifyListener(expressionTextModifyListener);
-// languageText.removeModifyListener(languageTextModifyListener);
}
protected void hookListeners() {
typeCombo.addSelectionListener(typeComboSelectionListener);
expressionText.addModifyListener(expressionTextModifyListener);
-// languageText.addModifyListener(languageTextModifyListener);
}
protected void updateValues() {
+ IPropertySource input = getInput();
if (input == null) {
typeCombo.setText(HumanTask.NONE);
expressionText.setEnabled(false);
expressionText.setText("");
-// languageText.setText("");
} else {
typeCombo.setText(HumanTask.ASSIGNMENT_TYPES[(Integer)input.getPropertyValue(HumanTask.ASSIGNMENT_TYPE)]);
if (HumanTask.NONE.equals(typeCombo.getText())) {
@@ -185,19 +104,8 @@
} else {
expressionText.setEnabled(true);
expressionText.setText((String)input.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION));
-//
languageText.setText((String)input.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION_LANGUAGE));
}
}
}
- public void aboutToBeShown() {
- refresh();
- }
-
- public void refresh() {
- unhookListeners();
- updateValues();
- hookListeners();
- }
-
}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -0,0 +1,89 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gef.commands.CommandStack;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+import org.jboss.tools.flow.jpdl4.command.ChangePropertyCommand;
+
+public abstract class JpdlPropertySection extends AbstractPropertySection {
+
+ private CommandStack commandStack;
+ private Composite flatFormComposite;
+ private IPropertySource input;
+
+ protected abstract void hookListeners();
+ protected abstract void updateValues();
+ protected abstract void unhookListeners();
+
+ protected CommandStack getCommandStack() {
+ return commandStack;
+ }
+
+ protected Composite getFlatFormComposite() {
+ return flatFormComposite;
+ }
+
+ protected String getValueNullsAllowed(String string) {
+ return "".equals(string) ? null : string;
+ }
+
+ protected String getValueNotNull(String string) {
+ return string == null ? "" : string;
+ }
+
+ public void createControls(Composite parent,
+ TabbedPropertySheetPage aTabbedPropertySheetPage) {
+ super.createControls(parent, aTabbedPropertySheetPage);
+ if (aTabbedPropertySheetPage instanceof JpdlPropertySheetPage) {
+ commandStack = ((JpdlPropertySheetPage)aTabbedPropertySheetPage).getCommandStack();
+ }
+ flatFormComposite = getWidgetFactory().createFlatFormComposite(parent);
+ }
+
+ public void setInput(IWorkbenchPart part, ISelection selection) {
+ super.setInput(part, selection);
+ if (selection instanceof IStructuredSelection) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+ if (object instanceof IAdaptable) {
+ object = ((IAdaptable)object).getAdapter(IPropertySource.class);
+ if (object instanceof IPropertySource) {
+ input = (IPropertySource)object;
+ return;
+ }
+ }
+ }
+ input = null;
+ }
+
+ public IPropertySource getInput() {
+ return input;
+ }
+
+ protected void changeProperty(Object propertyId, Object newValue) {
+ if (commandStack == null || input == null) return;
+ Object oldValue = input.getPropertyValue(propertyId);
+ if (oldValue == newValue) return;
+ ChangePropertyCommand changePropertyCommand = new ChangePropertyCommand();
+ changePropertyCommand.setPropertyId(propertyId);
+ changePropertyCommand.setTarget(input);
+ changePropertyCommand.setNewValue(newValue);
+ commandStack.execute(changePropertyCommand);
+ }
+
+ public void aboutToBeShown() {
+ refresh();
+ }
+
+ public void refresh() {
+ unhookListeners();
+ updateValues();
+ hookListeners();
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/NameSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/NameSection.java 2009-04-28
19:49:47 UTC (rev 14950)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/NameSection.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -2,11 +2,7 @@
import java.util.EventObject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gef.commands.CommandStack;
import org.eclipse.gef.commands.CommandStackListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.ModifyEvent;
@@ -15,29 +11,25 @@
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.jboss.tools.flow.common.command.RenameElementCommand;
import org.jboss.tools.flow.common.properties.IPropertyId;
-public class NameSection extends AbstractPropertySection implements IPropertyId {
+public class NameSection extends JpdlPropertySection implements IPropertyId {
private Text nameText;
private CLabel nameLabel;
- private IPropertySource input;
- private CommandStack commandStack;
-
private ModifyListener nameTextModifyListener = new ModifyListener() {
public void modifyText(ModifyEvent arg0) {
+ IPropertySource input = getInput();
if (input != null) {
RenameElementCommand rec = new RenameElementCommand();
rec.setSource(input);
rec.setOldName((String)input.getPropertyValue(NAME));
rec.setName(nameText.getText());
- commandStack.execute(rec);
+ getCommandStack().execute(rec);
}
}
};
@@ -49,8 +41,8 @@
};
public void dispose() {
- if (commandStack != null) {
- commandStack.removeCommandStackListener(commandStackListener);
+ if (getCommandStack() != null) {
+ getCommandStack().removeCommandStackListener(commandStackListener);
}
super.dispose();
}
@@ -58,12 +50,7 @@
public void createControls(Composite parent,
TabbedPropertySheetPage aTabbedPropertySheetPage) {
super.createControls(parent, aTabbedPropertySheetPage);
- if (aTabbedPropertySheetPage instanceof JpdlPropertySheetPage) {
- commandStack = ((JpdlPropertySheetPage)aTabbedPropertySheetPage).getCommandStack();
- commandStack.addCommandStackListener(commandStackListener);
- }
- Composite composite = getWidgetFactory()
- .createFlatFormComposite(parent);
+ Composite composite = getFlatFormComposite();
createNameLabel(composite);
createNameText(composite);
}
@@ -86,27 +73,18 @@
nameText.setLayoutData(data);
}
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- if (selection instanceof IStructuredSelection) {
- Object object = ((IStructuredSelection)selection).getFirstElement();
- if (object instanceof IAdaptable) {
- object = ((IAdaptable)object).getAdapter(IPropertySource.class);
- if (object instanceof IPropertySource) {
- input = (IPropertySource)object;
- return;
- }
- }
- }
- input = null;
+ protected void hookListeners() {
+ nameText.addModifyListener(nameTextModifyListener);
}
- public void refresh() {
+ protected void unhookListeners() {
+ nameText.removeModifyListener(nameTextModifyListener);
+ }
+
+ protected void updateValues() {
+ IPropertySource input = getInput();
if (input != null) {
- String value = (String)input.getPropertyValue(NAME);
- nameText.removeModifyListener(nameTextModifyListener);
- nameText.setText(value == null ? "" : value);
- nameText.addModifyListener(nameTextModifyListener);
+ nameText.setText(getValueNotNull((String)input.getPropertyValue(NAME)));
} else {
nameText.setText("");
}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/TimerSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/TimerSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/TimerSection.java 2009-04-28
19:50:22 UTC (rev 14951)
@@ -0,0 +1,129 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.eclipse.gef.commands.CommandStack;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+public class TimerSection extends JpdlPropertySection {
+
+ private Text dueDateText;
+ private CLabel dueDateLabel;
+ private Text repeatText;
+ private CLabel repeatLabel;
+ private Text dueDateTimeText;
+ private CLabel dueDateTimeLabel;
+
+ private ModifyListener textModifyListener = new ModifyListener() {
+ public void modifyText(ModifyEvent event) {
+ IPropertySource input = getInput();
+ CommandStack commandStack = getCommandStack();
+ if (input == null || commandStack == null) return;
+ if (dueDateText == event.getSource()) {
+ changeProperty("dueDate", getValueNullsAllowed(dueDateText.getText()));
+ } else if (repeatText == event.getSource()) {
+ changeProperty("repeat", getValueNullsAllowed(repeatText.getText()));
+ } else if (dueDateTimeText == event.getSource()) {
+ changeProperty("dueDateTime",
getValueNullsAllowed(dueDateTimeText.getText()));
+ }
+ }
+ };
+
+ public void createControls(Composite parent,
+ TabbedPropertySheetPage aTabbedPropertySheetPage) {
+ super.createControls(parent, aTabbedPropertySheetPage);
+ Composite composite = getFlatFormComposite();
+ createDueDateLabel(composite);
+ createDueDateText(composite);
+ createRepeatLabel(composite);
+ createRepeatText(composite);
+ createDueDateTimeLabel(composite);
+ createDueDateTimeText(composite);
+ }
+
+
+ private void createDueDateLabel(Composite parent) {
+ dueDateLabel = getWidgetFactory().createCLabel(parent, "Due Date (e.g. '3
business hours') ");
+ FormData data = new FormData();
+ data.left = new FormAttachment(0, 0);
+ data.top = new FormAttachment(0, 5);
+ dueDateLabel.setLayoutData(data);
+ }
+
+ private void createDueDateText(Composite parent) {
+ dueDateText = getWidgetFactory().createText(parent, "");
+ FormData data = new FormData();
+ data.top = new FormAttachment(0, 0);
+ data.left = new FormAttachment(dueDateLabel, 0, SWT.RIGHT);
+ data.right = new FormAttachment(100, 0);
+ dueDateText.setLayoutData(data);
+ }
+
+ private void createRepeatLabel(Composite parent) {
+ repeatLabel = getWidgetFactory().createCLabel(parent, "Repeat (e.g. '30
minutes')");
+ FormData data = new FormData();
+ data.left = new FormAttachment(0, 0);
+ data.top = new FormAttachment(dueDateText, 5);
+ repeatLabel.setLayoutData(data);
+ }
+
+ private void createRepeatText(Composite parent) {
+ repeatText = getWidgetFactory().createText(parent, "");
+ FormData data = new FormData();
+ data.top = new FormAttachment(dueDateText, 0);
+ data.left = new FormAttachment(dueDateLabel, 0, SWT.RIGHT);
+ data.right = new FormAttachment(100, 0);
+ repeatText.setLayoutData(data);
+ }
+
+ private void createDueDateTimeLabel(Composite parent) {
+ dueDateTimeLabel = getWidgetFactory().createCLabel(parent, "Due Date-time (e.g.
'HH:mm dd/MM/yyyy')");
+ FormData data = new FormData();
+ data.left = new FormAttachment(0, 0);
+ data.top = new FormAttachment(repeatText, 5);
+ dueDateTimeLabel.setLayoutData(data);
+ }
+
+ private void createDueDateTimeText(Composite parent) {
+ dueDateTimeText = getWidgetFactory().createText(parent, "");
+ FormData data = new FormData();
+ data.top = new FormAttachment(repeatText, 0);
+ data.left = new FormAttachment(dueDateLabel, 0, SWT.RIGHT);
+ data.right = new FormAttachment(100, 0);
+ dueDateTimeText.setLayoutData(data);
+ }
+
+ protected void hookListeners() {
+ dueDateText.addModifyListener(textModifyListener);
+ repeatText.addModifyListener(textModifyListener);
+ dueDateTimeText.addModifyListener(textModifyListener);
+ }
+
+ protected void unhookListeners() {
+ dueDateText.removeModifyListener(textModifyListener);
+ repeatText.removeModifyListener(textModifyListener);
+ dueDateTimeText.removeModifyListener(textModifyListener);
+ }
+
+ protected void updateValues() {
+ IPropertySource input = getInput();
+ if (input != null) {
+ dueDateText.setText(getValueNotNull((String)input.getPropertyValue("dueDate")));
+ repeatText.setText(getValueNotNull((String)input.getPropertyValue("repeat")));
+ dueDateTimeText.setText(getValueNotNull((String)input.getPropertyValue("dueDateTime")));
+ } else {
+ dueDateText.setText("");
+ repeatText.setText("");
+ dueDateTimeText.setText("");
+ }
+ }
+
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/TimerSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain