summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/lifecycle/instance/gui/view
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/lifecycle/instance/gui/view')
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/ActivityRenderer.java117
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/FindActDefPanel.java72
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/SplitJoinRenderer.java142
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/TransitionPanel.java187
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/WfDirectedEdgeRenderer.java130
-rw-r--r--source/com/c2kernel/lifecycle/instance/gui/view/WfVertexRenderer.java23
6 files changed, 0 insertions, 671 deletions
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/ActivityRenderer.java b/source/com/c2kernel/lifecycle/instance/gui/view/ActivityRenderer.java
deleted file mode 100644
index 046ed7c..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/ActivityRenderer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-import java.awt.Color;
-import java.awt.FontMetrics;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-import java.awt.Polygon;
-
-import com.c2kernel.common.GTimeStamp;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.stateMachine.States;
-import com.c2kernel.utils.DateUtility;
-import com.c2kernel.utils.Language;
-public class ActivityRenderer implements VertexRenderer
-{
- private Paint mActivePaint = new Color(100, 255, 100);
- private Paint mActiveCompPaint = new Color(100, 255, 255);
- private Paint mInactivePaint = new Color(255, 255, 255);
- private Paint mInactiveCompPaint = new Color(200, 200, 255);
- private Paint mErrorPaint = new Color(255, 50, 0);
- private Paint mTextPaint = Color.black;
- @Override
- public void draw(Graphics2D g2d, Vertex vertex)
- {
- Activity activity = (Activity) vertex;
- boolean active = activity.getActive();
- boolean hasError = !activity.verify();
- boolean isComposite = activity.getIsComposite();
- GraphPoint centrePoint = activity.getCentrePoint();
- //String description = activity.getDescription();
- String[] linesOfText = new String[3];
- linesOfText[0] = "(" + activity.getType() + ")";
- linesOfText[1] = activity.getName();
- if (hasError)
- linesOfText[2] = Language.translate(activity.getErrors());
- else
- {
- int cs = activity.getCurrentState();
- if (cs == States.WAITING && activity.getActive())
- linesOfText[2] =
- Language.translate(States.getStateName(cs))
- + (((Boolean) activity.getProperties().get("Show time")).booleanValue()
- ? " " + getWaitTime(activity.getActiveDate())
- : "");
- else if (cs == States.STARTED)
- linesOfText[2] =
- Language.translate(States.getStateName(cs))
- + (((Boolean) activity.getProperties().get("Show time")).booleanValue()
- ? " " + getWaitTime(activity.getStartDate())
- : "");
- else
- linesOfText[2] = Language.translate(States.getStateName(cs));
- }
-
- FontMetrics metrics = g2d.getFontMetrics();
- int lineWidth = 0;
- int lineHeight = metrics.getHeight();
- int linesHeight = lineHeight * linesOfText.length;
- int linesStartY = centrePoint.y - linesHeight / 2 + lineHeight * 2 / 3;
- int x = 0;
- int y = 0;
- int i = 0;
- GraphPoint[] outline = vertex.getOutlinePoints();
- Paint actColour;
- if (hasError)
- actColour = mErrorPaint;
- else if (active)
- if (isComposite)
- actColour = mActiveCompPaint;
- else
- actColour = mActivePaint;
- else if (isComposite)
- actColour = mInactiveCompPaint;
- else
- actColour = mInactivePaint;
- g2d.setPaint(actColour);
- //g2d.fill3DRect( centrePoint.x - mSize.width / 2, centrePoint.y - mSize.height / 2, mSize.width, mSize.height, true );
- g2d.fill(graphPointsToPolygon(outline));
- g2d.setPaint(mTextPaint);
- for (i = 0; i < linesOfText.length; i++)
- {
- lineWidth = metrics.stringWidth(linesOfText[i]);
- x = centrePoint.x - lineWidth / 2;
- y = linesStartY + i * lineHeight;
- g2d.drawString(linesOfText[i], x, y);
- }
- }
- private static Polygon graphPointsToPolygon(GraphPoint[] points)
- {
- Polygon polygon = new Polygon();
- int i = 0;
- for (i = 0; i < points.length; i++)
- {
- polygon.addPoint(points[i].x, points[i].y);
- }
- return polygon;
- }
- private static String getWaitTime(GTimeStamp date)
- {
- GTimeStamp now = new GTimeStamp();
- DateUtility.setToNow(now);
- long diff = DateUtility.diff(now, date);
- long secondes = diff % 60;
- long minutes = (diff / 60) % 60;
- long hours = (diff / 3600) % 24;
- long days = (diff / 3600 / 24);
- if (days > 0)
- return days + " " + Language.translate("d") + " " + hours + " " + Language.translate("h");
- if (hours > 0)
- return hours + " " + Language.translate("h") + " " + minutes + " " + Language.translate("min");
- if (minutes > 0)
- return minutes + " " + Language.translate("min");
- return secondes + " " + Language.translate("sec");
- }
-}
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/FindActDefPanel.java b/source/com/c2kernel/lifecycle/instance/gui/view/FindActDefPanel.java
deleted file mode 100644
index 4c1a148..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/FindActDefPanel.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-import javax.swing.JButton;
-
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.SelectedVertexPanel;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.lifecycle.ActivitySlotDef;
-import com.c2kernel.lookup.DomainPath;
-
-/**************************************************************************
- *
- * $Revision: 1.3 $
- * $Date: 2005/12/01 14:23:15 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class FindActDefPanel extends SelectedVertexPanel {
-
- JButton findButton;
- ActivitySlotDef currentAct;
-
- public FindActDefPanel() {
- super();
- findButton = new JButton("Open Definition");
- findButton.setEnabled(false);
- add(findButton);
- findButton.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- try {
- DomainPath actPath = (DomainPath)new DomainPath("/desc/ActivityDesc/").find(currentAct.getActivityDef());
- MainFrame.treeBrowser.push(actPath);
- } catch (ObjectNotFoundException e1) { }
- }
- });
- }
-
- /**
- *
- */
-
- @Override
- public void select(Vertex vert) {
- if (vert instanceof ActivitySlotDef) {
- findButton.setEnabled(true);
- currentAct = (ActivitySlotDef)vert;
- }
- else
- clear();
-
- }
-
- /**
- *
- */
-
- @Override
- public void clear() {
- findButton.setEnabled(false);
- currentAct = null;
- }
-
-}
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/SplitJoinRenderer.java b/source/com/c2kernel/lifecycle/instance/gui/view/SplitJoinRenderer.java
deleted file mode 100644
index 036f79a..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/SplitJoinRenderer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-
-import java.awt.Color;
-import java.awt.FontMetrics;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.AndSplit;
-import com.c2kernel.lifecycle.instance.Join;
-import com.c2kernel.lifecycle.instance.Loop;
-import com.c2kernel.lifecycle.instance.OrSplit;
-import com.c2kernel.lifecycle.instance.WfVertex;
-import com.c2kernel.lifecycle.instance.XOrSplit;
-import com.c2kernel.utils.Language;
-
-public class SplitJoinRenderer implements VertexRenderer
-{
- private Paint mTextPaint = Color.black;
- private Paint mBoxPaint = new Color( 204, 204, 204 );
- private Paint mErrorPaint = new Color( 255, 0, 0 );
- private boolean mTextOffsetsNotInitialised = true;
- private int mTextYOffset = 0;
- private String mAndText = "And";
- private int mAndTextXOffset = 0;
- private String mOrText = "Or";
- private int mOrTextXOffset = 0;
- private String mLoopText = "Loop";
- private int mLoopTextXOffset = 0;
- private String mXOrText = "XOr";
- private int mXOrTextXOffset = 0;
- private String mJoinText = "Join";
- private int mJoinTextXOffset = 0;
- private String mRouteText = "";
- private int mRouteTextXOffset = 0;
- private String mXXXText = "XXX";
- private int mXXXTextXOffset = 0;
-
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- GraphPoint centrePoint = vertex.getCentrePoint();
- String text = null;
- int textXOffset = 0;
- int vertexHeight = vertex.getHeight();
- int vertexWidth = vertex.getWidth();
-
-
- if ( mTextOffsetsNotInitialised )
- {
- initialiseTextOffsets( g2d );
- mTextOffsetsNotInitialised = false;
- }
- if ( vertex instanceof AndSplit )
- {
- text = Language.translate(mAndText);
- textXOffset = mAndTextXOffset;
- }
- else if ( vertex instanceof OrSplit )
- {
- text = Language.translate(mOrText);
- textXOffset = mOrTextXOffset;
- }
- else if ( vertex instanceof Loop )
- {
- text = Language.translate(mLoopText);
- textXOffset = mLoopTextXOffset;
- }
- else if ( vertex instanceof XOrSplit )
- {
- text = Language.translate(mXOrText);
- textXOffset = mXOrTextXOffset;
- }
- else if ( vertex instanceof Join )
- {
- text = Language.translate(mJoinText);
- textXOffset = mJoinTextXOffset;
- }
- else if ( vertex instanceof Join)
- {
- String type= (String)((Join)vertex).getProperties().get("Type");
- if (type!=null && type.equals("Route"))
- {
- text = mRouteText;
- textXOffset = mRouteTextXOffset;
- }
- else
- {
- text = Language.translate(mJoinText);
- textXOffset = mJoinTextXOffset;
- }
- }
- else
- {
- text = mXXXText;
- textXOffset = mXXXTextXOffset;
- }
-
- boolean hasErrors = ((WfVertex)vertex).verify();
- g2d.setPaint( hasErrors ? mBoxPaint : mErrorPaint );
- g2d.fillRect
- (
- centrePoint.x - vertexWidth / 2,
- centrePoint.y - vertexHeight / 2,
- vertexWidth,
- vertexHeight
- );
- g2d.setPaint( mTextPaint );
- g2d.drawRect
- (
- centrePoint.x - vertexWidth / 2,
- centrePoint.y - vertexHeight / 2,
- vertexWidth,
- vertexHeight
- );
- g2d.drawString( text, centrePoint.x - textXOffset, centrePoint.y + mTextYOffset );
-
- if (!hasErrors) {
- g2d.setPaint( mErrorPaint );
- String errors = Language.translate(((WfVertex)vertex).getErrors());
- int errorWidth = g2d.getFontMetrics().stringWidth( errors );
- g2d.drawString( errors, centrePoint.x - ( errorWidth / 2), centrePoint.y + vertexHeight );
- }
- }
-
- private void initialiseTextOffsets( Graphics2D g2d )
- {
- FontMetrics metrics = g2d.getFontMetrics();
-
-
- mTextYOffset = metrics.getHeight() / 3;
- mAndTextXOffset = metrics.stringWidth( Language.translate(mAndText) ) / 2;
- mOrTextXOffset = metrics.stringWidth( Language.translate(mOrText) ) / 2;
- mXOrTextXOffset = metrics.stringWidth( Language.translate(mXOrText) ) / 2;
- mJoinTextXOffset = metrics.stringWidth( Language.translate(mJoinText) ) / 2;
- mLoopTextXOffset = metrics.stringWidth( Language.translate(mLoopText) ) / 2;
- }
-}
-
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/TransitionPanel.java b/source/com/c2kernel/lifecycle/instance/gui/view/TransitionPanel.java
deleted file mode 100644
index 094f900..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/TransitionPanel.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-import javax.swing.Box;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-
-import com.c2kernel.entity.agent.Job;
-import com.c2kernel.entity.proxy.ItemProxy;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.SelectedVertexPanel;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.tabs.EntityTabPane;
-import com.c2kernel.gui.tabs.execution.Executor;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.stateMachine.StateMachine;
-import com.c2kernel.lifecycle.instance.stateMachine.States;
-import com.c2kernel.lifecycle.instance.stateMachine.Transitions;
-import com.c2kernel.utils.Logger;
-
-/**************************************************************************
- *
- * $Revision: 1.8 $
- * $Date: 2005/09/07 13:46:31 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class TransitionPanel extends SelectedVertexPanel implements ActionListener {
- protected Activity mCurrentAct;
- protected GridBagLayout gridbag;
- protected GridBagConstraints c;
- protected Box transBox;
- protected JComboBox executors;
- protected JComboBox states = new JComboBox(States.states);
- protected JCheckBox active = new JCheckBox();
- protected JLabel status = new JLabel();
- protected ItemProxy mItem;
-
- public TransitionPanel() {
- super();
- gridbag = new GridBagLayout();
- setLayout(gridbag);
- c = new GridBagConstraints();
- c.gridx=0; c.gridy=0;
- c.weightx=1; c.weighty=0;
- c.fill=GridBagConstraints.HORIZONTAL;
-
- JLabel title = new JLabel("Available Transitions");
- title.setFont(EntityTabPane.titleFont);
- gridbag.setConstraints(title, c);
- add(title);
-
- c.gridy++;
- gridbag.setConstraints(status, c);
- add(status);
- c.gridy++;
-
- transBox = Box.createHorizontalBox();
- gridbag.setConstraints(transBox, c);
- add(transBox);
-
- c.weightx=0; c.gridx++;
- executors = MainFrame.getExecutionPlugins();
- if (executors.getItemCount() > 1) {
- gridbag.setConstraints(executors, c);
- add(executors);
- }
-
-
-
- if (MainFrame.isAdmin) {
- c.gridx=0; c.gridy++;
- title = new JLabel("State Hacking");
- title.setFont(EntityTabPane.titleFont);
- gridbag.setConstraints(title, c);
- add(title);
- Box hackBox = Box.createHorizontalBox();
- hackBox.add(states);
- hackBox.add(Box.createHorizontalGlue());
- hackBox.add(new JLabel("Active:"));
- hackBox.add(active);
- c.gridy++;
- gridbag.setConstraints(hackBox, c);
- add(hackBox);
- states.addActionListener(this);
- active.addActionListener(this);
- }
-
- clear();
-
- }
- /**
- *
- */
- @Override
- public void select(Vertex vert) {
- clear();
- if (!(vert instanceof Activity)) return;
- mCurrentAct = (Activity)vert;
- states.setSelectedIndex(mCurrentAct.getCurrentState());
- states.setEnabled(true);
- active.setSelected(mCurrentAct.active);
- active.setEnabled(true);
- Logger.msg("Retrieving possible transitions for activity "+mCurrentAct.getName());
- int[] transitions = mCurrentAct.getMachine().possibleTransition();
- if (transitions.length == 0) {
- status.setText("None");
- return;
- }
- for (int i = 0; i < transitions.length; i++) {
- String trans= Transitions.getTransitionName(transitions[i]);
- if (!(transitions[i]==Transitions.DONE) && !(transitions[i]==Transitions.COMPLETE)) {
- String buttonLabel = trans.substring(0,1).toUpperCase()+trans.substring(1);
- JButton thisTrans = new JButton(buttonLabel);
- thisTrans.setActionCommand("Trans:"+String.valueOf(transitions[i]));
- thisTrans.addActionListener(this);
- transBox.add(thisTrans);
- transBox.add(Box.createHorizontalGlue());
- }
- status.setText(transitions.length+" transitions possible.");
- }
- revalidate();
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == active && mCurrentAct != null) {
- mCurrentAct.active = active.isSelected();
- return;
- }
- if (e.getSource() == states && mCurrentAct != null) {
- mCurrentAct.getMachine().state = states.getSelectedIndex();
- return;
- }
- if (!e.getActionCommand().startsWith("Trans:")) return;
- int transition = Integer.parseInt(e.getActionCommand().substring(6));
- Logger.msg("Requesting transition "+transition);
- Job thisJob = new Job(mItem.getSystemKey(),
- mCurrentAct.getPath(),
- transition,
- new StateMachine(mCurrentAct).simulate(transition),
- mCurrentAct.getCurrentState(),
- mCurrentAct.getName(),
- mCurrentAct.getProperties(),
- mCurrentAct.getType(),
- MainFrame.userAgent.getName());
- try {
- Executor selectedExecutor = (Executor)executors.getSelectedItem();
- selectedExecutor.execute(thisJob, status);
- } catch (Exception ex) {
- String className = ex.getClass().getName();
- className = className.substring(className.lastIndexOf('.')+1);
- Logger.error(ex);
- JOptionPane.showMessageDialog(null, ex.getMessage(), className, JOptionPane.ERROR_MESSAGE);
- }
-
- }
-
- @Override
- public void clear() {
- mCurrentAct = null;
- transBox.removeAll();
- status.setText("No activity selected");
- states.setSelectedIndex(0);
- states.setEnabled(false);
- active.setSelected(false);
- active.setEnabled(false);
- revalidate();
- }
-
-
- /**
- * @param item The mItem to set.
- */
- public void setItem(ItemProxy item) {
- mItem = item;
- }
-}
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/WfDirectedEdgeRenderer.java b/source/com/c2kernel/lifecycle/instance/gui/view/WfDirectedEdgeRenderer.java
deleted file mode 100644
index f39d9a6..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/WfDirectedEdgeRenderer.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.Shape;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;
-
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.lifecycle.instance.Next;
-public class WfDirectedEdgeRenderer implements DirectedEdgeRenderer
-{
- private GeneralPath mArrowTemplate = new GeneralPath();
- public WfDirectedEdgeRenderer()
- {
- mArrowTemplate.moveTo(-5, 5);
- mArrowTemplate.lineTo(0, 0);
- mArrowTemplate.lineTo(5, 5);
- }
- @Override
- public void draw(Graphics2D g2d, DirectedEdge directedEdge)
- {
- GraphPoint originPoint = directedEdge.getOriginPoint();
- GraphPoint terminusPoint = directedEdge.getTerminusPoint();
- GraphPoint midPoint = new GraphPoint();
- AffineTransform transform = new AffineTransform();
- Shape arrow = null;
- Next next = (Next) directedEdge;
- String text = (String) next.getProperties().get("Alias");
- g2d.setPaint(Color.black);
- if (("Broken +".equals(next.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, originPoint.x, (originPoint.y + terminusPoint.y) / 2);
- g2d.drawLine(originPoint.x, (originPoint.y + terminusPoint.y) / 2, terminusPoint.x, (originPoint.y + terminusPoint.y) / 2);
- g2d.drawLine(terminusPoint.x, (originPoint.y + terminusPoint.y) / 2, terminusPoint.x, terminusPoint.y);
- midPoint.x = (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = (originPoint.y + terminusPoint.y) / 2;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(
- calcArrowAngle(
- originPoint.x,
- originPoint.x - terminusPoint.x > -5
- && originPoint.x - terminusPoint.x < 5 ? originPoint.y : (originPoint.y + terminusPoint.y) / 2,
- terminusPoint.x,
- originPoint.x - terminusPoint.x > -5
- && originPoint.x - terminusPoint.x < 5 ? terminusPoint.y : (originPoint.y + terminusPoint.y) / 2));
- }
- else if (("Broken -".equals(next.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, terminusPoint.x, originPoint.y);
- g2d.drawLine(terminusPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y);
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? terminusPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : originPoint.y;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(
- calcArrowAngle(
- arrowOnY ? terminusPoint.x : originPoint.x,
- arrowOnY ? originPoint.y : originPoint.y,
- arrowOnY ? terminusPoint.x : terminusPoint.x,
- arrowOnY ? terminusPoint.y : originPoint.y));
- }
- else if (("Broken |".equals(next.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, originPoint.x, terminusPoint.y);
- g2d.drawLine(originPoint.x, terminusPoint.y, terminusPoint.x, terminusPoint.y);
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? originPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : terminusPoint.y;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(
- calcArrowAngle(
- arrowOnY ? terminusPoint.x : originPoint.x,
- arrowOnY ? originPoint.y : originPoint.y,
- arrowOnY ? terminusPoint.x : terminusPoint.x,
- arrowOnY ? terminusPoint.y : originPoint.y));
- }
- else
- {
- g2d.drawLine(originPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y);
- midPoint.x = originPoint.x + (terminusPoint.x - originPoint.x) / 2;
- midPoint.y = originPoint.y + (terminusPoint.y - originPoint.y) / 2;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(calcArrowAngle(originPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y));
- }
- arrow = mArrowTemplate.createTransformedShape(transform);
- g2d.draw(arrow);
- if (text != null)
- g2d.drawString(text, midPoint.x + 10, midPoint.y);
- }
- private static double calcArrowAngle(int originX, int originY, int terminusX, int terminusY)
- {
- double width = terminusX - originX;
- double height = terminusY - originY;
- if ((width == 0) && (height > 0))
- {
- return Math.PI;
- }
- if ((width == 0) && (height < 0))
- {
- return 0;
- }
- if ((width > 0) && (height == 0))
- {
- return Math.PI / 2.0;
- }
- if ((width < 0) && (height == 0))
- {
- return -1.0 * Math.PI / 2.0;
- }
- if ((width > 0) && (height > 0))
- {
- return Math.PI / 2.0 + Math.atan(Math.abs(height) / Math.abs(width));
- }
- if ((width > 0) && (height < 0))
- {
- return Math.atan(Math.abs(width) / Math.abs(height));
- }
- if ((width < 0) && (height < 0))
- {
- return -1.0 * Math.atan(Math.abs(width) / Math.abs(height));
- }
- if ((width < 0) && (height > 0))
- {
- return -1.0 * (Math.PI / 2.0 + Math.atan(Math.abs(height) / Math.abs(width)));
- }
- return 0.0;
- }
-}
diff --git a/source/com/c2kernel/lifecycle/instance/gui/view/WfVertexRenderer.java b/source/com/c2kernel/lifecycle/instance/gui/view/WfVertexRenderer.java
deleted file mode 100644
index 92a1021..0000000
--- a/source/com/c2kernel/lifecycle/instance/gui/view/WfVertexRenderer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.c2kernel.lifecycle.instance.gui.view;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.Join;
-import com.c2kernel.lifecycle.instance.Split;
-
-public class WfVertexRenderer implements VertexRenderer
-{
- protected ActivityRenderer mActivityRenderer = new ActivityRenderer();
- protected SplitJoinRenderer mSplitJoinRenderer = new SplitJoinRenderer();
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- if ( vertex instanceof Activity ) { mActivityRenderer.draw( g2d, vertex); }
- else if ( ( vertex instanceof Split ) || ( vertex instanceof Join ) ) { mSplitJoinRenderer.draw( g2d, vertex ); }
- }
-}
-