Example usage for org.eclipse.jface.viewers ITreeSelection size

List of usage examples for org.eclipse.jface.viewers ITreeSelection size

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ITreeSelection size.

Prototype

public int size();

Source Link

Document

Returns the number of elements selected in this selection.

Usage

From source file:com.google.gapid.widgets.Widgets.java

License:Apache License

public static TreeViewer createTreeViewer(Tree tree) {
    TreeViewer viewer = new VisibilityTrackingTreeViewer(tree);
    viewer.setUseHashlookup(true);/*from w  w w  .j  a v  a  2s.  co m*/
    tree.addListener(SWT.KeyDown, e -> {
        switch (e.keyCode) {
        case SWT.ARROW_LEFT:
        case SWT.ARROW_RIGHT:
            ITreeSelection selection = viewer.getStructuredSelection();
            if (selection.size() == 1) {
                viewer.setExpandedState(selection.getFirstElement(), e.keyCode == SWT.ARROW_RIGHT);
            }
            break;
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection.size() == 1) {
                Object element = selection.getFirstElement();
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    });
    return viewer;
}

From source file:de.bmw.yamaica.ide.ui.internal.editor.OverviewPage.java

License:Mozilla Public License

private ITreeSelection createSingleSelection(ISelection selection, Object element) {
    ITreeSelection treeSelection = (ITreeSelection) selection;

    if (treeSelection.isEmpty() || treeSelection.size() > 1) {
        Object[] segments = new Object[] { element };
        treeSelection = new TreeSelection(new TreePath(segments));
    }//  w  w w  . j a  v a2 s  .c  o  m

    return treeSelection;
}

From source file:de.bmw.yamaica.ide.ui.internal.editor.OverviewPage.java

License:Mozilla Public License

private void openEditor(ISelection selection) {
    ITreeSelection treeSelection = (ITreeSelection) selection;

    if (treeSelection.size() == 1) {
        Object selectedElement = treeSelection.getFirstElement();

        if (selectedElement instanceof IFile) {
            try {
                IFile selectedFile = (IFile) selectedElement;
                String filename = selectedFile.getName();
                IWorkbench workbench = PlatformUI.getWorkbench();

                IContentType contentType = Platform.getContentTypeManager()
                        .findContentTypeFor(selectedFile.getContents(), filename);
                IEditorDescriptor editorDescriptor = workbench.getEditorRegistry().getDefaultEditor(filename,
                        contentType);/*from   w w w. j  a v  a  2 s .co  m*/
                String editorId = null == editorDescriptor ? YamaicaConstants.DEFAULT_TEXT_EDITOR_ID
                        : editorDescriptor.getId();
                workbench.getActiveWorkbenchWindow().getPages()[0].openEditor(new FileEditorInput(selectedFile),
                        editorId);
            } catch (PartInitException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (CoreException e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:de.byteholder.geoclipse.mapprovider.DialogMPProfile.java

License:Open Source License

private Control createUI114Viewer(final Composite parent, final PixelConverter pixelConverter) {

    final TreeColumnLayout treeLayout = new TreeColumnLayout();

    final Composite layoutContainer = new Composite(parent, SWT.NONE);
    layoutContainer.setLayout(treeLayout);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(layoutContainer);
    {//from  ww w.  j  a v  a2 s  .  co  m

        final Tree tree = new Tree(layoutContainer,
                SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);

        tree.setHeaderVisible(true);
        tree.setLinesVisible(true);

        /*
         * tree viewer
         */
        _treeViewer = new ContainerCheckedTreeViewer(tree);

        _treeViewer.setContentProvider(new MapContentProvider());
        _treeViewer.setUseHashlookup(true);

        _treeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(final DoubleClickEvent event) {

                final Object selectedItem = ((IStructuredSelection) _treeViewer.getSelection())
                        .getFirstElement();
                if (selectedItem != null) {

                    if (selectedItem instanceof TVIMapProvider) {

                        // expand/collapse current item

                        final MP mapProvider = ((TVIMapProvider) selectedItem).getMapProviderWrapper().getMP();

                        if ((mapProvider instanceof MPWms) == false) {

                            // all none wms map provider can be toggled

                            toggleMapVisibility(tree);

                        } else {

                            // expand/collapse item

                            if (_treeViewer.getExpandedState(selectedItem)) {
                                _treeViewer.collapseToLevel(selectedItem, 1);
                            } else {
                                _treeViewer.expandToLevel(selectedItem, 1);
                            }
                        }

                    } else if (selectedItem instanceof TVIWmsLayer) {
                        toggleMapVisibility(tree);
                    }
                }
            }
        });

        _treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(final SelectionChangedEvent event) {
                onSelectMP(event.getSelection());
            }
        });

        _treeViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
                new DragSourceListener() {

                    public void dragFinished(final DragSourceEvent event) {

                        final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();

                        if (event.doit == false) {
                            return;
                        }

                        transfer.setSelection(null);
                        transfer.setSelectionSetTime(0);
                    }

                    public void dragSetData(final DragSourceEvent event) {
                        // data are set in LocalSelectionTransfer
                    }

                    public void dragStart(final DragSourceEvent event) {

                        final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();
                        final ITreeSelection selection = (ITreeSelection) _treeViewer.getSelection();

                        transfer.setSelection(selection);
                        transfer.setSelectionSetTime(_dragStartTime = event.time & 0xFFFFFFFFL);

                        // only ONE map provider/layer is allowed to be dragged
                        final Object firstElement = selection.getFirstElement();
                        event.doit = (selection.size() == 1) && ((firstElement instanceof TVIMapProvider)
                                || (firstElement instanceof TVIWmsLayer));
                    }
                });

        _treeViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
                new ProfileDropAdapter(this, _treeViewer));

        tree.addKeyListener(new KeyListener() {

            public void keyPressed(final KeyEvent e) {

                /*
                 * toggle the visibility with the space key
                 */
                if (e.keyCode == ' ') {
                    toggleMapVisibility(tree);
                }
            }

            public void keyReleased(final KeyEvent e) {
            }
        });

        /*
         * add editing support for the tree
         */
        final TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(_treeViewer,
                new FocusCellOwnerDrawHighlighter(_treeViewer));

        final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(
                _treeViewer) {

            @Override
            protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) {
                return (event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL)
                        || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION)
                        || ((event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED)
                                && (event.keyCode == SWT.F2))
                        || (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC);
            }
        };

        TreeViewerEditor.create(_treeViewer, //
                focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL //
                        | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR //
                        | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    }

    createUI116ViewerColumns(treeLayout, pixelConverter);

    return layoutContainer;
}

