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

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

Introduction

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

Prototype

@Override
    public Object[] toArray() 

Source Link

Usage

From source file:ch.hsr.ch.refactoring.core.TextSelectionProvider.java

License:LGPL

private void initOutline(IAction action) {
    TreeSelection selection = (TreeSelection) ((PluginAction) action).getSelection();
    Object selectedObject = selection.toArray()[0];
    if (selectedObject instanceof Member) {
        Member member = (Member) selectedObject;

        MemberElementInfo info;//  w w  w.j a v a  2  s  .  c  om
        try {
            info = (MemberElementInfo) member.getElementInfo();
            // we are actually cheating here and
            // 'simulate' a one character
            // selection
            start = info.getNameSourceStart();
            end = info.getNameSourceEnd() + 1;
        } catch (ModelException e) {
            e.printStackTrace();
        }

    } else if (selectedObject instanceof SourceModule) {
        activeDocument = String.copyValueOf(((SourceModule) selectedObject).getFileName());
    }
}

From source file:fr.inria.linuxtools.tmf.ui.widgets.timegraph.dialogs.TimeGraphFilterDialog.java

License:Open Source License

/**
 * Adds the selection and deselection buttons to the dialog.
 *
 * @param composite/*  w  ww  . j  a  va2  s.  c  o  m*/
 *            the parent composite
 * @return Composite the composite the buttons were created in.
 */
protected Composite createSelectionButtons(Composite composite) {
    Composite buttonComposite = new Composite(composite, SWT.RIGHT);
    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    buttonComposite.setLayout(layout);
    buttonComposite.setFont(composite.getFont());
    GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
    data.grabExcessHorizontalSpace = true;
    buttonComposite.setLayoutData(data);

    /* Create the buttons in the good order to place them as we want */
    Button checkSelectedButton = createButton(buttonComposite, BUTTON_CHECK_SELECTED_ID,
            Messages.TmfTimeFilterDialog_CHECK_SELECTED, false);
    Button checkSubtreeButton = createButton(buttonComposite, BUTTON_CHECK_SUBTREE_ID,
            Messages.TmfTimeFilterDialog_CHECK_SUBTREE, false);
    Button checkAllButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID,
            Messages.TmfTimeFilterDialog_CHECK_ALL, false);

    Button uncheckSelectedButton = createButton(buttonComposite, BUTTON_UNCHECK_SELECTED_ID,
            Messages.TmfTimeFilterDialog_UNCHECK_SELECTED, false);
    Button uncheckSubtreeButton = createButton(buttonComposite, BUTTON_UNCHECK_SUBTREE_ID,
            Messages.TmfTimeFilterDialog_UNCHECK_SUBTREE, false);
    Button uncheckAllButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID,
            Messages.TmfTimeFilterDialog_UNCHECK_ALL, false);

    /*
     * Apply the layout again after creating the buttons to override
     * createButton messing with the columns
     */
    layout.numColumns = 3;
    buttonComposite.setLayout(layout);

    /* Add a listener to each button */
    checkSelectedButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();

            for (Object element : selection.toArray()) {
                checkElement(element);
            }

            updateOKStatus();
        }
    });

    checkSubtreeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();

            for (Object element : selection.toArray()) {
                checkElementAndSubtree(element);
            }
        }
    });

    checkAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Object[] viewerElements = fContentProvider.getElements(fInput);

            for (int i = 0; i < viewerElements.length; i++) {
                fTree.setSubtreeChecked(viewerElements[i], true);
            }

            updateOKStatus();
        }
    });

    uncheckSelectedButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();

            for (Object element : selection.toArray()) {
                uncheckElement(element);
            }

            updateOKStatus();
        }
    });

    uncheckSubtreeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();

            for (Object element : selection.toArray()) {
                uncheckElement(element);
            }

            updateOKStatus();
        }
    });

    uncheckAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Object[] viewerElements = fContentProvider.getElements(fInput);
            for (Object element : viewerElements) {
                if (fTree.getViewer().testFindItem(element) != null) {
                    // uncheck only visible roots and their children
                    uncheckElement(element);
                }
            }
            updateOKStatus();
        }
    });

    return buttonComposite;
}

From source file:fr.lip6.move.coloane.projects.its.ui.forms.TypesViewDropAdapter.java

License:Open Source License

/**
 * {@inheritDoc}//from   ww  w.  j  a v  a  2 s . com
 */
@Override
public boolean performDrop(Object data) {
    if (data instanceof String[]) {
        final String[] strings = (String[]) data;
        for (String string : strings) {
            getAddAction().setHint(string);
            getAddAction().run();
        }
        return true;
    } else if (data instanceof TreeSelection) {
        TreeSelection tsel = (TreeSelection) data;
        for (Object element : tsel.toArray()) {
            if (element instanceof IFile) {
                IFile file = (IFile) element;
                getAddAction().setHint(file.getLocation().toString());
                getAddAction().run();
            }
        }
    }
    return false;
}

