Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2009-08-03 19:13:07 +0000
committerddunne2009-08-03 19:13:07 +0000
commitffd918a7009bb6f29e4386dfdb8546e8cb0e1071 (patch)
tree4e1249f399547cf85dd1d3341c8880b5f342ba2d
parent357cb18f1bf4f458c1d56274d55549170cf81101 (diff)
downloadorg.eclipse.osee-ffd918a7009bb6f29e4386dfdb8546e8cb0e1071.tar.gz
org.eclipse.osee-ffd918a7009bb6f29e4386dfdb8546e8cb0e1071.tar.xz
org.eclipse.osee-ffd918a7009bb6f29e4386dfdb8546e8cb0e1071.zip
Estimated hours refresh fix
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java89
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/CurrentAssigneesXWidget.java89
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java1
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java27
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java27
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TargetVersionXWidget.java45
6 files changed, 158 insertions, 120 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
index 8173bad7ded..4b23a5d3755 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
@@ -31,6 +31,7 @@ import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.editor.SMAManager.TransitionOption;
import org.eclipse.osee.ats.editor.service.ServicesArea;
+import org.eclipse.osee.ats.editor.widget.CurrentAssigneesXWidget;
import org.eclipse.osee.ats.editor.widget.EstimatedHoursXWidget;
import org.eclipse.osee.ats.editor.widget.StateHoursSpentXWidget;
import org.eclipse.osee.ats.editor.widget.StatePercentCompleteXWidget;
@@ -67,6 +68,7 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinitionLabelProvider;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinitionViewSorter;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkWidgetDefinition;
+import org.eclipse.osee.framework.ui.swt.ALayout;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -163,12 +165,6 @@ public class SMAWorkFlowSection extends SectionPart {
protected Composite createWorkArea(Composite comp, AtsWorkPage atsWorkPage, XFormToolkit toolkit) throws OseeCoreException {
- Composite workComp = toolkit.createContainer(comp, 1);
- workComp.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_BEGINNING));
- // workComp.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GREEN));
-
- createCurrentPageHeader(workComp, atsWorkPage, toolkit);
-
// Add static layoutDatas to atsWorkPage
List<DynamicXWidgetLayoutData> staticDatas = new ArrayList<DynamicXWidgetLayoutData>();
for (WorkItemDefinition workItemDefinition : atsWorkPage.getWorkPageDefinition().getWorkItems(true)) {
@@ -194,14 +190,21 @@ public class SMAWorkFlowSection extends SectionPart {
atsWorkPage.setSmaMgr(smaMgr);
- // createTargetVersionAndAssigneesHeader(workComp);
+ // Create Page
+ Composite workComp = toolkit.createContainer(comp, 1);
+ workComp.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_BEGINNING));
+ // workComp.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GREEN));
+
+ createTargetVersionAndAssigneeHeader(workComp, atsWorkPage, toolkit);
createMetricsHeader(workComp);
+ // Create dynamic XWidgets
DynamicXWidgetLayout dynamicXWidgetLayout =
atsWorkPage.createBody(getManagedForm(), workComp, smaMgr.getSma(), xModListener,
isEditable || isGlobalEditable);
allXWidgets.addAll(dynamicXWidgetLayout.getXWidgets());
+ // Set all XWidget labels to bold font
for (XWidget xWidget : allXWidgets) {
if (xWidget.getLabelWidget() != null) {
SMAEditor.setLabelFonts(xWidget.getLabelWidget(), FontManager.getDefaultLabelFont());
@@ -230,17 +233,12 @@ public class SMAWorkFlowSection extends SectionPart {
return workComp;
}
- private void createTargetVersionAndAssigneesHeader(Composite parent) throws OseeCoreException {
- Composite comp = new Composite(parent, SWT.None);
- comp.setLayout(new GridLayout(6, false));
- comp.setLayoutData(new GridData(GridData.FILL_BOTH));
- allXWidgets.add(new TargetVersionXWidget(smaMgr, comp, 2, xModListener));
- }
-
private void createMetricsHeader(Composite parent) throws OseeCoreException {
if (!atsWorkPage.isCompleteCancelledState()) {
Composite comp = new Composite(parent, SWT.None);
- comp.setLayout(new GridLayout(6, false));
+ GridLayout layout = ALayout.getZeroMarginLayout(6, false);
+ layout.marginLeft = 2;
+ comp.setLayout(layout);
comp.setLayoutData(new GridData(GridData.FILL_BOTH));
allXWidgets.add(new StatePercentCompleteXWidget(getManagedForm(), atsWorkPage, smaMgr, comp, 2, xModListener));
allXWidgets.add(new StateHoursSpentXWidget(getManagedForm(), atsWorkPage, smaMgr, comp, 2, xModListener));
@@ -406,7 +404,7 @@ public class SMAWorkFlowSection extends SectionPart {
}
}
- private void createCurrentPageHeader(Composite parent, AtsWorkPage page, XFormToolkit toolkit) throws OseeCoreException {
+ private void createTargetVersionAndAssigneeHeader(Composite parent, AtsWorkPage page, XFormToolkit toolkit) throws OseeCoreException {
Composite comp = toolkit.createContainer(parent, 6);
comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
@@ -417,67 +415,18 @@ public class SMAWorkFlowSection extends SectionPart {
label.setToolTipText("Priviledged Edit Mode is Enabled. Editing any field in any state is authorized. Select icon to disable");
}
- // Targeted Version composite
+ // Targeted Version
if (isShowTargetedVersion()) {
- targetVersionInfoComposite = new SMATargetVersionInfoComposite(smaMgr, comp, getManagedForm(), toolkit);
+ allXWidgets.add(new TargetVersionXWidget(getManagedForm(), smaMgr, comp, 2, xModListener));
}
- if (!smaMgr.isCancelled() && !smaMgr.isCompleted()) {
- // Assignee(s) label
- Label label = toolkit.createLabel(comp, ASSIGNEES);
- SMAEditor.setLabelFonts(label, FontManager.getDefaultLabelFont());
-
- // Assignees "edit" hyperlink
- Hyperlink setAssigneesHyperlinkLabel = toolkit.createHyperlink(comp, "<edit>", SWT.NONE);
- setAssigneesHyperlinkLabel.addHyperlinkListener(new IHyperlinkListener() {
-
- public void linkEntered(HyperlinkEvent e) {
- }
-
- public void linkExited(HyperlinkEvent e) {
- }
-
- public void linkActivated(HyperlinkEvent e) {
- try {
- handleChangeCurrentAssignees();
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
- });
-
- currentAssigneesLabel = toolkit.createLabel(comp, smaMgr.getStateMgr().getAssigneesStr(80));
- currentAssigneesLabel.setToolTipText(smaMgr.getStateMgr().getAssigneesStr());
- currentAssigneesLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- if (smaMgr.getStateMgr().getAssignees().size() == 0) {
- Label errorLabel = toolkit.createLabel(comp, "Error: State has no assignees");
- errorLabel.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
- }
- } else if (smaMgr.getStateMgr().getAssignees().size() > 0) {
- Label errorLabel =
- toolkit.createLabel(comp,
- "Error: Non-current/Cancelled/Completed state still assigned to " + Artifacts.toString("; ",
- smaMgr.getStateMgr().getAssignees()));
- errorLabel.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+ // Current Assignees
+ if (page.isCurrentNonCompleteCancelledState(smaMgr)) {
+ allXWidgets.add(new CurrentAssigneesXWidget(getManagedForm(), smaMgr, comp, 2, xModListener, isEditable));
}
}
- private void handleChangeCurrentAssignees() throws OseeCoreException {
- if (!isEditable && !smaMgr.getStateMgr().getAssignees().contains(UserManager.getUser(SystemUser.UnAssigned)) && !smaMgr.getStateMgr().getAssignees().contains(
- UserManager.getUser())) {
- AWorkbench.popup(
- "ERROR",
- "You must be assigned to modify assignees.\nContact current Assignee or Select Priviledged Edit for Authorized Overriders.");
- return;
- }
- if (smaMgr.promptChangeAssignees(false)) {
- refresh();
- smaMgr.getEditor().onDirtied();
- }
- }
-
private void handleChangeTransitionAssignees() throws OseeCoreException {
WorkPageDefinition toWorkPage = (WorkPageDefinition) transitionToStateCombo.getSelected();
if (toWorkPage == null) {
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/CurrentAssigneesXWidget.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/CurrentAssigneesXWidget.java
new file mode 100644
index 00000000000..8ef6ccc77fb
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/CurrentAssigneesXWidget.java
@@ -0,0 +1,89 @@
+/*
+ * Created on Aug 2, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.editor.widget;
+
+import org.eclipse.osee.ats.AtsPlugin;
+import org.eclipse.osee.ats.editor.SMAManager;
+import org.eclipse.osee.framework.core.data.SystemUser;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelCmdValueSelection;
+import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IManagedForm;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CurrentAssigneesXWidget extends XHyperlinkLabelCmdValueSelection {
+
+ private final SMAManager smaMgr;
+ private final boolean isEditable;
+
+ public CurrentAssigneesXWidget(IManagedForm managedForm, final SMAManager smaMgr, Composite composite, int horizontalSpan, XModifiedListener xModListener, boolean isEditable) {
+ super("Assignee(s)");
+ this.smaMgr = smaMgr;
+ this.isEditable = isEditable;
+ if (xModListener != null) {
+ addXModifiedListener(xModListener);
+ }
+ setEditable(!smaMgr.getSma().isReadOnly());
+ super.createWidgets(managedForm, composite, horizontalSpan);
+ }
+
+ @Override
+ public void refresh() {
+ super.refresh();
+ if (getControl().isDisposed()) {
+ return;
+ }
+ try {
+ if (smaMgr.getStateMgr().getAssignees().size() == 0) {
+ setValueLabel("Error: State has no assignees");
+ setErrorState(true);
+ } else {
+ setValueLabel(smaMgr.getStateMgr().getAssigneesStr(80));
+ setToolTip(smaMgr.getStateMgr().getAssigneesStr());
+ setErrorState(false);
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+
+ private void handleChangeCurrentAssignees() throws OseeCoreException {
+ if (!isEditable && !smaMgr.getStateMgr().getAssignees().contains(UserManager.getUser(SystemUser.UnAssigned)) && !smaMgr.getStateMgr().getAssignees().contains(
+ UserManager.getUser())) {
+ AWorkbench.popup(
+ "ERROR",
+ "You must be assigned to modify assignees.\nContact current Assignee or Select Priviledged Edit for Authorized Overriders.");
+ return;
+ }
+ if (smaMgr.promptChangeAssignees(false)) {
+ refresh();
+ smaMgr.getEditor().onDirtied();
+ }
+ }
+
+ @Override
+ public String getHyperlinkLabelString() {
+ return "<edit>";
+ }
+
+ @Override
+ public boolean handleSelection() {
+ try {
+ handleChangeCurrentAssignees();
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ return true;
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java
index 519383e51e1..76ee80794c3 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java
@@ -32,6 +32,7 @@ public class EstimatedHoursXWidget extends XFloatDam {
addXModifiedListener(xModListener);
}
setArtifact(smaMgr.getSma(), ATSAttributes.ESTIMATED_HOURS_ATTRIBUTE.getStoreName());
+ setFillHorizontally(true);
createWidgets(composite, horizontalSpan);
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE, ex);
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java
index 951fa05896a..2dd7c10b28c 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java
@@ -20,7 +20,6 @@ import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelValueSelection;
import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
-import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IManagedForm;
@@ -40,23 +39,23 @@ public class StateHoursSpentXWidget extends XHyperlinkLabelValueSelection {
addXModifiedListener(xModListener);
}
setEditable(!smaMgr.getSma().isReadOnly());
- addXModifiedListener(new XModifiedListener() {
-
- @Override
- public void widgetModified(XWidget widget) {
- try {
- SMAPromptChangeStatus.promptChangeStatus(Collections.singleton(smaMgr.getSma()), false);
- refresh();
- smaMgr.getEditor().onDirtied();
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
- });
+ setFillHorizontally(true);
setToolTip(TOOLTIP);
super.createWidgets(managedForm, composite, horizontalSpan);
}
+ @Override
+ public boolean handleSelection() {
+ try {
+ SMAPromptChangeStatus.promptChangeStatus(Collections.singleton(smaMgr.getSma()), false);
+ smaMgr.getEditor().onDirtied();
+ return true;
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ return false;
+ }
+
public static String TOOLTIP = "Calculation: \n State Hours Spent: amount entered by user\n" +
//
" Task Hours Spent: total hours spent of all tasks related to state\n" +
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java
index 864f7c6bb64..7233002b052 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java
@@ -20,7 +20,6 @@ import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelValueSelection;
import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
-import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IManagedForm;
@@ -40,23 +39,23 @@ public class StatePercentCompleteXWidget extends XHyperlinkLabelValueSelection {
addXModifiedListener(xModListener);
}
setEditable(!smaMgr.getSma().isReadOnly());
- addXModifiedListener(new XModifiedListener() {
-
- @Override
- public void widgetModified(XWidget widget) {
- try {
- SMAPromptChangeStatus.promptChangeStatus(Collections.singleton(smaMgr.getSma()), false);
- refresh();
- smaMgr.getEditor().onDirtied();
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
- });
+ setFillHorizontally(true);
setToolTip(TOOLTIP);
super.createWidgets(managedForm, composite, horizontalSpan);
}
+ @Override
+ public boolean handleSelection() {
+ try {
+ SMAPromptChangeStatus.promptChangeStatus(Collections.singleton(smaMgr.getSma()), false);
+ smaMgr.getEditor().onDirtied();
+ return true;
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ return false;
+ }
+
public static String TOOLTIP = "Calculation: \n State Percent: amount entered by user\n" +
//
" Task Percent: total percent of all tasks related to state / number of tasks related to state\n" +
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TargetVersionXWidget.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TargetVersionXWidget.java
index 51e1bf2ace1..3d3c9580f20 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TargetVersionXWidget.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TargetVersionXWidget.java
@@ -15,44 +15,30 @@ import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelCmdValueSelection;
+import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelValueSelection;
import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
-import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IManagedForm;
/**
* @author Donald G. Dunne
*/
-public class TargetVersionXWidget extends XHyperlinkLabelCmdValueSelection {
+public class TargetVersionXWidget extends XHyperlinkLabelValueSelection {
private final SMAManager smaMgr;
/**
* @param label
*/
- public TargetVersionXWidget(SMAManager smaMgr, Composite composite, int horizontalSpan, XModifiedListener xModListener) {
- super("Target Version", false);
+ public TargetVersionXWidget(IManagedForm managedForm, final SMAManager smaMgr, Composite composite, int horizontalSpan, XModifiedListener xModListener) {
+ super("Target Version");
this.smaMgr = smaMgr;
if (xModListener != null) {
addXModifiedListener(xModListener);
}
- final SMAManager fSmaMgr = smaMgr;
- addXModifiedListener(new XModifiedListener() {
-
- @Override
- public void widgetModified(XWidget widget) {
- try {
- if (fSmaMgr.promptChangeVersion(
- AtsUtil.isAtsAdmin() ? VersionReleaseType.Both : VersionReleaseType.UnReleased, false)) {
- refresh();
- }
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
- });
- super.createControls(composite, horizontalSpan);
-
+ setFillHorizontally(false);
+ setEditable(!smaMgr.getSma().isReadOnly());
+ super.createWidgets(managedForm, composite, horizontalSpan);
}
@Override
@@ -96,4 +82,19 @@ public class TargetVersionXWidget extends XHyperlinkLabelCmdValueSelection {
return status;
}
+ @Override
+ public boolean handleSelection() {
+ try {
+ if (smaMgr.promptChangeVersion(AtsUtil.isAtsAdmin() ? VersionReleaseType.Both : VersionReleaseType.UnReleased,
+ false)) {
+ refresh();
+ smaMgr.getEditor().onDirtied();
+ return true;
+ }
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ return false;
+ }
+
}

Back to the top