From source file:de.walware.statet.r.internal.objectbrowser.ObjectBrowserView.java

License:Open Source License

private void updateSelectionInfo(final ITreeSelection selection) {
    final Object previousInfoObject = fCurrentInfoObject;
    fCurrentInfoObject = null;//from   w w w  .j a  v a  2 s.c  o m

    final RProcess tool = getTool();
    if (tool == null) {
        return;
    }
    if (selection.size() == 1) {
        fCurrentInfoObject = selection.getFirstElement();
        final TreePath treePath = selection.getPaths()[0];
        final IElementName elementName = getElementName(treePath);
        final String name = (elementName != null) ? elementName.getDisplayName() : null;
        if (name != null) {
            if (fCurrentInfoObject.equals(previousInfoObject)) {
                clearInfo();
            }
            this.statusLine.setSelectionMessage(new StatusInfo(IStatus.OK,
                    NLS.bind("{0}  \u2012  {1}", name, tool.getLabel(ITool.DEFAULT_LABEL)))); //$NON-NLS-1$
            return;
        }
    }
    clearInfo();
    if (selection.size() > 1) {
        this.statusLine.setSelectionMessage(
                new StatusInfo(IStatus.OK, NLS.bind("{0} items selected", selection.size())));
        return;
    }
    this.statusLine.setSelectionMessage(null);
}

