Example usage for org.eclipse.jface.viewers TreeViewer getStructuredSelection

List of usage examples for org.eclipse.jface.viewers TreeViewer getStructuredSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getStructuredSelection.

Prototype

@Override
public ITreeSelection getStructuredSelection() throws ClassCastException 

Source Link

Document

Returns the ITreeSelection of this viewer.

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 va2s  .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:com.liferay.ide.project.ui.migration.MigrateProjectHandler.java

License:Open Source License

protected void refreshViewer(List<Problem> allProblems) {
    FindBreakingChangesPage page = UpgradeView.getPage(Page.FINDBREACKINGCHANGES_PAGE_ID,
            FindBreakingChangesPage.class);
    TableViewer problemsViewer = page.get_problemsViewer();
    TreeViewer treeViewer = page.getTreeViewer();

    UIUtil.async(new Runnable() {

        @Override//  ww w  .j av a2s  . c o  m
        public void run() {
            problemsViewer.setInput(allProblems);

            Object currentTreeNode = treeViewer.getStructuredSelection().getFirstElement();
            String currentPath = null;

            if (currentTreeNode instanceof FileProblems) {
                FileProblems currentNode = (FileProblems) currentTreeNode;
                currentPath = currentNode.getFile().getAbsolutePath().toString();
            }
            MigrationContentProvider contentProvider = (MigrationContentProvider) treeViewer
                    .getContentProvider();

            MigrationProblemsContainer mc = (MigrationProblemsContainer) contentProvider._problems.get(0);

            for (MigrationProblems project : mc.getProblemsArray()) {
                Iterator<FileProblems> fileProblemItertor = new LinkedList<FileProblems>(
                        Arrays.asList(project.getProblems())).iterator();

                while (fileProblemItertor.hasNext()) {
                    FileProblems fileProblem = fileProblemItertor.next();

                    if (fileProblem.getFile().getAbsolutePath().toString().equals(currentPath)) {
                        fileProblem.getProblems().clear();
                        fileProblem.getProblems().addAll(allProblems);
                        break;
                    }
                }
            }
        }
    });
}

From source file:com.liferay.ide.project.ui.migration.RemoveAction.java

License:Open Source License

@Override
public void run() {
    //        final MigrationView mv = (MigrationView) UIUtil.showView( MigrationView.ID );
    //        final CommonViewer commonViewer = mv.getCommonViewer();
    final FindBreakingChangesPage page = UpgradeView.getPage(Page.FINDBREACKINGCHANGES_PAGE_ID,
            FindBreakingChangesPage.class);
    final TreeViewer treeViewer = page.getTreeViewer();

    Object selection = treeViewer.getStructuredSelection().getFirstElement();

    if (selection instanceof MigrationProblems) {
        MigrationProblems migrationProblem = (MigrationProblems) selection;

        MigrationUtil.removeMigrationProblems(migrationProblem);
        IResource project = MigrationUtil.getResourceFromMigrationProblems(migrationProblem);

        if (project != null) {
            MarkerUtil.clearMarkers(project, MigrationConstants.MARKER_TYPE, null);
        }/*  w w w  .  j a  va2 s .c  om*/
    }

    treeViewer.setInput(CoreUtil.getWorkspaceRoot());
    treeViewer.expandToLevel(2);

}

From source file:org.eclipse.jface.snippets.viewers.Snippet005TreeCustomMenu.java

License:Open Source License

public Snippet005TreeCustomMenu(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());/* w  ww  .j  a v  a  2  s .  c  o m*/
    createColumn(v.getTree(), "Values");

    final Action a = new Action("") {
    };
    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);

    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            IStructuredSelection selection = v.getStructuredSelection();
            if (!selection.isEmpty()) {
                a.setText("Action for " + selection.getFirstElement());
                mgr.add(a);
            }
        }
    });
    v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
}

From source file:org.eclipse.lsp4e.outline.CNFOutlinePage.java

License:Open Source License

public static void refreshTreeSelection(TreeViewer viewer, int offset, IDocument document) {
    ITreeContentProvider contentProvider = (ITreeContentProvider) viewer.getContentProvider();
    Object[] objects = contentProvider.getElements(null);
    SymbolInformation bestSymbol = null;
    int level = 0;
    while (objects != null && objects.length > 0) {
        SymbolInformation nextChild = null;
        for (Object object : objects) {
            SymbolInformation symbol = object instanceof SymbolInformation ? (SymbolInformation) object
                    : Adapters.adapt(object, SymbolInformation.class);
            if (symbol != null) {
                if (isOffsetInSymbolRange(offset, symbol, document)) {
                    nextChild = symbol;//from   ww  w.  jav a2  s .c o  m
                    objects = contentProvider.getChildren(symbol);
                    break;
                }
            }
        }
        if (nextChild == null)
            break;
        level++;
        bestSymbol = nextChild;
    }
    if (bestSymbol != null) {
        if (bestSymbol.equals(viewer.getStructuredSelection().getFirstElement())) {
            // the symbol to select is the same than current selected symbol, don't select
            // it.
            return;
        }
        final int finalLevel = level;
        final SymbolInformation finalBestSymbol = bestSymbol;
        Display.getDefault().asyncExec(() -> {
            viewer.expandToLevel(finalLevel);
            viewer.setSelection(new StructuredSelection(finalBestSymbol), true);
        });
    }
}