### Eclipse Workspace Patch 1.0 #P org.eclipse.equinox.p2.ui Index: src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java,v retrieving revision 1.6 diff -u -r1.6 ResolutionStatusPage.java --- src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java 29 Apr 2009 21:55:57 -0000 1.6 +++ src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java 6 May 2009 19:06:18 -0000 @@ -40,7 +40,8 @@ private static final String DETAILS_WEIGHT = "DetailsSashWeight"; //$NON-NLS-1$ private static final String NAME_COLUMN_WIDTH = "NameColumnWidth"; //$NON-NLS-1$ private static final String VERSION_COLUMN_WIDTH = "VersionColumnWidth"; //$NON-NLS-1$ - + private static final String ID_COLUMN_WIDTH = "IDColumnWidth"; //$NON-NLS-1$ + private IUColumnConfig nameColumn, versionColumn, idColumn; protected String profileId; /** @@ -167,13 +168,31 @@ protected abstract SashForm getSashForm(); - protected abstract IUColumnConfig getNameColumn(); + private IUColumnConfig getNameColumn() { + return nameColumn; + } - protected abstract IUColumnConfig getVersionColumn(); + private IUColumnConfig getVersionColumn() { + return versionColumn; + } - protected abstract int getNameColumnWidth(); + private IUColumnConfig getIdColumn() { + return idColumn; + } - protected abstract int getVersionColumnWidth(); + protected abstract int getColumnWidth(int index); + + private int getNameColumnWidth() { + return getColumnWidth(0); + } + + private int getVersionColumnWidth() { + return getColumnWidth(1); + } + + private int getIdColumnWidth() { + return getColumnWidth(2); + } protected int[] getSashWeights() { IDialogSettings settings = ProvUIActivator.getDefault().getDialogSettings(); @@ -204,6 +223,8 @@ getNameColumn().columnWidth = section.getInt(NAME_COLUMN_WIDTH); if (section.get(VERSION_COLUMN_WIDTH) != null) getVersionColumn().columnWidth = section.getInt(VERSION_COLUMN_WIDTH); + if (section.get(ID_COLUMN_WIDTH) != null) + getIdColumn().columnWidth = section.getInt(ID_COLUMN_WIDTH); } catch (NumberFormatException e) { // Ignore if there actually was a value that didn't parse. } @@ -220,9 +241,19 @@ } section.put(NAME_COLUMN_WIDTH, getNameColumnWidth()); section.put(VERSION_COLUMN_WIDTH, getVersionColumnWidth()); - + section.put(ID_COLUMN_WIDTH, getIdColumnWidth()); int[] weights = getSashForm().getWeights(); section.put(LIST_WEIGHT, weights[0]); section.put(DETAILS_WEIGHT, weights[1]); } + + protected IUColumnConfig[] getColumnConfig() { + // We intentionally use the IU's id as one of the columns, because + // resolution errors are reported by ID. + nameColumn = new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); + versionColumn = new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_SMALL_COLUMN_WIDTH)); + idColumn = new IUColumnConfig(ProvUIMessages.ProvUI_IdColumnTitle, IUColumnConfig.COLUMN_ID, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); + getColumnWidthsFromSettings(); + return new IUColumnConfig[] {nameColumn, versionColumn, idColumn}; + } } Index: src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java,v retrieving revision 1.8 diff -u -r1.8 ResolutionResultsWizardPage.java --- src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java 29 Apr 2009 21:55:57 -0000 1.8 +++ src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java 6 May 2009 19:06:18 -0000 @@ -13,8 +13,6 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; -import org.eclipse.equinox.internal.p2.ui.ProvUIActivator; -import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; import org.eclipse.equinox.internal.p2.ui.model.ElementUtils; import org.eclipse.equinox.internal.p2.ui.model.QueriedElement; import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider; @@ -28,7 +26,6 @@ import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy; import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*; import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.viewers.*; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; @@ -46,7 +43,6 @@ public abstract class ResolutionResultsWizardPage extends ResolutionStatusPage { private static final String DIALOG_SETTINGS_SECTION = "ResolutionResultsPage"; //$NON-NLS-1$ - private static final String ID_COLUMN_WIDTH = "IDColumnWidth"; //$NON-NLS-1$ protected IUElementListRoot input; PlannerResolutionOperation resolvedOperation; @@ -56,7 +52,6 @@ IUDetailsLabelProvider labelProvider; protected Display display; private IUDetailsGroup iuDetailsGroup; - IUColumnConfig nameColumn, idColumn, versionColumn; SashForm sashForm; protected ResolutionResultsWizardPage(Policy policy, IUElementListRoot input, String profileID, PlannerResolutionOperation resolvedOperation) { @@ -177,16 +172,6 @@ return ElementUtils.elementsToIUs(input.getChildren(input)); } - protected IUColumnConfig[] getColumnConfig() { - // We intentionally use the IU's id as one of the columns, because - // resolution errors are reported by ID. - nameColumn = new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); - versionColumn = new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_SMALL_COLUMN_WIDTH)); - idColumn = new IUColumnConfig(ProvUIMessages.ProvUI_IdColumnTitle, IUColumnConfig.COLUMN_ID, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); - getColumnWidthsFromSettings(); - return new IUColumnConfig[] {nameColumn, versionColumn, idColumn}; - } - void setDrilldownElements(IUElementListRoot root, ProvisioningPlan plan) { if (plan == null) return; @@ -238,51 +223,11 @@ return getWizard().getClass().getName() + "." + DIALOG_SETTINGS_SECTION; //$NON-NLS-1$ } - protected IUColumnConfig getNameColumn() { - return nameColumn; - } - - protected int getNameColumnWidth() { - return treeViewer.getTree().getColumn(0).getWidth(); + protected int getColumnWidth(int index) { + return treeViewer.getTree().getColumn(index).getWidth(); } protected SashForm getSashForm() { return sashForm; } - - protected IUColumnConfig getVersionColumn() { - return versionColumn; - } - - protected int getVersionColumnWidth() { - return treeViewer.getTree().getColumn(1).getWidth(); - } - - // TODO generalize the superclass iucolumn config handling so we don't need to override this - protected void getColumnWidthsFromSettings() { - super.getColumnWidthsFromSettings(); - IDialogSettings settings = ProvUIActivator.getDefault().getDialogSettings(); - IDialogSettings section = settings.getSection(getDialogSettingsName()); - if (section != null) { - try { - if (section.get(ID_COLUMN_WIDTH) != null) - idColumn.columnWidth = section.getInt(ID_COLUMN_WIDTH); - } catch (NumberFormatException e) { - // Ignore if there actually was a value that didn't parse. - } - } - } - - // TODO generalize the superclass iucolumn config handling so we don't need to override this - public void saveBoundsRelatedSettings() { - super.saveBoundsRelatedSettings(); - if (getShell().isDisposed()) - return; - IDialogSettings settings = ProvUIActivator.getDefault().getDialogSettings(); - IDialogSettings section = settings.getSection(getDialogSettingsName()); - if (section == null) { - section = settings.addNewSection(getDialogSettingsName()); - } - section.put(ID_COLUMN_WIDTH, treeViewer.getTree().getColumn(2).getWidth()); - } } \ No newline at end of file Index: src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java,v retrieving revision 1.14 diff -u -r1.14 SelectableIUsPage.java --- src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java 29 Apr 2009 21:55:57 -0000 1.14 +++ src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java 6 May 2009 19:06:18 -0000 @@ -54,7 +54,6 @@ protected Display display; protected Policy policy; SashForm sashForm; - IUColumnConfig nameColumn, versionColumn; public SelectableIUsPage(Policy policy, IUElementListRoot root, Object[] initialSelections, String profileId) { super("IUSelectionPage", profileId); //$NON-NLS-1$ @@ -91,19 +90,13 @@ table.setLayoutData(data); table.setHeaderVisible(true); activateCopy(table); - nameColumn = new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); - versionColumn = new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION, convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_COLUMN_WIDTH)); - getColumnWidthsFromSettings(); - - TableColumn tc = new TableColumn(table, SWT.LEFT, 0); - tc.setResizable(true); - tc.setText(nameColumn.columnTitle); - tc.setWidth(nameColumn.getWidth()); - - tc = new TableColumn(table, SWT.LEFT, 1); - tc.setResizable(true); - tc.setText(versionColumn.columnTitle); - tc.setWidth(versionColumn.getWidth()); + IUColumnConfig[] columns = getColumnConfig(); + for (int i = 0; i < columns.length; i++) { + TableColumn tc = new TableColumn(table, SWT.LEFT, i); + tc.setResizable(true); + tc.setText(columns[i].columnTitle); + tc.setWidth(columns[i].getWidth()); + } tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { @@ -309,27 +302,15 @@ tableViewer.setCheckedElements(elements); } - protected String getDialogSettingsName() { - return getWizard().getClass().getName() + "." + DIALOG_SETTINGS_SECTION; //$NON-NLS-1$ - } - - protected IUColumnConfig getNameColumn() { - return nameColumn; - } - - protected int getNameColumnWidth() { - return tableViewer.getTable().getColumn(0).getWidth(); - } - protected SashForm getSashForm() { return sashForm; } - protected IUColumnConfig getVersionColumn() { - return versionColumn; + protected String getDialogSettingsName() { + return getWizard().getClass().getName() + "." + DIALOG_SETTINGS_SECTION; //$NON-NLS-1$ } - protected int getVersionColumnWidth() { - return tableViewer.getTable().getColumn(1).getWidth(); + protected int getColumnWidth(int index) { + return tableViewer.getTable().getColumn(index).getWidth(); } }