Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 129437 Details for
Bug 269417
New Project Wizard for Plug-In: Remember values entered into Plug-In Provider
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Initial patch
clipboard.txt (text/plain), 18.79 KB, created by
Philipp Kursawe
on 2009-03-20 06:38:12 EDT
(
hide
)
Description:
Initial patch
Filename:
MIME Type:
Creator:
Philipp Kursawe
Created:
2009-03-20 06:38:12 EDT
Size:
18.79 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.pde.ui >Index: src/org/eclipse/pde/internal/ui/wizards/feature/AbstractFeatureSpecPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/feature/AbstractFeatureSpecPage.java,v >retrieving revision 1.6 >diff -u -r1.6 AbstractFeatureSpecPage.java >--- src/org/eclipse/pde/internal/ui/wizards/feature/AbstractFeatureSpecPage.java 16 Jan 2008 17:08:22 -0000 1.6 >+++ src/org/eclipse/pde/internal/ui/wizards/feature/AbstractFeatureSpecPage.java 20 Mar 2009 10:35:03 -0000 >@@ -13,6 +13,7 @@ > > import org.eclipse.core.runtime.IStatus; > import org.eclipse.jface.dialogs.Dialog; >+import org.eclipse.jface.dialogs.IDialogSettings; > import org.eclipse.pde.internal.core.ifeature.IFeatureModel; > import org.eclipse.pde.internal.core.util.IdUtil; > import org.eclipse.pde.internal.core.util.VersionUtil; >@@ -61,6 +62,8 @@ > > protected abstract String getHelpId(); > >+ protected abstract void saveSettings(IDialogSettings settings); >+ > protected void createCommonInput(Composite common) { > Label label = new Label(common, SWT.NULL); > label.setText(PDEUIMessages.NewFeatureWizard_SpecPage_name); >Index: src/org/eclipse/pde/internal/ui/wizards/feature/PatchSpecPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/feature/PatchSpecPage.java,v >retrieving revision 1.31 >diff -u -r1.31 PatchSpecPage.java >--- src/org/eclipse/pde/internal/ui/wizards/feature/PatchSpecPage.java 26 Jan 2009 15:04:54 -0000 1.31 >+++ src/org/eclipse/pde/internal/ui/wizards/feature/PatchSpecPage.java 20 Mar 2009 10:35:03 -0000 >@@ -11,6 +11,7 @@ > > package org.eclipse.pde.internal.ui.wizards.feature; > >+import org.eclipse.jface.dialogs.IDialogSettings; > import org.eclipse.jface.dialogs.IMessageProvider; > import org.eclipse.jface.window.Window; > import org.eclipse.jface.wizard.IWizardPage; >@@ -22,6 +23,7 @@ > import org.eclipse.pde.internal.ui.PDEUIMessages; > import org.eclipse.pde.internal.ui.dialogs.FeatureSelectionDialog; > import org.eclipse.pde.internal.ui.util.SWTUtil; >+import org.eclipse.pde.internal.ui.wizards.BundleProviderUtil; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.*; > import org.eclipse.swt.layout.GridData; >@@ -30,7 +32,7 @@ > > public class PatchSpecPage extends AbstractFeatureSpecPage { > >- private Text fPatchProviderText; >+ private Combo fPatchProviderCombo; > private Button fBrowseButton; > private Text fPatchIdText; > private Text fPatchNameText; >@@ -85,9 +87,9 @@ > } > > private String getPatchProvider() { >- if (fPatchProviderText == null) >+ if (fPatchProviderCombo == null) > return ""; //$NON-NLS-1$ >- return fPatchProviderText.getText(); >+ return fPatchProviderCombo.getText(); > } > > public FeatureData getFeatureData() { >@@ -136,8 +138,9 @@ > > label = new Label(patchGroup, SWT.NULL); > label.setText(PDEUIMessages.NewFeaturePatch_SpecPage_provider); >- fPatchProviderText = new Text(patchGroup, SWT.BORDER); >- fPatchProviderText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >+ fPatchProviderCombo = new Combo(patchGroup, SWT.BORDER | SWT.DROP_DOWN); >+ fPatchProviderCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >+ BundleProviderUtil.loadHistory(fPatchProviderCombo, getDialogSettings()); > > createInstallHandlerText(patchGroup); > } >@@ -197,7 +200,7 @@ > protected void attachListeners(ModifyListener listener) { > fPatchIdText.addModifyListener(listener); > fPatchNameText.addModifyListener(listener); >- fPatchProviderText.addModifyListener(listener); >+ fPatchProviderCombo.addModifyListener(listener); > fFeatureIdText.addModifyListener(listener); > } > >@@ -212,7 +215,13 @@ > String id = IdUtil.getValidId(getProjectName()); > fPatchIdText.setText(id); > fPatchNameText.setText(IdUtil.getValidName(id)); >- fPatchProviderText.setText(IdUtil.getValidProvider(id)); >+ if (0 == fPatchProviderCombo.getText().length()) { >+ fPatchProviderCombo.setText(IdUtil.getValidProvider(id)); >+ } > fSelfModification = false; > } >+ >+ protected void saveSettings(IDialogSettings settings) { >+ BundleProviderUtil.saveHistory(fPatchProviderCombo, settings); >+ } > } >Index: src/org/eclipse/pde/internal/ui/wizards/feature/AbstractNewFeatureWizard.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/feature/AbstractNewFeatureWizard.java,v >retrieving revision 1.5 >diff -u -r1.5 AbstractNewFeatureWizard.java >--- src/org/eclipse/pde/internal/ui/wizards/feature/AbstractNewFeatureWizard.java 16 Jan 2008 17:08:22 -0000 1.5 >+++ src/org/eclipse/pde/internal/ui/wizards/feature/AbstractNewFeatureWizard.java 20 Mar 2009 10:35:03 -0000 >@@ -105,6 +105,7 @@ > public boolean performFinish() { > try { > IDialogSettings settings = getDialogSettings(); >+ fSpecPage.saveSettings(settings); > if (settings != null && fSecondPage != null) > fSecondPage.saveSettings(settings); > >Index: src/org/eclipse/pde/internal/ui/wizards/feature/FeatureSpecPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/feature/FeatureSpecPage.java,v >retrieving revision 1.21 >diff -u -r1.21 FeatureSpecPage.java >--- src/org/eclipse/pde/internal/ui/wizards/feature/FeatureSpecPage.java 26 Jan 2009 15:04:54 -0000 1.21 >+++ src/org/eclipse/pde/internal/ui/wizards/feature/FeatureSpecPage.java 20 Mar 2009 10:35:03 -0000 >@@ -11,9 +11,11 @@ > > package org.eclipse.pde.internal.ui.wizards.feature; > >+import org.eclipse.jface.dialogs.IDialogSettings; > import org.eclipse.pde.internal.core.util.IdUtil; > import org.eclipse.pde.internal.ui.IHelpContextIds; > import org.eclipse.pde.internal.ui.PDEUIMessages; >+import org.eclipse.pde.internal.ui.wizards.BundleProviderUtil; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.ModifyListener; > import org.eclipse.swt.layout.GridData; >@@ -22,7 +24,7 @@ > > public class FeatureSpecPage extends AbstractFeatureSpecPage { > >- private Text fFeatureProviderText; >+ private Combo fFeatureProviderCombo; > private Text fFeatureIdText; > > public FeatureSpecPage() { >@@ -45,7 +47,7 @@ > FeatureData data = new FeatureData(); > data.id = fFeatureIdText.getText(); > data.version = fFeatureVersionText.getText(); >- data.provider = fFeatureProviderText.getText(); >+ data.provider = fFeatureProviderCombo.getText(); > data.name = fFeatureNameText.getText(); > data.library = getInstallHandlerLibrary(); > return data; >@@ -77,14 +79,15 @@ > > label = new Label(group, SWT.NULL); > label.setText(PDEUIMessages.NewFeatureWizard_SpecPage_provider); >- fFeatureProviderText = new Text(group, SWT.BORDER); >- fFeatureProviderText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >+ fFeatureProviderCombo = new Combo(group, SWT.BORDER | SWT.DROP_DOWN); >+ fFeatureProviderCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >+ BundleProviderUtil.loadHistory(fFeatureProviderCombo, getDialogSettings()); > > createInstallHandlerText(group); > } > > protected void attachListeners(ModifyListener listener) { >- fFeatureProviderText.addModifyListener(listener); >+ fFeatureProviderCombo.addModifyListener(listener); > fFeatureIdText.addModifyListener(listener); > } > >@@ -99,7 +102,13 @@ > String id = IdUtil.getValidId(getProjectName()); > fFeatureIdText.setText(id); > fFeatureNameText.setText(IdUtil.getValidName(id)); >- fFeatureProviderText.setText(IdUtil.getValidProvider(id)); >+ if (0 == fFeatureProviderCombo.getText().length()) { >+ fFeatureProviderCombo.setText(IdUtil.getValidProvider(id)); >+ } > fSelfModification = false; > } >+ >+ protected void saveSettings(IDialogSettings settings) { >+ BundleProviderUtil.saveHistory(fFeatureProviderCombo, settings); >+ } > } >Index: src/org/eclipse/pde/internal/ui/wizards/plugin/ContentPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/ContentPage.java,v >retrieving revision 1.43 >diff -u -r1.43 ContentPage.java >--- src/org/eclipse/pde/internal/ui/wizards/plugin/ContentPage.java 26 Jan 2009 15:04:54 -0000 1.43 >+++ src/org/eclipse/pde/internal/ui/wizards/plugin/ContentPage.java 20 Mar 2009 10:35:04 -0000 >@@ -12,6 +12,7 @@ > package org.eclipse.pde.internal.ui.wizards.plugin; > > import org.eclipse.core.runtime.IStatus; >+import org.eclipse.jface.dialogs.IDialogSettings; > import org.eclipse.jface.wizard.IWizardPage; > import org.eclipse.jface.wizard.WizardPage; > import org.eclipse.pde.internal.core.PDECoreMessages; >@@ -19,14 +20,14 @@ > import org.eclipse.pde.internal.core.util.VersionUtil; > import org.eclipse.pde.internal.ui.PDEUIMessages; > import org.eclipse.pde.internal.ui.util.PDELabelUtility; >+import org.eclipse.pde.internal.ui.wizards.BundleProviderUtil; > import org.eclipse.pde.internal.ui.wizards.IProjectProvider; > import org.eclipse.pde.ui.IFieldData; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.ModifyEvent; > import org.eclipse.swt.events.ModifyListener; > import org.eclipse.swt.layout.GridData; >-import org.eclipse.swt.widgets.Composite; >-import org.eclipse.swt.widgets.Text; >+import org.eclipse.swt.widgets.*; > > public abstract class ContentPage extends WizardPage { > >@@ -34,7 +35,7 @@ > protected Text fIdText; > protected Text fVersionText; > protected Text fNameText; >- protected Text fProviderText; >+ protected Combo fProviderCombo; > > protected NewProjectCreationPage fMainPage; > protected AbstractFieldData fData; >@@ -75,6 +76,18 @@ > return text; > } > >+ protected Combo createProviderCombo(Composite parent, ModifyListener listener, int horizSpan) { >+ Combo combo = new Combo(parent, SWT.BORDER | SWT.DROP_DOWN); >+ GridData data = new GridData(GridData.FILL_HORIZONTAL); >+ data.horizontalSpan = horizSpan; >+ combo.setLayoutData(data); >+ BundleProviderUtil.loadHistory(combo, getDialogSettings()); >+ // Add listener only now, otherwise combo.select(0) would trigger it >+ // and cause a NPE during validation. >+ combo.addModifyListener(listener); >+ return combo; >+ } >+ > protected abstract void validatePage(); > > protected String validateProperties() { >@@ -167,7 +180,9 @@ > fIdText.setText(id); > fVersionText.setText("1.0.0"); //$NON-NLS-1$ > fNameText.setText(IdUtil.getValidName(id)); >- fProviderText.setText(IdUtil.getValidProvider(id)); >+ if (0 == fProviderCombo.getText().length()) { >+ fProviderCombo.setText(IdUtil.getValidProvider(id)); >+ } > fChangedGroups = oldfChanged; > } > if (fInitialized) >@@ -182,11 +197,15 @@ > return IdUtil.getValidId(fProjectProvider.getProjectName()); > } > >+ public void saveSettings(IDialogSettings settings) { >+ BundleProviderUtil.saveHistory(fProviderCombo, settings); >+ } >+ > public void updateData() { > fData.setId(fIdText.getText().trim()); > fData.setVersion(fVersionText.getText().trim()); > fData.setName(fNameText.getText().trim()); >- fData.setProvider(fProviderText.getText().trim()); >+ fData.setProvider(fProviderCombo.getText().trim()); > } > > public IFieldData getData() { >Index: src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java,v >retrieving revision 1.30 >diff -u -r1.30 FragmentContentPage.java >--- src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java 26 Jan 2009 15:04:54 -0000 1.30 >+++ src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java 20 Mar 2009 10:35:04 -0000 >@@ -107,7 +107,7 @@ > > label = new Label(propertiesGroup, SWT.NONE); > label.setText(PDEUIMessages.ContentPage_fprovider); >- fProviderText = createText(propertiesGroup, propertiesListener, 2); >+ fProviderCombo = createProviderCombo(propertiesGroup, propertiesListener, 2); > > createExecutionEnvironmentControls(propertiesGroup); > } >Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java,v >retrieving revision 1.20 >diff -u -r1.20 NewFragmentProjectWizard.java >--- src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java 7 Nov 2008 19:26:23 -0000 1.20 >+++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java 20 Mar 2009 10:35:04 -0000 >@@ -13,6 +13,7 @@ > import java.lang.reflect.InvocationTargetException; > import org.eclipse.core.resources.IProject; > import org.eclipse.core.runtime.*; >+import org.eclipse.jface.dialogs.IDialogSettings; > import org.eclipse.jface.wizard.IWizardPage; > import org.eclipse.pde.internal.ui.*; > import org.eclipse.pde.internal.ui.wizards.IProjectProvider; >@@ -79,6 +80,12 @@ > try { > fMainPage.updateData(); > fContentPage.updateData(); >+ IDialogSettings settings = getDialogSettings(); >+ if (settings != null) { >+ fMainPage.saveSettings(settings); >+ fContentPage.saveSettings(settings); >+ } >+ > BasicNewProjectResourceWizard.updatePerspective(fConfig); > getContainer().run(false, true, new NewProjectCreationOperation(fFragmentData, fProjectProvider, null)); > >Index: src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentPage.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentPage.java,v >retrieving revision 1.46 >diff -u -r1.46 PluginContentPage.java >--- src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentPage.java 3 Feb 2009 16:57:15 -0000 1.46 >+++ src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentPage.java 20 Mar 2009 10:35:04 -0000 >@@ -125,7 +125,7 @@ > > label = new Label(propertiesGroup, SWT.NONE); > label.setText(PDEUIMessages.ContentPage_pprovider); >- fProviderText = createText(propertiesGroup, propertiesListener, 2); >+ fProviderCombo = createProviderCombo(propertiesGroup, propertiesListener, 2); > > createExecutionEnvironmentControls(propertiesGroup); > } >@@ -371,6 +371,7 @@ > * @param settings > */ > public void saveSettings(IDialogSettings settings) { >+ super.saveSettings(settings); > settings.put(S_GENERATE_ACTIVATOR, !fGenerateActivator.getSelection()); > if (fUIPlugin.isEnabled()) { > settings.put(S_UI_PLUGIN, !fUIPlugin.getSelection()); >Index: src/org/eclipse/pde/internal/ui/pderesources.properties >=================================================================== >RCS file: /cvsroot/eclipse/pde/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties,v >retrieving revision 1.1064 >diff -u -r1.1064 pderesources.properties >--- src/org/eclipse/pde/internal/ui/pderesources.properties 19 Mar 2009 20:23:09 -0000 1.1064 >+++ src/org/eclipse/pde/internal/ui/pderesources.properties 20 Mar 2009 10:35:03 -0000 >@@ -689,10 +689,10 @@ > ContentSection_selectedOnly=Include only plug-ins designated below > ContentSection_targetContent=Target Content > ContentPage_pClassGroup = Plug-in Options >-ContentPage_pid = Plug-in &ID: >-ContentPage_pversion = Plug-in &Version: >-ContentPage_pname = Plug-in N&ame: >-ContentPage_pprovider = Plug-in Provi&der: >+ContentPage_pid = &ID: >+ContentPage_pversion = &Version: >+ContentPage_pname = N&ame: >+ContentPage_pprovider = Provi&der: > ContentPage_fid = Fragment &ID: > ContentPage_fversion = Fragment &Version: > ContentPage_fname = Fragment N&ame: >Index: src/org/eclipse/pde/internal/ui/wizards/BundleProviderUtil.java >=================================================================== >RCS file: src/org/eclipse/pde/internal/ui/wizards/BundleProviderUtil.java >diff -N src/org/eclipse/pde/internal/ui/wizards/BundleProviderUtil.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/pde/internal/ui/wizards/BundleProviderUtil.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,81 @@ >+/******************************************************************************* >+ * Copyright (c) 2005, 2009 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ *******************************************************************************/ >+package org.eclipse.pde.internal.ui.wizards; >+ >+import org.eclipse.jface.dialogs.IDialogSettings; >+import org.eclipse.swt.widgets.Combo; >+ >+/** >+ * Provides helper methods to load and save provider names from and to combo boxes. >+ * >+ * @author <a href="mailto:phil.kursawe@gmail.com">Philipp Kursawe</a> >+ * >+ */ >+public class BundleProviderUtil { >+ /** >+ * Dialog settings constants >+ */ >+ private final static String S_PROVIDERS = "providers"; //$NON-NLS-1$ >+ >+ /** >+ * Loads the history of providers from the given settings. >+ * <h2>Note</h2> >+ * <p> >+ * This method also selects the first entry of the history into >+ * the given combo. This might trigger a <code>SWT.Modify</code> event. >+ * </p> >+ */ >+ public static void loadHistory(Combo combo, IDialogSettings settings) { >+ if (null == combo || null == settings) { >+ return; >+ } >+ String providers[] = settings.getArray(S_PROVIDERS); >+ if (null != providers) { >+ for (int i = 0; i < providers.length; ++i) { >+ combo.add(providers[i]); >+ } >+ combo.select(0); >+ } >+ } >+ >+ /** >+ * Saves the items of the given combo to the given settings. >+ * >+ * <p> >+ * If the combo text is not in the list of history items yet, it will be >+ * added. The combo text will be the most recent history value (saved first). >+ * </p> >+ * @param combo >+ * @param settings >+ */ >+ public static void saveHistory(Combo combo, IDialogSettings settings) { >+ if (null == combo) { >+ return; >+ } >+ // Save all providers from the combo list + the newly entered >+ String text = combo.getText(); >+ if (0 == text.length()) { >+ return; >+ } >+ int indexOfText = combo.indexOf(text); >+ // If the item was already in the list, remove it now >+ if (indexOfText != -1) { >+ combo.remove(indexOfText); >+ } >+ // And always add the entered text as the most recent one to the top of >+ // the list >+ combo.add(text, 0); >+ String[] items = combo.getItems(); >+ if (items != null && items.length > 0) { >+ settings.put(S_PROVIDERS, items); >+ } >+ } >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 269417
:
129437
|
129438
|
129469
|
129470
|
196643
|
199614