+ return ((IProject) dialog.getFirstResult()).getName();
+ return null;
+ }
+
+ private String chooseMPMFile()
+ {
+ WorkbenchLabelProvider renderer = new WorkbenchLabelProvider()
+ {
+ @Override
+ protected ImageDescriptor decorateImage(ImageDescriptor input, Object element)
+ {
+ return new ImageDescriptorWithMargins(input, new Point(22, 16));
+ }
+ };
+ ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), renderer, new WorkbenchContentProvider());
+ dialog.setInput(getSelectedProject());
+ dialog.addFilter(new FileExtensionViewerFilter("mpm"));
+
+ if (dialog.open() == Window.OK)
+ return ((IResource) dialog.getResult()[0]).getProjectRelativePath().toPortableString();
+ return null;
+ }
+
+ private IProject getSelectedProject()
+ {
+ String projName = projSelText.getText().trim();
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ if (workspace.validateName(projName, IResource.PROJECT).isOK())
+ return workspace.getRoot().getProject(projName);