Author: koen.aers(a)jboss.com
Date: 2009-02-05 16:58:53 -0500 (Thu, 05 Feb 2009)
New Revision: 13496
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/command/
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/command/AddProcessNodeCommand.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessNodeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/policy/
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/policy/ProcessLayoutEditPolicy.java
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Process.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java
Log:
support for labels on connections
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/command/AddProcessNodeCommand.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/command/AddProcessNodeCommand.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/command/AddProcessNodeCommand.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -0,0 +1,28 @@
+package org.jboss.tools.flow.jpdl4.command;
+
+import org.jboss.tools.flow.common.command.AddElementCommand;
+import org.jboss.tools.flow.common.model.Flow;
+import org.jboss.tools.flow.common.model.Node;
+import org.jboss.tools.flow.jpdl4.util.Jpdl4Helper;
+
+public class AddProcessNodeCommand extends AddElementCommand {
+
+ public void execute() {
+ if (getChild().getName() == null) {
+ initializeChildName();
+ }
+ getParent().addElement(getChild());
+ getChild().setParent(getParent());
+ }
+
+ private void initializeChildName() {
+ if (getChild().getElement() instanceof Node && getParent().getElement()
instanceof Flow) {
+ getChild().setName(Jpdl4Helper.getLabel((Node)getChild().getElement(),
(Flow)getParent().getElement()));
+ } else {
+ String name = getChild().getElement().getClass().getName();
+ name = name.substring(name.lastIndexOf('.') + 1);
+ getChild().setName(name);
+ }
+ }
+
+ }
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-02-05
21:58:29 UTC (rev 13495)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -11,6 +11,7 @@
import org.jboss.tools.flow.common.editor.GenericModelEditor;
import org.jboss.tools.flow.common.registry.ElementRegistry;
import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.editpart.JpdlEditPartFactory;
import org.jboss.tools.flow.jpdl4.properties.JpdlPropertySheetPage;
public class JpdlEditor extends GenericModelEditor implements
ITabbedPropertySheetPageContributor {
@@ -21,7 +22,9 @@
return new JpdlPaletteFactory().createPalette();
}
-
+ protected org.eclipse.gef.EditPartFactory createEditPartFactory() {
+ return new JpdlEditPartFactory();
+ }
protected Object createModel() {
return
ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.process");
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -0,0 +1,27 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.gef.EditPart;
+import org.jboss.tools.flow.common.editpart.EditPartFactory;
+import org.jboss.tools.flow.common.figure.IFigureFactory;
+import org.jboss.tools.flow.common.figure.NodeFigureFactory;
+import org.jboss.tools.flow.common.model.Element;
+
+public class JpdlEditPartFactory extends EditPartFactory {
+
+ protected EditPart createNodeEditPart(Element element) {
+ IConfigurationElement configurationElement =
+ (IConfigurationElement)element.getMetaData("configurationElement");
+ if (configurationElement == null) return null;
+ ProcessNodeEditPart result = new ProcessNodeEditPart();
+ IFigureFactory figureFactory = new NodeFigureFactory(configurationElement);
+ result.setFigureFactory(figureFactory);
+ return result;
+ }
+
+ protected EditPart createFlowEditPart(Element element) {
+ return new ProcessEditPart();
+ }
+
+
+}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessEditPart.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -0,0 +1,34 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.jboss.tools.flow.common.editpart.RootEditPart;
+import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
+import org.jboss.tools.flow.common.wrapper.ModelEvent;
+import org.jboss.tools.flow.jpdl4.policy.ProcessLayoutEditPolicy;
+
+public class ProcessEditPart extends RootEditPart {
+
+ protected void createEditPolicies() {
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, new ProcessLayoutEditPolicy());
+ installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy());
+ }
+
+ public void modelChanged(ModelEvent event) {
+ super.modelChanged(event);
+ if (event.getChange() == ContainerWrapper.ADD_ELEMENT) {
+ Object changedObject = event.getChangedObject();
+ if (changedObject != null) {
+ EditPart editPart =
(EditPart)getViewer().getEditPartRegistry().get(changedObject);
+ if (editPart instanceof ProcessNodeEditPart) {
+ ((ProcessNodeEditPart)editPart).performDirectEdit();
+ // force selection to update the properties view
+ getViewer().setSelection(new StructuredSelection(editPart));
+ }
+ }
+ }
+ }
+
+}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessNodeEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessNodeEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ProcessNodeEditPart.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import org.jboss.tools.flow.common.editpart.NodeEditPart;
+
+public class ProcessNodeEditPart extends NodeEditPart {
+
+ public void performDirectEdit() {
+ super.performDirectEdit();
+ }
+
+}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Process.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Process.java 2009-02-05
21:58:29 UTC (rev 13495)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Process.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -28,20 +28,9 @@
initial = node;
}
- public void addNode(Node node) {
- if (node.getName() == null || "".equals(node.getName())) {
- node.setName(getInitialName(node));
- }
- super.addNode(node);
- }
-
public void removeNode(Node node) {
Jpdl4Helper.mergeLeadingNodes(node);
super.removeNode(node);
}
- private String getInitialName(Node node) {
- return Jpdl4Helper.getLabel(node, this);
- }
-
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java 2009-02-05
21:58:29 UTC (rev 13495)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -43,14 +43,14 @@
}
public Object getPropertyValue(Object id) {
- if (NAME.equals(id)) {
+ if (NAME.equals(id) || LABEL.equals(id)) {
return getName() != null ? getName() : "";
- }
+ }
return null;
}
public boolean isPropertySet(Object id) {
- if (NAME.equals(id)) {
+ if (NAME.equals(id) || LABEL.equals(id)) {
return getName() != null;
}
return false;
@@ -60,7 +60,7 @@
}
public void setPropertyValue(Object id, Object value) {
- if (NAME.equals(id)) {
+ if (NAME.equals(id) || LABEL.equals(id)) {
if (value instanceof String) {
setName((String)value);
}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/policy/ProcessLayoutEditPolicy.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/policy/ProcessLayoutEditPolicy.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/policy/ProcessLayoutEditPolicy.java 2009-02-05
21:58:53 UTC (rev 13496)
@@ -0,0 +1,22 @@
+package org.jboss.tools.flow.jpdl4.policy;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.CreateRequest;
+import org.jboss.tools.flow.common.policy.ElementContainerLayoutEditPolicy;
+import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.jpdl4.command.AddProcessNodeCommand;
+
+public class ProcessLayoutEditPolicy extends ElementContainerLayoutEditPolicy {
+
+ protected Command getCreateCommand(CreateRequest request) {
+ AddProcessNodeCommand command = new AddProcessNodeCommand();
+ command.setParent((ContainerWrapper) getHost().getModel());
+ NodeWrapper element = (NodeWrapper) request.getNewObject();
+ element.setConstraint((Rectangle) getConstraintFor(request));
+ command.setChild(element);
+ return command;
+ }
+
+}
Show replies by date