List of usage examples for org.eclipse.jface.viewers IStructuredSelection size
public int size();
From source file:com.amalto.workbench.editors.DataClusterBrowserMainPage.java
License:Open Source License
protected void hookContextMenu() { MenuManager menuMgr = new MenuManager(); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { // ViewBrowserMainPage.this.fillContextMenu(manager); manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new NewItemAction(getShell(), resultsViewer)); IStructuredSelection selection = ((IStructuredSelection) resultsViewer.getSelection()); if (exAdapter != null) { exAdapter.menuAboutToShow(manager, IWorkbenchActionConstants.MB_ADDITIONS, resultsViewer, selection, getShell(), getXObject()); }//from w w w . j a v a 2 s.co m if (selection.size() == 1) { manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new EditItemAction(getShell(), resultsViewer)); } if (selection.size() > 0) { manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new PhysicalDeleteItemsAction(getShell(), resultsViewer)); manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new LogicalDeleteItemsAction(getShell(), resultsViewer)); manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new SubmitItemsAction(getShell(), resultsViewer)); } // compare item with each other if (selection.size() == 2) { manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new CompareItemWithEachOtherAction(getShell(), resultsViewer)); } // available models if (selection.size() == 1) { java.util.List<IAvailableModel> availablemodels = AvailableModelUtil.getAvailableModels(); for (IAvailableModel model : availablemodels) { model.menuAboutToShow(manager, DataClusterBrowserMainPage.this); } } } }); Menu menu = menuMgr.createContextMenu(resultsViewer.getControl()); resultsViewer.getControl().setMenu(menu); getSite().registerContextMenu(menuMgr, resultsViewer); }
From source file:com.amazonaws.eclipse.explorer.DragAdapterAssistant.java
License:Apache License
@Override public void dragStart(DragSourceEvent anEvent, IStructuredSelection aSelection) { anEvent.doit = aSelection.size() == 1 && aSelection.getFirstElement() instanceof S3ObjectSummary; /*/*w ww . j a v a 2s . c o m*/ * We need to make sure that our drag is treated *only* as a plugin * transfer, whereas the superclass defaults to treating all such events * as either LocalSelectionTransfer or PluginTransfer. In the case of * the former, the drag adapter for other views won't recognize the * object being dropped and so disallows it. */ DragSource source = ((DragSource) anEvent.getSource()); source.setTransfer(getSupportedTransferTypes()); //printEvent(anEvent); }
From source file:com.amazonaws.eclipse.explorer.s3.actions.S3ActionProvider.java
License:Apache License
@Override public void fillContextMenu(IMenuManager menu) { IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); if (selection.size() == 1 && selection.toList().get(0) instanceof Bucket) { Bucket bucket = (Bucket) selection.toList().get(0); menu.add(new OpenBucketEditorAction(bucket.getName())); menu.add(new Separator()); }//w w w.j ava2 s.com boolean onlyBucketsSelected = true; for (Object obj : selection.toList()) { if (obj instanceof Bucket == false) { onlyBucketsSelected = false; break; } } menu.add(new CreateBucketAction()); if (onlyBucketsSelected) { menu.add(new DeleteBucketAction(selection.toList())); } }
From source file:com.amitinside.e4.rcp.todo.parts.TodoDeletionPart.java
License:Apache License
@PostConstruct public void createControls(Composite parent) { parent.setLayout(new GridLayout(2, false)); viewer = new ComboViewer(parent, SWT.READ_ONLY); viewer.setLabelProvider(new LabelProvider() { @Override/*w ww .ja v a2 s . c om*/ public String getText(Object element) { Todo todo = (Todo) element; return todo.getSummary(); } }); viewer.setContentProvider(ArrayContentProvider.getInstance()); List<Todo> todos = model.getTodos(); updateViewer(todos); Button button = new Button(parent, SWT.PUSH); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ISelection selection = viewer.getSelection(); IStructuredSelection sel = (IStructuredSelection) selection; if (sel.size() > 0) { selectionService.setSelection(sel.getFirstElement()); // assure that "com.example.e4.rcp.todo.remove" is the ID // of the command which deletes todos in your application model ParameterizedCommand cmd = commandService.createCommand("com.example.e4.rcp.todo.remove", null); handlerService.executeHandler(cmd, ctx); } } }); button.setText(messages.TodoDeletionPart_0); }
From source file:com.android.ddmuilib.explorer.DeviceExplorer.java
License:Apache License
/** * Creates a control capable of displaying some information. This is * called once, when the application is initializing, from the UI thread. *//* w w w .j a v a 2s. c om*/ @Override protected Control createControl(Composite parent) { mParent = parent; parent.setLayout(new FillLayout()); ImageLoader loader = ImageLoader.getDdmUiLibLoader(); if (mFileImage == null) { mFileImage = loader.loadImage("file.png", mParent.getDisplay()); } if (mFolderImage == null) { mFolderImage = loader.loadImage("folder.png", mParent.getDisplay()); } if (mPackageImage == null) { mPackageImage = loader.loadImage("android.png", mParent.getDisplay()); } if (mOtherImage == null) { // TODO: find a default image for other. } mTree = new Tree(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL); mTree.setHeaderVisible(true); IPreferenceStore store = DdmUiPreferences.getStore(); // create columns TableHelper.createTreeColumn(mTree, "Name", SWT.LEFT, "0000drwxrwxrwx", COLUMN_NAME, store); //$NON-NLS-2$ TableHelper.createTreeColumn(mTree, "Size", SWT.RIGHT, "000000", COLUMN_SIZE, store); //$NON-NLS-2$ TableHelper.createTreeColumn(mTree, "Date", SWT.LEFT, "2007-08-14", COLUMN_DATE, store); //$NON-NLS-2$ TableHelper.createTreeColumn(mTree, "Time", SWT.LEFT, "20:54", COLUMN_TIME, store); //$NON-NLS-2$ TableHelper.createTreeColumn(mTree, "Permissions", SWT.LEFT, "drwxrwxrwx", COLUMN_PERMISSIONS, store); //$NON-NLS-2$ TableHelper.createTreeColumn(mTree, "Info", SWT.LEFT, "drwxrwxrwx", COLUMN_INFO, store); //$NON-NLS-2$ // create the jface wrapper mTreeViewer = new TreeViewer(mTree); // setup data provider mContentProvider = new DeviceContentProvider(); mTreeViewer.setContentProvider(mContentProvider); mTreeViewer.setLabelProvider(new FileLabelProvider(mFileImage, mFolderImage, mPackageImage, mOtherImage)); // setup a listener for selection mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); if (sel.isEmpty()) { mPullAction.setEnabled(false); mPushAction.setEnabled(false); mDeleteAction.setEnabled(false); mCreateNewFolderAction.setEnabled(false); return; } if (sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; Object element = selection.getFirstElement(); if (element == null) return; if (element instanceof FileEntry) { mPullAction.setEnabled(true); mPushAction.setEnabled(selection.size() == 1); if (selection.size() == 1) { FileEntry entry = (FileEntry) element; setDeleteEnabledState(entry); mCreateNewFolderAction.setEnabled(entry.isDirectory()); } else { mDeleteAction.setEnabled(false); } } } } }); // add support for double click mTreeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { ISelection sel = event.getSelection(); if (sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; if (selection.size() == 1) { FileEntry entry = (FileEntry) selection.getFirstElement(); String name = entry.getName(); FileEntry parentEntry = entry.getParent(); // can't really do anything with no parent if (parentEntry == null) { return; } // check this is a file like we want. Matcher m = mKeyFilePattern.matcher(name); if (m.matches()) { // get the name w/o the extension String baseName = m.group(1); // add the data extension String dataName = baseName + TRACE_DATA_EXT; FileEntry dataEntry = parentEntry.findChild(dataName); handleTraceDoubleClick(baseName, entry, dataEntry); } else { m = mDataFilePattern.matcher(name); if (m.matches()) { // get the name w/o the extension String baseName = m.group(1); // add the key extension String keyName = baseName + TRACE_KEY_EXT; FileEntry keyEntry = parentEntry.findChild(keyName); handleTraceDoubleClick(baseName, keyEntry, entry); } } } } } }); // setup drop listener mTreeViewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { FileTransfer.getInstance() }, new ViewerDropAdapter(mTreeViewer) { @Override public boolean performDrop(Object data) { // get the item on which we dropped the item(s) FileEntry target = (FileEntry) getCurrentTarget(); // in case we drop at the same level as root if (target == null) { return false; } // if the target is not a directory, we get the parent directory if (target.isDirectory() == false) { target = target.getParent(); } if (target == null) { return false; } // get the list of files to drop String[] files = (String[]) data; // do the drop pushFiles(files, target); // we need to finish with a refresh refresh(target); return true; } @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { if (target == null) { return false; } // convert to the real item FileEntry targetEntry = (FileEntry) target; // if the target is not a directory, we get the parent directory if (targetEntry.isDirectory() == false) { target = targetEntry.getParent(); } if (target == null) { return false; } return true; } }); // create and start the refresh thread new Thread("Device Ls refresher") { @Override public void run() { while (true) { try { sleep(FileListingService.REFRESH_RATE); } catch (InterruptedException e) { return; } if (mTree != null && mTree.isDisposed() == false) { Display display = mTree.getDisplay(); if (display.isDisposed() == false) { display.asyncExec(new Runnable() { @Override public void run() { if (mTree.isDisposed() == false) { mTreeViewer.refresh(true); } } }); } else { return; } } else { return; } } } }.start(); return mTree; }
From source file:com.android.ide.eclipse.adt.cdt.internal.actions.AddNativeAction.java
License:Open Source License
@Override public void run(IAction action) { IProject project = null;//from ww w .j ava2 s . co m if (selection != null && selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; if (ss.size() == 1) { Object obj = ss.getFirstElement(); if (obj instanceof IProject) { project = (IProject) obj; } else if (obj instanceof PlatformObject) { project = (IProject) ((PlatformObject) obj).getAdapter(IProject.class); } } } if (project != null) { AddNativeWizard wizard = new AddNativeWizard(project, part.getSite().getWorkbenchWindow()); WizardDialog dialog = new WizardDialog(part.getSite().getShell(), wizard); dialog.open(); } }
From source file:com.android.ide.eclipse.adt.internal.ui.ResourceExplorerView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { mTree = new Tree(parent, SWT.SINGLE | SWT.VIRTUAL); mTree.setLayoutData(new GridData(GridData.FILL_BOTH)); mTree.setHeaderVisible(true);/*w w w . ja va 2s .c o m*/ mTree.setLinesVisible(true); final IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); // create 2 columns. The main one with the resources, and an "info" column. createTreeColumn(mTree, "Resources", SWT.LEFT, "abcdefghijklmnopqrstuvwxz", -1, PREFS_COLUMN_RES, store); //$NON-NLS-2$ createTreeColumn(mTree, "Info", SWT.LEFT, "0123456789", -1, PREFS_COLUMN_2, store); //$NON-NLS-2$ // create the jface wrapper mTreeViewer = new TreeViewer(mTree); mTreeViewer.setContentProvider(new ResourceContentProvider(true /* fullLevels */)); mTreeViewer.setLabelProvider(new ResourceLabelProvider()); // listen to selection change in the workbench. IWorkbenchPage page = getSite().getPage(); page.addSelectionListener(this); // init with current selection selectionChanged(getSite().getPart(), page.getSelection()); // add support for double click. mTreeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { ISelection sel = event.getSelection(); if (sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; if (selection.size() == 1) { Object element = selection.getFirstElement(); // if it's a resourceFile, we directly open it. if (element instanceof ResourceFile) { try { IAbstractFile iAbstractFile = ((ResourceFile) element).getFile(); if (iAbstractFile instanceof IFileWrapper) { IDE.openEditor(getSite().getWorkbenchWindow().getActivePage(), ((IFileWrapper) iAbstractFile).getIFile()); } } catch (PartInitException e) { } } else if (element instanceof ResourceItem) { // if it's a ResourceItem, we open the first file, but only if // there's no alternate files. ResourceItem item = (ResourceItem) element; if (item.isEditableDirectly()) { ResourceFile[] files = item.getSourceFileArray(); if (files[0] != null) { try { IAbstractFile iAbstractFile = files[0].getFile(); if (iAbstractFile instanceof IFileWrapper) { IDE.openEditor(getSite().getWorkbenchWindow().getActivePage(), ((IFileWrapper) iAbstractFile).getIFile()); } } catch (PartInitException e) { } } } } } } } }); // set up the resource manager to send us resource change notification AdtPlugin.getDefault().getResourceMonitor().addResourceEventListener(this); }
From source file:com.android.ide.eclipse.adt.internal.wizards.actions.ExportAction.java
License:Open Source License
@Override public void run(IAction action) { if (mSelection instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) mSelection; // get the unique selected item. if (selection.size() == 1) { Object element = selection.getFirstElement(); // get the project object from it. IProject project = null;/*from w ww . ja va2 s . com*/ if (element instanceof IProject) { project = (IProject) element; } else if (element instanceof IAdaptable) { project = (IProject) ((IAdaptable) element).getAdapter(IProject.class); } // and finally do the action if (project != null) { if (!EclipseLintRunner.runLintOnExport(mShell, project)) { return; } ProjectState state = Sdk.getProjectState(project); if (state.isLibrary()) { MessageDialog.openError(mShell, "Android Export", "Android library projects cannot be exported."); } else { ExportHelper.exportUnsignedReleaseApk(project); } } } } }
From source file:com.android.ide.eclipse.adt.internal.wizards.actions.ExportWizardAction.java
License:Open Source License
@Override public void run(IAction action) { if (mSelection instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) mSelection; // get the unique selected item. if (selection.size() == 1) { Object element = selection.getFirstElement(); // get the project object from it. IProject project = null;// w ww .j a va 2s.c o m if (element instanceof IProject) { project = (IProject) element; } else if (element instanceof IAdaptable) { project = (IProject) ((IAdaptable) element).getAdapter(IProject.class); } // and finally do the action if (project != null) { if (!EclipseLintRunner.runLintOnExport(mWorkbench.getActiveWorkbenchWindow().getShell(), project)) { return; } ProjectState state = Sdk.getProjectState(project); if (state.isLibrary()) { MessageDialog.openError(mWorkbench.getDisplay().getActiveShell(), "Android Export", "Android library projects cannot be exported."); } else { // call the export wizard on the current selection. ExportWizard wizard = new ExportWizard(); wizard.init(mWorkbench, selection); WizardDialog dialog = new WizardDialog(mWorkbench.getDisplay().getActiveShell(), wizard); dialog.open(); } } } } }
From source file:com.android.ide.eclipse.adt.ndk.internal.actions.AddNativeAction.java
License:Open Source License
public void run(IAction action) { IProject project = null;/*from w w w. j a va 2s .c o m*/ if (mSelection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) mSelection; if (ss.size() == 1) { Object obj = ss.getFirstElement(); if (obj instanceof IProject) { project = (IProject) obj; } else if (obj instanceof PlatformObject) { project = (IProject) ((PlatformObject) obj).getAdapter(IProject.class); } } } if (project != null) { AddNativeWizard wizard = new AddNativeWizard(project, mPart.getSite().getWorkbenchWindow()); WizardDialog dialog = new WizardDialog(mPart.getSite().getShell(), wizard); dialog.open(); } }