Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-07-18 05:00:08 +0000
committerddunne2008-07-18 05:00:08 +0000
commit86a8d53434d7f58cef2d17ccce0912c15bb0bc25 (patch)
tree153dec7fe50c9db6c4d84792c48a32331e245a73
parent4079e7edde6f6e24f460743ba4cb3c5cedcd5c64 (diff)
downloadorg.eclipse.osee-86a8d53434d7f58cef2d17ccce0912c15bb0bc25.tar.gz
org.eclipse.osee-86a8d53434d7f58cef2d17ccce0912c15bb0bc25.tar.xz
org.eclipse.osee-86a8d53434d7f58cef2d17ccce0912c15bb0bc25.zip
Change view attribute columns
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskLabelProvider.java87
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewer.java29
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerFactory.java76
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerSorter.java5
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java18
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerLabelProvider.java46
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerValueColumn.java9
7 files changed, 129 insertions, 141 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskLabelProvider.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskLabelProvider.java
index 95825e6621c..c43882083db 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskLabelProvider.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskLabelProvider.java
@@ -14,9 +14,8 @@ import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.editor.SMAManager;
import org.eclipse.osee.ats.util.widgets.dialog.TaskResOptionDefinition;
-import org.eclipse.osee.ats.world.AtsXColumn;
import org.eclipse.osee.ats.world.WorldLabelProvider;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerColumn;
import org.eclipse.swt.graphics.Color;
@@ -38,80 +37,46 @@ public class TaskLabelProvider extends WorldLabelProvider {
this.taskXViewer = treeViewer;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.osee.ats.world.WorldLabelProvider#getColumnText(java.lang.Object, int)
- */
@Override
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof String) {
- if (columnIndex == 1)
- return (String) element;
- else
- return "";
- }
+ public String getColumnText(Object element, XViewerColumn col, int columnIndex) {
TaskArtifact taskArt = (TaskArtifact) element;
if (taskArt == null) return "";
- XViewerColumn xCol = taskXViewer.getXTreeColumn(columnIndex);
- if (xCol != null) {
- AtsXColumn aCol = AtsXColumn.getAtsXColumn(xCol);
- if (taskArt.isDeleted()) {
- if (aCol == AtsXColumn.ID_Col)
- return taskArt.getHumanReadableId();
- else if (aCol == AtsXColumn.Title_Col)
- return taskArt.getInternalDescriptiveName();
- else
- return "<deleted>";
- }
- if (!xCol.isShow()) return ""; // Since not shown, don't display
- if (aCol == AtsXColumn.Assignees_Col) {
- return (new SMAManager(taskArt)).getAssigneesWasIsStr();
- }
- return super.getColumnText(element, columnIndex, taskArt, xCol, aCol);
+ if (taskArt.isDeleted()) {
+ if (col == WorldXViewerFactory.ID_Col)
+ return taskArt.getHumanReadableId();
+ else if (col == WorldXViewerFactory.Title_Col)
+ return taskArt.getInternalDescriptiveName();
+ else
+ return "<deleted>";
}
- return "";
+ if (col == WorldXViewerFactory.Assignees_Col) {
+ return (new SMAManager(taskArt)).getAssigneesWasIsStr();
+ }
+ return super.getColumnText(element, col, columnIndex);
}
@Override
- public Image getColumnImage(Object element, int columnIndex) {
- if (element instanceof String) return null;
- Artifact artifact = (Artifact) element;
- if (artifact == null || artifact.isDeleted()) return null;
- XViewerColumn xCol = taskXViewer.getXTreeColumn(columnIndex);
- if (xCol != null) {
- AtsXColumn aCol = AtsXColumn.getAtsXColumn(xCol);
- if (!xCol.isShow()) return null; // Since not shown, don't display
- if (aCol == AtsXColumn.Title_Col) return artifact.getImage();
- return super.getColumnImage(element, columnIndex, artifact, xCol, aCol);
- }
- return null;
+ public Image getColumnImage(Object element, XViewerColumn col, int columnIndex) {
+ if (!col.isShow()) return null; // Since not shown, don't display
+ if (col == WorldXViewerFactory.Title_Col) return ((TaskArtifact) element).getImage();
+ return super.getColumnImage(element, col, columnIndex);
}
- /* (non-Javadoc)
- * @see org.eclipse.osee.ats.world.WorldLabelProvider#getForeground(java.lang.Object, int)
- */
@Override
- public Color getForeground(Object element, int columnIndex) {
+ public Color getForeground(Object element, XViewerColumn col, int columnIndex) {
try {
- if (!taskXViewer.isUsingTaskResolutionOptions()) return null;
- XViewerColumn xCol = taskXViewer.getXTreeColumn(columnIndex);
- if (xCol != null) {
- AtsXColumn aCol = AtsXColumn.getAtsXColumn(xCol);
- if (aCol != null && aCol == AtsXColumn.Resolution_Col) {
- TaskArtifact taskArt = (TaskArtifact) element;
- if (taskArt != null) {
- TaskResOptionDefinition def =
- taskXViewer.getTaskResOptionDefinition(taskArt.getWorldViewResolution());
- if (def != null) {
- return Display.getCurrent().getSystemColor(def.getColorInt());
- }
+ if (col == WorldXViewerFactory.Resolution_Col) {
+ TaskArtifact taskArt = (TaskArtifact) element;
+ if (taskArt != null) {
+ TaskResOptionDefinition def = taskXViewer.getTaskResOptionDefinition(taskArt.getWorldViewResolution());
+ if (def != null) {
+ return Display.getCurrent().getSystemColor(def.getColorInt());
}
}
}
} catch (Exception ex) {
- OSEELog.logException(AtsPlugin.class, ex, true);
+ OSEELog.logException(AtsPlugin.class, ex, false);
}
- return super.getForeground(element, columnIndex);
+ return null;
}
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewer.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewer.java
index 007861b978b..e60ee471dd0 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewer.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewer.java
@@ -29,8 +29,8 @@ import org.eclipse.osee.ats.artifact.ATSAttributes;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.editor.SMAManager;
import org.eclipse.osee.ats.util.widgets.dialog.TaskResOptionDefinition;
-import org.eclipse.osee.ats.world.AtsXColumn;
import org.eclipse.osee.ats.world.WorldXViewer;
+import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
@@ -290,7 +290,7 @@ public class TaskXViewer extends WorldXViewer {
}
- public boolean handleChangeResolution()throws OseeCoreException, SQLException{
+ public boolean handleChangeResolution() throws OseeCoreException, SQLException {
if (isUsingTaskResolutionOptions()) {
if (SMAManager.promptChangeStatus(taskResOptionDefinitions, getSelectedTaskArtifacts(), false)) {
editor.onDirtied();
@@ -305,36 +305,29 @@ public class TaskXViewer extends WorldXViewer {
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.osee.ats.viewer.XViewer#handleAltLeftClick(org.eclipse.swt.widgets.TreeColumn,
- * org.eclipse.swt.widgets.TreeItem)
- */
@Override
- public boolean handleAltLeftClick(TreeColumn treeColumn, TreeItem treeItem) {
+ public boolean handleAltLeftClick(TreeColumn treeColumn, TreeItem treeItem, boolean persist) {
if (!isTasksEditable()) {
AWorkbench.popup("ERROR", "Editing disabled for current state.");
return false;
}
XViewerColumn xCol = (XViewerColumn) treeColumn.getData();
- AtsXColumn aCol = AtsXColumn.getAtsXColumn(xCol);
SMAManager taskSmaMgr = new SMAManager((TaskArtifact) treeItem.getData());
boolean modified = false;
try {
- if (isSelectedTaskArtifactsAreInWork() && aCol == AtsXColumn.Estimated_Hours_Col) {
+ if (isSelectedTaskArtifactsAreInWork() && xCol == WorldXViewerFactory.Estimated_Hours_Col) {
modified = taskSmaMgr.promptChangeFloatAttribute(ATSAttributes.ESTIMATED_HOURS_ATTRIBUTE, false);
- } else if (isSelectedTaskArtifactsAreInWork() && aCol == AtsXColumn.Title_Col) {
+ } else if (isSelectedTaskArtifactsAreInWork() && xCol == WorldXViewerFactory.Title_Col) {
modified = taskSmaMgr.promptChangeAttribute(ATSAttributes.TITLE_ATTRIBUTE, false);
- } else if (isSelectedTaskArtifactsAreInWork() && aCol == AtsXColumn.Related_To_State_Col) {
+ } else if (isSelectedTaskArtifactsAreInWork() && xCol == WorldXViewerFactory.Related_To_State_Col) {
modified = taskSmaMgr.promptChangeAttribute(ATSAttributes.RELATED_TO_STATE_ATTRIBUTE, false);
- } else if (isSelectedTaskArtifactsAreInWork() && aCol == AtsXColumn.Assignees_Col) {
+ } else if (isSelectedTaskArtifactsAreInWork() && xCol == WorldXViewerFactory.Assignees_Col) {
modified = taskSmaMgr.promptChangeAssignees();
- } else if (isUsingTaskResolutionOptions() && (aCol == AtsXColumn.Hours_Spent_State_Col || aCol == AtsXColumn.Hours_Spent_Total_Col || aCol == AtsXColumn.Percent_Complete_State_Col || aCol == AtsXColumn.Percent_Complete_Total_Col)) {
+ } else if (isUsingTaskResolutionOptions() && (xCol == WorldXViewerFactory.Hours_Spent_State_Col || xCol == WorldXViewerFactory.Hours_Spent_Total_Col || xCol == WorldXViewerFactory.Percent_Complete_State_Col || xCol == WorldXViewerFactory.Percent_Complete_Total_Col)) {
modified = handleChangeResolution();
- } else if (isSelectedTaskArtifactsAreInWork() && aCol == AtsXColumn.Resolution_Col) {
+ } else if (isSelectedTaskArtifactsAreInWork() && xCol == WorldXViewerFactory.Resolution_Col) {
modified = handleChangeResolution();
- } else if (aCol == AtsXColumn.Hours_Spent_State_Col || aCol == AtsXColumn.Hours_Spent_Total_Col || aCol == AtsXColumn.Percent_Complete_State_Col || aCol == AtsXColumn.Percent_Complete_Total_Col) {
+ } else if (xCol == WorldXViewerFactory.Hours_Spent_State_Col || xCol == WorldXViewerFactory.Hours_Spent_Total_Col || xCol == WorldXViewerFactory.Percent_Complete_State_Col || xCol == WorldXViewerFactory.Percent_Complete_Total_Col) {
modified = taskSmaMgr.promptChangeStatus(false);
} else
modified = super.handleAltLeftClick(treeColumn, treeItem, false);
@@ -347,7 +340,7 @@ public class TaskXViewer extends WorldXViewer {
} catch (Exception ex) {
OSEELog.logException(AtsPlugin.class, ex, true);
}
- return false;
+ return super.handleAltLeftClick(treeColumn, treeItem, persist);
}
/**
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerFactory.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerFactory.java
index fb6b86bef9d..2a5d3165eab 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerFactory.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerFactory.java
@@ -12,62 +12,61 @@ package org.eclipse.osee.ats.util.widgets.task;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
-import org.eclipse.osee.ats.world.AtsXColumn;
+import java.util.Map;
+import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewer;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerSorter;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize.CustomizeData;
-import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.skynet.SkynetXViewerFactory;
/**
* @author Donald G. Dunne
*/
-public class TaskXViewerFactory extends SkynetXViewerFactory {
+public class TaskXViewerFactory extends WorldXViewerFactory {
- private XViewer xViewer;
+ public static final List<XViewerColumn> columns =
+ Arrays.asList(Title_Col, State_Col, Assignees_Col, Percent_Complete_Total_Col, Total_Hours_Spent_Col,
+ Resolution_Col, Estimated_Hours_Col, Remaining_Hours_Col, Related_To_State_Col, Notes_Col, Type_Col,
+ Priority_Col, Change_Type_Col, Actionable_Items_Col, User_Community_Col, ID_Col, Created_Date_Col,
+ Version_Target_Col, Team_Col, Deadline_Col, Annual_Cost_Avoidance_Col, Description_Col, Legacy_PCR_Col,
+ Decision_Col, Estimated_Release_Date_Col, Release_Date_Col, Work_Package_Col, Category_Col,
+ Category2_Col, Category3_Col, Weekly_Benefit_Hrs_Col, Percent_Complete_State_Col,
+ Percent_Complete_State_Task_Col, Percent_Complete_State_Review_Col, Hours_Spent_State_Col,
+ Hours_Spent_State_Task_Col, Hours_Spent_State_Review_Col, Hours_Spent_Total_Col, Originator_Col,
+ Implementor_Col, Review_Author_Col, Review_Moderator_Col, Review_Reviewer_Col, Review_Decider_Col,
+ Completed_Date_Col, Cancelled_Date_Col, Man_Days_Needed_Col, Percent_Rework_Col, Branch_Status_Col,
+ Number_of_Tasks_Col, Last_Modified_Col, Last_Statused_Col, Validation_Required_Col);
+ public static final List<XViewerColumn> visibleColumns =
+ Arrays.asList(Title_Col, State_Col, Assignees_Col, Percent_Complete_Total_Col, Total_Hours_Spent_Col,
+ Resolution_Col, Estimated_Hours_Col, Remaining_Hours_Col, Related_To_State_Col, Notes_Col);
+
+ public static Map<String, XViewerColumn> idToColumn = null;
public TaskXViewerFactory() {
+ if (idToColumn == null) {
+ idToColumn = new HashMap<String, XViewerColumn>();
+ for (XViewerColumn xCol : columns) {
+ xCol.setShow(visibleColumns.contains(xCol));
+ idToColumn.put(xCol.getId(), xCol);
+ }
+ }
+ // TODO Old default widths for visible columns
+ // List<Integer> widths = Arrays.asList(450, 60, 150, 40, 40, 100, 50, 50, 50, 80, 80);
+
}
public XViewerSorter createNewXSorter(XViewer xViewer) {
- this.xViewer = xViewer;
return new TaskXViewerSorter(xViewer);
}
public CustomizeData getDefaultTableCustomizeData(XViewer xViewer) {
CustomizeData custData = new CustomizeData();
- // Title, State, POC, Percent_Complete, Hours_Spent, Resolution, Est_Hours, Remain_Hours
- List<AtsXColumn> taskColumnOrder =
- Arrays.asList(AtsXColumn.Title_Col, AtsXColumn.State_Col, AtsXColumn.Assignees_Col,
- AtsXColumn.Percent_Complete_Total_Col, AtsXColumn.Total_Hours_Spent_Col, AtsXColumn.Resolution_Col,
- AtsXColumn.Estimated_Hours_Col, AtsXColumn.Remaining_Hours_Col, AtsXColumn.Related_To_State_Col,
- AtsXColumn.Notes_Col);
- List<Integer> widths = Arrays.asList(450, 60, 150, 40, 40, 100, 50, 50, 50, 80, 80);
-
- int x = 0;
ArrayList<XViewerColumn> cols = new ArrayList<XViewerColumn>();
-
- // Set visible and first columns
- ArrayList<AtsXColumn> handled = new ArrayList<AtsXColumn>();
- for (AtsXColumn atsXCol : taskColumnOrder) {
- XViewerColumn newCol = atsXCol.getXViewerColumn(atsXCol);
- newCol.setWidth(widths.get(x));
- newCol.setXViewer(xViewer);
- newCol.setShow(true);
- cols.add(newCol);
- handled.add(atsXCol);
- }
-
- // Reset the remainder of the columns to the order and non-visible
- for (AtsXColumn atsXCol : AtsXColumn.values()) {
- if (!handled.contains(atsXCol)) {
- XViewerColumn newCol = atsXCol.getXViewerColumn(atsXCol);
- newCol.setXViewer(xViewer);
- newCol.setShow(false);
- cols.add(newCol);
- handled.add(atsXCol);
- }
+ for (XViewerColumn xCol : columns) {
+ xCol.setXViewer(xViewer);
+ cols.add(xCol);
}
custData.getColumnData().setColumns(cols);
return custData;
@@ -79,12 +78,7 @@ public class TaskXViewerFactory extends SkynetXViewerFactory {
* @see org.eclipse.osee.framework.ui.skynet.widgets.xviewer.IXViewerFactory#getDefaultXViewerColumn()
*/
public XViewerColumn getDefaultXViewerColumn(String id) {
- for (AtsXColumn atsXCol : AtsXColumn.values()) {
- if (atsXCol.getName().equals(id)) {
- return atsXCol.getXViewerColumn(atsXCol);
- }
- }
- return null;
+ return idToColumn.get(id);
}
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerSorter.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerSorter.java
index 51979d580a6..02c024b53ed 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerSorter.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/TaskXViewerSorter.java
@@ -13,8 +13,8 @@ package org.eclipse.osee.ats.util.widgets.task;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.osee.ats.artifact.StateMachineArtifact;
import org.eclipse.osee.ats.editor.SMAManager;
-import org.eclipse.osee.ats.world.AtsXColumn;
import org.eclipse.osee.ats.world.IWorldViewArtifact;
+import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.ats.world.WorldXViewerSorter;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewer;
@@ -44,11 +44,10 @@ public class TaskXViewerSorter extends WorldXViewerSorter {
if (xViewer == null || !xViewer.getCustomize().getCurrentCustData().getSortingData().isSorting()) return 0;
XViewerColumn sortXCol =
xViewer.getCustomize().getCurrentCustData().getSortingData().getSortXCols().get(sortXColIndex);
- AtsXColumn aCol = AtsXColumn.getAtsXColumn(sortXCol);
IWorldViewArtifact m1 = (IWorldViewArtifact) ((Artifact) o1);
IWorldViewArtifact m2 = (IWorldViewArtifact) ((Artifact) o2);
- if (aCol == AtsXColumn.Assignees_Col) {
+ if (sortXCol == WorldXViewerFactory.Assignees_Col) {
int compareInt =
getComparator().compare(
(new SMAManager((StateMachineArtifact) m1)).getAssigneesWasIsStr().replaceFirst("\\(", ""),
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
index acab624b5db..b2b4dc59c5e 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
@@ -11,18 +11,16 @@
package org.eclipse.osee.ats.world;
import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.util.AtsLib;
import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerCells;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerLabelProvider;
-import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
-public class WorldLabelProvider extends XViewerLabelProvider implements ITableColorProvider {
+public class WorldLabelProvider extends XViewerLabelProvider {
private final WorldXViewer treeViewer;
protected Font font;
@@ -146,18 +144,4 @@ public class WorldLabelProvider extends XViewerLabelProvider implements ITableCo
return treeViewer;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableColorProvider#getBackground(java.lang.Object, int)
- */
- public Color getBackground(Object element, int columnIndex) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableColorProvider#getForeground(java.lang.Object, int)
- */
- public Color getForeground(Object element, int columnIndex) {
- return null;
- }
-
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerLabelProvider.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerLabelProvider.java
index 7dce2c99ac8..27d282d2e3e 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerLabelProvider.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerLabelProvider.java
@@ -11,15 +11,17 @@
package org.eclipse.osee.framework.ui.skynet.widgets.xviewer;
+import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
/**
* @author Donald G. Dunne
*/
-public abstract class XViewerLabelProvider implements ITableLabelProvider {
+public abstract class XViewerLabelProvider implements ITableLabelProvider, ITableColorProvider {
private final XViewer viewer;
/**
@@ -64,6 +66,48 @@ public abstract class XViewerLabelProvider implements ITableLabelProvider {
return "";
}
+ @Override
+ public Color getBackground(Object element, int columnIndex) {
+ try {
+ XViewerColumn xViewerColumn = viewer.getXTreeColumn(columnIndex);
+ // If not shown, don't process any further
+ if (!xViewerColumn.isShow()) return null;
+ if (xViewerColumn instanceof XViewerValueColumn) {
+ return ((XViewerValueColumn) xViewerColumn).getBackground(element, xViewerColumn, columnIndex);
+ } else {
+ return getBackground(element, viewer.getXTreeColumn(columnIndex), columnIndex);
+ }
+ } catch (Exception ex) {
+ // do nothing
+ }
+ return null;
+ }
+
+ @Override
+ public Color getForeground(Object element, int columnIndex) {
+ try {
+ XViewerColumn xViewerColumn = viewer.getXTreeColumn(columnIndex);
+ // If not shown, don't process any further
+ if (!xViewerColumn.isShow()) return null;
+ if (xViewerColumn instanceof XViewerValueColumn) {
+ return ((XViewerValueColumn) xViewerColumn).getForeground(element, xViewerColumn, columnIndex);
+ } else {
+ return getForeground(element, viewer.getXTreeColumn(columnIndex), columnIndex);
+ }
+ } catch (Exception ex) {
+ // do nothing
+ }
+ return null;
+ }
+
+ public Color getBackground(Object element, XViewerColumn xCol, int columnIndex) {
+ return null;
+ }
+
+ public Color getForeground(Object element, XViewerColumn xCol, int columnIndex) {
+ return null;
+ }
+
public abstract Image getColumnImage(Object element, XViewerColumn xCol, int columnIndex);
public abstract String getColumnText(Object element, XViewerColumn xCol, int columnIndex);
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerValueColumn.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerValueColumn.java
index fd3412c3be6..ceaa7fc2892 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerValueColumn.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewerValueColumn.java
@@ -7,6 +7,7 @@ package org.eclipse.osee.framework.ui.skynet.widgets.xviewer;
import java.sql.SQLException;
import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
/**
@@ -42,4 +43,12 @@ public class XViewerValueColumn extends XViewerColumn {
return "unhandled";
}
+ public Color getBackground(Object element, XViewerColumn xCol, int columnIndex) {
+ return null;
+ }
+
+ public Color getForeground(Object element, XViewerColumn xCol, int columnIndex) {
+ return null;
+ }
+
}

Back to the top