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

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

Introduction

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

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

From source file:org.eclipse.mylyn.internal.tasks.ui.views.TaskListRefreshJob.java

License:Open Source License

private TreePath preserveSelection() {
    if (viewer instanceof TreeViewer) {
        TreeViewer treeViewer = (TreeViewer) viewer;
        // in case the refresh removes the currently selected item, 
        // remember the next item in the tree to restore the selection
        // TODO: consider making this optional
        TreeItem[] selection = treeViewer.getTree().getSelection();
        if (selection.length > 0) {
            TreeWalker treeWalker = new TreeWalker(treeViewer);
            return treeWalker.walk(new TreeVisitor() {
                @Override/*from w  ww  .j a va 2s .co m*/
                public boolean visit(Object object) {
                    return true;
                }
            }, selection[selection.length - 1]);
        }
    }
    return null;
}

From source file:org.eclipse.mylyn.internal.wikitext.ui.editor.MarkupEditorOutline.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);

    TreeViewer viewer = getTreeViewer();
    viewer.setUseHashlookup(true);//w  w  w  . j  a va  2s .c om
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    viewer.setContentProvider(new BaseWorkbenchContentProvider());
    viewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    viewer.setInput(editor.getOutlineModel());

    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            revealInEditor(event.getSelection(), true);
        }
    });
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            revealInEditor(event.getSelection(), false);
        }
    });
    viewer.expandAll();

    new ToolTip(viewer.getControl(), ToolTip.RECREATE, false) {
        @Override
        protected Composite createToolTipContentArea(Event event, Composite parent) {

            Composite comp = new Composite(parent, SWT.NONE);
            comp.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));

            GridLayout gl = new GridLayout(1, false);
            gl.marginBottom = 2;
            gl.marginTop = 2;
            gl.marginHeight = 0;
            gl.marginWidth = 0;
            gl.marginLeft = 2;
            gl.marginRight = 2;
            gl.verticalSpacing = 1;
            comp.setLayout(gl);

            Object tipItem = getToolTipItem(new Point(event.x, event.y));
            if (tipItem instanceof OutlineItem) {
                OutlineItem outlineItem = (OutlineItem) tipItem;
                Label label = new Label(comp, SWT.WRAP);
                label.setBackground(comp.getBackground());
                label.setText(outlineItem.getTooltip());
            }

            return comp;
        }

        @Override
        protected boolean shouldCreateToolTip(Event event) {
            final Object eventItem = getToolTipItem(new Point(event.x, event.y));
            boolean shouldCreate = eventItem != null && eventItem instanceof OutlineItem
                    && super.shouldCreateToolTip(event);
            if (!shouldCreate) {
                hide();
            }
            return shouldCreate;
        }

        protected Object getToolTipItem(Point point) {
            TreeItem item = ((Tree) getTreeViewer().getControl()).getItem(point);
            if (item != null) {
                return item.getData();
            }
            return null;
        }
    };

    IPageSite site = getSite();
    site.setSelectionProvider(viewer);
    configureActionBars(site);

    MenuManager manager = new MenuManager("#PopUp"); //$NON-NLS-1$
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuManager) {
            contextMenuAboutToShow(menuManager);
        }
    });
    viewer.getTree().setMenu(manager.createContextMenu(viewer.getTree()));

    site.registerContextMenu(MarkupEditor.ID + ".outlineContextMenu", manager, viewer); //$NON-NLS-1$

    configureDnd();
    configureActions();
}

From source file:org.eclipse.mylyn.internal.xplanner.ui.wizard.NewXPlannerTaskPage.java

License:Open Source License

public void createControl(Composite parent) {
    // create the composite to hold the widgets
    Composite composite = new Composite(parent, SWT.NULL);

    // create the desired layout for this wizard page
    composite.setLayout(new GridLayout());

    // create the list of bug reports
    projectTree = new EnhancedFilteredTree(composite, SWT.SINGLE | SWT.BORDER, new PatternFilter(), true);
    projectTree.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true)
            .hint(SWT.DEFAULT, 200).create());

    TreeViewer projectsViewer = projectTree.getViewer();
    projectsViewer.setContentProvider(new ProjectsViewerContentProvider(client));
    projectsViewer.setLabelProvider(new ProjectsViewerLabelProvider());
    GridData projectsViewerGridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    projectsViewerGridData.heightHint = 100;
    projectsViewerGridData.widthHint = 200;

    projectsViewer.getTree().setLayoutData(projectsViewerGridData);
    projectsViewer.setInput(client);/*www.j  ava 2  s .  c om*/
    projectsViewer.refresh();
    projectsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent e) {
            validatePage(true);
        }

    });
    projectsViewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            if (getWizard().canFinish()) {
                if (getWizard().performFinish()) {
                    ((WizardDialog) getContainer()).close();
                }
            }
        }
    });

    updateProjectsFromRepository(false);

    Button updateButton = new Button(composite, SWT.LEFT | SWT.PUSH);
    updateButton.setText(LABEL_UPDATE);
    updateButton.setLayoutData(new GridData());

    updateButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            updateProjectsFromRepository(true);
        }
    });

    // set the composite as the control for this page
    setControl(composite);

    isPageComplete();
    getWizard().getContainer().updateButtons();
}

