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.context.ui.BrowseFilteredListener.java

License:Open Source License

public void mouseUp(MouseEvent event) {
    final InterestFilter filter = getInterestFilter(viewer);
    if (filter == null || !(viewer instanceof TreeViewer)) {
        return;//  w w w .  ja v  a2  s  .c o  m
    }

    TreeViewer treeViewer = (TreeViewer) viewer;
    Object selectedObject = null;
    Object clickedObject = getClickedItem(event);
    if (clickedObject != null) {
        selectedObject = clickedObject;
    } else {
        selectedObject = treeViewer.getTree();
    }

    if (isUnfilterEvent(event)) {
        if (treeViewer instanceof CommonViewer) {
            CommonViewer commonViewer = (CommonViewer) treeViewer;
            commonViewer.setSelection(new StructuredSelection(selectedObject), true);
        }
        unfilter(filter, treeViewer, selectedObject);
    } else {
        if (event.button == 1) {
            if ((event.stateMask & SWT.MOD1) != 0 || wasExternalClick) {
                viewer.refresh(selectedObject);
                wasExternalClick = false;
            } else {
                final Object unfiltered = filter.getLastTemporarilyUnfiltered();
                if (unfiltered != null) {
                    // NOTE: delaying refresh to ensure double click is handled, see bug 208702
                    resetUnfiltered();
                }
            }
        }
    }
}

From source file:org.eclipse.mylyn.internal.gerrit.ui.egit.GerritRepositorySearchPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(container);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(container);

    Composite composite = new Composite(container, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(1).applyTo(composite);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(composite);

    FilteredTree tree = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL,
            new SubstringPatternFilter(), true);
    final TreeViewer tv = tree.getViewer();
    GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);
    tv.setContentProvider(new GerritRepositorySearchPageContentProvider());
    tv.setLabelProvider(new GerritRepositorySearchPageLabelProvider());
    tv.setInput(this);
    tv.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//from ww w . j  av a2 s  .  com
        public void selectionChanged(SelectionChangedEvent event) {
            ITreeSelection selection = (ITreeSelection) event.getSelection();
            GerritRepositorySearchPage.this.selectionChanged(tv, selection);
        }
    });
    tv.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            ITreeSelection selection = (ITreeSelection) event.getSelection();
            GerritRepositorySearchPage.this.doubleClick(tv, selection);
        }
    });
    tv.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent event) {
            if (event.keyCode == SWT.F5) {
                refreshConfigIfTaskRepositoryIsSelected(tv);
            }
        }
    });

    final Composite buttonsComposite = new Composite(composite, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(buttonsComposite);
    buttonsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
    buttonsComposite.setLayout(new GridLayout(2, false));

    Button addButton = new Button(buttonsComposite, SWT.NONE);
    addButton.setText("Add...");
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Shell shell = getShell();
            if (shell != null && !shell.isDisposed()) {
                AddRepositoryAction addRepositoryAction = new AddRepositoryAction();
                addRepositoryAction.setPromptToAddQuery(false);
                TaskRepository addedRepository = addRepositoryAction.showWizard(shell,
                        GerritConnector.CONNECTOR_KIND);
                if (addedRepository != null) {
                    tv.refresh();
                    refreshConfig(tv, addedRepository);
                }
            }
        }
    });

    refreshButton = new Button(buttonsComposite, SWT.NONE);
    refreshButton.setText("Refresh");
    refreshButton.setEnabled(false);
    refreshButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            refreshConfigIfTaskRepositoryIsSelected(tv);
        }
    });

    final Group repositoryGroup = new Group(composite, SWT.NONE);
    repositoryGroup.setText("Git Repository");
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(repositoryGroup);
    repositoryGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
    repositoryGroup.setLayout(new GridLayout(2, false));

    new Label(repositoryGroup, SWT.NULL).setText("URI:");
    cloneUriCombo = new Combo(repositoryGroup, SWT.DROP_DOWN);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(cloneUriCombo);

    clearCloneUris();
    setControl(container);
}

From source file:org.eclipse.mylyn.internal.reviews.ui.views.ReviewExplorer.java

License:Open Source License

void updateTable(TreeViewer viewer) {
    TableLayout layout = new TableLayout();
    viewer.getTree().setLayout(layout);
    ColumnViewerToolTipSupport.enableFor(viewer);
    for (TableColumnProvider columnProvider : currentProvider.getColumnProviders()) {
        updateColumn(viewer, columnProvider);
    }/*from w w  w.  j a va 2s.co  m*/
}

From source file:org.eclipse.mylyn.internal.reviews.ui.views.ReviewExplorer.java

License:Open Source License

