- 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.setTitle("Initial RAM Selection");
- dialog.setMessage("Select a RAM file");
- dialog.setInput(getSelectedProject());
- dialog.addFilter(new FileExtensionViewerFilter("mem"));
+ return chooseFile("Initial RAM", "mem");
+ }
+
+ private String chooseFile(String type, String fileext)
+ {
+ ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(),
+ new WorkbenchContentProvider());
+ dialog.setTitle(type + " Selection");
+ dialog.setMessage("Select a ." + fileext + " file");
+ dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
+ dialog.addFilter(new FileExtensionViewerFilter(fileext));
+ dialog.addFilter(new ProjectViewerFilter(getSelectedProject()));