/** * Returns a content provider for the list dialog. It will return all projects in the workspace except the given * project, plus any projects referenced by the given project which do no exist in the workspace. * * @return the content provider that shows the project content */ private IStructuredContentProvider getContentProvider() { return new WorkbenchContentProvider() { @Override public Object[] getChildren(Object o) { if (!(o instanceof IWorkspace)) { return new Object[0]; } // Collect all the projects in the workspace except the given project IProject[] projects = ((IWorkspace) o).getRoot().getProjects(); List<IProject> applicableProjects = Lists.newArrayList(); Optional<? extends IN4JSEclipseProject> projectOpt = null; for (IProject candidate : projects) { projectOpt = n4jsCore.create(candidate); if (projectOpt.isPresent() && projectOpt.get().exists()) { applicableProjects.add(candidate); } } return applicableProjects.toArray(new IProject[applicableProjects.size()]); } }; }
protected void chooseWorkspace () { final ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog ( getShell (), new WorkbenchLabelProvider (), new WorkbenchContentProvider () ); dialog.setTitle ( "Select driver exporter configuration file" ); dialog.setMessage ( "Choose a driver exporter file for the configuration" ); dialog.setInput ( ResourcesPlugin.getWorkspace ().getRoot () ); dialog.setComparator ( new ResourceComparator ( ResourceComparator.NAME ) ); dialog.setAllowMultiple ( true ); dialog.setDialogBoundsSettings ( getDialogBoundsSettings ( HiveTab.WORKSPACE_SELECTION_DIALOG ), Dialog.DIALOG_PERSISTSIZE ); if ( dialog.open () == IDialogConstants.OK_ID ) { final IResource resource = (IResource)dialog.getFirstResult (); if ( resource != null ) { final String arg = resource.getFullPath ().toString (); final String fileLoc = VariablesPlugin.getDefault ().getStringVariableManager ().generateVariableExpression ( "workspace_loc", arg ); //$NON-NLS-1$ this.fileText.setText ( fileLoc ); makeDirty (); } } }
/** * Uses the standard container selection dialog to * choose the new value for the container field. */ private void handleManifestmainclassBrowse() { String mainClass = getManifestmainclass(); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IResource[] res=jproject.getResource(); IJavaSearchScope searchScope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(res, true); SelectionDialog dialog = JavaUI.createMainTypeDialog(getShell(), getContainer(), searchScope, 0, false); dialog.setMessage("Select Main-Class for JAR file"); dialog.setTitle("Fat Jar Config"); if (dialog.open() == SelectionDialog.OK) { Object[] elements= dialog.getResult(); if (elements.length == 1) { SourceType mainElement = (SourceType)elements[0]; mainClass = mainElement.getFullyQualifiedName(); manifestmainclassText.setText(mainClass); } } }
/** * Open a dialog box asking the user to select an existing project under the * current workspace. * * @param parentShell * @param title */ public static IResource selectFile(Shell parentShell, String title) { ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog( parentShell, new WorkbenchLabelProvider(), new WorkbenchContentProvider() ); dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setTitle(title); dialog.setAllowMultiple(false); if(dialog.open() == ElementTreeSelectionDialog.OK) { return (IResource) dialog.getFirstResult(); } return null; }
/** * Constructs an instance of <code>ResourceTreeSelectionDialog</code>. * * @param parent the parent shell for the dialog * @param title dialog title * @param message dialog message * @param rootResource resource that serves as the root of the tree. This * resource's descendants are visible in the tree, but the root * itself is not. * @param initialResource the initially-selected resource * @param visibleResourceTypes a set of {@link IResource} types that are * visible in the tree (e.g. * <code>IResource.FILE | IResource.FOLDER</code>) * @param acceptedResourceTypes a set of {@link IResource} types that can be * selected * @param multiSelection whether or not to allow selection of multiple * resources */ public ResourceTreeSelectionDialog(Shell parent, String title, String message, IContainer rootResource, IResource initialResource, int visibleResourceTypes, int acceptedResourceTypes, boolean multiSelection) { super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); setTitle(title); setMessage(message); setHelpAvailable(false); setInput(rootResource); if (initialResource != null) { setInitialSelection(initialResource); } setComparator(new ResourceComparator(ResourceComparator.NAME)); setValidator(new ResourceFilter(acceptedResourceTypes, multiSelection)); addFilter(new ResourceFilter(visibleResourceTypes)); }
private String chooseWorkspaceDirectory(String prompt) { ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider()); dialog.setTitle("Selecting directory"); dialog.setMessage(prompt); dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == IDialogConstants.OK_ID) { IResource resource = (IResource)dialog.getFirstResult(); if (resource != null) { String path = resource.getFullPath().toString(); String fileLoc = VariablesPlugin.getDefault().getStringVariableManager() .generateVariableExpression("workspace_loc", path); return fileLoc; } } return null; }
/** * @param parent * Parent shell * @param createButton * Show create button and dialog */ public WorkspaceElementSelectionDialog(Shell parent, boolean createButton) { super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); this.setHelpAvailable(false); this.hasCreateButton = createButton; }
@Override protected Control createDialogArea(Composite parent) { CustomElementSelectionForm form = new CustomElementSelectionForm(parent, SWT.FILL); form.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); TreeViewer v = form.getTreeViewer(); for (ViewerFilter filter : filters) { v.addFilter(filter); } this.treeViewer = v; WorkbenchContentProvider contentProvider = new WorkbenchContentProvider(); ILabelProvider labelProvider = new WorkbenchLabelProvider(); this.treeViewer.setContentProvider(contentProvider); this.treeViewer.setLabelProvider(labelProvider); this.treeViewer.setComparator(new ViewerComparator()); this.treeViewer.setAutoExpandLevel(this.getAutoExpandLevel()); form.setElementLabel(this.elementLabel); this.elementNameInput = form.getElementInput(); form.getElementInput().addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(SuffixText.TEXT_PROPERTY) || evt.getPropertyName().equals(SuffixText.SUFFIX_PROPERTY)) { validateElementInput(); elementInputChanged(); } } }); return form; }
private void addUnaddedResourcesArea(Composite composite) { // add a description label createWrappingLabel(composite, Policy.bind("ReleaseCommentDialog.unaddedResources")); //$NON-NLS-1$ // add the selectable checkbox list listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = SELECTION_HEIGHT_HINT; data.widthHint = WIDTH_HINT; listViewer.getTable().setLayoutData(data); // set the contents of the list listViewer.setLabelProvider(new WorkbenchLabelProvider() { protected String decorateText(String input, Object element) { if (element instanceof IResource) return ((IResource)element).getFullPath().toString(); else return input; } }); listViewer.setContentProvider(new WorkbenchContentProvider()); listViewer.setInput(new AdaptableResourceList(unaddedResources)); if (resourcesToAdd == null) { listViewer.setAllChecked(true); } else { listViewer.setCheckedElements(resourcesToAdd); } listViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { resourcesToAdd = listViewer.getCheckedElements(); } }); addSelectionButtons(composite); }
/** * Returns a content provider for <code>IResource</code>s that returns * only children of the given resource type. */ protected ITreeContentProvider getResourceProvider(final int resourceType) { return new WorkbenchContentProvider() { public Object[] getChildren(Object o) { if (o instanceof IContainer) { IResource[] members = null; try { members = ((IContainer)o).members(); } catch (CoreException e) { //just return an empty set of children return new Object[0]; } //filter out the desired resource types ArrayList results = new ArrayList(); for (int i = 0; i < members.length; i++) { //And the test bits with the resource types to see if they are what we want if ((members[i].getType() & resourceType) > 0) { results.add(members[i]); } } return results.toArray(); } else { return super.getChildren(o); } } }; }
public void createControl(Composite parent) { Composite composite = createComposite(parent, 1); createWrappingLabel(composite, Policy.bind("SVNFoldersExistWarningPage.description"), 0 /* indent */, 1 /* columns */); //$NON-NLS-1$ table = createTable(composite, 1); table.setContentProvider(new WorkbenchContentProvider()); table.setLabelProvider(new SvnFoldersLabelProvider()); Arrays.sort(svnFolders, new Comparator() { public int compare(Object obj1, Object obj2) { IFolder folder1 = (IFolder)obj1; IFolder folder2 = (IFolder)obj2; return folder1.getFullPath().toOSString().compareTo(folder2.getFullPath().toOSString()); } }); AdaptableList input = new AdaptableList(svnFolders); table.setInput(input); continueButton = new Button(composite, SWT.CHECK); continueButton.setText(Policy.bind("SVNFoldersExistWarningPage.continue")); continueButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { setPageComplete(continueButton.getSelection()); } }); setPageComplete(false); setControl(composite); }
public static ElementTreeSelectionDialog createFolderDialog(String initialFolder, final IProject project, final boolean showAllProjects, final boolean showFolder, Shell shell) { ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); FolderSelectionDialog dialog = new FolderSelectionDialog(shell, lp, cp); // dialog.setTitle(TypeScriptUIMessages.TernModuleOptionsPanel_selectPathDialogTitle); IContainer folder = StringUtils.isEmpty(initialFolder) ? project : (project != null ? project.getFolder(initialFolder) : ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(initialFolder))); if (folder != null && folder.exists()) { dialog.setInitialSelection(folder); } dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); ViewerFilter filter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IProject) { if (showAllProjects) return true; IProject p = (IProject) element; return (p.equals(project)); } else if (element instanceof IContainer) { IContainer container = (IContainer) element; if (showFolder && container.getType() == IResource.FOLDER) { return true; } return false; } return false; } }; dialog.addFilter(filter); return dialog; }
public WorkspaceResourceSelectionDialog(Shell parent, Mode mode) { super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); this.mode = mode; setValidator(new ISelectionStatusValidator() { public IStatus validate(Object[] selection) { if (selection.length > 0 && checkMode(selection[0])) { return new Status(IStatus.OK, TypeScriptUIPlugin.PLUGIN_ID, IStatus.OK, EMPTY_STRING, null); } return new Status(IStatus.ERROR, TypeScriptUIPlugin.PLUGIN_ID, IStatus.ERROR, EMPTY_STRING, null); } }); setInput(ResourcesPlugin.getWorkspace().getRoot()); }
public FileSelectionDialog(Shell parent, List<IFile> files, String title, String message, String filterExtension, String filterMessage) { super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); setTitle(title); setMessage(message); fFilter = new FileFilter(files, filterExtension); fFilterMessage = filterMessage; setInput(ResourcesPlugin.getWorkspace().getRoot()); setComparator(new ResourceComparator(ResourceComparator.NAME)); ISelectionStatusValidator validator = new ISelectionStatusValidator() { @Override public IStatus validate(Object[] selection) { if (selection.length == 0) { return new Status(IStatus.ERROR, JSBuildFileUIPlugin.PLUGIN_ID, 0, "", null); } for (int i = 0; i < selection.length; i++) { if (!(selection[i] instanceof IFile)) { return new Status(IStatus.ERROR, JSBuildFileUIPlugin.PLUGIN_ID, 0, "", null); } } return new Status(IStatus.OK, JSBuildFileUIPlugin.PLUGIN_ID, 0, "", null); } }; setValidator(validator); }
/** * Uses the standard container selection dialog to choose the new value for * the container field. */ private void handleManifestfileBrowse() { String manifestFilename = getManifestfile(); ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), lp, cp); dialog.setValidator(null); dialog.setAllowMultiple(false); dialog.setTitle("Select Manifest File"); //$NON-NLS-1$ // dialog.setMessage("msg?"); //$NON-NLS-1$ // dialog.addFilter(filter); // dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setInput(jproject.getProject()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == ElementTreeSelectionDialog.OK) { Object[] elements = dialog.getResult(); if (elements.length == 1) { manifestFilename = ((IResource) elements[0]).getFullPath().toOSString(); int n = manifestFilename.indexOf(File.separatorChar, 1); if (n != -1) manifestFilename = manifestFilename.substring(n + 1); manifestfileText.setText(manifestFilename); } } }
/** * Uses the standard container selection dialog to choose the new value for * the container field. */ private void handleManifestmainclassBrowse() { try { String mainClass = getManifestmainclass(); ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); IResource[] res = { jproject.getCorrespondingResource() }; IJavaSearchScope searchScope = JavaSearchScopeFactory.getInstance().createJavaSearchScope(res, true); SelectionDialog dialog = JavaUI.createMainTypeDialog(getShell(), getContainer(), searchScope, 0, false); dialog.setMessage("Select Main-Class for JAR file"); dialog.setTitle("Fat Jar Config"); if (dialog.open() == SelectionDialog.OK) { Object[] elements = dialog.getResult(); if (elements.length == 1) { SourceType mainElement = (SourceType) elements[0]; mainClass = mainElement.getFullyQualifiedName(); manifestmainclassText.setText(mainClass); } } } catch (JavaModelException e) { e.printStackTrace(); } }
private String selectWorkspaceDir() { String result = null; ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog( getShell(), lp, cp); dialog.setValidator(null); dialog.setAllowMultiple(false); dialog.setTitle("Select base directory to add"); //$NON-NLS-1$ dialog.setMessage("msg?"); //$NON-NLS-1$ ViewerFilter filter = new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { boolean ok = (element instanceof Folder) || (element instanceof Project); return ok; } }; dialog.addFilter(filter); dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == ElementTreeSelectionDialog.OK) { Object[] elements = dialog.getResult(); if (elements.length == 1) { result = ((IResource) elements[0]).getFullPath().toOSString(); } } return result; }
/** * Uses the standard container selection dialog to * choose the new value for the container field. */ private void handleManifestfileBrowse() { String manifestFilename = getManifestfile(); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog( getShell(), lp, cp); dialog.setValidator(null); dialog.setAllowMultiple(false); dialog.setTitle("Select Manifest File"); //$NON-NLS-1$ // dialog.setMessage("msg?"); //$NON-NLS-1$ //dialog.addFilter(filter); // dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); //TODO: Validate Input, Make project list IAdaptable // dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setInput(jproject.getProject()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == ElementTreeSelectionDialog.OK) { Object[] elements= dialog.getResult(); if (elements.length == 1) { manifestFilename = ((IResource)elements[0]).getLocation().toOSString(); // int n = manifestFilename.indexOf(File.separatorChar,1); // if (n!=-1) // manifestFilename = manifestFilename.substring(n+1); manifestfileText.setText(manifestFilename); } } }
private String selectWorkspaceDir() { String result = null; ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog( getShell(), lp, cp); dialog.setValidator(null); dialog.setAllowMultiple(false); dialog.setTitle("Select base directory to add"); //$NON-NLS-1$ dialog.setMessage("msg?"); //$NON-NLS-1$ ViewerFilter filter = new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { boolean ok = (element instanceof Folder) || (element instanceof Project); return ok; } }; dialog.addFilter(filter); dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == ElementTreeSelectionDialog.OK) { Object[] elements= dialog.getResult(); if (elements.length == 1) { result = ((IResource)elements[0]).getFullPath().toOSString(); } } return result; }
protected DrillDownComposite setupContainerControl(Composite parent) { DrillDownComposite result = new DrillDownComposite(parent, SWT.BORDER); containerViewer = new TreeViewer(result, SWT.NONE); result.setChildTree(containerViewer); containerViewer.setContentProvider(new WorkbenchContentProvider()); containerViewer.setLabelProvider(new WorkbenchLabelProvider()); containerViewer.setComparator(new ViewerComparator()); containerViewer.setUseHashlookup(true); containerViewer.setInput(prepareInput()); return result; }
@Override public void widgetSelected(SelectionEvent e) { ListDialog dialog = new ListDialog(getShell()); WorkbenchContentProvider contentProvider = new WorkbenchContentProvider(); dialog.setContentProvider(contentProvider); dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); dialog.setLabelProvider(new WorkbenchLabelProvider()); dialog.setTitle("Select Project"); dialog.setMessage("Select Project:"); if (dialog.open() == Window.OK && dialog.getResult().length == 1) { IProject selectedProject = (IProject) dialog.getResult()[0]; project.setText(selectedProject.getName()); } }
/** * Helper that opens the directory chooser dialog. * * @param startingDirectory * The directory the dialog will open in. * @return File File or <code>null</code>. * */ private IContainer getDirectory(Object resource) { String project = (baseURI != null ? baseURI.segment(1) : null); Shell shell = getShell(); WorkspaceLabelProvider labelProvider = new WorkspaceLabelProvider(); WorkbenchContentProvider contentProvider = new WorkbenchContentProvider(); WorkspaceResourceDialog dialog = new WorkspaceResourceDialog(shell, labelProvider, contentProvider); dialog.setAllowMultiple(false); String decodedProject = CommonUtils.decodeUTF8(project); dialog.setTitle(project != null ? decodedProject : CommonUIPlugin.INSTANCE.getString("_UI_FileSelection_title")); //$NON-NLS-1$ dialog.setMessage(null); dialog.setShowNewFolderControl(true); dialog.addFilter(dialog.createDefaultViewerFilter(false)); dialog.addFilter(new DirectoryPatternFilter()); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); Object input = (project != null ? root.getProject(decodedProject) : null); if (input == null) { input = root; } dialog.setInput(input); dialog.setInitialSelection(resource); if (dialog.open() == Window.OK) { IContainer[] containers = dialog.getSelectedContainers(); if (containers.length != 0) { IContainer container = containers[0]; getTextControl().setFocus(); return container; } } return null; }
/** * Shows the UI to configure a JAR or ZIP archive located in the workspace. * The dialog returns the configured classpath entry path or <code>null</code> if the dialog has * been canceled. The dialog does not apply any changes. * * @param shell The parent shell for the dialog. * @param initialEntry The path of the initial archive entry * @param usedEntries An array of paths that are already on the classpath and therefore should not be * selected again. * @return Returns the configured JAR path or <code>null</code> if the dialog has * been canceled by the user. */ public static IPath configureJAREntry(Shell shell, IPath initialEntry, IPath[] usedEntries) { if (initialEntry == null || usedEntries == null) { throw new IllegalArgumentException(); } Class<?>[] acceptedClasses= new Class[] { IFile.class }; TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, false); ArrayList<IResource> usedJars= new ArrayList<IResource>(usedEntries.length); IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); for (int i= 0; i < usedEntries.length; i++) { IPath curr= usedEntries[i]; if (!curr.equals(initialEntry)) { IResource resource= root.findMember(usedEntries[i]); if (resource instanceof IFile) { usedJars.add(resource); } } } IResource existing= root.findMember(initialEntry); FilteredElementTreeSelectionDialog dialog= new FilteredElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); dialog.setValidator(validator); dialog.setTitle(NewWizardMessages.BuildPathDialogAccess_JARArchiveDialog_edit_title); dialog.setMessage(NewWizardMessages.BuildPathDialogAccess_JARArchiveDialog_edit_description); dialog.setInitialFilter(ArchiveFileFilter.JARZIP_FILTER_STRING); dialog.addFilter(new ArchiveFileFilter(usedJars, true, true)); dialog.setInput(root); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); dialog.setInitialSelection(existing); if (dialog.open() == Window.OK) { IResource element= (IResource) dialog.getFirstResult(); return element.getFullPath(); } return null; }
/** * Shows the UI to select new JAR or ZIP archive entries located in the workspace. * The dialog returns the selected entries or <code>null</code> if the dialog has * been canceled. The dialog does not apply any changes. * * @param shell The parent shell for the dialog. * @param initialSelection The path of the element (container or archive) to initially select or <code>null</code> to not select an entry. * @param usedEntries An array of paths that are already on the classpath and therefore should not be * selected again. * @return Returns the new JAR paths or <code>null</code> if the dialog has * been canceled by the user. */ public static IPath[] chooseJAREntries(Shell shell, IPath initialSelection, IPath[] usedEntries) { if (usedEntries == null) { throw new IllegalArgumentException(); } Class<?>[] acceptedClasses= new Class[] { IFile.class }; TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, true); ArrayList<IResource> usedJars= new ArrayList<IResource>(usedEntries.length); IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); for (int i= 0; i < usedEntries.length; i++) { IResource resource= root.findMember(usedEntries[i]); if (resource instanceof IFile) { usedJars.add(resource); } } IResource focus= initialSelection != null ? root.findMember(initialSelection) : null; FilteredElementTreeSelectionDialog dialog= new FilteredElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); dialog.setHelpAvailable(false); dialog.setValidator(validator); dialog.setTitle(NewWizardMessages.BuildPathDialogAccess_JARArchiveDialog_new_title); dialog.setMessage(NewWizardMessages.BuildPathDialogAccess_JARArchiveDialog_new_description); dialog.setInitialFilter(ArchiveFileFilter.JARZIP_FILTER_STRING); dialog.addFilter(new ArchiveFileFilter(usedJars, true, true)); dialog.setInput(root); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); dialog.setInitialSelection(focus); if (dialog.open() == Window.OK) { Object[] elements= dialog.getResult(); IPath[] res= new IPath[elements.length]; for (int i= 0; i < res.length; i++) { IResource elem= (IResource)elements[i]; res[i]= elem.getFullPath(); } return res; } return null; }
private static IPath[] internalChooseFolderEntry(Shell shell, IPath initialSelection, IPath[] usedEntries, String title, String message) { Class<?>[] acceptedClasses= new Class[] { IProject.class, IFolder.class }; ArrayList<IResource> usedContainers= new ArrayList<IResource>(usedEntries.length); IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); for (int i= 0; i < usedEntries.length; i++) { IResource resource= root.findMember(usedEntries[i]); if (resource instanceof IContainer) { usedContainers.add(resource); } } IResource focus= initialSelection != null ? root.findMember(initialSelection) : null; Object[] used= usedContainers.toArray(); MultipleFolderSelectionDialog dialog= new MultipleFolderSelectionDialog(shell, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); dialog.setExisting(used); dialog.setTitle(title); dialog.setMessage(message); dialog.setHelpAvailable(false); dialog.addFilter(new TypedViewerFilter(acceptedClasses, used)); dialog.setInput(root); dialog.setInitialFocus(focus); if (dialog.open() == Window.OK) { Object[] elements= dialog.getResult(); IPath[] res= new IPath[elements.length]; for (int i= 0; i < res.length; i++) { IResource elem= (IResource) elements[i]; res[i]= elem.getFullPath(); } return res; } return null; }
private String chooseWorkspaceArchive() { String initSelection= fArchiveField.getText(); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); Class<?>[] acceptedClasses= new Class[] { IFile.class }; TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, true); IResource initSel= null; IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); if (initSelection.length() > 0) { initSel= root.findMember(new Path(initSelection)); } FilteredElementTreeSelectionDialog dialog= new FilteredElementTreeSelectionDialog(fShell, lp, cp); dialog.setInitialFilter(ArchiveFileFilter.JARZIP_FILTER_STRING); dialog.setAllowMultiple(false); dialog.setValidator(validator); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); dialog.setTitle(PreferencesMessages.JavadocConfigurationBlock_workspace_archive_selection_dialog_title); dialog.setMessage(PreferencesMessages.JavadocConfigurationBlock_workspace_archive_selection_dialog_description); dialog.setInput(root); dialog.setInitialSelection(initSel); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { IResource res= (IResource) dialog.getFirstResult(); return res.getFullPath().makeRelative().toString(); } return null; }
private String chooseInternal() { String initSelection= fPathField.getText(); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); Class<?>[] acceptedClasses= new Class[] { IProject.class, IFolder.class }; TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, true); ViewerFilter filter= new TypedViewerFilter(acceptedClasses); IResource initSel= null; IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); if (initSelection.length() > 0) { initSel= root.findMember(new Path(initSelection)); } if (initSel == null) { initSel= root.findMember(fEntry.getPath()); } ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(fShell, lp, cp); dialog.setAllowMultiple(false); dialog.setValidator(validator); dialog.addFilter(filter); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); dialog.setTitle(NewWizardMessages.NativeLibrariesDialog_intfiledialog_title); dialog.setMessage(NewWizardMessages.NativeLibrariesDialog_intfiledialog_message); dialog.setInput(root); dialog.setInitialSelection(initSel); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { IResource res= (IResource) dialog.getFirstResult(); return res.getFullPath().makeRelative().toString(); } return null; }
private IFolder chooseFolder(String title, String message, IPath initialPath) { Class<?>[] acceptedClasses= new Class[] { IFolder.class }; ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, false); ViewerFilter filter= new TypedViewerFilter(acceptedClasses, null); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IProject currProject= fCurrJProject.getProject(); ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp); dialog.setValidator(validator); dialog.setTitle(title); dialog.setMessage(message); dialog.addFilter(filter); dialog.setInput(currProject); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); IResource res= currProject.findMember(initialPath); if (res != null) { dialog.setInitialSelection(res); } if (dialog.open() == Window.OK) { return (IFolder) dialog.getFirstResult(); } return null; }
private IPath chooseInternal() { String initSelection= fWorkspaceFileNameField.getText(); ViewerFilter filter= new ArchiveFileFilter((List<IResource>) null, false, false); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IResource initSel= null; if (initSelection.length() > 0) { initSel= fWorkspaceRoot.findMember(new Path(initSelection)); } if (initSel == null) { initSel= fWorkspaceRoot.findMember(fEntry.getPath()); } FolderSelectionDialog dialog= new FolderSelectionDialog(getShell(), lp, cp); dialog.setAllowMultiple(false); dialog.addFilter(filter); dialog.setTitle(NewWizardMessages.SourceAttachmentBlock_intjardialog_title); dialog.setMessage(NewWizardMessages.SourceAttachmentBlock_intjardialog_message); dialog.setInput(fWorkspaceRoot); dialog.setInitialSelection(initSel); if (dialog.open() == Window.OK) { IResource res= (IResource) dialog.getFirstResult(); return res.getFullPath(); } return null; }
private IContainer chooseContainer() { Class<?>[] acceptedClasses= new Class[] { IProject.class, IFolder.class }; ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, false); IProject[] allProjects= fWorkspaceRoot.getProjects(); ArrayList<IProject> rejectedElements= new ArrayList<IProject>(allProjects.length); IProject currProject= fCurrJProject.getProject(); for (int i= 0; i < allProjects.length; i++) { if (!allProjects[i].equals(currProject)) { rejectedElements.add(allProjects[i]); } } ViewerFilter filter= new TypedViewerFilter(acceptedClasses, rejectedElements.toArray()); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IResource initSelection= null; if (fOutputLocationPath != null) { initSelection= fWorkspaceRoot.findMember(fOutputLocationPath); } FolderSelectionDialog dialog= new FolderSelectionDialog(getShell(), lp, cp); dialog.setTitle(NewWizardMessages.BuildPathsBlock_ChooseOutputFolderDialog_title); dialog.setValidator(validator); dialog.setMessage(NewWizardMessages.BuildPathsBlock_ChooseOutputFolderDialog_description); dialog.addFilter(filter); dialog.setInput(fWorkspaceRoot); dialog.setInitialSelection(initSelection); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (dialog.open() == Window.OK) { return (IContainer)dialog.getFirstResult(); } return null; }
private IFolder chooseFolder(String title, String message, IPath initialPath) { Class<?>[] acceptedClasses= new Class[] { IFolder.class }; ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, false); ViewerFilter filter= new TypedViewerFilter(acceptedClasses, null); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IProject currProject= fNewElement.getJavaProject().getProject(); ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp) { @Override protected Control createDialogArea(Composite parent) { Control result= super.createDialogArea(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJavaHelpContextIds.BP_CHOOSE_EXISTING_FOLDER_TO_MAKE_SOURCE_FOLDER); return result; } }; dialog.setValidator(validator); dialog.setTitle(title); dialog.setMessage(message); dialog.addFilter(filter); dialog.setInput(currProject); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); IResource res= currProject.findMember(initialPath); if (res != null) { dialog.setInitialSelection(res); } if (dialog.open() == Window.OK) { return (IFolder) dialog.getFirstResult(); } return null; }
/** * Returns a content provider for <code>IResource</code>s that returns only children of the given resource type. */ private ITreeContentProvider getResourceProvider(final int resourceType) { return new WorkbenchContentProvider() { public Object[] getChildren(Object o) { if (o instanceof IContainer) { IResource[] members = null; try { members = ((IContainer) o).members(); } catch (CoreException e) { // just return an empty set of children return new Object[0]; } // filter out the desired resource types ArrayList results = new ArrayList(); for (int i = 0; i < members.length; i++) { if (members[i].getName().equals(".config") || members[i].getName().equals(".project") ||members[i].getName().equalsIgnoreCase(".temp") ) { defaultExportItems.add(members[i]); continue; } // And the test bits with the resource types to see if they are what we want if ((members[i].getType() & resourceType) > 0) { results.add(members[i]); } } return results.toArray(); } // input element case if (o instanceof ArrayList) { return ((ArrayList) o).toArray(); } return new Object[0]; } }; }
/** * Returns a content provider for <code>FileSystemElement</code>s that returns * only files as children. */ protected ITreeContentProvider getFileProvider() { return new WorkbenchContentProvider() { public Object[] getChildren(Object o) { if (o instanceof MinimizedFileSystemElement) { MinimizedFileSystemElement element = (MinimizedFileSystemElement) o; return element.getFiles( fileSystemStructureProvider).getChildren( element); } return new Object[0]; } }; }