void updateColumn(TreeViewer viewer, final TableColumnProvider provider) {
    TreeColumn column = null;// w  w  w  . ja v  a2 s  .c o  m
    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    final DelegatingStyledCellLabelProvider styledLabelProvider = new DelegatingStyledCellLabelProvider(
            provider) {
        @Override
        public String getToolTipText(Object element) {
            //For some reason tooltips are not delegated..
            return provider.getToolTipText(element);
        };
    };
    viewerColumn.setLabelProvider(styledLabelProvider);
    column = viewerColumn.getColumn();
    column.setText(provider.getTitle());
    if (!provider.isFillAvailable()) {
        column.setWidth(provider.getMinimumSize());
    } else {
        int width = viewer.getTree().getClientArea().width;
        if (!viewer.getTree().getVerticalBar().isVisible()) {
            width -= viewer.getTree().getVerticalBar().getSize().x;
        }
        int allWidths = 0;
        for (TableColumnProvider provider2 : currentProvider.getColumnProviders()) {
            if (provider2 != provider) {
                allWidths += provider2.getMinimumSize();
            }
        }
        column.setWidth((width - allWidths));
    }
    TableLayout layout = (TableLayout) viewer.getTree().getLayout();
    layout.addColumnData(new ColumnWeightData(provider.getWeight(), provider.getMinimumSize()));
}

From source file:org.eclipse.mylyn.internal.sandbox.ui.planner.TaskActivityEditorPart.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    ScrolledForm sform = toolkit.createScrolledForm(parent);
    Composite editorComposite = sform.getBody();

    editorComposite.setLayout(new GridLayout());
    GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL_BOTH;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    editorComposite.setLayoutData(gridData);

    createSummarySection(editorComposite, toolkit, editorInput.getReportStartDate(),
            editorInput.getReportEndDate());
    String label = LABEL_PAST_ACTIVITY;

    List<ITask> allTasks = new ArrayList<ITask>();
    allTasks.addAll(editorInput.getCompletedTasks());
    allTasks.addAll(editorInput.getInProgressTasks());

    SashForm sashForm = new SashForm(editorComposite, SWT.VERTICAL);

    sashForm.setLayout(new GridLayout());
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));

    activityContentProvider = new TaskActivityContentProvider(editorInput);

    final TreeViewer activityViewer = createTableSection(sashForm, toolkit, label, activityColumnNames,
            activityColumnWidths, activitySortConstants);
    activityViewer.setContentProvider(activityContentProvider);
    activityViewer.setLabelProvider(new TaskPlannerLabelProvider(activityViewer,
            editorInput.getReportStartDate(), editorInput.getReportEndDate()));
    setSorters(activityColumnNames, activitySortConstants, activityViewer.getTree(), activityViewer, false);
    activityViewer.setInput(editorInput);
    activityViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateLabels();/* w  w w  .  ja  v a 2 s . c  om*/
        }
    });

    MenuManager activityContextMenuMgr = new MenuManager("#ActivityPlannerPopupMenu");
    activityContextMenuMgr.setRemoveAllWhenShown(true);
    activityContextMenuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            TaskActivityEditorPart.this.fillContextMenu(activityViewer, manager);

        }
    });
    Menu menu = activityContextMenuMgr.createContextMenu(activityViewer.getControl());
    activityViewer.getControl().setMenu(menu);
    getSite().registerContextMenu(activityContextMenuMgr, activityViewer);

    planContentProvider = new PlannedTasksContentProvider(editorInput);
    final TreeViewer planViewer = createTableSection(sashForm, toolkit, LABEL_PLANNED_ACTIVITY,
            activityColumnNames, activityColumnWidths, activitySortConstants);
    planViewer.setContentProvider(planContentProvider);
    planViewer.setLabelProvider(new TaskPlannerLabelProvider(planViewer, editorInput.getReportStartDate(),
            editorInput.getReportEndDate()));
    // planViewer.setLabelProvider(new TaskPlanLabelProvider());
    // createPlanCellEditorListener(planViewer.getTable(), planViewer);
    // planViewer.setCellModifier(new PlannedTasksCellModifier(planViewer));
    // initDrop(planViewer, planContentProvider);
    setSorters(activityColumnNames, activitySortConstants, planViewer.getTree(), planViewer, true);
    planViewer.setInput(editorInput);

    // planViewer.addSelectionChangedListener(new
    // ISelectionChangedListener() {
    // public void selectionChanged(SelectionChangedEvent event) {
    // updateLabels();
    // }
    // });

    // MenuManager planContextMenuMgr = new
    // MenuManager("#PlanPlannerPopupMenu");
    // planContextMenuMgr.setRemoveAllWhenShown(true);
    // planContextMenuMgr.addMenuListener(new IMenuListener() {
    // public void menuAboutToShow(IMenuManager manager) {
    // TaskActivityEditorPart.this.fillContextMenu(planViewer, manager);
    // }
    // });
    // Menu planMenu =
    // planContextMenuMgr.createContextMenu(planViewer.getControl());
    // planViewer.getControl().setMenu(planMenu);
    // getSite().registerContextMenu(planContextMenuMgr, planViewer);

    totalEstimatedHoursLabel = toolkit.createLabel(editorComposite, LABEL_ESTIMATED + "0 hours  ", SWT.NULL);
    createButtons(editorComposite, toolkit, planViewer, planContentProvider);
    updateLabels();
}

From source file:org.eclipse.mylyn.internal.sandbox.ui.views.ActiveSearchQuickView.java

