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;
}