private void addPackage() { Shell shell = fAddPackageButton.getDisplay().getActiveShell(); ElementListSelectionDialog dialog = null; try { IJavaProject project = fEditor.getJavaProject(); List<IJavaElement> projects = new ArrayList<IJavaElement>(); projects.add(project); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; projects.add(root.getParent()); } dialog = JDIDebugUIPlugin.createAllPackagesDialog( shell, projects.toArray(new IJavaProject[projects.size()]), false); } catch (JavaModelException jme) { String title = SnippetMessages.getString("SelectImportsDialog.Add_package_as_import_7"); // $NON-NLS-1$ String message = SnippetMessages.getString( "SelectImportsDialog.Could_not_open_package_selection_dialog_8"); //$NON-NLS-1$ ExceptionHandler.handle(jme, title, message); return; } if (dialog == null) { return; } dialog.setTitle( SnippetMessages.getString("SelectImportsDialog.Add_package_as_import_7")); // $NON-NLS-1$ dialog.setMessage( SnippetMessages.getString( "SelectImportsDialog.&Select_a_package_to_add_as_an_Import_10")); //$NON-NLS-1$ dialog.setMultipleSelection(true); if (dialog.open() == IDialogConstants.CANCEL_ID) { return; } Object[] packages = dialog.getResult(); if (packages != null) { for (int i = 0; i < packages.length; i++) { IJavaElement pkg = (IJavaElement) packages[i]; String filter = pkg.getElementName(); filter += ".*"; // $NON-NLS-1$ fImportContentProvider.addImport(filter); } } }
/* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) */ @Override protected Control createDialogArea(Composite parent) { setTitle( NLS.bind( SnippetMessages.getString( "SelectImportsDialog.Manage_the_Java_Snippet_Editor_Imports_for___{0}__1"), new String[] {fEditor.getEditorInput().getName()})); // $NON-NLS-1$ setMessage( NLS.bind( SnippetMessages.getString("SelectImportsDialog.add_remove_imports"), new String[] {fEditor.getEditorInput().getName()})); // $NON-NLS-1$ Composite outer = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH); GridLayout gl = (GridLayout) outer.getLayout(); gl.marginLeft = 7; gl.marginTop = 0; gl.marginBottom = 0; SWTFactory.createLabel( outer, SnippetMessages.getString("SelectImportsDialog.imports_heading"), 2); // $NON-NLS-1$ fImportsTable = new Table(outer, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = 150; fImportsTable.setLayoutData(gd); fImportsViewer = new TableViewer(fImportsTable); fImportsViewer.setLabelProvider(new FilterLabelProvider()); fImportsViewer.setComparator(new FilterViewerComparator()); fImportContentProvider = new ImportsContentProvider(fImportsViewer); fImportsViewer.setContentProvider(fImportContentProvider); // input just needs to be non-null fImportsViewer.setInput(this); fImportsViewer.addSelectionChangedListener( new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection.isEmpty()) { fRemoveImportsButton.setEnabled(false); } else { fRemoveImportsButton.setEnabled(true); } } }); createImportButtons(outer); applyDialogFont(outer); return parent; }
private void addType() { Shell shell = fAddTypeButton.getDisplay().getActiveShell(); SelectionDialog dialog = null; try { dialog = JavaUI.createTypeDialog( shell, PlatformUI.getWorkbench().getProgressService(), SearchEngine.createJavaSearchScope( new IJavaElement[] {fEditor.getJavaProject()}, true), IJavaElementSearchConstants.CONSIDER_ALL_TYPES, false); } catch (JavaModelException jme) { String title = SnippetMessages.getString("SelectImportsDialog.Add_Type_as_Import_12"); // $NON-NLS-1$ String message = SnippetMessages.getString( "SelectImportsDialog.Could_not_open_class_selection_dialog_13"); //$NON-NLS-1$ ExceptionHandler.handle(jme, title, message); return; } dialog.setTitle( SnippetMessages.getString("SelectImportsDialog.Add_Type_as_Import_12")); // $NON-NLS-1$ dialog.setMessage( SnippetMessages.getString( "SelectImportsDialog.&Select_a_type_to_add_to_add_as_an_import_15")); //$NON-NLS-1$ if (dialog.open() == IDialogConstants.CANCEL_ID) { return; } Object[] types = dialog.getResult(); if (types != null && types.length > 0) { IType type = (IType) types[0]; fImportContentProvider.addImport(type.getFullyQualifiedName()); } }
/** * Sets the title for the dialog and establishes the help context. * * @see org.eclipse.jface.window.Window#configureShell(Shell); */ @Override protected void configureShell(Shell shell) { super.configureShell(shell); shell.setText( SnippetMessages.getString("SelectImportsDialog.Java_Snippet_Imports_18")); // $NON-NLS-1$ }
private void createImportButtons(Composite container) { PlatformUI.getWorkbench() .getHelpSystem() .setHelp(container, IJavaDebugHelpContextIds.SNIPPET_IMPORTS_DIALOG); Composite bcomp = SWTFactory.createComposite( container, container.getFont(), 1, 1, GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL, 0, 0); GridLayout gl = (GridLayout) bcomp.getLayout(); gl.verticalSpacing = 0; // Add type button fAddTypeButton = SWTFactory.createPushButton( bcomp, SnippetMessages.getString("SelectImportsDialog.Add_&Type_1"), // $NON-NLS-1$ SnippetMessages.getString( "SelectImportsDialog.Choose_a_Type_to_Add_as_an_Import_2"), //$NON-NLS-1$ null); fAddTypeButton.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent se) { addType(); } @Override public void widgetDefaultSelected(SelectionEvent se) {} }); // Add package button fAddPackageButton = SWTFactory.createPushButton( bcomp, SnippetMessages.getString("SelectImportsDialog.Add_&Package_3"), // $NON-NLS-1$ SnippetMessages.getString( "SelectImportsDialog.Choose_a_Package_to_Add_as_an_Import_4"), //$NON-NLS-1$ null); fAddPackageButton.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent se) { addPackage(); } @Override public void widgetDefaultSelected(SelectionEvent se) {} }); // Remove button fRemoveImportsButton = SWTFactory.createPushButton( bcomp, SnippetMessages.getString("SelectImportsDialog.&Remove_5"), // $NON-NLS-1$ SnippetMessages.getString( "SelectImportsDialog.Remove_All_Selected_Imports_6"), //$NON-NLS-1$ null); fRemoveImportsButton.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent se) { removeImports(); } @Override public void widgetDefaultSelected(SelectionEvent se) {} }); fRemoveImportsButton.setEnabled(false); }