### Eclipse Workspace Patch 1.0 #P org.eclipse.pde.ui Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java,v retrieving revision 1.17 diff -u -r1.17 NewFragmentProjectWizard.java --- src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java 3 Apr 2006 19:47:27 -0000 1.17 +++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewFragmentProjectWizard.java 24 Apr 2007 13:14:09 -0000 @@ -45,7 +45,7 @@ * @see org.eclipse.jface.wizard.Wizard#addPages() */ public void addPages() { - fMainPage = new NewProjectCreationPage("main", fFragmentData, true); //$NON-NLS-1$ + fMainPage = new NewProjectCreationPage("main", fFragmentData, true, getSelection()); //$NON-NLS-1$ fMainPage.setTitle(PDEUIMessages.NewProjectWizard_MainPage_ftitle); fMainPage.setDescription(PDEUIMessages.NewProjectWizard_MainPage_fdesc); addPage(fMainPage); @@ -83,7 +83,7 @@ fContentPage.updateData(); BasicNewProjectResourceWizard.updatePerspective(fConfig); getContainer().run(false, true, - new NewProjectCreationOperation(fFragmentData, fProjectProvider, null)); + new NewProjectCreationOperation(fFragmentData, fMainPage.getSelectedWorkingSets(), fProjectProvider, null)); return true; } catch (InvocationTargetException e) { PDEPlugin.logException(e); Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationPage.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationPage.java,v retrieving revision 1.34 diff -u -r1.34 NewProjectCreationPage.java --- src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationPage.java 22 Jan 2007 22:52:30 -0000 1.34 +++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationPage.java 24 Apr 2007 13:14:09 -0000 @@ -15,13 +15,16 @@ import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jdt.internal.ui.workingsets.WorkingSetConfigurationBlock; import org.eclipse.jdt.ui.PreferenceConstants; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.pde.internal.core.ICoreConstants; import org.eclipse.pde.internal.core.PDECore; import org.eclipse.pde.internal.core.TargetPlatformHelper; import org.eclipse.pde.internal.ui.IHelpContextIds; +import org.eclipse.pde.internal.ui.PDEPlugin; import org.eclipse.pde.internal.ui.PDEUIMessages; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -36,11 +39,15 @@ import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkingSet; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; public class NewProjectCreationPage extends WizardNewProjectCreationPage { + + private static final String[] VALID_WORKING_SET_IDS= new String[] {"org.eclipse.jdt.ui.JavaWorkingSetPage", "org.eclipse.ui.resourceWorkingSetPage"}; + protected Button fJavaButton; protected boolean fFragment; private Label fSourceLabel; @@ -52,11 +59,18 @@ private Combo fTargetCombo; private Combo fOSGiCombo; private Button fOSGIButton; + private final IStructuredSelection fSelection; + private WorkingSetConfigurationBlock fWorkingSetConfigurationBlock; - public NewProjectCreationPage(String pageName, AbstractFieldData data, boolean fragment){ + public NewProjectCreationPage(String pageName, AbstractFieldData data, boolean fragment, IStructuredSelection selection){ super(pageName); fFragment = fragment; fData = data; + fSelection= selection; + } + + public IWorkingSet[] getSelectedWorkingSets() { + return fWorkingSetConfigurationBlock.getSelectedWorkingSets(); } public void createControl(Composite parent) { @@ -67,6 +81,7 @@ createProjectTypeGroup(control); createFormatGroup(control); + createWorkingSetGroup(control); updateRuntimeDependency(); @@ -150,6 +165,20 @@ } + private void createWorkingSetGroup(Composite container) { + Group group = new Group(container, SWT.NONE); + group.setText(PDEUIMessages.NewProjectCreationPage_workingSets); + group.setLayout(new GridLayout()); + group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + IWorkingSet[] workingSets= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSets(); + workingSets= WorkingSetConfigurationBlock.filter(workingSets, VALID_WORKING_SET_IDS); + fWorkingSetConfigurationBlock= new WorkingSetConfigurationBlock(workingSets, PDEUIMessages.NewProjectCreationPage_addProjectToWorkingSets, PDEPlugin.getDefault().getDialogSettings()); + fWorkingSetConfigurationBlock.setDialogMessage(PDEUIMessages.NewProjectCreationPage_workingSetSelectionDialogMessage); + fWorkingSetConfigurationBlock.setSelection(WorkingSetConfigurationBlock.filter(WorkingSetConfigurationBlock.getSelectedWorkingSet(fSelection), VALID_WORKING_SET_IDS)); + fWorkingSetConfigurationBlock.createContent(group); + } + private void updateRuntimeDependency() { boolean depends = fEclipseButton.getSelection(); fTargetCombo.setEnabled(depends); Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationOperation.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationOperation.java,v retrieving revision 1.80 diff -u -r1.80 NewProjectCreationOperation.java --- src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationOperation.java 20 Mar 2007 22:44:01 -0000 1.80 +++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationOperation.java 24 Apr 2007 13:14:09 -0000 @@ -33,6 +33,7 @@ import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.core.JavaModelException; +import org.eclipse.jdt.internal.ui.workingsets.WorkingSetConfigurationBlock; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.osgi.service.resolver.VersionRange; @@ -70,6 +71,7 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkingSet; import org.eclipse.ui.PartInitException; import org.eclipse.ui.actions.WorkspaceModifyOperation; import org.eclipse.ui.ide.IDE; @@ -90,9 +92,12 @@ private boolean fResult; + private final IWorkingSet[] fWorkingSets; + public NewProjectCreationOperation(IFieldData data, - IProjectProvider provider, IPluginContentWizard contentWizard) { + IWorkingSet[] workingSets, IProjectProvider provider, IPluginContentWizard contentWizard) { fData = data; + fWorkingSets= workingSets; fProjectProvider = provider; fContentWizard = contentWizard; } @@ -345,6 +350,8 @@ fModel.getPluginBase()); } + WorkingSetConfigurationBlock.addToWorkingSets(project, fWorkingSets); + fModel.save(); openFile((IFile) fModel.getUnderlyingResource()); monitor.worked(1); Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewLibraryPluginCreationOperation.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewLibraryPluginCreationOperation.java,v retrieving revision 1.21 diff -u -r1.21 NewLibraryPluginCreationOperation.java --- src/org/eclipse/pde/internal/ui/wizards/plugin/NewLibraryPluginCreationOperation.java 2 Feb 2007 22:41:39 -0000 1.21 +++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewLibraryPluginCreationOperation.java 24 Apr 2007 13:14:09 -0000 @@ -58,6 +58,7 @@ import org.eclipse.pde.internal.ui.wizards.IProjectProvider; import org.eclipse.pde.ui.IFieldData; import org.eclipse.pde.ui.IPluginContentWizard; +import org.eclipse.ui.IWorkingSet; import org.eclipse.ui.dialogs.IOverwriteQuery; import org.eclipse.ui.wizards.datatransfer.ImportOperation; import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider; @@ -71,7 +72,7 @@ public NewLibraryPluginCreationOperation(LibraryPluginFieldData data, IProjectProvider provider, IPluginContentWizard contentWizard) { - super(data, provider, contentWizard); + super(data, new IWorkingSet[0], provider, contentWizard); fData = data; } Index: src/org/eclipse/pde/internal/ui/wizards/plugin/NewPluginProjectWizard.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewPluginProjectWizard.java,v retrieving revision 1.29 diff -u -r1.29 NewPluginProjectWizard.java --- src/org/eclipse/pde/internal/ui/wizards/plugin/NewPluginProjectWizard.java 3 Apr 2006 19:47:27 -0000 1.29 +++ src/org/eclipse/pde/internal/ui/wizards/plugin/NewPluginProjectWizard.java 24 Apr 2007 13:14:09 -0000 @@ -66,7 +66,7 @@ * @see org.eclipse.jface.wizard.Wizard#addPages() */ public void addPages() { - fMainPage = new NewProjectCreationPage("main", fPluginData, fPureOSGi); //$NON-NLS-1$ + fMainPage = new NewProjectCreationPage("main", fPluginData, fPureOSGi, getSelection()); //$NON-NLS-1$ fMainPage.setTitle(PDEUIMessages.NewProjectWizard_MainPage_title); fMainPage.setDescription(PDEUIMessages.NewProjectWizard_MainPage_desc); String pname = getDefaultValue(DEF_PROJECT_NAME); @@ -117,7 +117,7 @@ BasicNewProjectResourceWizard.updatePerspective(fConfig); IPluginContentWizard contentWizard = fWizardListPage.getSelectedWizard(); getContainer().run(false, true, - new NewProjectCreationOperation(fPluginData, fProjectProvider, contentWizard)); + new NewProjectCreationOperation(fPluginData, fMainPage.getSelectedWorkingSets(), fProjectProvider, contentWizard)); return true; } catch (InvocationTargetException e) { PDEPlugin.logException(e); Index: src/org/eclipse/pde/internal/ui/pderesources.properties =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties,v retrieving revision 1.864 diff -u -r1.864 pderesources.properties --- src/org/eclipse/pde/internal/ui/pderesources.properties 23 Apr 2007 21:40:21 -0000 1.864 +++ src/org/eclipse/pde/internal/ui/pderesources.properties 24 Apr 2007 13:14:09 -0000 @@ -746,6 +746,7 @@ NewProjectCreationOperation_setClasspath = Setting the classpath... NewProjectCreationOperation_manifestFile = the manifest file NewProjectCreationPage_pPureOSGi=&an OSGi framework: +NewProjectCreationPage_workingSets=Working Sets NewProjectCreationPage_standard=standard NewProjectCreationPage_target=Target Platform NewProjectCreationPage_ftarget=This fragment is targeted to run with: @@ -753,7 +754,9 @@ NewProjectCreationPage_pDependsOnRuntime=&Eclipse version: NewProjectCreationPage_invalidProjectName=Project name cannot contain % NewProjectCreationPage_invalidLocationPath=Location path cannot contain % +NewProjectCreationPage_addProjectToWorkingSets=Add project to working sets NewProjectCreationOperation_buildPropertiesFile = the build.properties file +NewProjectCreationPage_workingSetSelectionDialogMessage=The new project will be added to the selected working sets: NewProjectCreationOperation_copyingJar = Copying "{0}" JAR ... NewProjectCreationOperation_errorImportingJar = Error importing jar "{0}" Index: src/org/eclipse/pde/internal/ui/PDEUIMessages.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java,v retrieving revision 1.285 diff -u -r1.285 PDEUIMessages.java --- src/org/eclipse/pde/internal/ui/PDEUIMessages.java 19 Apr 2007 18:31:23 -0000 1.285 +++ src/org/eclipse/pde/internal/ui/PDEUIMessages.java 24 Apr 2007 13:14:07 -0000 @@ -69,6 +69,12 @@ public static String JavaArgumentsTab_appendLauncherIni; + public static String NewProjectCreationPage_addProjectToWorkingSets; + + public static String NewProjectCreationPage_workingSets; + + public static String NewProjectCreationPage_workingSetSelectionDialogMessage; + public static String PDEWizardNewFileCreationPage_errorMsgStartsWithDot; public static String CommandComposerPart_formTitle;