From source file:gov.redhawk.ide.sdr.internal.ui.SdrRootDropAdapterAssistant.java

License:Open Source License

@Override
public IStatus validateDrop(final Object target, final int operation, final TransferData transferType) {
    if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
        // If you use nativeToJava() here instead of getSelection(), you will get 
        // "Received wrong transfer data." messages in your error log.
        // This is because on some platforms, the transfer information isn't available before the drop.
        final Object data = LocalSelectionTransfer.getTransfer().getSelection();
        if (data instanceof TreeSelection) {
            final TreeSelection sel = (TreeSelection) data;
            for (final Object item : sel.toArray()) {
                final IProject proj = PluginUtil.adapt(IProject.class, item);
                if (proj == null) {
                    return new Status(IStatus.CANCEL, SdrUiPlugin.PLUGIN_ID, "Only projects can be exported");
                }//  w ww  . j  a v a 2 s  . com
                try {
                    if (!proj.hasNature(ScaNodeProjectNature.ID)
                            && !proj.hasNature(ScaComponentProjectNature.ID)
                            && !proj.hasNature(ScaWaveformProjectNature.ID)) {
                        return new Status(IStatus.CANCEL, SdrUiPlugin.PLUGIN_ID,
                                "Project is not an SCA Waveform, Node, Component, or Device");
                    }
                } catch (CoreException e) {
                    return new Status(IStatus.CANCEL, SdrUiPlugin.PLUGIN_ID,
                            "Drop is not supported transfer type");
                }
            }
            return Status.OK_STATUS;
        }
    }
    return new Status(IStatus.CANCEL, SdrUiPlugin.PLUGIN_ID, "Drop is not supported transfer type");
}

From source file:gov.redhawk.ide.sdr.internal.ui.SdrRootDropAdapterAssistant.java

License:Open Source License

@Override
public IStatus handleDrop(final CommonDropAdapter aDropAdapter, final DropTargetEvent aDropTargetEvent,
        final Object aTarget) {
    final Object data = LocalSelectionTransfer.getTransfer().getSelection();
    if (data instanceof TreeSelection) {
        final TreeSelection sel = (TreeSelection) data;
        if (!PlatformUI.getWorkbench().getActiveWorkbenchWindow().getWorkbench().saveAllEditors(true)) {
            return Status.CANCEL_STATUS;
        }/*from  w  w  w.  ja v a2 s.  co  m*/
        final List<Job> exportJobs = new ArrayList<Job>();
        SdrRoot root = null;
        for (final Object item : sel.toArray()) {
            final IProject proj = PluginUtil.adapt(IProject.class, item);
            if (proj != null && proj.exists() && proj.isOpen()) {
                if (aTarget instanceof SdrRoot) {
                    root = (SdrRoot) aTarget;
                    exportJobs.add(handleProjectDrop(root, proj));
                } else if (aTarget instanceof EObject) {
                    root = ScaEcoreUtils.getEContainerOfType((EObject) aTarget, SdrRoot.class);
                    if (root != null) {
                        exportJobs.add(handleProjectDrop(root, proj));
                    }
                }
            }
        }

        final SdrRoot sdrRoot = root;
        JobChangeAdapter listener = new JobChangeAdapter() {
            private int numDone;

            @Override
            public void done(IJobChangeEvent event) {
                numDone++;
                if (numDone == exportJobs.size()) {
                    RefreshSdrJob refresh = new RefreshSdrJob(sdrRoot);
                    refresh.schedule();
                }
            }
        };

        for (Job j : exportJobs) {
            j.addJobChangeListener(listener);
            j.schedule();
        }
    }

    return Status.OK_STATUS;
}

From source file:net.bioclipse.scripting.ui.views.ScriptingConsoleView.java

License:Open Source License

private void enableResourceDropSupport() {
    int ops = DND.DROP_MOVE;

    DropTargetListener dropListener = new DropTargetListener() {
        public void dragEnter(DropTargetEvent event) {
        };//w w w . j a va2s . c o m

        public void dragOver(DropTargetEvent event) {
        };

        public void dragLeave(DropTargetEvent event) {
        };

        public void dragOperationChanged(DropTargetEvent event) {
        };

        public void dropAccept(DropTargetEvent event) {
        }

        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }
            if (event.data instanceof TreeSelection) {
                TreeSelection selection = (TreeSelection) event.data;
                for (Object item : selection.toArray()) {
                    String content = item instanceof IResource
                            ? interceptDroppedString(((IResource) item).getFullPath().toOSString())
                            : "[O_o]"; // unrecognized content

                    int pos = input.getCaretPosition();
                    String quote = "\"", beforeCursor = pos > 0 ? input.getText().substring(pos - 1, pos) : "",
                            afterCursor = pos < input.getText().length()
                                    ? input.getText().substring(pos, pos + 1)
                                    : "";
                    if (!beforeCursor.equals(quote))
                        content = quote + content;
                    if (!afterCursor.equals(quote))
                        content += quote;
                    addAtCursor(content);
                    setFocus();
                }
            }
        }
    };

    DropTarget inputTarget = new DropTarget(input, ops), outputTarget = new DropTarget(output, ops);
    inputTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
    outputTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });

    inputTarget.addDropListener(dropListener);
    outputTarget.addDropListener(dropListener);
}

