@SuppressWarnings("rawtypes") public static CheckedTreeSelectionDialog createMulti( Shell parent, String title, String message, Class[] filter, Object input, List selectedElements) { CheckedTreeSelectionDialog diag = new CheckedTreeSelectionDialog( parent, new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider()); configure(diag, title, message); if (filter.length > 0) { diag.addFilter(new TypedViewerFilter(filter)); } diag.setInput(input); if (selectedElements != null) { diag.setInitialElementSelections(selectedElements); } return diag; }
protected void handleScanButtonPressed() { ScannedFilesContentProvider contentProvider = new ScannedFilesContentProvider(suffixesText.getText()); CheckedTreeSelectionDialog dialog = new CheckedTreeSelectionDialog( SpringUIUtils.getStandardDisplay().getActiveShell(), new ScannedFilesLabelProvider(), contentProvider) { @Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); Label note = new Label(composite, SWT.WRAP); note.setText(BeansUIPlugin.getResourceString(SCAN_NOTE_LABEL)); note.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); return composite; } }; dialog.setTitle(BeansUIPlugin.getResourceString(DIALOG_TITLE)); dialog.setMessage(BeansUIPlugin.getResourceString(DIALOG_MESSAGE)); dialog.addFilter(new ConfigFileFilter(project.getConfigSuffixes())); dialog.setValidator(new StorageSelectionValidator(true)); dialog.setInput(project.getProject()); dialog.setSorter(new JavaElementSorter()); dialog.setInitialSelections(contentProvider.getElements(project.getProject())); if (dialog.open() == Window.OK) { Object[] selection = dialog.getResult(); if (selection != null && selection.length > 0) { for (Object element : selection) { String config; if (element instanceof ZipEntryStorage) { ZipEntryStorage storage = (ZipEntryStorage) element; config = storage.getFullName(); } else { IFile file = (IFile) element; config = file.getProjectRelativePath().toString(); } project.addConfig(config, IBeansConfig.Type.MANUAL); } configsViewer.refresh(false); hasUserMadeChanges = true; } } }