License:Open Source License

private void addListenersToTree(TreeViewer treeViewer) {
    final Tree tree = treeViewer.getTree();
    tree.addKeyListener(new KeyListener() {
        public void keyPressed(KeyEvent e) {
            if (e.character == 0x1B) {
                dispose();//from   w ww .  j av  a  2s . c o m
            }
        }

        public void keyReleased(KeyEvent e) {
            // do nothing
        }
    });

    // tree.addSelectionListener(new SelectionListener() {
    // public void widgetSelected(SelectionEvent e) {
    // // do nothing
    // }
    //
    // public void widgetDefaultSelected(SelectionEvent e) {
    // gotoSelectedElement();
    // }
    // });

    tree.addMouseMoveListener(new MouseMoveListener() {
        TreeItem fLastItem = null;

        public void mouseMove(MouseEvent e) {
            if (tree.equals(e.getSource())) {
                Object o = tree.getItem(new Point(e.x, e.y));
                if (o instanceof TreeItem) {
                    if (!o.equals(fLastItem)) {
                        fLastItem = (TreeItem) o;
                        tree.setSelection(new TreeItem[] { fLastItem });
                    } else if (e.y < tree.getItemHeight() / 4) {
                        // Scroll up
                        Point p = tree.toDisplay(e.x, e.y);
                        Item item = viewer.scrollUp(p.x, p.y);
                        if (item instanceof TreeItem) {
                            fLastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { fLastItem });
                        }
                    } else if (e.y > tree.getBounds().height - tree.getItemHeight() / 4) {
                        // Scroll down
                        Point p = tree.toDisplay(e.x, e.y);
                        Item item = viewer.scrollDown(p.x, p.y);
                        if (item instanceof TreeItem) {
                            fLastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { fLastItem });
                        }
                    }
                }
            }
        }
    });

    tree.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseUp(MouseEvent e) {

            if (tree.getSelectionCount() < 1) {
                return;
            }

            if (e.button != 1) {
                return;
            }

            if (tree.equals(e.getSource())) {
                Object o = tree.getItem(new Point(e.x, e.y));
                TreeItem selection = tree.getSelection()[0];
                if (selection.equals(o)) {
                    gotoSelectedElement();
                }
            }
        }
    });

}

From source file:org.eclipse.mylyn.internal.tasks.activity.ui.ActivityPart.java

License:Open Source License

@Override
protected Control createContent(FormToolkit toolkit, Composite parent) {
    Composite activityComposite = toolkit.createComposite(parent);
    activityComposite.setLayout(EditorUtil.createSectionClientLayout());

    TreeViewer viewer = new TreeViewer(toolkit.createTree(activityComposite,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
    GridDataFactory.fillDefaults().hint(500, 100).grab(true, true).applyTo(viewer.getControl());
    viewer.setContentProvider(new ActivityRecordContentProvider());
    viewer.setLabelProvider(//  ww  w  . j ava2 s .  c o m
            new DecoratingStyledCellLabelProvider(new ActivityRecordLabelProvider(), null, null));
    IActivityStream stream = new ActivityManager().getStream(new TaskActivityScope(getModel().getTask()));
    viewer.setInput(stream);

    EditorUtil.addScrollListener(viewer.getTree());
    toolkit.paintBordersFor(activityComposite);

    return activityComposite;
}

From source file:org.eclipse.mylyn.internal.tasks.ui.commands.GoToUnreadTaskHandler.java

License:Open Source License

@Override
protected void execute(ExecutionEvent event, TaskListView taskListView, IRepositoryElement item) {
    TreeViewer treeViewer = taskListView.getViewer();
    Tree tree = treeViewer.getTree();

    // need to expand nodes to traverse the tree, disable redraw to avoid flickering
    TreePath treePath = null;/* www.  ja  va  2 s.  c  o m*/
    try {
        tree.setRedraw(false);
        treePath = getUnreadItem(treeViewer, tree);
    } finally {
        tree.setRedraw(true);
    }

    if (treePath != null) {
        treeViewer.expandToLevel(treePath, 0);
        treeViewer.setSelection(new TreeSelection(treePath), true);
    }
}

From source file:org.eclipse.mylyn.internal.tasks.ui.util.TreeWalker.java

License:Open Source License

public TreeWalker(TreeViewer treeViewer) {
    this.treeViewer = treeViewer;
    this.tree = treeViewer.getTree();
}

From source file:org.eclipse.mylyn.internal.tasks.ui.util.TreeWalker.java

License:Open Source License

private TreePath visitSiblings(TreeViewer viewer, TreeItem item, TreeVisitor visitor) {
    TreeItem[] siblings;/* ww w .j  av  a  2 s .  c o m*/
    TreePath path;
    TreeItem parent = item.getParentItem();
    if (parent != null) {
        path = getTreePath(parent);
        if (path == null) {
            return null;
        }
        siblings = parent.getItems();
    } else {
        path = TreePath.EMPTY;
        siblings = viewer.getTree().getItems();
    }
    return visitItems(viewer, path, siblings, item, visitor);
}