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

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

Introduction

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

Prototype

public TreeViewer(Composite parent, int style) 

Source Link

Document

Creates a tree viewer on a newly-created tree control under the given parent.

Usage

From source file:com.microsoft.tfs.client.common.ui.teamexplorer.sections.TeamExplorerReportsSection.java

License:Open Source License

@Override
public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style,
        final TeamExplorerContext context) {
    final Composite composite = toolkit.createComposite(parent);

    // Form-style border painting not enabled (0 pixel margins OK) because
    // no applicable controls in this composite
    SWTUtil.gridLayout(composite, 1, true, 0, 5);

    if (context.isConnected()) {
        treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.NO_SCROLL);
        treeViewer.setContentProvider(new ReportContentProvider());
        treeViewer.setLabelProvider(new ReportLabelProvider());
        treeViewer.addDoubleClickListener(new ReportDoubleClickListener(context));
        treeViewer.addTreeListener(new SectionTreeViewerListener());
        GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true)
                .applyTo(treeViewer.getControl());
        treeViewer.setInput(reports);/*  w w w .ja va 2 s.  com*/

        registerContextMenu(context, treeViewer.getControl(), treeViewer);
    } else {
        createDisconnectedContent(toolkit, composite);
    }

    composite.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(final DisposeEvent e) {
            imageHelper.dispose();
        }
    });

    return composite;
}

From source file:com.microsoft.tfs.client.common.ui.teamexplorer.sections.TeamExplorerWorkItemsQueriesSection.java

License:Open Source License

@Override
public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style,
        final TeamExplorerContext context) {
    final Composite composite = toolkit.createComposite(parent);

    // Form-style border painting not enabled (0 pixel margins OK) because
    // no applicable controls in this composite
    SWTUtil.gridLayout(composite, 1, true, 0, 5);

    if (context.isConnected()) {
        treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.NO_SCROLL);
        treeViewer.setContentProvider(new QueryContentProvider());
        treeViewer.setLabelProvider(new QueryLabelProvider());
        treeViewer.addDoubleClickListener(new QueryDoubleClickListener(context));
        treeViewer.addTreeListener(new SectionTreeViewerListener());

        if (state == null) {
            treeViewer.setAutoExpandLevel(2);
            treeViewer.setInput(queryHierarchy);
        } else {/* w w  w.j av a2  s. c  o m*/
            treeViewer.setInput(queryHierarchy);
            restoreState();
        }

        AutomationIDHelper.setWidgetID(treeViewer.getTree(), QUERIES_TREE_ID);

        GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true)
                .applyTo(treeViewer.getControl());

        registerContextMenu(context, treeViewer.getControl(), treeViewer);
    } else {
        createDisconnectedContent(toolkit, composite);
    }

    context.getEvents().addListener(TeamExplorerEvents.QUERY_ITEM_UPDATED, queryItemUpdatedListener);
    context.getEvents().addListener(TeamExplorerEvents.QUERY_ITEM_DELETED, queryItemDeletedListener);
    context.getEvents().addListener(TeamExplorerEvents.QUERY_FOLDER_CHILDREN_UPDATED,
            queryFolderContentChangedListener);

    composite.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(final DisposeEvent e) {
            imageHelper.dispose();
            context.getEvents().removeListener(TeamExplorerEvents.QUERY_ITEM_UPDATED, queryItemUpdatedListener);
            context.getEvents().removeListener(TeamExplorerEvents.QUERY_ITEM_DELETED, queryItemDeletedListener);
            context.getEvents().removeListener(TeamExplorerEvents.QUERY_FOLDER_CHILDREN_UPDATED,
                    queryFolderContentChangedListener);
        }
    });

    return composite;
}

From source file:com.microsoft.tfs.client.common.ui.wit.controls.QueryItemTreeControl.java

License:Open Source License

private void createUI() {
    setLayout(new FillLayout());

    treeViewer = new TreeViewer(this, SWT.BORDER);
    treeViewer.setContentProvider(new ContentProvider(activeProjectNames));
    treeViewer.setLabelProvider(new LabelProvider());
    treeViewer.addDoubleClickListener(new DoubleClickListener(treeViewer, queryDoubleClickListeners));
    treeViewer.addSelectionChangedListener(new SelectionChangedListener(querySelectionListeners));

    addContextMenu();//  w  w w  .jav  a  2 s  . c om

    treeViewer.setInput(projects);

    /*
     * set the initial selection if applicable
     */
    if (selectedQueryItem != null) {
        treeViewer.setSelection(new StructuredSelection(selectedQueryItem), true);
    }
}

