Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-07-24 03:26:48 +0000
committerddunne2008-07-24 03:26:48 +0000
commitd54a334df89d62998484aceb31b1bbb80d7431a7 (patch)
tree87d0237a21ed6487071ad7fc5a666ed170df4084
parent446463efa1e08b58b2b2df53e509f6ab4142b527 (diff)
downloadorg.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.tar.gz
org.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.tar.xz
org.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.zip
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateReviewParticipationReport.java2
-rw-r--r--org.eclipse.osee.framework.ui.admin/src/org/eclipse/osee/framework/ui/admin/autoRun/AutoRunLabelProvider.java6
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/ColumnData.java11
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeData.java12
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java68
6 files changed, 66 insertions, 35 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateReviewParticipationReport.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateReviewParticipationReport.java
index 36d48645d72..1da7fc79738 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateReviewParticipationReport.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateReviewParticipationReport.java
@@ -113,7 +113,7 @@ public class GenerateReviewParticipationReport extends XNavigateItemAction {
columns.add(new XViewerGuidColumn("Guid", null));
for (AttributeType attributeType : AttributeTypeManager.getTypes(AtsPlugin.getAtsBranch())) {
columns.add(new XViewerAttributeColumn(null, "attr." + attributeType.getName(), attributeType.getName(),
- attributeType.getName(), 75, 75, SWT.LEFT, false, XViewerAttributeSortDataType.get(attributeType)));
+ attributeType.getName(), 75, SWT.LEFT, false, XViewerAttributeSortDataType.get(attributeType)));
}
return columns;
}
diff --git a/org.eclipse.osee.framework.ui.admin/src/org/eclipse/osee/framework/ui/admin/autoRun/AutoRunLabelProvider.java b/org.eclipse.osee.framework.ui.admin/src/org/eclipse/osee/framework/ui/admin/autoRun/AutoRunLabelProvider.java
index 5bdb85b5d78..0dea467723e 100644
--- a/org.eclipse.osee.framework.ui.admin/src/org/eclipse/osee/framework/ui/admin/autoRun/AutoRunLabelProvider.java
+++ b/org.eclipse.osee.framework.ui.admin/src/org/eclipse/osee/framework/ui/admin/autoRun/AutoRunLabelProvider.java
@@ -17,7 +17,7 @@ import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException;
import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
import org.eclipse.osee.framework.ui.skynet.autoRun.AutoRunStartup;
-import org.eclipse.osee.framework.ui.skynet.autoRun.AutoRunTask;
+import org.eclipse.osee.framework.ui.skynet.autoRun.IAutoRunTask;
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.Font;
@@ -35,7 +35,7 @@ public class AutoRunLabelProvider extends XViewerLabelProvider {
@Override
public Image getColumnImage(Object element, XViewerColumn aCol, int columnIndex) throws OseeCoreException, SQLException {
- AutoRunTask autoRunTask = (AutoRunTask) element;
+ IAutoRunTask autoRunTask = (IAutoRunTask) element;
if (autoRunXViewer.getXAutoRunViewer().isLaunchNewWorkbench()) {
if (aCol.equals(AutoRunXViewerFactory.Run_Col)) return autoRunXViewer.isRun(autoRunTask) ? SkynetGuiPlugin.getInstance().getImage(
"chkbox_enabled.gif") : SkynetGuiPlugin.getInstance().getImage("chkbox_disabled.gif");
@@ -55,7 +55,7 @@ public class AutoRunLabelProvider extends XViewerLabelProvider {
@Override
public String getColumnText(Object element, XViewerColumn aCol, int columnIndex) throws OseeCoreException, SQLException {
- AutoRunTask autoRunTask = (AutoRunTask) element;
+ IAutoRunTask autoRunTask = (IAutoRunTask) element;
if (aCol.equals(AutoRunXViewerFactory.Run_Col)) return "";
if (aCol.equals(AutoRunXViewerFactory.Name_Col)) return autoRunTask.getAutoRunUniqueId();
if (aCol.equals(AutoRunXViewerFactory.Schedule_Time)) return autoRunTask.get24HourStartTime();
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/ColumnData.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/ColumnData.java
index 90c198eb41d..1bfa3194c82 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/ColumnData.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/ColumnData.java
@@ -48,17 +48,6 @@ public class ColumnData {
return idToColumn.get(id);
}
- /**
- * Because a stored set of columns may not have new columns that were added later, this method is called to add such
- * columns to the set.
- *
- * @param colData
- */
- public void addMissingColumns(ColumnData colData) {
- for (XViewerColumn newXCol : colData.columns)
- if (!columns.contains(newXCol)) columns.add(newXCol);
- }
-
public String getXml() {
StringBuffer sb = new StringBuffer();
for (XViewerColumn xCol : columns) {
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeData.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeData.java
index 168cb1cf21c..ef19aa76890 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeData.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeData.java
@@ -14,13 +14,13 @@ import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.osee.framework.jdk.core.util.GUID;
import org.eclipse.osee.framework.ui.plugin.util.OverlayImage;
import org.eclipse.osee.framework.ui.plugin.util.OverlayImage.Location;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.internal.Workbench;
/**
* @author Donald G. Dunne
@@ -38,7 +38,15 @@ public class CustomizeData {
private boolean isWorkbench = false;
public CustomizeData() {
- isWorkbench = Workbench.getInstance() != null && Workbench.getInstance().isRunning();
+ isWorkbench = Platform.isRunning();
+ }
+
+ public boolean isTableDefaultCustData() {
+ return name.equals(CustomizeManager.TABLE_DEFAULT_LABEL);
+ }
+
+ public boolean isCurrentTableCustData() {
+ return name.equals(CustomizeManager.CURRENT_LABEL);
}
public CustomizeData(String xml) {
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java
index 448e2131aff..d96c9146c4c 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java
@@ -87,7 +87,7 @@ public class CustomizeManager {
}
public void handleTableCustomization() {
- (new XViewerCustomizeDialog(currentCustData, xViewer)).open();
+ (new XViewerCustomizeDialog(xViewer)).open();
}
/**
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java
index 9385855fafc..cc33934d396 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java
@@ -60,7 +60,6 @@ public class XViewerCustomizeDialog extends MessageDialog {
private TableViewer custTable;
private TableViewer hiddenColTable;
private TableViewer visibleColTable;
- private CustomizeData currentCustomizeData;
private Text sorterText;
private Text filterText;
// Select Customization Buttons
@@ -74,13 +73,12 @@ public class XViewerCustomizeDialog extends MessageDialog {
private CustomizeData defaultTableCustData;
private boolean inWorkbench = false;
- public XViewerCustomizeDialog(CustomizeData currentCustomizeData, XViewer xViewer) {
- this(currentCustomizeData, xViewer, Display.getCurrent().getActiveShell(), buttons, 0);
+ public XViewerCustomizeDialog(XViewer xViewer) {
+ this(xViewer, Display.getCurrent().getActiveShell());
}
- private XViewerCustomizeDialog(CustomizeData currentCustomizeData, XViewer xViewer, Shell parentShell, String[] buttons, int defaultButton) {
- super(parentShell, "", null, "", MessageDialog.NONE, buttons, defaultButton);
- this.currentCustomizeData = currentCustomizeData;
+ private XViewerCustomizeDialog(XViewer xViewer, Shell parentShell) {
+ super(parentShell, "", null, "", MessageDialog.NONE, buttons, 0);
this.xViewer = xViewer;
inWorkbench = Platform.isRunning();
setShellStyle(getShellStyle() | SWT.RESIZE);
@@ -112,7 +110,7 @@ public class XViewerCustomizeDialog extends MessageDialog {
// Column Configuration
final Group configureColumnsGroup = new Group(comp, SWT.NONE);
- configureColumnsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, true, 1, 3));
+ configureColumnsGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));
configureColumnsGroup.setText("Configure Customization");
final GridLayout gridLayout = new GridLayout();
gridLayout.marginWidth = 3;
@@ -135,7 +133,7 @@ public class XViewerCustomizeDialog extends MessageDialog {
hiddenColTable = new TableViewer(hiddenTableComp, SWT.BORDER | SWT.MULTI);
final Table table_1 = hiddenColTable.getTable();
final GridData gd_table_1 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2);
- gd_table_1.widthHint = 150;
+ gd_table_1.widthHint = 300;
table_1.setLayoutData(gd_table_1);
hiddenColTable.setLabelProvider(new XViewerColumnLabelProvider());
hiddenColTable.setContentProvider(new ArrayTreeContentProvider());
@@ -250,7 +248,7 @@ public class XViewerCustomizeDialog extends MessageDialog {
visibleColTable = new TableViewer(visibleTableComp, SWT.BORDER | SWT.MULTI);
final Table table = visibleColTable.getTable();
final GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd_table.widthHint = 150;
+ gd_table.widthHint = 300;
table.setLayoutData(gd_table);
visibleColTable.setLabelProvider(new XViewerColumnLabelProvider());
visibleColTable.setContentProvider(new ArrayTreeContentProvider());
@@ -573,10 +571,10 @@ public class XViewerCustomizeDialog extends MessageDialog {
if (diag.open() == 0) {
String name = diag.getEnteredName();
try {
- CustomizeData custXml = getConfigCustomizeCustData();
- custXml.setName(name);
- custXml.setPersonal(!diag.isSaveGlobal());
- xViewer.getCustomizeMgr().saveCustomization(custXml);
+ CustomizeData custData = getConfigCustomizeCustData();
+ custData.setName(name);
+ custData.setPersonal(!diag.isSaveGlobal());
+ xViewer.getCustomizeMgr().saveCustomization(custData);
} catch (Exception ex) {
OSEELog.logException(SkynetGuiPlugin.class, ex, true);
}
@@ -605,6 +603,7 @@ public class XViewerCustomizeDialog extends MessageDialog {
private CustomizeData getConfigCustomizeCustData() {
CustomizeData custData = new CustomizeData();
custData.resetGuid();
+ custData.setNameSpace(xViewer.getXViewerFactory().getNamespace());
custData.getColumnData().setColumns(getConfigCustXViewerColumns());
custData.getSortingData().setFromXml(sorterText.getText());
custData.getFilterData().setFilterText(filterText.getText());
@@ -713,10 +712,45 @@ public class XViewerCustomizeDialog extends MessageDialog {
IStructuredSelection selection = (IStructuredSelection) custTable.getSelection();
if (selection.size() == 0) return null;
Iterator<?> i = selection.iterator();
- CustomizeData custData = (CustomizeData) i.next();
- // Add columns that were added after this customization was saved
- custData.getColumnData().addMissingColumns(defaultTableCustData.getColumnData());
- return custData;
+ CustomizeData storedCustData = (CustomizeData) i.next();
+ // Since they were generated from the current table and factory, table and current cust datas are valid as is
+ if (storedCustData.isCurrentTableCustData() || storedCustData.isCurrentTableCustData()) {
+ return storedCustData;
+ }
+ // Otherwise, have to resolve what was saved with what is valid for this table and available from the factory
+ CustomizeData generatedCustData = new CustomizeData();
+ generatedCustData.setName(storedCustData.getName());
+ generatedCustData.setName(storedCustData.getNameSpace());
+ /*
+ * Need to resolve columns with what factory has which gets correct class/subclass of XViewerColumn and allows for removal of old and addition of new columns
+ */
+ List<XViewerColumn> resolvedColumns = new ArrayList<XViewerColumn>();
+ for (XViewerColumn storedCol : storedCustData.getColumnData().getColumns()) {
+ XViewerColumn resolvedCol = xViewer.getXViewerFactory().getDefaultXViewerColumn(storedCol.getId());
+ // Only handle columns that the factory supports and only resolve shown columns (rest will be loaded later)
+ if (resolvedCol != null && resolvedCol.getWidth() > 0) {
+ resolvedCol.setWidth(storedCol.getWidth());
+ resolvedCol.setName(storedCol.getName());
+ resolvedCol.setShow(storedCol.isShow() || storedCol.getWidth() > 0);
+ resolvedCol.setSortForward(storedCol.isSortForward());
+ resolvedColumns.add(resolvedCol);
+ }
+ }
+ /*
+ * Add extra columns that were added to the table since storage of this custData
+ */
+ for (XViewerColumn extraCol : xViewer.getXViewerFactory().getDefaultTableCustomizeData().getColumnData().getColumns()) {
+ if (!resolvedColumns.contains(extraCol)) {
+ // Since column wasn't saved, don't show it
+ extraCol.setShow(false);
+ resolvedColumns.add(extraCol);
+ }
+ }
+ generatedCustData.getColumnData().setColumns(resolvedColumns);
+ generatedCustData.getFilterData().setFromXml(storedCustData.getFilterData().getXml());
+ generatedCustData.getSortingData().setFromXml(storedCustData.getSortingData().getXml());
+
+ return generatedCustData;
}
private List<XViewerColumn> getVisibleTableSelection() {

Back to the top