List of usage examples for org.eclipse.jface.viewers StructuredSelection size
@Override public int size()
From source file:com.android.ide.eclipse.adt.internal.editors.layout.gle1.UiContentOutlinePage.java
License:Apache License
/** * Returns the currently selected element, if any, in the viewer. * This returns the viewer's elements (i.e. an {@link UiElementTreeEditPart}) * and not the underlying model node.//ww w. ja v a 2s . c o m * <p/> * When there is no actual selection, this might still return the root node, * which is of type {@link UiDocumentTreeEditPart}. */ @SuppressWarnings("unchecked") private List<UiElementTreeEditPart> getViewerSelections() { ISelection selection = getSelection(); if (selection instanceof StructuredSelection) { StructuredSelection structuredSelection = (StructuredSelection) selection; if (structuredSelection.size() > 0) { ArrayList<UiElementTreeEditPart> selected = new ArrayList<UiElementTreeEditPart>(); for (Iterator it = structuredSelection.iterator(); it.hasNext();) { Object selectedObj = it.next(); if (selectedObj instanceof UiElementTreeEditPart) { selected.add((UiElementTreeEditPart) selectedObj); } } return selected.size() > 0 ? selected : null; } } return null; }
From source file:com.android.ide.eclipse.adt.internal.editors.layout.UiContentOutlinePage.java
License:Apache License
public UiContentOutlinePage(AbstractGraphicalLayoutEditor editor, final EditPartViewer viewer) { super(viewer); mEditor = editor;/*from www .j av a2s . co m*/ IconFactory factory = IconFactory.getInstance(); mAddAction = new Action("Add...") { @Override public void run() { List<UiElementNode> nodes = getModelSelections(); UiElementNode node = nodes != null && nodes.size() > 0 ? nodes.get(0) : null; mUiActions.doAdd(node, viewer.getControl().getShell()); } }; mAddAction.setToolTipText("Adds a new element."); mAddAction.setImageDescriptor(factory.getImageDescriptor("add")); //$NON-NLS-1$ mDeleteAction = new Action("Remove...") { @Override public void run() { List<UiElementNode> nodes = getModelSelections(); mUiActions.doRemove(nodes, viewer.getControl().getShell()); } }; mDeleteAction.setToolTipText("Removes an existing selected element."); mDeleteAction.setImageDescriptor(factory.getImageDescriptor("delete")); //$NON-NLS-1$ mUpAction = new Action("Up") { @Override public void run() { List<UiElementNode> nodes = getModelSelections(); mUiActions.doUp(nodes); } }; mUpAction.setToolTipText("Moves the selected element up"); mUpAction.setImageDescriptor(factory.getImageDescriptor("up")); //$NON-NLS-1$ mDownAction = new Action("Down") { @Override public void run() { List<UiElementNode> nodes = getModelSelections(); mUiActions.doDown(nodes); } }; mDownAction.setToolTipText("Moves the selected element down"); mDownAction.setImageDescriptor(factory.getImageDescriptor("down")); //$NON-NLS-1$ // all actions disabled by default. mAddAction.setEnabled(false); mDeleteAction.setEnabled(false); mUpAction.setEnabled(false); mDownAction.setEnabled(false); addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); // the selection is never empty. The least it'll contain is the // UiDocumentTreeEditPart object. if (selection instanceof StructuredSelection) { StructuredSelection structSel = (StructuredSelection) selection; if (structSel.size() == 1 && structSel.getFirstElement() instanceof UiDocumentTreeEditPart) { mDeleteAction.setEnabled(false); mUpAction.setEnabled(false); mDownAction.setEnabled(false); } else { mDeleteAction.setEnabled(true); mUpAction.setEnabled(true); mDownAction.setEnabled(true); } // the "add" button is always enabled, in order to be able to set the // initial root node mAddAction.setEnabled(true); } } }); }
From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.java
License:Open Source License
/** * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) *//*www . j a va 2 s.co m*/ protected Control createDialogArea(Composite parent) { Composite dialogArea = (Composite) super.createDialogArea(parent); Composite content = new Composite(dialogArea, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); content.setLayoutData(gd); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.marginWidth = 0; layout.marginHeight = 0; content.setLayout(layout); createHeader(content); pattern = new Text(content, SWT.SINGLE | SWT.BORDER); gd = new GridData(GridData.FILL_HORIZONTAL); pattern.setLayoutData(gd); createExtras(content); createLabels(content); list = new TableViewer(content, (multi ? SWT.MULTI : SWT.SINGLE) | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL); list.setContentProvider(contentProvider); list.setLabelProvider(getItemsListLabelProvider()); list.setInput(new Object[0]); list.setItemCount(contentProvider.getElements(null).length); gd = new GridData(GridData.FILL_BOTH); list.getTable().setLayoutData(gd); createPopupMenu(); pattern.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { applyFilter(); } }); pattern.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { if (list.getTable().getItemCount() > 0) { list.getTable().setFocus(); } } } }); list.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); handleSelected(selection); } }); list.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { handleDoubleClick(); } }); list.getTable().addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.DEL) { List<?> selectedElements = ((StructuredSelection) list.getSelection()).toList(); Object item = null; boolean isSelectedHistory = true; for (Iterator<?> it = selectedElements.iterator(); it.hasNext();) { item = it.next(); if (item instanceof ItemsListSeparator || !isHistoryElement(item)) { isSelectedHistory = false; break; } } if (isSelectedHistory) { removeSelectedItems(selectedElements); } } if (e.keyCode == SWT.ARROW_UP && (e.stateMask & SWT.SHIFT) != 0 && (e.stateMask & SWT.CTRL) != 0) { StructuredSelection selection = (StructuredSelection) list.getSelection(); if (selection.size() == 1) { Object element = selection.getFirstElement(); if (element.equals(list.getElementAt(0))) { pattern.setFocus(); } if (list.getElementAt( list.getTable().getSelectionIndex() - 1) instanceof ItemsListSeparator) { list.getTable().setSelection(list.getTable().getSelectionIndex() - 1); } list.getTable().notifyListeners(SWT.Selection, new Event()); } } if (e.keyCode == SWT.ARROW_DOWN && (e.stateMask & SWT.SHIFT) != 0 && (e.stateMask & SWT.CTRL) != 0) { if (list.getElementAt(list.getTable().getSelectionIndex() + 1) instanceof ItemsListSeparator) { list.getTable().setSelection(list.getTable().getSelectionIndex() + 1); } list.getTable().notifyListeners(SWT.Selection, new Event()); } } }); createExtendedContentArea(content); details = new DetailsContentViewer(content, SWT.BORDER | SWT.FLAT); details.setVisible(toggleStatusLineAction.isChecked()); details.setContentProvider(new NullContentProvider()); details.setLabelProvider(getDetailsLabelProvider()); applyDialogFont(content); restoreDialog(getDialogSettings()); if (initialPatternText != null) { pattern.setText(initialPatternText); } switch (selectionMode) { case CARET_BEGINNING: pattern.setSelection(0, 0); break; case FULL_SELECTION: pattern.setSelection(0, initialPatternText.length()); break; } // apply filter even if pattern is empty (display history) applyFilter(); return dialogArea; }
From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.java
License:Open Source License
/** * Refreshes the details field according to the current selection in the items list. *//* ww w .j a v a 2s . co m*/ private void refreshDetails() { StructuredSelection selection = getSelectedItems(); switch (selection.size()) { case 0: details.setInput(null); break; case 1: details.setInput(selection.getFirstElement()); break; default: details.setInput( NLS.bind(Messages.FilteredItemsSelectionDialog_SelectedItems, new Integer(selection.size()))); break; } }
From source file:com.aptana.editor.php.internal.ui.dialog.CustomFilteredItemsSelectionDialog.java
License:Open Source License
/** * Handle selection in the items list by updating labels of selected and unselected items and refresh the details * field using the selection.//from w w w.j a va2 s. co m * * @param selection * the new selection */ protected void handleSelected(StructuredSelection selection) { IStatus status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, StringUtil.EMPTY, null); if (selection.size() == 0) { status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.ERROR, StringUtil.EMPTY, null); if (lastSelection != null && getListSelectionLabelDecorator() != null) { list.update(lastSelection, null); } lastSelection = null; } else { status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.ERROR, StringUtil.EMPTY, null); List<?> items = selection.toList(); Object item = null; IStatus tempStatus = null; for (Iterator<?> it = items.iterator(); it.hasNext();) { Object o = it.next(); if (o instanceof ItemsListSeparator) { continue; } item = o; tempStatus = validateItem(item); if (tempStatus.isOK()) { status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, StringUtil.EMPTY, null); } else { status = tempStatus; // if any selected element is not valid status is set to // ERROR break; } } if (lastSelection != null && getListSelectionLabelDecorator() != null) { list.update(lastSelection, null); } if (getListSelectionLabelDecorator() != null) { list.update(items.toArray(), null); } lastSelection = items.toArray(); } refreshDetails(); updateStatus(status); }
From source file:com.aptana.ide.server.ui.views.actions.OpenConsole.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) *//*from w w w.ja v a 2 s. c o m*/ public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection.isEmpty()) { setEnabled(false); } if (selection instanceof StructuredSelection) { StructuredSelection ss = (StructuredSelection) selection; if (ss.size() == 1) { Object firstElement = ss.getFirstElement(); if (firstElement instanceof IServer) { server = (IServer) firstElement; ICanOpenConsole adapter = (ICanOpenConsole) server.getAdapter(ICanOpenConsole.class); setEnabled(adapter != null || consoles.get(server) != null); return; } } } setEnabled(false); }
From source file:com.axmor.eclipse.typescript.editor.definitions.AddTypeScriptDefinitionDialog.java
License:Open Source License
@Override protected void handleSelected(StructuredSelection selection) { super.handleSelected(selection); if (selection != null && selection.size() == 1) { TypeScriptDefinition def = (TypeScriptDefinition) selection.getFirstElement(); defName.setText(def.getName());/*from ww w. j a va 2 s . c om*/ defProject.setText(def.getProject()); defVersion.setText(def.getVersion()); defAuthors.setText(def.getAuthor()); defLink.setText(String.format("<a href=\"%1$s\">%1$s</a>", def.getProjectUrl())); defDescription.setText(def.getDescription()); } else { defName.setText(""); defProject.setText(""); defVersion.setText(""); defAuthors.setText(""); defLink.setText(""); defDescription.setText(""); } }
From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java
License:Open Source License
@Inject public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.context = context; parent.setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService/*from w ww. j av a2 s . c om*/ .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); // context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { MapleIDEApplication app = (MapleIDEApplication) application; IStructuredSelection s = (IStructuredSelection) event.getSelection(); for (Object o : s.toArray()) { if (o instanceof IFile) { IFile f = (IFile) o; context.set(IFile.class, f); String fExt = f.getFileExtension(); EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) { for (String ext : desc.getFileextensions()) { if (ext.equals(fExt)) { context.set(EditorPartDescriptor.class, desc); System.err.println("Opening with: " + desc); Command cmd = commandService .getCommand("com.baremetalstudios.mapleide.command.openeditor"); // Command cmd = commandService.getCommand("simpleide.command.openeditor"); ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null); handlerService.executeHandler(pCmd); break EDITOR; } } } } } } }); setupContextMenu(viewer, parent.getShell()); workspace.addResourceChangeListener(listener); }
From source file:com.centurylink.mdw.plugin.designer.properties.ActivityInstanceSection.java
License:Apache License
private Menu createContextMenu(Shell shell) { Menu menu = new Menu(shell, SWT.POP_UP); StructuredSelection selection = (StructuredSelection) tableEditor.getTableViewer().getSelection(); if (selection.size() == 1 && selection.getFirstElement() instanceof ActivityInstanceVO) { final ActivityInstanceVO activityInstanceVO = (ActivityInstanceVO) selection.getFirstElement(); if (activity.getProcess().isUserAuthorized(UserRoleVO.PROCESS_EXECUTION)) { // view details MenuItem detailsItem = new MenuItem(menu, SWT.PUSH); detailsItem.setText("View"); ImageDescriptor detailsImageDesc = MdwPlugin.getImageDescriptor("icons/details.gif"); detailsItem.setImage(detailsImageDesc.createImage()); detailsItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.VIEW).open(); }/*from w ww. j a v a2s . co m*/ }); // retry MenuItem retryItem = new MenuItem(menu, SWT.PUSH); retryItem.setText("Retry"); ImageDescriptor retryImageDesc = MdwPlugin.getImageDescriptor("icons/retry.gif"); retryItem.setImage(retryImageDesc.createImage()); retryItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.RETRY).open(); } }); // skip MenuItem skipItem = new MenuItem(menu, SWT.PUSH); skipItem.setText("Proceed"); ImageDescriptor skipImageDesc = MdwPlugin.getImageDescriptor("icons/skip.gif"); skipItem.setImage(skipImageDesc.createImage()); skipItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { new ActivityInstanceDialog(getShell(), activity, activityInstanceVO, Mode.SKIP).open(); } }); } } return menu; }
From source file:com.centurylink.mdw.plugin.designer.properties.ProcessVersionsSection.java
License:Apache License
private Menu createContextMenu(Shell shell) { Menu menu = new Menu(shell, SWT.POP_UP); final StructuredSelection selection = (StructuredSelection) tableEditor.getTableViewer().getSelection(); if (selection.size() == 1 && selection.getFirstElement() instanceof WorkflowProcess) { final WorkflowProcess processVer = (WorkflowProcess) selection.getFirstElement(); MenuItem openItem = new MenuItem(menu, SWT.PUSH); openItem.setText("Open"); ImageDescriptor openImageDesc = MdwPlugin.getImageDescriptor("icons/process.gif"); openItem.setImage(openImageDesc.createImage()); openItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { openProcess(processVer); }// w w w .j a v a 2s.c o m }); } // delete if (!selection.isEmpty() && !process.getProject().isProduction() && process.isUserAuthorized(UserRoleVO.PROCESS_EXECUTION) && (selection.size() == 1 && ((WorkflowProcess) selection.getFirstElement()).isLatest()) || MdwPlugin.getSettings().isAllowDeleteArchivedProcesses()) { MenuItem deleteItem = new MenuItem(menu, SWT.PUSH); deleteItem.setText("Delete..."); ImageDescriptor deleteImageDesc = MdwPlugin.getImageDescriptor("icons/delete.gif"); deleteItem.setImage(deleteImageDesc.createImage()); deleteItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (selection.size() >= 1 && selection.getFirstElement() instanceof WorkflowProcess) { WorkflowProcess[] processVers = new WorkflowProcess[selection.size()]; int idx = 0; for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { processVers[idx] = (WorkflowProcess) iter.next(); idx++; } WorkflowElementActionHandler actionHandler = new WorkflowElementActionHandler(); actionHandler.delete(processVers); boolean removedSelected = false; for (WorkflowProcess pv : processVers) { if (pv.equals(process)) removedSelected = true; else process.remove(pv); } if (removedSelected) { WorkflowProcess sel = null; for (WorkflowProcess toSel : process.getAllProcessVersions()) { if (!toSel.equals(process)) { sel = toSel; break; } } setSelection(sel); } else { setSelection(process); // just force refresh } } } }); } return menu; }