diff options
author | ddunne | 2008-07-24 03:26:48 +0000 |
---|---|---|
committer | ddunne | 2008-07-24 03:26:48 +0000 |
commit | d54a334df89d62998484aceb31b1bbb80d7431a7 (patch) | |
tree | 87d0237a21ed6487071ad7fc5a666ed170df4084 | |
parent | 446463efa1e08b58b2b2df53e509f6ab4142b527 (diff) | |
download | org.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.tar.gz org.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.tar.xz org.eclipse.osee-d54a334df89d62998484aceb31b1bbb80d7431a7.zip |
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() { |