From c01424b1af6c26452137bcc18a405f80c056f128 Mon Sep 17 00:00:00 2001 From: Susan Franklin Date: Mon, 22 Dec 2008 23:39:16 +0000 Subject: Bug 250316 - [ui] Moving the update site list to a preferences page --- .../p2/ui/admin/ArtifactRepositoriesView.java | 2 +- .../p2/ui/admin/MetadataRepositoriesView.java | 4 +- .../equinox/internal/p2/ui/admin/ProfilesView.java | 2 +- .../internal/p2/ui/admin/ProvAdminUIMessages.java | 4 + .../equinox/internal/p2/ui/admin/ProvView.java | 8 -- .../internal/p2/ui/admin/RepositoriesView.java | 2 +- .../p2/ui/admin/dialogs/AddProfileDialog.java | 2 +- .../RepositoryImplementationPropertyPage.java | 99 ++++++++++++++++------ .../internal/p2/ui/admin/messages.properties | 4 + 9 files changed, 87 insertions(+), 40 deletions(-) (limited to 'bundles/org.eclipse.equinox.p2.ui.admin') diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java index 7bdcdba6f..4adff2463 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java @@ -85,7 +85,7 @@ public class ArtifactRepositoriesView extends RepositoriesView { * @see org.eclipse.equinox.internal.p2.ui.admin.ProvView#refreshUnderlyingModel() */ protected void refreshUnderlyingModel() { - ProvisioningOperationRunner.schedule(new RefreshArtifactRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.schedule(new RefreshArtifactRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), StatusManager.SHOW | StatusManager.LOG); } } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java index 559fe4cd4..a14d3dc9c 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java @@ -59,7 +59,7 @@ public class MetadataRepositoriesView extends RepositoriesView { ProvisioningPlan plan = getProvisioningPlan(ius); if (ProvAdminUIActivator.getDefault().getPolicy().getPlanValidator().continueWorkingWithPlan(plan, getShell())) { ProvisioningOperation op = new ProfileModificationOperation(ProvAdminUIMessages.MetadataRepositoriesView_RevertLabel, targetProfileId, plan); - ProvisioningOperationRunner.schedule(op, getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.schedule(op, StatusManager.SHOW | StatusManager.LOG); } } @@ -182,7 +182,7 @@ public class MetadataRepositoriesView extends RepositoriesView { * @see org.eclipse.equinox.internal.p2.ui.admin.ProvView#refreshUnderlyingModel() */ protected void refreshUnderlyingModel() { - ProvisioningOperationRunner.schedule(new RefreshMetadataRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.schedule(new RefreshMetadataRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), StatusManager.SHOW | StatusManager.LOG); } protected List getVisualProperties() { diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java index b50e61f52..fde6f7f08 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java @@ -63,7 +63,7 @@ public class ProfilesView extends ProvView { profilesOnly.add(((ProfileElement) selections[i]).getProfileId()); } RemoveProfilesOperation op = new RemoveProfilesOperation(ProvAdminUIMessages.Ops_RemoveProfileOperationLabel, (String[]) profilesOnly.toArray(new String[profilesOnly.size()])); - ProvisioningOperationRunner.run(op, ProfilesView.this.getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.run(op, StatusManager.SHOW | StatusManager.LOG); } } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java index cd64bf368..8539eed26 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java @@ -59,7 +59,11 @@ public class ProvAdminUIMessages extends NLS { public static String ProfileRootPropertyName; + public static String RepositoryImplementationPropertyPage_DescriptionLabel; + public static String RepositoryImplementationPropertyPage_LocationLabel; public static String RepositoryImplementationPropertyPage_NameColumnLabel; + public static String RepositoryImplementationPropertyPage_NameLabel; + public static String RepositoryImplementationPropertyPage_NoRepositorySelected; public static String RepositoryImplementationPropertyPage_PropertiesLabel; public static String RepositoryImplementationPropertyPage_ValueColumnLabel; diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java index d8310405c..fb68eba51 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java @@ -13,7 +13,6 @@ package org.eclipse.equinox.internal.p2.ui.admin; import java.util.ArrayList; import java.util.List; import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants; -import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; import org.eclipse.equinox.internal.provisional.p2.ui.actions.RefreshAction; import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*; import org.eclipse.jface.action.*; @@ -25,7 +24,6 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.*; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.operations.UndoRedoActionGroup; import org.eclipse.ui.part.ViewPart; /** @@ -36,7 +34,6 @@ import org.eclipse.ui.part.ViewPart; */ abstract class ProvView extends ViewPart { TreeViewer viewer; - private UndoRedoActionGroup undoRedoGroup; RefreshAction refreshAction; private IPropertyChangeListener preferenceListener; protected Display display; @@ -110,7 +107,6 @@ abstract class ProvView extends ViewPart { manager.add(refreshAction); fillLocalToolBar(bars.getToolBarManager()); - undoRedoGroup.fillActionBars(bars); } protected abstract void fillLocalPullDown(IMenuManager manager); @@ -122,7 +118,6 @@ abstract class ProvView extends ViewPart { protected abstract IAction getDoubleClickAction(); protected void makeActions() { - undoRedoGroup = new UndoRedoActionGroup(getSite(), ProvUI.getProvisioningUndoContext(), true); refreshAction = new RefreshAction(viewer, viewer.getControl()) { protected void refresh() { refreshAll(true); @@ -144,9 +139,6 @@ abstract class ProvView extends ViewPart { * @see org.eclipse.ui.part.WorkbenchPart#dispose() */ public void dispose() { - if (undoRedoGroup != null) { - undoRedoGroup.dispose(); - } removeListeners(); super.dispose(); } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java index f01d7114a..e63074261 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java @@ -46,7 +46,7 @@ abstract class RepositoriesView extends ProvView { } public void run() { - ProvisioningOperationRunner.run(getRemoveOperation(getSelection().toArray()), getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.run(getRemoveOperation(getSelection().toArray()), StatusManager.SHOW | StatusManager.LOG); } } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java index 28cdaa806..5b215dea5 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java @@ -78,7 +78,7 @@ public class AddProfileDialog extends StatusDialog { } addedProfileId = profileGroup.getProfileId(); Map profileProperties = profileGroup.getProfileProperties(); - ProvisioningOperationRunner.run(new AddProfileOperation(ProvAdminUIMessages.AddProfileDialog_OperationLabel, addedProfileId, profileProperties), getShell(), StatusManager.SHOW | StatusManager.LOG); + ProvisioningOperationRunner.run(new AddProfileOperation(ProvAdminUIMessages.AddProfileDialog_OperationLabel, addedProfileId, profileProperties), StatusManager.SHOW | StatusManager.LOG); } void verifyComplete() { diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java index 577c8919c..1fc376ef7 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java @@ -12,47 +12,87 @@ package org.eclipse.equinox.internal.p2.ui.admin.dialogs; import java.util.Map; import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages; -import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.RepositoryPropertyPage; +import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; +import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.*; +import org.eclipse.ui.dialogs.PropertyPage; /** * PropertyPage that shows a repository's properties * * @since 3.4 */ -public class RepositoryImplementationPropertyPage extends RepositoryPropertyPage { - +public class RepositoryImplementationPropertyPage extends PropertyPage { + private IRepositoryElement repositoryElement; + private Composite composite; + private Text name; + private Text url; + private Text description; private Table propertiesTable; protected Control createContents(Composite parent) { - Control control = super.createContents(parent); - if (control instanceof Composite) { - Composite comp = (Composite) control; - Label propertiesLabel = new Label(comp, SWT.NONE); - propertiesLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_PropertiesLabel); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - propertiesLabel.setLayoutData(data); + this.repositoryElement = getRepositoryElement(); + if (repositoryElement == null) { + Label label = new Label(parent, SWT.DEFAULT); + label.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NoRepositorySelected); + return label; + } + noDefaultAndApplyButton(); - propertiesTable = new Table(comp, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); - data = new GridData(GridData.FILL_BOTH); - data.horizontalSpan = 2; - data.grabExcessVerticalSpace = true; - propertiesTable.setLayoutData(data); - propertiesTable.setHeaderVisible(true); - TableColumn nameColumn = new TableColumn(propertiesTable, SWT.NONE); - nameColumn.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NameColumnLabel); - TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE); - valueColumn.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_ValueColumnLabel); + composite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + composite.setLayout(layout); + GridData data = new GridData(); + data.widthHint = 350; + composite.setLayoutData(data); - initializeTable(); + Label urlLabel = new Label(composite, SWT.NONE); + urlLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_LocationLabel); + url = new Text(composite, SWT.WRAP | SWT.READ_ONLY); + url.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - nameColumn.pack(); - valueColumn.pack(); - } - return control; + Label nameLabel = new Label(composite, SWT.NONE); + nameLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NameLabel); + name = new Text(composite, SWT.WRAP | SWT.READ_ONLY); + name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Label descriptionLabel = new Label(composite, SWT.NONE); + descriptionLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_DescriptionLabel); + data = new GridData(); + data.verticalAlignment = SWT.TOP; + descriptionLabel.setLayoutData(data); + description = new Text(composite, SWT.WRAP | SWT.READ_ONLY); + data = new GridData(GridData.FILL_HORIZONTAL); + data.verticalAlignment = SWT.TOP; + data.grabExcessVerticalSpace = true; + description.setLayoutData(data); + Label propertiesLabel = new Label(composite, SWT.NONE); + propertiesLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_PropertiesLabel); + data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 2; + propertiesLabel.setLayoutData(data); + + propertiesTable = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); + data = new GridData(GridData.FILL_BOTH); + data.horizontalSpan = 2; + data.grabExcessVerticalSpace = true; + propertiesTable.setLayoutData(data); + propertiesTable.setHeaderVisible(true); + TableColumn nameColumn = new TableColumn(propertiesTable, SWT.NONE); + nameColumn.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NameColumnLabel); + TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE); + valueColumn.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_ValueColumnLabel); + + initializeTable(); + + nameColumn.pack(); + valueColumn.pack(); + + return composite; } @@ -69,4 +109,11 @@ public class RepositoryImplementationPropertyPage extends RepositoryPropertyPage } } + private IRepositoryElement getRepositoryElement() { + if (repositoryElement == null) { + repositoryElement = (IRepositoryElement) ProvUI.getAdapter(getElement(), IRepositoryElement.class); + } + return repositoryElement; + } + } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties index 929077c54..8174bc087 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties @@ -41,8 +41,12 @@ ProfilesView_RemoveProfileTooltip=Remove the selected profiles AddProfileDialog_DuplicateProfileID=The profile ID is already in use. Ops_RemoveProfileOperationLabel=Remove Profiles ProfileRootPropertyName=Profile Root +RepositoryImplementationPropertyPage_DescriptionLabel=Description: +RepositoryImplementationPropertyPage_LocationLabel=Location: RepositoryImplementationPropertyPage_PropertiesLabel=Repository properties: RepositoryImplementationPropertyPage_NameColumnLabel=Name +RepositoryImplementationPropertyPage_NameLabel=Name: +RepositoryImplementationPropertyPage_NoRepositorySelected=There was no repository selected RepositoryImplementationPropertyPage_ValueColumnLabel=Value IUGroup_ID=IU &id: IUGroup_Version=&Version: -- cgit v1.2.3