Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDJ Houghton2009-05-06 20:06:59 +0000
committerDJ Houghton2009-05-06 20:06:59 +0000
commitb9c276429c61c02e7a5786c7fb23a0e3d5a50ec9 (patch)
tree8f029a6498f3a75929bc8cc6bca1fe634ab517de
parentcc0f82540ebafe53e14201675f2476386f78e3cb (diff)
downloadrt.equinox.p2-b9c276429c61c02e7a5786c7fb23a0e3d5a50ec9.tar.gz
rt.equinox.p2-b9c276429c61c02e7a5786c7fb23a0e3d5a50ec9.tar.xz
rt.equinox.p2-b9c276429c61c02e7a5786c7fb23a0e3d5a50ec9.zip
Bug 275089 - [ui] Indicate both user readable name and IU id in explanation message and in the wizard
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java59
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java43
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java41
3 files changed, 50 insertions, 93 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java
index f7888969d..ee285d5ba 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionResultsWizardPage.java
@@ -13,8 +13,6 @@ package org.eclipse.equinox.internal.p2.ui.dialogs;
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.operations.ProfileModifica
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 @@ import org.eclipse.ui.statushandlers.StatusManager;
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 @@ public abstract class ResolutionResultsWizardPage extends ResolutionStatusPage {
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 @@ public abstract class ResolutionResultsWizardPage extends ResolutionStatusPage {
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 @@ public abstract class ResolutionResultsWizardPage extends ResolutionStatusPage {
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
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java
index cf593395b..f96d3d932 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ResolutionStatusPage.java
@@ -40,7 +40,8 @@ public abstract class ResolutionStatusPage extends ProvisioningWizardPage {
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 @@ public abstract class ResolutionStatusPage extends ProvisioningWizardPage {
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 @@ public abstract class ResolutionStatusPage extends ProvisioningWizardPage {
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 @@ public abstract class ResolutionStatusPage extends ProvisioningWizardPage {
}
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};
+ }
}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java
index fd6a45217..0d34798df 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SelectableIUsPage.java
@@ -54,7 +54,6 @@ public class SelectableIUsPage extends ResolutionStatusPage implements IResoluti
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 @@ public class SelectableIUsPage extends ResolutionStatusPage implements IResoluti
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 @@ public class SelectableIUsPage extends ResolutionStatusPage implements IResoluti
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();
}
}

Back to the top