Java 类org.eclipse.ui.model.WorkbenchContentProvider 实例源码

项目:n4js    文件:AbstractExportToSingleFileWizardPage.java   
/**
 * 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()]);
        }
    };
}
项目:neoscada    文件:HiveTab.java   
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 ();
        }
    }
}
项目:agui_eclipse_plugin    文件:ConfigPage.java   
/**
 * 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);
        }
    }
}
项目:depan    文件:WorkspaceTools.java   
/**
 * 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;
}
项目:gwt-eclipse-plugin    文件:ResourceTreeSelectionDialog.java   
/**
 * 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));
}
项目:teavm    文件:TeaVMProfileDialog.java   
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;
}
项目:n4js    文件:WorkspaceElementSelectionDialog.java   
/**
 * @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;

}
项目:n4js    文件:CustomElementSelectionDialog.java   
@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;
}
项目:subclipse    文件:AddToVersionControlDialog.java   
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);
}
项目:subclipse    文件:SVNWizardPage.java   
/**
 * 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);
            }
        }
    };
}
项目:subclipse    文件:SvnFoldersExistWarningPage.java   
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);
}
项目:typescript.java    文件:DialogUtils.java   
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;
}
项目:typescript.java    文件:WorkspaceResourceSelectionDialog.java   
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());
}
项目:jsbuild-eclipse    文件:FileSelectionDialog.java   
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);
}
项目:agui_eclipse_plugin    文件:FJExportWizardConfigPage.java   
/**
 * 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);
        }
    }
}
项目:agui_eclipse_plugin    文件:FJExportWizardConfigPage.java   
/**
 * 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();
    }
}
项目:agui_eclipse_plugin    文件:FJExportWizardFilesSelectPage.java   
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;
    }
项目:agui_eclipse_plugin    文件:ConfigPage.java   
/**
     * 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);
            }
        }
    }
项目:agui_eclipse_plugin    文件:FilesSelectPage.java   
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;
    }
项目:depan    文件:ProjectResourceControl.java   
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;
}
项目:brainfuck    文件:BfMainTab.java   
@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());
    }
}
项目:APICloud-Studio    文件:AddToVersionControlDialog.java   
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);
}
项目:APICloud-Studio    文件:SVNWizardPage.java   
/**
 * 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);
            }
        }
    };
}
项目:APICloud-Studio    文件:SvnFoldersExistWarningPage.java   
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);
}
项目:OpenSPIFe    文件:IDirectoryFieldEditor.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion    文件:BuildPathDialogAccess.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion    文件:BuildPathDialogAccess.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion    文件:BuildPathDialogAccess.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:JavadocConfigurationBlock.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:NativeLibrariesConfigurationBlock.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:NewSourceFolderWizardPage.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:SourceAttachmentBlock.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:BuildPathsBlock.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:AddSourceFolderWizardPage.java   
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;
}
项目:translationstudio8    文件:WizardExportResourcesPage2.java   
/**
 * 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];
        }
    };
}
项目:sadlos2    文件:OwlFileResourceImportPage1.java   
/**
 * 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];
        }
    };
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:BuildPathDialogAccess.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:BuildPathDialogAccess.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:BuildPathDialogAccess.java   
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;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:JavadocConfigurationBlock.java   
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;
}