From source file:de.walware.statet.r.internal.objectbrowser.OpenInEditorHandler.java

License:Open Source License

@Override
public Object execute(final ExecutionEvent event) throws ExecutionException {
    final IWorkbenchPart activePart = WorkbenchUIUtil.getActivePart(event.getApplicationContext());
    if (activePart instanceof ObjectBrowserView) {
        final ObjectBrowserView browser = (ObjectBrowserView) activePart;

        final ToolProcess tool = browser.getTool();
        final ITreeSelection selection = browser.getSelection();
        if (tool == null || selection == null || selection.size() != 1) {
            return null;
        }/*from   w  ww . j  av  a2  s  .c om*/
        final RElementName elementName = browser.getElementName(selection.getPaths()[0]);

        try {
            IDE.openEditor(browser.getSite().getPage(), new RLiveDataEditorInput(tool, elementName),
                    "de.walware.statet.r.editors.RData", true); //$NON-NLS-1$
        } catch (final PartInitException e) {
            StatusManager.getManager().handle(new Status(IStatus.ERROR, RUI.PLUGIN_ID,
                    "Failed to open the selected element in the data viewer."));
        }
    }
    return null;
}

From source file:de.walware.statet.r.internal.objectbrowser.PrintHandler.java

License:Open Source License

private boolean isValidSelection(ITreeSelection selection) {
    if (selection == null || selection.size() != 1) {
        return false;
    }//from  w  w  w  .  ja  v  a2 s . co m
    Object element = selection.getFirstElement();
    if (element instanceof IElementPartition) {
        final ICombinedRElement rElement = ContentProvider.getCombinedRElement(element);
        if (rElement == null || rElement.getRObjectType() != RObject.TYPE_LIST) {
            return false;
        }
    }
    return true;
}

From source file:eu.modelwriter.marker.internal.MarkerFactory.java

License:Open Source License

/**
 * @param selections/*from  w w  w. j  a  v a 2  s. c  o  m*/
 * @return
 */
public static String getQualifiedName(final ITreeSelection selections) {
    final TreePath[] paths = selections.getPaths();

    // Consider only not empty and single selection
    if (selections.isEmpty() || selections.size() > 1) {
        return null;
    }

    final TreePath path = paths[0];
    IElementComparer comparer = null;
    if (selections instanceof TreeSelection) {
        comparer = ((TreeSelection) selections).getElementComparer();
    }
    System.out.println(path.hashCode(comparer));
    for (int i = 1; i < path.getSegmentCount(); i++) {
        if (path.getSegment(i) instanceof ResourceFactoryImpl) {
            final EcoreResourceFactoryImpl eResourceFactory = (EcoreResourceFactoryImpl) path.getSegment(i);
            System.out.println(eResourceFactory.getClass().getName() + ": " + eResourceFactory.toString());
        } else if (path.getSegment(i) instanceof ENamedElement) {
            final ENamedElement namedElement = (ENamedElement) path.getSegment(i);
            System.out.println(namedElement.getClass().getName() + ": " + namedElement.getName());
        } else {
            System.out.println("?");
        }
    }
    return null;
}

From source file:net.tourbook.ui.action.ActionExpandSelection.java

License:Open Source License

@Override
public void run() {

    if (_tourViewer == null) {
        return;//  w  ww . j  a  v a  2  s . c o  m
    }

    final ColumnViewer viewer = _tourViewer.getViewer();
    if (viewer instanceof TreeViewer) {

        final TreeViewer treeViewer = (TreeViewer) viewer;
        final ITreeSelection selection = (ITreeSelection) treeViewer.getSelection();

        if (selection.size() == 0) {
            return;
        }

        final Tree tree = treeViewer.getTree();
        tree.setRedraw(false);
        {
            for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
                treeViewer.expandToLevel(iterator.next(), _expandLevels);
            }
        }
        tree.setRedraw(true);
    }
}

