Example usage for org.eclipse.jface.viewers IStructuredSelection toArray

List of usage examples for org.eclipse.jface.viewers IStructuredSelection toArray

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection toArray.

Prototype

public Object[] toArray();

Source Link

Document

Returns the elements in this selection as an array.

Usage

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);

}