List of usage examples for org.eclipse.jface.viewers IStructuredSelection toArray
public Object[] toArray();
From source file:fede.workspace.tool.view.actions.DeleteLink.java
License:Apache License
public void selectionChanged(IAction action, ISelection selection) { links = new ArrayList<ItemInViewer>(); if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; Object[] selObjects = ssel.toArray(); for (int i = 0; i < selObjects.length; i++) { Object obj = selObjects[i]; if (obj instanceof ItemInViewer) { ItemInViewer iv = ((ItemInViewer) obj); Link l;/*from www .j a va 2s . c o m*/ if ((l = iv.getLink()) != null && !l.isReadOnly()) { links.add(iv); } } } } action.setEnabled(links.size() > 0); }
From source file:fede.workspace.tool.view.actions.UnloadAction.java
License:Apache License
/** * @see IActionDelegate#selectionChanged(IAction, ISelection) *//*from w w w. ja va 2 s . co m*/ // TODO 1. mettre dans un job // TODO 2. desactif si item est dans un composite ouvert public void selectionChanged(IAction action, ISelection selection) { items.clear(); if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; Object[] obj = ssel.toArray(); ONE: for (Object o : obj) { if (!(o instanceof ItemInViewer)) { continue; } ItemInViewer iiv = ((ItemInViewer) o); if (iiv.getLink() == null || iiv.getLink().getResolvedDestination() == null) { continue; } Item item = iiv.getItem(); if (item == null) { continue; } if (item.getIncomingLinks() == null) { continue; } for (Link l : item.getIncomingLinks()) { if (l.isComposition()) { continue ONE; } } items.add(iiv); } } action.setEnabled((items.size() != 0)); }
From source file:fede.workspace.tool.view.menu.ItemActionGroup.java
License:Apache License
protected void fillContextMenu(IMenuManager manager, IWorkbenchWindow workbenchWindow, IStructuredSelection ssel) { View viewComponent = View.getInstance(); if (viewComponent == null) { return;/*from w ww . j a va 2 s. c om*/ } Menu principalMenu = new Menu(); // create les different context. principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_1_MENU), true); principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_2_MENU), true); principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_3_MENU), true); principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_4_MENU), true); principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_5_MENU), true); principalMenu.insert(null, new MenuGroup(IMenuAction.CONTEXT_6_MENU), true); List<Object> objects = Arrays.asList(ssel.toArray()); IItemNode[] selection = objects.toArray(new IItemNode[objects.size()]); HashSet<ItemType> types = new HashSet<ItemType>(); for (IItemNode in : selection) { Item i = in.getItem(); if (i != null) { types.add(i.getType()); } Link l = in.getLink(); if (l != null) { types.add(l.getSource().getType()); types.add(l.getDestination().getType()); } } Set<IActionContributor> visited = new HashSet<IActionContributor>(); for (ItemType it : types) { runContributor(viewUIController, visited, principalMenu, selection, it); } if (types.size() == 0) { // seul les contributor des sur le type "ItemType" de cadseRoot // sont appel. if (CadseCore.theItem != null) runContributor(viewUIController, visited, principalMenu, selection, CadseCore.theItem); } manager.add(new MenuActionContributionItem(workbenchWindow, selection, principalMenu.getChildren())); }
From source file:fr.imag.adele.cadse.si.workspace.uiplatform.swt.ic.IC_ResourceTreeDialogForBrowser_Combo_List.java
License:Apache License
@Override protected ElementTreeSelectionDialog newTreeDialog(Shell parentShell) { ElementTreeSelectionDialog lsd = new ElementTreeSelectionDialog(parentShell, getLabelProvider(), getTreeContentProvider()) {/* w w w. j av a2 s.c om*/ @Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); createButton(parent, REFRESH_ID, REFRESH_LABEL, false); } @Override protected void buttonPressed(int buttonId) { // TODO Auto-generated method stub super.buttonPressed(buttonId); if (buttonId == REFRESH_ID) { ISelection sel = getTreeViewer().getSelection(); if (sel != null && sel instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) sel; if (ssel.isEmpty()) { try { ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, null); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (Object v : ssel.toArray()) { if (v instanceof IResource) { try { ((IResource) v).refreshLocal(IResource.DEPTH_INFINITE, null); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } } }; return lsd; }
From source file:fr.imag.adele.cadse.si.workspace.uiplatform.swt.ui.DTreeFilteredUI.java
License:Apache License
@Override public void createControl(Composite ocontainer, int hspan) { GridData gd;//from w w w.ja va 2 s . c o m Composite container = ocontainer; packageTable = new FilteredTree(container, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL, new PatternFilter()); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = 100; gd.verticalSpan = 2; gd.horizontalSpan = hspan - 1; packageTable.setLayoutData(gd); packageTable.getViewer().setContentProvider(_ic.getContentProvider()); packageTable.setData(UIField.CADSE_MODEL_KEY, this); buttonAdd = new Button(container, SWT.PUSH); buttonAdd.setText("Add..."); buttonAdd.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(@SuppressWarnings("unused") SelectionEvent e) { handleAdd(); } }); buttonAdd.setData(this); buttonRemove = new Button(container, SWT.PUSH); buttonRemove.setText("Remove..."); buttonRemove.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(@SuppressWarnings("unused") SelectionEvent e) { ISelection sel = packageTable.getViewer().getSelection(); if (sel == null) { return; } if (sel instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) sel; if (ssel.size() == 0) { return; } handleRemove(ssel.toArray()); } } }); buttonRemove.setData(this); }
From source file:fr.inria.linuxtools.internal.tmf.ui.project.handlers.DropAdapterAssistant.java
License:Open Source License
@Override public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget) { boolean ok = false; // Use local variable to avoid parameter assignment Object targetToUse = aTarget; int operation = aDropTargetEvent.detail; if (operation != DND.DROP_LINK) { operation = DND.DROP_COPY;/*from w ww.j a v a 2 s . c o m*/ } // If target is a trace, use its parent (either trace folder or experiment) if (targetToUse instanceof TmfTraceElement) { targetToUse = ((TmfTraceElement) targetToUse).getParent(); } // If target is a project, use its trace folder if (targetToUse instanceof IProject) { TmfProjectElement projectElement = TmfProjectRegistry.getProject((IProject) targetToUse, true); if (projectElement != null) { targetToUse = projectElement.getTracesFolder(); } } if (aDropTargetEvent.data instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) aDropTargetEvent.data; for (Object source : selection.toArray()) { if (source instanceof IResource) { // If source resource is a trace, use the trace element IResource sourceResource = (IResource) source; TmfProjectElement projectElement = TmfProjectRegistry.getProject(sourceResource.getProject()); if (projectElement != null && projectElement.getTracesFolder() != null) { for (TmfTraceElement trace : projectElement.getTracesFolder().getTraces()) { if (trace.getResource().equals(sourceResource)) { source = trace; break; } } } } if (source instanceof TmfTraceElement) { TmfTraceElement sourceTrace = (TmfTraceElement) source; // If source trace is under an experiment, use the original trace from the traces folder sourceTrace = sourceTrace.getElementUnderTraceFolder(); if (targetToUse instanceof TmfExperimentElement) { TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse; ok |= drop(sourceTrace, targetExperiment, operation); } else if (targetToUse instanceof TmfTraceFolder) { TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse; ok |= drop(sourceTrace, traceFolder, operation); } } else if (source instanceof IResource) { IResource sourceResource = (IResource) source; if (sourceResource.getType() != IResource.FILE && sourceResource.getType() != IResource.FOLDER) { continue; } if (targetToUse instanceof TmfExperimentElement) { TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse; ok |= (drop(sourceResource, targetExperiment, operation) != null); } else if (targetToUse instanceof TmfTraceFolder) { TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse; ok |= (drop(sourceResource, traceFolder, operation) != null); } } } } else if (aDropTargetEvent.data instanceof String[]) { String[] sources = (String[]) aDropTargetEvent.data; for (String source : sources) { Path path = new Path(source); if (targetToUse instanceof TmfExperimentElement) { TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse; ok |= drop(path, targetExperiment, operation); } else if (targetToUse instanceof TmfTraceFolder) { TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse; ok |= drop(path, traceFolder, operation); } } } return (ok ? Status.OK_STATUS : Status.CANCEL_STATUS); }
From source file:fr.inria.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ExportTracePackageHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) { return Boolean.FALSE; }//from ww w. j ava 2s .c o m ISelection currentSelection = HandlerUtil.getCurrentSelection(event); IStructuredSelection sec = StructuredSelection.EMPTY; List<TmfTraceElement> selectedTraces = new ArrayList<>(); if (currentSelection instanceof IStructuredSelection) { sec = (IStructuredSelection) currentSelection; Object[] selectedElements = sec.toArray(); for (Object selectedElement : selectedElements) { if (selectedElement instanceof TmfTraceElement) { TmfTraceElement tmfTraceElement = (TmfTraceElement) selectedElement; selectedTraces.add(tmfTraceElement.getElementUnderTraceFolder()); } else if (selectedElement instanceof TmfTraceFolder) { TmfTraceFolder tmfTraceFolder = (TmfTraceFolder) selectedElement; selectedTraces = tmfTraceFolder.getTraces(); } } } ExportTracePackageWizard w = new ExportTracePackageWizard(selectedTraces); w.init(PlatformUI.getWorkbench(), sec); WizardDialog dialog = new WizardDialog(window.getShell(), w); dialog.open(); return null; }
From source file:fr.inria.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ExportTracePackageHandler.java
License:Open Source License
@Override public void setEnabled(Object evaluationContext) { super.setEnabled(evaluationContext); fEnabled = true;//w w w .ja va 2s. co m Object s = HandlerUtil.getVariable(evaluationContext, ISources.ACTIVE_MENU_SELECTION_NAME); if (s instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) s; // If we have traces selected, make sure they are all from the same // project, disable handler otherwise Object[] selectedElements = selection.toArray(); TmfProjectElement firstProject = null; for (Object selectedElement : selectedElements) { if (selectedElement instanceof TmfTraceElement) { TmfTraceElement tmfTraceElement = (TmfTraceElement) selectedElement; TmfProjectElement project = tmfTraceElement.getProject(); if (firstProject != null && !project.equals(firstProject)) { fEnabled = false; } firstProject = project; } } } }
From source file:fr.inria.soctrace.framesoc.ui.utils.TraceSelection.java
License:Open Source License
/** * Check if the selection a trace folder node. * //from ww w.j ava 2s. c om * @param selection * structured selection object * @return true if the selection is a folder node */ public static boolean isFolderNode(ISelection selection) { if (!(selection instanceof IStructuredSelection)) return false; IStructuredSelection ss = (IStructuredSelection) selection; if (ss.size() == 1) { Object o = ss.toArray()[0]; if (o instanceof FolderNode) { return true; } } return false; }
From source file:fr.inria.soctrace.framesoc.ui.views.TraceDetailsView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { // create viewer and editing support viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); editingSupport = new ValueEditingSupport(viewer); createColumns();// w w w. j a v a2 s . c o m final Table table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setInput(traceDetailsLoader.getProperties()); // viewer selection listener viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Object[] rows = selection.toArray(); boolean enable = (rows.length > 0); for (Object o : rows) { DetailsTableRow row = (DetailsTableRow) o; if (!row.isCustomParam()) { enable = false; break; } } delParamsAction.setEnabled(enable); } }); // build toolbar IActionBars actionBars = getViewSite().getActionBars(); IToolBarManager toolBar = actionBars.getToolBarManager(); toolBar.add(editingSupport.createResetAction()); toolBar.add(editingSupport.createSaveAction()); toolBar.add(new Separator()); toolBar.add(createAddParamAction()); toolBar.add(createDelParamsAction()); // register the selection listener getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(listener); // provide our selection for other viewers getSite().setSelectionProvider(viewer); }