From source file:net.tourbook.ui.views.collateTours.CollatedToursView.java

License:Open Source License

private void enableActions() {

    final ITreeSelection selection = (ITreeSelection) _tourViewer.getSelection();

    /*//w ww . j  a va2s .c  om
     * count number of selected items
     */
    int tourItems = 0;

    TVICollatedTour firstTour = null;

    for (final Iterator<?> iter = selection.iterator(); iter.hasNext();) {

        final Object treeItem = iter.next();
        if (treeItem instanceof TVICollatedTour) {

            boolean isDummyTour = false;

            // check if this is a dummy tour, the last tour is a dummy tour
            if (treeItem instanceof TVICollatedTour_Event) {

                if (((TVICollatedTour_Event) treeItem).isLastEvent) {
                    isDummyTour = true;
                }
            }

            if (firstTour == null && !isDummyTour) {
                firstTour = (TVICollatedTour) treeItem;
            }
            tourItems++;
        }
    }

    final int selectedItems = selection.size();
    final boolean isTourSelected = tourItems > 0;
    final boolean isOneTour = tourItems == 1;
    boolean isDeviceTour = false;

    final ArrayList<TourType> tourTypes = TourDatabase.getAllTourTypes();

    final TVICollatedTour firstElement = (TVICollatedTour) selection.getFirstElement();
    final boolean firstElementHasChildren = firstElement == null ? false : firstElement.hasChildren();
    TourData firstSavedTour = null;

    if (isOneTour && firstTour != null) {
        firstSavedTour = TourManager.getInstance().getTourData(firstTour.getTourId());
        isDeviceTour = firstSavedTour.isManualTour() == false;
    }

    /*
     * enable actions
     */
    _tourDoubleClickState.canEditTour = isOneTour;
    _tourDoubleClickState.canOpenTour = isOneTour;
    _tourDoubleClickState.canQuickEditTour = isOneTour;
    _tourDoubleClickState.canEditMarker = isOneTour;
    _tourDoubleClickState.canAdjustAltitude = isOneTour;

    _actionComputeDistanceValuesFromGeoposition.setEnabled(isTourSelected);
    _actionComputeElevationGain.setEnabled(true);
    _actionEditQuick.setEnabled(isOneTour);
    _actionEditTour.setEnabled(isOneTour);
    _actionExportTour.setEnabled(isTourSelected);
    _actionJoinTours.setEnabled(tourItems > 1);
    _actionMergeTour.setEnabled(isOneTour && isDeviceTour && firstSavedTour.getMergeSourceTourId() != null);
    _actionOpenAdjustAltitudeDialog.setEnabled(isOneTour && isDeviceTour);
    _actionOpenMarkerDialog.setEnabled(isOneTour && isDeviceTour);
    _actionOpenTour.setEnabled(isOneTour);
    _actionPrintTour.setEnabled(isTourSelected);
    _actionReimportSubMenu.setEnabled(isTourSelected);
    _actionSetAltitudeFromSRTM.setEnabled(isTourSelected);
    _actionSetOtherPerson.setEnabled(isTourSelected);
    _actionSetTourType.setEnabled(isTourSelected && tourTypes.size() > 0);

    _actionCollapseOthers.setEnabled(selectedItems == 1 && firstElementHasChildren);
    _actionExpandSelection.setEnabled(firstElement == null //
            ? false
            : selectedItems == 1 //
                    ? firstElementHasChildren
                    : true);

    _tagMenuMgr.enableTagActions(isTourSelected, isOneTour, firstTour == null ? null : firstTour.getTagIds());

    //      TourTypeMenuManager.enableRecentTourTypeActions(isTourSelected, isOneTour
    //            ? firstTour.getTourTypeId()
    //            : TourDatabase.ENTITY_IS_NOT_SAVED);
}