From source file:com.microsoft.tfs.client.common.ui.wit.controls.WITClassificationControl.java

License:Open Source License

public WITClassificationControl(final Composite parent, final int style, final Project project,
        final Node.TreeType treeType, final String initialPath) {
    super(parent, style);
    this.project = project;
    this.treeType = treeType;

    final FillLayout layout = new FillLayout();
    setLayout(layout);//from w  w  w.j a  v  a 2 s  .co  m

    treeViewer = new TreeViewer(this, SWT.NONE);
    treeViewer.setContentProvider(new WITClassificationControlContentProvider());
    treeViewer.setLabelProvider(new WITClassificationControlLabelProvider());
    treeViewer.addDoubleClickListener(new TreeViewerDoubleClickListener(treeViewer));
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            selectedObject = ((IStructuredSelection) event.getSelection()).getFirstElement();
        }
    });

    treeViewer.setInput(new Object());

    Object initialSelection = null;

    if (initialPath != null && initialPath.trim().length() > 0) {
        initialSelection = project.resolvePath(initialPath.trim(), treeType);
    }

    if (initialSelection == null) {
        initialSelection = project;
    }

    treeViewer.setSelection(new StructuredSelection(initialSelection), true);
    selectedObject = initialSelection;

    final Object[] currentExpandedElements = treeViewer.getExpandedElements();
    final Object[] newExpandedElements = new Object[currentExpandedElements.length + 1];
    System.arraycopy(currentExpandedElements, 0, newExpandedElements, 0, currentExpandedElements.length);
    newExpandedElements[newExpandedElements.length - 1] = selectedObject;

    treeViewer.setExpandedElements(newExpandedElements);
}

From source file:com.microsoft.tfs.client.common.ui.wit.results.QueryResultsTreeControl.java

License:Open Source License

public QueryResultsTreeControl(final Composite parent, final int style) {
    super(parent, style);
    setLayout(new FillLayout());

    tableStyles = TREE_STYLES | (OPTIONAL_TREE_STYLES & style);

    treeViewer = new TreeViewer(this, tableStyles);
    setupTree(treeViewer.getTree());//from   w  w w. ja v a 2s  .  com
}

From source file:com.microsoft.tfs.client.eclipse.ui.egit.importwizard.GitImportWizardSelectFoldersPage.java

License:Open Source License

private void createRepositoriesTreeControl(final Composite container) {

    treeViewer = new TreeViewer(container, TREE_STYLES);
    treeControl = treeViewer.getTree();/*w  ww .ja  va2  s  .  c o m*/
    GridDataBuilder.newInstance().fill().grab().hHint(150).applyTo(treeControl);
    treeControl.setHeaderVisible(false);

    folderColumn = new TreeColumn(treeControl, SWT.CENTER);
    folderColumn.setText(Messages.getString("GitImportWizardSelectFoldersPage.FoldersColumnName")); //$NON-NLS-1$

    final TreeViewerColumn nameColumnViewer = new TreeViewerColumn(treeViewer, folderColumn);
    nameColumnViewer.setLabelProvider(new FolderNameLabelProvider());

    treeViewer.setUseHashlookup(true);
    treeViewer.setContentProvider(new FolderTreeContentProvider());
    treeViewer.setAutoExpandLevel(2);

    container.addControlListener(new ControlAdapter() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void controlResized(final ControlEvent e) {
            // super.controlResized(e);
            final Rectangle clientArea = container.getClientArea();
            final Point preferredSize = treeControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);
            final Point oldSize = treeControl.getSize();

            int newColmnWidth = clientArea.width - 2 * (treeControl.getBorderWidth() + getHorizontalMargin());
            if (preferredSize.y > clientArea.height) {
                // if the vertical scrollbar is required, subtract its width
                // from the new column width
                final Point vBarSize = treeControl.getVerticalBar().getSize();
                newColmnWidth -= vBarSize.x;
            }

            if (oldSize.x > clientArea.width) {
                // if the table shrinks, make the column
                // smaller first and then resize the table
                folderColumn.setWidth(newColmnWidth);
                treeControl.setSize(clientArea.width, clientArea.height);
            } else {
                // if table widens, make the table
                // bigger first and then resize the columns
                treeControl.setSize(clientArea.width, clientArea.height);
                folderColumn.setWidth(newColmnWidth);
            }
        }
    });

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            setPageComplete(isValid());
        }
    });
}

