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 63711 Details for
Bug 97200
[package explorer] [working sets] Enable 'New' action for working sets
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
fix
fix_97200.txt (text/plain), 5.07 KB, created by
Benno Baumgartner
on 2007-04-13 05:50:50 EDT
(
hide
)
Description:
fix
Filename:
MIME Type:
Creator:
Benno Baumgartner
Created:
2007-04-13 05:50:50 EDT
Size:
5.07 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.ui >Index: ui/org/eclipse/jdt/internal/ui/actions/NewWizardsActionGroup.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/NewWizardsActionGroup.java,v >retrieving revision 1.10 >diff -u -r1.10 NewWizardsActionGroup.java >--- ui/org/eclipse/jdt/internal/ui/actions/NewWizardsActionGroup.java 27 Oct 2005 09:38:28 -0000 1.10 >+++ ui/org/eclipse/jdt/internal/ui/actions/NewWizardsActionGroup.java 13 Apr 2007 09:49:57 -0000 >@@ -10,20 +10,24 @@ > *******************************************************************************/ > package org.eclipse.jdt.internal.ui.actions; > >+import org.eclipse.core.resources.IResource; >+ > import org.eclipse.jface.action.IMenuManager; > import org.eclipse.jface.action.MenuManager; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.IStructuredSelection; > >-import org.eclipse.core.resources.IResource; >- > import org.eclipse.ui.IWorkbenchSite; >+import org.eclipse.ui.IWorkingSet; > import org.eclipse.ui.actions.ActionGroup; > import org.eclipse.ui.actions.NewWizardMenu; >+ > import org.eclipse.jdt.core.IJavaElement; > > import org.eclipse.jdt.ui.IContextMenuConstants; > >+import org.eclipse.jdt.internal.ui.workingsets.JavaWorkingSetUpdater; >+ > > /** > * Action group that adds the 'new' menu to a context menu. >@@ -81,6 +85,9 @@ > type == IJavaElement.COMPILATION_UNIT || > type == IJavaElement.TYPE; > } >+ if (element instanceof IWorkingSet) { >+ return JavaWorkingSetUpdater.ID.equals(((IWorkingSet)element).getId()); >+ } > return false; > } > >Index: ui/org/eclipse/jdt/internal/ui/wizards/JavaProjectWizard.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/JavaProjectWizard.java,v >retrieving revision 1.16 >diff -u -r1.16 JavaProjectWizard.java >--- ui/org/eclipse/jdt/internal/ui/wizards/JavaProjectWizard.java 7 Jun 2005 09:42:54 -0000 1.16 >+++ ui/org/eclipse/jdt/internal/ui/wizards/JavaProjectWizard.java 13 Apr 2007 09:49:57 -0000 >@@ -11,14 +11,22 @@ > package org.eclipse.jdt.internal.ui.wizards; > > import java.lang.reflect.InvocationTargetException; >+import java.util.Iterator; >+import java.util.List; > > import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IAdaptable; > import org.eclipse.core.runtime.IConfigurationElement; > import org.eclipse.core.runtime.IExecutableExtension; > import org.eclipse.core.runtime.IProgressMonitor; > > import org.eclipse.swt.widgets.Shell; > >+import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.jface.viewers.ITreeSelection; >+import org.eclipse.jface.viewers.TreePath; >+ >+import org.eclipse.ui.IWorkingSet; > import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard; > > import org.eclipse.jdt.core.IJavaElement; >@@ -27,6 +35,7 @@ > import org.eclipse.jdt.internal.ui.JavaPlugin; > import org.eclipse.jdt.internal.ui.JavaPluginImages; > import org.eclipse.jdt.internal.ui.util.ExceptionHandler; >+import org.eclipse.jdt.internal.ui.workingsets.JavaWorkingSetUpdater; > > public class JavaProjectWizard extends NewElementWizard implements IExecutableExtension { > >@@ -65,6 +74,15 @@ > public boolean performFinish() { > boolean res= super.performFinish(); > if (res) { >+ IWorkingSet workingSet= getWorkingSet(getSelection()); >+ if (workingSet != null && JavaWorkingSetUpdater.ID.equals(workingSet.getId())) { >+ IAdaptable[] elements= workingSet.getElements(); >+ IAdaptable[] newElements= new IAdaptable[elements.length + 1]; >+ System.arraycopy(elements, 0, newElements, 0, elements.length); >+ IJavaElement element= getCreatedElement(); >+ newElements[newElements.length - 1]= element; >+ workingSet.setElements(newElements); >+ } > BasicNewProjectResourceWizard.updatePerspective(fConfigElement); > selectAndReveal(fSecondPage.getJavaProject().getProject()); > } >@@ -99,5 +117,34 @@ > public IJavaElement getCreatedElement() { > return JavaCore.create(fFirstPage.getProjectHandle()); > } >+ >+ private IWorkingSet getWorkingSet(IStructuredSelection selection) { >+ if (!(selection instanceof ITreeSelection)) >+ return null; >+ ITreeSelection treeSelection= (ITreeSelection)selection; >+ List elements= treeSelection.toList(); >+ IWorkingSet result= null; >+ for (Iterator iter= elements.iterator(); iter.hasNext();) { >+ Object element= iter.next(); >+ if (element instanceof IWorkingSet) >+ return (IWorkingSet)element; >+ TreePath[] paths= treeSelection.getPathsFor(element); >+ if (paths.length != 1) >+ return null; >+ TreePath path= paths[0]; >+ if (path.getSegmentCount() != 2) >+ return null; >+ Object candidate= path.getSegment(0); >+ if (!(candidate instanceof IWorkingSet)) >+ return null; >+ if (result == null) { >+ result= (IWorkingSet)candidate; >+ } else { >+ if (result != candidate) >+ return null; >+ } >+ } >+ return result; >+ } > > }
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 97200
: 63711