From source file:org.eclipse.mylyn.java.tests.ContentOutlineRefreshTest.java

License:Open Source License

public void testContents() throws JavaModelException, PartInitException {
    IMethod m1 = type1.createMethod("void m1() { }", null, true, null);
    UiTestUtil.openView("org.eclipse.ui.views.ContentOutline");
    JavaUI.openInEditor(m1);/*from   w w w. j  a va  2  s . co m*/

    // opening an editor on e4 causes selection events
    context.reset();

    // FocusOutlineAction.getDefault().update(true);
    List<StructuredViewer> viewers = new ArrayList<StructuredViewer>();
    IEditorReference[] parts = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
            .getEditorReferences();
    for (IEditorReference part : parts) {
        if (part.getTitle().equals("Type1.java")) {
            IEditorPart editor = part.getEditor(true);
            AbstractContextUiBridge bridge = ContextUi.getUiBridgeForEditor(editor);
            List<TreeViewer> outlineViewers = bridge.getContentOutlineViewers(editor);
            for (TreeViewer viewer : outlineViewers) {
                if (viewer != null && !viewers.contains(viewer)) {
                    viewers.add(viewer);
                }
            }
        }
    }
    assertEquals(1, viewers.size());
    TreeViewer viewer = (TreeViewer) viewers.get(0);
    assertEquals(3, UiTestUtil.countItemsInTree(viewer.getTree()));

    //      action.run();
    action.updateInterestFilter(true, viewer);

    assertEquals(0, UiTestUtil.countItemsInTree(viewer.getTree()));

    StructuredSelection sm1 = new StructuredSelection(m1);
    monitor.selectionChanged(view, sm1);
    viewer.refresh();
    assertEquals(2, UiTestUtil.countItemsInTree(viewer.getTree()));
}

From source file:org.eclipse.mylyn.java.tests.FocusViewActionTest.java

License:Open Source License

public void testContents() throws JavaModelException, PartInitException {
    IMethod m1 = type1.createMethod("void m1() { }", null, true, null);
    UiTestUtil.openView("org.eclipse.ui.views.ContentOutline");
    JavaUI.openInEditor(m1);//from   www .j  a  v a2s  . c  o m

    //      FocusOutlineAction.getDefault().update(true);
    List<StructuredViewer> viewers = new ArrayList<StructuredViewer>();
    IEditorReference[] refrences = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
            .getEditorReferences();
    for (IEditorReference reference : refrences) {
        if (reference.getTitle().equals("Type1.java")) {
            IEditorPart part = reference.getEditor(true);
            AbstractContextUiBridge bridge = ContextUi.getUiBridgeForEditor(part);
            List<TreeViewer> outlineViewers = bridge.getContentOutlineViewers(part);
            for (TreeViewer viewer : outlineViewers) {
                if (viewer != null && !viewers.contains(viewer)) {
                    viewers.add(viewer);
                }
            }
        }
    }
    assertEquals(1, viewers.size());
    TreeViewer viewer = (TreeViewer) viewers.get(0);
    assertEquals(3, UiTestUtil.countItemsInTree(viewer.getTree()));

    action.updateInterestFilter(true, viewer);
    assertEquals(0, UiTestUtil.countItemsInTree(viewer.getTree()));

    StructuredSelection sm1 = new StructuredSelection(m1);
    monitor.selectionChanged(view, sm1);
    viewer.refresh();
    assertEquals(2, UiTestUtil.countItemsInTree(viewer.getTree()));
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.sorters.FindUsersTableViewerSorter.java

License:Open Source License

/**
 * Bind Sorter to TreeViewer/*from  w  w  w.j a va  2  s  .c o  m*/
 * 
 * @param aTreeViewer
 *            TreeViewer
 */
public static void bind(final TreeViewer aTreeViewer) {
    final int numColumns = aTreeViewer.getTree().getColumnCount();
    for (int i = 0; i < numColumns; i++) {
        final int columnNum = i;
        TreeColumn column = aTreeViewer.getTree().getColumn(i);
        column.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(final SelectionEvent e) {
                FindUsersTableViewerSorter sorter = new FindUsersTableViewerSorter(columnNum);
                Tree table = aTreeViewer.getTree();
                if (table.getSortDirection() == SWT.UP) {
                    table.setSortDirection(SWT.DOWN);
                } else if (table.getSortDirection() == SWT.DOWN) {
                    table.setSortDirection(SWT.UP);
                } else {
                    table.setSortDirection(SWT.UP);
                }
                aTreeViewer.setComparator(sorter);
            }
        });
    }
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.sorters.FindUsersTableViewerSorter.java