From source file:com.microsoft.tfs.client.eclipse.ui.egit.teamexplorer.TeamExplorerGitRepositoriesSection.java

License:Open Source License

@Override
public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style,
        final TeamExplorerContext context) {
    final Composite composite = toolkit.createComposite(parent);

    // Form-style border painting not enabled (0 pixel margins OK) because
    // no applicable controls in this composite
    SWTUtil.gridLayout(composite, 1, true, 0, 5);

    if (context.isConnected()) {
        treeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.NO_SCROLL);
        treeViewer.setContentProvider(new GitItemContentProvider());
        treeViewer.setLabelProvider(new GitItemLabelProvider());
        treeViewer.addDoubleClickListener(new GitItemDoubleClickListener());
        treeViewer.setInput(projectRepositories);
        treeViewer.setExpandedElements(projectRepositories.keySet().toArray());
        GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true)
                .applyTo(treeViewer.getControl());
        addMenuItems();/*from  www  .j ava  2  s . c  o  m*/
    } else {
        createDisconnectedContent(toolkit, composite);
    }

    composite.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(final DisposeEvent e) {
            imageHelper.dispose();
        }
    });

    return composite;
}

From source file:com.mindquarry.desktop.client.widget.workspace.WorkspaceUpdateContainerRunnable.java

License:Open Source License

/**
 * @see com.mindquarry.desktop.client.widget.util.container.UpdateContainerRunnable#createContainerContent()
 */// ww w  . j  a v a2s. c o m
