[jboss-svn-commits] JBL Code SVN: r12634 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor: core and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jun 16 18:12:15 EDT 2007
Author: KrisVerlaenen
Date: 2007-06-16 18:12:15 -0400 (Sat, 16 Jun 2007)
New Revision: 12634
Added:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
Log:
JBRULES-618: Ruleflow IDE integration
- added snap to grid
- added more advanced routers
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -18,17 +18,18 @@
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.gef.ui.actions.ActionBarContributor;
-import org.eclipse.gef.ui.actions.AlignmentAction;
import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
import org.eclipse.gef.ui.actions.DeleteRetargetAction;
import org.eclipse.gef.ui.actions.GEFActionConstants;
import org.eclipse.gef.ui.actions.RedoRetargetAction;
import org.eclipse.gef.ui.actions.UndoRetargetAction;
import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.jface.action.Action;
+import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
+import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.RetargetAction;
/**
* Common implementation of a ActionBarContributor.
@@ -42,12 +43,18 @@
addRetargetAction( new RedoRetargetAction() );
addRetargetAction( new DeleteRetargetAction() );
+ addRetargetAction( new ZoomInRetargetAction() );
+ addRetargetAction( new ZoomOutRetargetAction() );
+
addRetargetAction( new AlignmentRetargetAction( PositionConstants.LEFT ) );
addRetargetAction( new AlignmentRetargetAction( PositionConstants.CENTER ) );
addRetargetAction( new AlignmentRetargetAction( PositionConstants.RIGHT ) );
addRetargetAction( new AlignmentRetargetAction( PositionConstants.TOP ) );
addRetargetAction( new AlignmentRetargetAction( PositionConstants.MIDDLE ) );
addRetargetAction( new AlignmentRetargetAction( PositionConstants.BOTTOM ) );
+
+ addRetargetAction( new RetargetAction(
+ GEFActionConstants.TOGGLE_GRID_VISIBILITY, "Grid" ));
}
public void contributeToToolBar(IToolBarManager toolBarManager) {
@@ -66,10 +73,11 @@
alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_MIDDLE ) );
alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_BOTTOM ) );
toolBarManager.add( alignMenu );
-
+
+ toolBarManager.add( new Separator() );
+ toolBarManager.add( getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY) );
}
-
+
protected void declareGlobalActionKeys() {
-
}
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -19,7 +19,6 @@
import org.eclipse.gef.GraphicalViewer;
import org.eclipse.gef.ui.actions.ActionRegistry;
import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.gef.ui.actions.ToggleGridAction;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.ui.actions.ActionFactory;
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -44,6 +44,7 @@
import org.eclipse.gef.ui.actions.AlignmentAction;
import org.eclipse.gef.ui.actions.DirectEditAction;
import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.gef.ui.actions.ToggleGridAction;
import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
import org.eclipse.jface.action.IAction;
@@ -150,13 +151,16 @@
new GraphicalViewerKeyHandler(getGraphicalViewer())
.setParent(getCommonKeyHandler()));
+ IAction showGrid = new ToggleGridAction(getGraphicalViewer());
+ getActionRegistry().registerAction(showGrid);
+
ContextMenuProvider provider = new GenericContextMenuProvider(
getGraphicalViewer(), getActionRegistry());
getGraphicalViewer().setContextMenu(provider);
getSite().registerContextMenu("org.drools.eclipse.flow.editor.contextmenu",
provider, getGraphicalViewer());
}
-
+
protected abstract EditPartFactory createEditPartFactory();
protected void initializeGraphicalViewer() {
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -26,6 +26,7 @@
import java.util.Map;
import org.drools.ruleflow.common.core.Process;
+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.TextPropertyDescriptor;
@@ -38,22 +39,31 @@
public abstract class ProcessWrapper implements IPropertySource, Serializable {
public static final int CHANGE_ELEMENTS = 1;
-
+ public static final int CHANGE_ROUTER_LAYOUT = 2;
+
+ public static final Integer ROUTER_LAYOUT_MANUAL = new Integer(0);
+ public static final Integer ROUTER_LAYOUT_MANHATTAN = new Integer(1);
+ public static final Integer ROUTER_LAYOUT_SHORTEST_PATH = new Integer(2);
+
protected static IPropertyDescriptor[] descriptors;
public static final String NAME = "name";
public static final String VERSION = "version";
public static final String ID = "id";
+ public static final String ROUTER_LAYOUT = "routerLayout";
static {
descriptors = new IPropertyDescriptor[] {
new TextPropertyDescriptor(NAME, "Name"),
new TextPropertyDescriptor(VERSION, "Version"),
new TextPropertyDescriptor(ID, "Id"),
+ new ComboBoxPropertyDescriptor(ROUTER_LAYOUT, "Router Layout",
+ new String[] { "Manual", "Manhatten", "Shortest Path" }),
};
}
private Process process;
private Map elements = new HashMap();
+ private Integer routerLayout;
private transient List listeners = new ArrayList();
public ProcessWrapper() {
@@ -90,6 +100,18 @@
process.setId(id);
}
+ public Integer getRouterLayout() {
+ if (routerLayout == null) {
+ routerLayout = ROUTER_LAYOUT_SHORTEST_PATH;
+ }
+ return routerLayout;
+ }
+
+ public void setRouterLayout(Integer routerLayout) {
+ this.routerLayout = routerLayout;
+ notifyListeners(CHANGE_ROUTER_LAYOUT);
+ }
+
public List getElements() {
return Collections.unmodifiableList(new ArrayList(elements.values()));
}
@@ -154,6 +176,9 @@
if (ID.equals(id)) {
return getId() + "";
}
+ if (ROUTER_LAYOUT.equals(id)) {
+ return routerLayout;
+ }
return null;
}
@@ -171,6 +196,9 @@
if (ID.equals(id)) {
setId("");
}
+ if (ID.equals(id)) {
+ setRouterLayout(null);
+ }
}
public void setPropertyValue(Object id, Object value) {
@@ -180,6 +208,8 @@
setVersion((String) value);
} else if (ID.equals(id)) {
setId((String) value);
+ } else if (ROUTER_LAYOUT.equals(id)) {
+ setRouterLayout((Integer) value);
}
}
}
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -0,0 +1,128 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.AbsoluteBendpoint;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Insets;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.draw2d.graph.DirectedGraph;
+import org.eclipse.draw2d.graph.DirectedGraphLayout;
+import org.eclipse.draw2d.graph.Edge;
+import org.eclipse.draw2d.graph.Node;
+import org.eclipse.draw2d.graph.NodeList;
+
+public class DirectedGraphLayoutVisitor {
+
+ private Map partToNodesMap;
+ private DirectedGraph graph;
+
+ public void layoutDiagram(ProcessEditPart diagram) {
+ partToNodesMap = new HashMap();
+ graph = new DirectedGraph();
+ addNodes(diagram);
+ if (graph.nodes.size() > 0) {
+ addEdges(diagram);
+ new DirectedGraphLayout().visit(graph);
+ applyResults(diagram);
+ }
+ }
+
+ protected void addNodes(ProcessEditPart diagram) {
+ for (int i = 0; i < diagram.getChildren().size(); i++) {
+ ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+ addNodes(elementEditPart);
+ }
+ }
+
+ protected void addNodes(ElementEditPart elementEditPart) {
+ Node n = new Node(elementEditPart);
+ n.width = elementEditPart.getFigure().getPreferredSize(400, 300).width;
+ n.height = elementEditPart.getFigure().getPreferredSize(400, 300).height;
+ n.setPadding(new Insets(10, 8, 10, 12));
+ partToNodesMap.put(elementEditPart, n);
+ graph.nodes.add(n);
+ }
+
+ protected void addEdges(ProcessEditPart diagram) {
+ for (int i = 0; i < diagram.getChildren().size(); i++) {
+ ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+ addEdges(elementEditPart);
+ }
+ }
+
+ protected void addEdges(ElementEditPart elementEditPart) {
+ List outgoing = elementEditPart.getSourceConnections();
+ for (int i = 0; i < outgoing.size(); i++) {
+ ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+ addEdges(connectionPart);
+ }
+ }
+
+ protected void addEdges(ElementConnectionEditPart connectionPart) {
+ Node source = (Node) partToNodesMap.get(connectionPart.getSource());
+ Node target = (Node) partToNodesMap.get(connectionPart.getTarget());
+ Edge e = new Edge(connectionPart, source, target);
+ e.weight = 2;
+ graph.edges.add(e);
+ partToNodesMap.put(connectionPart, e);
+ }
+
+ protected void applyResults(ProcessEditPart diagram) {
+ applyChildrenResults(diagram);
+ }
+
+ protected void applyChildrenResults(ProcessEditPart diagram) {
+ for (int i = 0; i < diagram.getChildren().size(); i++) {
+ ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+ applyResults(elementEditPart);
+ }
+ }
+
+ protected void applyOwnResults(ProcessEditPart diagram) {
+ }
+
+ public void applyResults(ElementEditPart elementEditPart) {
+ Node n = (Node) partToNodesMap.get(elementEditPart);
+ ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+ Rectangle bounds = new Rectangle(n.x, n.y, elementFigure.getPreferredSize().width,
+ elementFigure.getPreferredSize().height);
+ elementFigure.setBounds(bounds);
+ for (int i = 0; i < elementEditPart.getSourceConnections().size(); i++) {
+ ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+ applyResults(connectionPart);
+ }
+ }
+
+ protected void applyResults(ElementConnectionEditPart connectionPart) {
+ Edge e = (Edge) partToNodesMap.get(connectionPart);
+ NodeList nodes = e.vNodes;
+ PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
+ conn.setTargetDecoration(new PolygonDecoration());
+ if (nodes != null) {
+ List bends = new ArrayList();
+ for (int i = 0; i < nodes.size(); i++) {
+ Node vn = nodes.getNode(i);
+ int x = vn.x;
+ int y = vn.y;
+ if (e.isFeedback()) {
+ bends.add(new AbsoluteBendpoint(x, y + vn.height));
+ bends.add(new AbsoluteBendpoint(x, y));
+ } else {
+ bends.add(new AbsoluteBendpoint(x, y));
+ bends.add(new AbsoluteBendpoint(x, y + vn.height));
+ }
+ }
+ conn.setRoutingConstraint(bends);
+ } else {
+ conn.setRoutingConstraint(Collections.EMPTY_LIST);
+ }
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -52,14 +52,16 @@
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
}
+ protected ElementWrapper getElementWrapper() {
+ return (ElementWrapper) getModel();
+ }
+
protected List getModelSourceConnections() {
- ElementWrapper task = (ElementWrapper) getModel();
- return task.getOutgoingConnections();
+ return getElementWrapper().getOutgoingConnections();
}
protected List getModelTargetConnections() {
- ElementWrapper task = (ElementWrapper) getModel();
- return task.getIncomingConnections();
+ return getElementWrapper().getIncomingConnections();
}
public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
@@ -79,7 +81,7 @@
}
protected void refreshVisuals() {
- ElementWrapper element = (ElementWrapper) getModel();
+ ElementWrapper element = getElementWrapper();
ElementFigure figure = (ElementFigure) getFigure();
figure.setText(element.getName());
if (element.getConstraint().width == -1) {
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -0,0 +1,26 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import org.eclipse.draw2d.AbstractLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+
+public class GraphLayoutManager extends AbstractLayout {
+
+ private ProcessEditPart diagram;
+
+ public GraphLayoutManager(ProcessEditPart diagram) {
+ this.diagram = diagram;
+ }
+
+ protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {
+ container.validate();
+ return container.getSize();
+ }
+
+
+ public void layout(IFigure container) {
+ new DirectedGraphLayoutVisitor().layoutDiagram(diagram);
+ // diagram.setTableModelBounds();
+ }
+
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java 2007-06-16 21:45:33 UTC (rev 12633)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java 2007-06-16 22:12:15 UTC (rev 12634)
@@ -15,18 +15,33 @@
* limitations under the License.
*/
+import java.util.Iterator;
import java.util.List;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
import org.drools.eclipse.flow.common.editor.core.ModelEvent;
import org.drools.eclipse.flow.common.editor.core.ModelListener;
import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
import org.drools.eclipse.flow.common.editor.policy.ProcessLayoutEditPolicy;
+import org.eclipse.draw2d.Animation;
+import org.eclipse.draw2d.AutomaticRouter;
+import org.eclipse.draw2d.BendpointConnectionRouter;
+import org.eclipse.draw2d.ConnectionLayer;
+import org.eclipse.draw2d.FanRouter;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ManhattanConnectionRouter;
+import org.eclipse.draw2d.ShortestPathConnectionRouter;
import org.eclipse.draw2d.XYLayout;
+import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.SnapToGrid;
+import org.eclipse.gef.SnapToHelper;
import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.swt.SWT;
/**
* Default implementation of a process EditPart.
@@ -35,10 +50,14 @@
*/
public class ProcessEditPart extends AbstractGraphicalEditPart implements ModelListener {
+// private GraphLayoutManager graphLayoutManager;
+
protected IFigure createFigure() {
Figure f = new Figure();
- f.setOpaque(true);
f.setLayoutManager(new XYLayout());
+// graphLayoutManager = new GraphLayoutManager(this);
+// f.setLayoutManager(graphLayoutManager);
+// graphLayoutManager.layout(f);
return f;
}
@@ -51,8 +70,12 @@
}
protected List getModelChildren() {
- return ((ProcessWrapper) getModel()).getElements();
+ return getProcessWrapper().getElements();
}
+
+ protected ProcessWrapper getProcessWrapper() {
+ return (ProcessWrapper) getModel();
+ }
public void activate() {
super.activate();
@@ -67,6 +90,52 @@
public void modelChanged(ModelEvent event) {
if (event.getChange() == ProcessWrapper.CHANGE_ELEMENTS) {
refreshChildren();
+ } else if (event.getChange() == ProcessWrapper.CHANGE_ROUTER_LAYOUT) {
+ refreshVisuals();
+ }
+ }
+
+ public Object getAdapter(Class adapter) {
+ if (adapter == SnapToHelper.class) {
+ Boolean val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
+ if (val != null && val.booleanValue()) {
+ return new SnapToGrid(this);
+ }
+ }
+ return super.getAdapter(adapter);
+ }
+
+ protected void refreshVisuals() {
+ Animation.markBegin();
+ ConnectionLayer layer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
+ if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0) {
+ layer.setAntialias(SWT.ON);
}
+
+ if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANUAL)) {
+ AutomaticRouter router = new FanRouter();
+ router.setNextRouter(new BendpointConnectionRouter());
+ layer.setConnectionRouter(router);
+ } else if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANHATTAN)) {
+ layer.setConnectionRouter(new ManhattanConnectionRouter());
+ } else {
+ layer.setConnectionRouter(new ShortestPathConnectionRouter(getFigure()));
+ }
+ Animation.run(400);
}
+
+ public boolean setTableModelBounds() {
+ List tableParts = getChildren();
+ for (Iterator iter = tableParts.iterator(); iter.hasNext(); ) {
+ ElementEditPart elementEditPart = (ElementEditPart) iter.next();
+ ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+ if (elementFigure == null) {
+ continue;
+ }
+ Rectangle constraint = elementFigure.getBounds().getCopy();
+ ElementWrapper elementWrapper = elementEditPart.getElementWrapper();
+ elementWrapper.setConstraint(constraint);
+ }
+ return true;
+ }
}
More information about the jboss-svn-commits
mailing list