Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-12-30 22:34:32 +0000
committerddunne2008-12-30 22:34:32 +0000
commitba109dd2cc68159a7606ddd5914bfe6c58ee99e4 (patch)
tree6c7974df39c2470dd1d16a05ac9685dd8cdf53eb
parent60837dcdfb048d907e1a9a6e0e67574760182b31 (diff)
downloadorg.eclipse.osee-ba109dd2cc68159a7606ddd5914bfe6c58ee99e4.tar.gz
org.eclipse.osee-ba109dd2cc68159a7606ddd5914bfe6c58ee99e4.tar.xz
org.eclipse.osee-ba109dd2cc68159a7606ddd5914bfe6c58ee99e4.zip
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java25
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/WorkPageShape.java20
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java19
3 files changed, 51 insertions, 13 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
index 03d4f17799a..804b377dd0b 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
@@ -237,21 +237,22 @@ public class AtsWorkflowConfigEditor extends GraphicalEditorWithFlyoutPalette {
setPartName(workflowDef.getName());
diagram = new WorkflowDiagram();
int yLoc = 0;
-
+ String startPage = workflowDef.getStartPageId();
// Create states
- for (WorkPageDefinition page : workflowDef.getPagesOrdered()) {
- WorkPageShape rect = null;
- if (page.getName().contains("Cancelled")) {
- rect = new CancelledWorkPageShape();
- rect.setLocation(new Point(250, 300));
- } else if (page.getName().contains("Completed")) {
- rect = new CompletedWorkPageShape();
- rect.setLocation(new Point(50, yLoc += 100));
+ for (WorkPageDefinition pageDef : workflowDef.getPagesOrdered()) {
+ WorkPageShape pageShape = null;
+ if (pageDef.getName().contains("Cancelled")) {
+ pageShape = new CancelledWorkPageShape();
+ pageShape.setLocation(new Point(250, 300));
+ } else if (pageDef.getName().contains("Completed")) {
+ pageShape = new CompletedWorkPageShape();
+ pageShape.setLocation(new Point(50, yLoc += 100));
} else {
- rect = new WorkPageShape(page);
- rect.setLocation(new Point(50, yLoc += 100));
+ pageShape = new WorkPageShape(pageDef);
+ pageShape.setLocation(new Point(50, yLoc += 100));
+ pageShape.setStartPage(startPage.equals(pageShape.getId()) || pageShape.getId().endsWith(startPage));
}
- diagram.addChild(rect);
+ diagram.addChild(pageShape);
}
// Create transitions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/WorkPageShape.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/WorkPageShape.java
index 2fd5a1123af..bc4adf7382e 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/WorkPageShape.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/WorkPageShape.java
@@ -20,6 +20,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemAttributes;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinitionFactory;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
@@ -33,9 +34,13 @@ public class WorkPageShape extends RectangleShape {
private final WorkPageDefinition workPageDefinition;
private static String NAME = "Name";
private static String[] attributeProperties =
- new String[] {"Name", WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName(),
+ new String[] {NAME, WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName(),
WorkItemAttributes.WORK_ID.getAttributeTypeName(),
WorkItemAttributes.WORK_PARENT_ID.getAttributeTypeName()};
+ public static String START_PAGE = "Start Page";
+ public static enum StartPageEnum {
+ Yes, No
+ };
public WorkPageShape() {
this(new WorkPageDefinition("New", "ats.page." + GUID.generateGuidStr(), null));
@@ -47,6 +52,8 @@ public class WorkPageShape extends RectangleShape {
for (String type : attributeProperties) {
descriptorList.add(new TextPropertyDescriptor(type, type)); // id and description pair
}
+ descriptorList.add(new ComboBoxPropertyDescriptor(START_PAGE, START_PAGE, new String[] {StartPageEnum.Yes.name(),
+ StartPageEnum.No.name()}));
}
@Override
@@ -62,6 +69,14 @@ public class WorkPageShape extends RectangleShape {
}
}
+ public boolean isStartPage() {
+ return ((Integer) getPropertyValue(START_PAGE)) == StartPageEnum.Yes.ordinal();
+ }
+
+ public void setStartPage(boolean set) {
+ setPropertyValue(START_PAGE, set ? StartPageEnum.Yes.ordinal() : StartPageEnum.No.ordinal());
+ }
+
@Override
public Object getPropertyValue(Object propertyId) {
try {
@@ -141,6 +156,9 @@ public class WorkPageShape extends RectangleShape {
super.setPropertyValue(WorkItemAttributes.WORK_ID.getAttributeTypeName(), value);
} else if (WorkItemAttributes.WORK_PARENT_ID.getAttributeTypeName().equals(propertyId)) {
super.setPropertyValue(WorkItemAttributes.WORK_PARENT_ID.getAttributeTypeName(), value);
+ } else if (START_PAGE.equals(propertyId)) {
+ super.setPropertyValue(START_PAGE, value);
+ firePropertyChange(START_PAGE, null, value);
} else {
super.setPropertyValue(propertyId, value);
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
index 2fa2eccb1f4..cd8e5be13f2 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
@@ -5,6 +5,7 @@
*/
package org.eclipse.osee.ats.workflow.editor.parts;
+import java.beans.PropertyChangeEvent;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.ConnectionAnchor;
import org.eclipse.draw2d.GridLayout;
@@ -40,6 +41,8 @@ public class WorkPageEditPart extends ShapeEditPart {
f.setBackgroundColor(ColorConstants.darkGreen);
} else if (workPageShape instanceof CancelledWorkPageShape) {
f.setBackgroundColor(ColorConstants.lightGray);
+ } else if (workPageShape.isStartPage()) {
+ f.setBackgroundColor(ColorConstants.yellow);
}
f.add(new Label(workPageShape.getName()));
f.setToolTip(new Label(workPageShape.getToolTip()));
@@ -47,6 +50,22 @@ public class WorkPageEditPart extends ShapeEditPart {
}
/* (non-Javadoc)
+ * @see org.eclipse.osee.ats.workflow.editor.parts.ShapeEditPart#propertyChange(java.beans.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ super.propertyChange(evt);
+ String prop = evt.getPropertyName();
+ if (WorkPageShape.START_PAGE.equals(prop)) {
+ if (workPageShape.isStartPage()) {
+ getFigure().setBackgroundColor(ColorConstants.yellow);
+ } else {
+ getFigure().setBackgroundColor(ColorConstants.green);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.osee.ats.config.editor.parts.ShapeEditPart#getTargetConnectionAnchor(org.eclipse.gef.Request)
*/
@Override

Back to the top