@Override
protected void createContainerContent() {
    // create workspace/changes browser
    containerWidget.setViewer(
            new TreeViewer(containerWidget, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
    containerWidget.getViewer()
            .setContentProvider(new ContentProvider((WorkspaceBrowserWidget) containerWidget));

    addContextMenu();

    containerWidget.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // make sure the "open" button is only enabled when it
            // makes sense:
            boolean enableButton = enableOpenButton();
            client.enableAction(enableButton, OpenFileAction.class.getName());
        }
    });
    containerWidget.getViewer().addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent arg0) {
            EventBus.send(new OpenSelectedFileEvent(this));
        }
    });
    containerWidget.getViewer().setSorter(new ViewerSorter() {
        public int category(Object element) {
            File file = (File) element;
            // sort directories first, rest is sorted naturally
            if (file.isDirectory()) {
                return 1;
            } else {
                return 2;
            }
        }
    });
    // simulate tooltips:
    Listener treeListener = new HoverForToolTipListener(containerWidget.getViewer());
    containerWidget.getViewer().getTree().addListener(SWT.Dispose, treeListener);
    containerWidget.getViewer().getTree().addListener(SWT.KeyDown, treeListener);
    containerWidget.getViewer().getTree().addListener(SWT.MouseMove, treeListener);
    containerWidget.getViewer().getTree().addListener(SWT.MouseHover, treeListener);

    containerWidget.getViewer().getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    containerWidget.getViewer().getTree().setHeaderVisible(false);
    containerWidget.getViewer().getTree().setLinesVisible(false);
    containerWidget.getViewer().getTree().setFont(JFaceResources.getFont(MindClient.TEAM_NAME_FONT_KEY));
    containerWidget.getViewer().getTree().addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            if (event.detail == SWT.CHECK) {
                TreeItem item = (TreeItem) event.item;
                if (item.getChecked()) {
                    // check all parents
                    TreeItem parent = item.getParentItem();
                    while (parent != null) {
                        parent.setChecked(true);
                        parent = parent.getParentItem();
                    }
                } else {
                    // uncheck all children
                    TreeItem[] children = item.getItems();
                    uncheckChildren(children);
                }
            }
        }

        private void uncheckChildren(TreeItem[] children) {
            for (TreeItem child : children) {
                child.setChecked(false);
                uncheckChildren(child.getItems());
            }
        }
    });

    // first column: file/directory name
    TreeViewerColumn col = new TreeViewerColumn(containerWidget.getViewer(), SWT.LEFT);
    col.getColumn().setText("Name");
    col.getColumn().setResizable(false);
    col.getColumn().setWidth(500);
    col.setLabelProvider(new ColumnLabelProvider() {
        public Image getImage(Object element) {
            File file = (File) element;
            WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget;
            if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) {
                Status status = widget.changeSets.getStatus(file);
                return FileIconUtil.getIcon(file, status);
            }
            // fallback: simply lookup the local file
            return FileIconUtil.getIcon(file);
        }

        public String getText(Object element) {
            return ((File) element).getName();
        }
    });

    // second column: direction information (up/down/conflict)
    col = new TreeViewerColumn(containerWidget.getViewer(), SWT.CENTER);
    col.getColumn().setResizable(false);
    col.getColumn().setWidth(32);
    col.setLabelProvider(new ColumnLabelProvider() {
        public Image getImage(Object element) {
            File file = (File) element;
            // lookup the status via the File -> Status maps
            WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget;

            ModificationDescription descr = new ModificationDescription(null);
            if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) {
                descr = new ModificationDescription(widget.changeSets.getChange(file));
            }
            return descr.getDirectionImage();
        }

        public String getText(Object element) {
            return "";
        }
    });

    // third column: status information (modified, added, ...)
    col = new TreeViewerColumn(containerWidget.getViewer(), SWT.CENTER);
    col.getColumn().setResizable(false);
    col.getColumn().setWidth(32);
    col.setLabelProvider(new ColumnLabelProvider() {
        public Image getImage(Object element) {
            File file = (File) element;
            // lookup the status via the File -> Status maps
            WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget;
            Change change = widget.changeSets.getChange(file);
            if (change != null && change.getStatus() != null && change.getStatus().getNodeKind() == NodeKind.dir
                    && change.getChangeStatus() == ChangeStatus.MODIFIED) {
                // "modified" on directory is too confusing
                return null;
            }

            ModificationDescription descr = new ModificationDescription(null);
            if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) {
                descr = new ModificationDescription(widget.changeSets.getChange(file));
            }

            return descr.getStatusImage();
        }

        public String getText(Object element) {
            return "";
        }
    });

    // add auto resizing of tree columns
    containerWidget.getShell().addListener(SWT.Resize, new Listener() {
        public void handleEvent(Event event) {
            if (containerWidget.getViewer() != null) {
                adjustWidth();
            }
        }
    });
    // set input and trigger refresh
    containerWidget.getViewer().setInput(((WorkspaceBrowserWidget) containerWidget).workspaceRoot);
    containerWidget.getViewer().expandAll();
    checkAllItem(containerWidget.getViewer().getTree().getItems());

    containerWidget.layout(true);

    // set background color for every second table item
    containerWidget.getViewer().getTree().addTreeListener(new TreeListener() {
        public void treeCollapsed(TreeEvent e) {
            // NOTE: this event is thrown before the actual items
            // have the expanded value updated! That's why we pass
            // through the item to handle it differently
            markRows(containerWidget.getViewer().getTree().getItems(), 0, (TreeItem) e.item);
        }

        public void treeExpanded(TreeEvent e) {
            markRows(containerWidget.getViewer().getTree().getItems(), 0, (TreeItem) e.item);
        }
    });
    adjustWidth();
    markRows(containerWidget.getViewer().getTree().getItems(), 0, null);
}

From source file:com.mindquarry.desktop.preferences.dialog.FilteredPreferenceDialog.java

License:Open Source License

/**
 * Create a new <code>TreeViewer</code>.
 * /*  w  w w  . j a  va  2s.  c  o  m*/
 * @param parent the parent <code>Composite</code>.
 * @return the <code>TreeViewer</code>.
 * @since 3.0
 */
protected TreeViewer createTreeViewer(Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent, SWT.NONE);
    addListeners(viewer);
    viewer.setLabelProvider(new PreferenceLabelProvider());
    viewer.setContentProvider(new PreferenceContentProvider());
    return viewer;
}

From source file:com.minres.scviewer.e4.application.parts.DesignBrowser.java

License:Open Source License

/**
 * Creates the tree viewer composite.//from  ww w .  j  a  v  a 2s. c  o m
 *
 * @param parent the parent
 */
public void createTreeViewerComposite(Composite parent) {
    parent.setLayout(new GridLayout(1, false));
    treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    treeViewer.setContentProvider(new TxDbContentProvider());
    treeViewer.setLabelProvider(new TxDbLabelProvider());
    treeViewer.setUseHashlookup(true);
    treeViewer.setAutoExpandLevel(2);
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object object = ((IStructuredSelection) selection).getFirstElement();
                if (object instanceof IHierNode && ((IHierNode) object).getChildNodes().size() != 0) {
                    txTableViewer.setInput(object);
                    updateButtons();
                }
            }
        }
    });
}