License:Open Source License

/**
 * table tree bind to Sorter with a specific column.
 * //from  ww w . j a v  a 2s  .co m
 * @param aTreeViewer
 *            TreeViewer
 * @param aColumnNum
 *            int
 */
public static void bind(final TreeViewer aTreeViewer, final int aColumnNum) {
    final int maxColumn = aTreeViewer.getTree().getColumnCount();
    if (aColumnNum < maxColumn) {
        final TreeColumn column = aTreeViewer.getTree().getColumn(aColumnNum);
        column.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(final SelectionEvent e) {
                final FindUsersTableViewerSorter sorter = new FindUsersTableViewerSorter(aColumnNum);
                final Tree table = aTreeViewer.getTree();
                if (table.getSortDirection() == SWT.UP) {
                    table.setSortDirection(SWT.DOWN);
                } else if (table.getSortDirection() == SWT.DOWN) {
                    table.setSortDirection(SWT.UP);
                } else {
                    table.setSortDirection(SWT.UP);
                }
                aTreeViewer.setComparator(sorter);
            }
        });
    }
}

From source file:org.eclipse.mylyn.tasks.tests.TaskListUiTest.java

License:Open Source License

public void testUiFilter() {
    assertNotNull(TaskListView.getFromActivePerspective());
    TreeViewer viewer = TaskListView.getFromActivePerspective().getViewer();
    TaskListView.getFromActivePerspective()
            .addFilter(TaskListView.getFromActivePerspective().getCompleteFilter());
    viewer.refresh();/* www  . j  a va  2s.c o m*/
    viewer.expandAll();
    TreeItem[] items = viewer.getTree().getItems();
    assertTrue(checkFilter(CHECK_COMPLETE_FILTER, items));
    TaskListView.getFromActivePerspective()
            .removeFilter(TaskListView.getFromActivePerspective().getCompleteFilter());

    TaskPriorityFilter filter = TaskListView.getFromActivePerspective().getPriorityFilter();
    filter.displayPrioritiesAbove("P2");
    TaskListView.getFromActivePerspective().addFilter(filter);
    viewer.refresh();
    viewer.expandAll();
    items = viewer.getTree().getItems();

    // check priority tasks
    assertTrue(checkFilter(CHECK_PRIORITY_FILTER, items));
}

From source file:org.eclipse.mylyn.wikitext.ui.editor.DefaultWikiTextSourceEditorOutline.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);

    TreeViewer viewer = getTreeViewer();
    viewer.setUseHashlookup(true);// w  w  w.ja v  a  2 s .c o m
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    viewer.setContentProvider(new BaseWorkbenchContentProvider());
    viewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    viewer.setInput(getEditor().getAdapter(OutlineItem.class));

    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            revealInEditor(event.getSelection());
        }
    });
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            revealInEditor(event.getSelection());
        }
    });
    viewer.expandAll();

    updateSelectionToMatchEditor();

    new ToolTip(viewer.getControl(), ToolTip.RECREATE, false) {
        @Override
        protected Composite createToolTipContentArea(Event event, Composite parent) {

            Composite comp = new Composite(parent, SWT.NONE);
            comp.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));

            GridLayout gl = new GridLayout(1, false);
            gl.marginBottom = 2;
            gl.marginTop = 2;
            gl.marginHeight = 0;
            gl.marginWidth = 0;
            gl.marginLeft = 2;
            gl.marginRight = 2;
            gl.verticalSpacing = 1;
            comp.setLayout(gl);

            Object tipItem = getToolTipItem(new Point(event.x, event.y));
            if (tipItem instanceof OutlineItem) {
                OutlineItem outlineItem = (OutlineItem) tipItem;
                Label label = new Label(comp, SWT.WRAP);
                label.setBackground(comp.getBackground());
                label.setText(outlineItem.getTooltip());
            }

            return comp;
        }

        @Override
        protected boolean shouldCreateToolTip(Event event) {
            final Object eventItem = getToolTipItem(new Point(event.x, event.y));
            boolean shouldCreate = eventItem != null && eventItem instanceof OutlineItem
                    && super.shouldCreateToolTip(event);
            if (!shouldCreate) {
                hide();
            }
            return shouldCreate;
        }

        protected Object getToolTipItem(Point point) {
            TreeItem item = ((Tree) getTreeViewer().getControl()).getItem(point);
            if (item != null) {
                return item.getData();
            }
            return null;
        }
    };

    MenuManager manager = new MenuManager("#PopUp"); //$NON-NLS-1$
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuManager) {
            contextMenuAboutToShow(menuManager);
        }
    });
    viewer.getTree().setMenu(manager.createContextMenu(viewer.getTree()));

}