From source file:org.activiti.designer.eclipse.navigator.cloudrepo.ActivitiCloudEditorNavigatorSelectionChangedListener.java

License:Apache License

public void selectionChanged(SelectionChangedEvent event) {
    if (event.getSelection() instanceof TreeSelection) {
        TreeSelection selection = (TreeSelection) event.getSelection();
        Object[] selectedElements = selection.toArray();
        if (selectedElements != null && selectedElements.length > 0) {
            List<JsonNode> selectedObjects = new ArrayList<JsonNode>();
            for (Object selectedElement : selectedElements) {
                selectedObjects.add((JsonNode) selectedElement);
            }//from  w  w  w.ja  v a2s.c o  m
            ActivitiCloudEditorNavigatorSelectionHolder.getInstance().setSelectedObjects(selectedObjects);
        }
    }
}

From source file:org.activiti.designer.eclipse.navigator.cloudrepo.dialog.SelectFolderForDownloadDialog.java

License:Apache License

@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    GridLayout layout = new GridLayout(2, false);
    container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    container.setLayout(layout);/*from w ww.j  av a2s . c  om*/

    // Project tree viewer
    final TreeViewer projectTreeViewer = new TreeViewer(container, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    projectTreeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    projectTreeViewer.setContentProvider(new FileTreeContentProvider());
    projectTreeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    projectTreeViewer.setInput(ResourcesPlugin.getWorkspace());

    // Expand current selection on double click
    projectTreeViewer.addDoubleClickListener(new OpenFolderOnDoubleClickListener());

    // Selection listener for folders
    projectTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            TreeSelection selection = (TreeSelection) event.getSelection();
            Object[] selectedElements = selection.toArray();
            if (selectedElements != null && selectedElements.length > 0) {
                Object selectedElement = selectedElements[0]; // Tree is single selection
                if (selectedElement instanceof IResource) {
                    currentlySelectedResource = (IResource) selectedElement;
                    Button okButton = getButton(IDialogConstants.OK_ID);
                    if (okButton != null) {
                        okButton.setEnabled(true);
                    }
                }
            } else {
                Button okButton = getButton(IDialogConstants.OK_ID);
                if (okButton != null) {
                    okButton.setEnabled(false);
                }
            }
        }
    });

    return area;
}

From source file:org.activiti.designer.kickstart.eclipse.navigator.listeners.CmisNavigatorSelectionChangedListener.java

License:Apache License

public void selectionChanged(SelectionChangedEvent event) {
    if (event.getSelection() instanceof TreeSelection) {
        TreeSelection selection = (TreeSelection) event.getSelection();
        Object[] selectedElements = selection.toArray();
        if (selectedElements != null && selectedElements.length > 0) {
            List<CmisObject> selectedCmisObjects = new ArrayList<CmisObject>();
            for (Object selectedElement : selectedElements) {
                if (selectedElement instanceof CmisObject) {
                    selectedCmisObjects.add((CmisObject) selectedElement);
                }//from w w  w . j a v a2 s  . c  o m
            }
            CmisNavigatorSelectionHolder.getInstance().setSelectedObjects(selectedCmisObjects);
        }
    }
}

From source file:org.activiti.designer.kickstart.eclipse.sync.SelectSyncLocationWizardPage.java

License:Apache License

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);/*from  w  ww . j  a  v  a 2 s.  com*/
    layout.numColumns = 1;
    setControl(container);

    final TreeViewer repositoryTreeViewer = new TreeViewer(container, SWT.SINGLE);
    repositoryTreeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    repositoryTreeViewer.setContentProvider(new CmisContentProvider(".kickproc"));
    repositoryTreeViewer.setLabelProvider(new CmisLabelProvider());
    repositoryTreeViewer.addDoubleClickListener(new OpenFolderOnDoubleClickListener());
    repositoryTreeViewer.setInput(new Root());

    repositoryTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            setPageComplete(false);
            if (event.getSelection() instanceof TreeSelection) {
                TreeSelection selection = (TreeSelection) event.getSelection();
                Object[] selectedElements = selection.toArray();
                if (selectedElements != null && selectedElements.length > 0
                        && selectedElements[0] instanceof CmisObject) {
                    synchronizationDataHolder.setDestination((CmisObject) selectedElements[0]); // Only single select is allowed
                    setPageComplete(true);
                }
            }
        }
    });

    setPageComplete(false);
}