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

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

Introduction

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

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this TreeViewer.

Usage

From source file:org.eclipse.mylyn.internal.tasks.ui.search.RepositorySearchResultView.java

License:Open Source License

@Override
protected void configureTreeViewer(TreeViewer viewer) {
    viewer.setUseHashlookup(true);//from   www  .  ja va 2s.  c o m
    searchResultProvider = new SearchResultTreeContentProvider();
    viewer.setContentProvider(searchResultProvider);

    styledLabelProvider = new DecoratingPatternStyledCellLabelProvider(
            new SearchResultsLabelProvider(searchResultProvider, viewer),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), null);
    viewer.setLabelProvider(styledLabelProvider);
    viewer.setSorter(searchResultSorter);

    Transfer[] dragTypes = new Transfer[] { LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };

    getViewer().addDragSupport(DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK, dragTypes,
            new TaskDragSourceListener(getViewer()));

    sortByDialogAction = new SearchResultSortAction(this);

    toolTip = new TaskListToolTip(viewer.getControl());
}

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  av  a  2 s. co m*/
    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);/*from w ww.ja v a 2  s.c  o m*/
    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.reviews.tasks.ui.internal.editors.ReviewSummaryTaskEditorPart.java

License:Open Source License

private TreeViewer createResultsViewer(Composite reviewResultsComposite, FormToolkit toolkit) {
    Tree tree = new Tree(reviewResultsComposite, SWT.SINGLE | SWT.FULL_SELECTION);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tree.setLinesVisible(true);//  w  w w.j  ava 2 s  .  co m
    tree.setHeaderVisible(true);
    for (int i = 0; i < tree.getColumnCount(); i++) {
        tree.getColumn(i).pack();
    }
    tree.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);

    TreeViewer reviewResults = createTreeWithColumns(tree);

    reviewResults.setContentProvider(new ReviewResultContentProvider());

    reviewResults.setLabelProvider(new ColumnLabelProvider<ITreeNode>(Column.values()));
    reviewResults.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                ITreeNode treeNode = (ITreeNode) ((IStructuredSelection) event.getSelection())
                        .getFirstElement();
                if (treeNode instanceof ReviewResultNode) {
                    treeNode = treeNode.getParent();
                }
                ITaskProperties task = treeNode.getTask();
                ReviewUiUtils.openTaskInMylyn(task);
            }
        }
    });
    return reviewResults;
}

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);/* ww w. j a v  a  2s  .  co  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()));

}

From source file:org.eclipse.nebula.widgets.nattable.examples.e4.NavigationPart.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent) {
    final TreeViewer navTreeViewer = new TreeViewer(parent);

    final NavContentProvider contentProvider = new NavContentProvider() {
        @Override//from w w w.  j  a v a2s  . c om
        public Object[] getElements(Object inputElement) {
            Set<String> topLevelElements = new LinkedHashSet<>();

            String[] examplePaths = (String[]) inputElement;
            for (final String examplePath : examplePaths) {
                String parentPath = "";
                String absolutePath = "";

                // remove the package name for the tree structure
                String path = examplePath;
                if (examplePath.startsWith(INatExample.TUTORIAL_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(INatExample.BASE_PATH, "");
                } else if (examplePath.startsWith(INatExample.CLASSIC_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(INatExample.CLASSIC_BASE_PATH, "");
                } else if (examplePath.startsWith(E4_EXAMPLES_PREFIX)) {
                    path = examplePath.replace(E4_BASE_PATH, "");
                }
                final StringTokenizer tok = new StringTokenizer(path, "/");
                while (tok.hasMoreTokens()) {
                    final String pathElement = tok.nextToken();
                    if (parentPath.length() == 0) {
                        topLevelElements.add("/" + pathElement);
                    }
                    absolutePath += "/" + pathElement;

                    final Collection<String> children = getChildren(parentPath);
                    children.add(absolutePath);

                    parentPath = absolutePath;
                }
            }

            return topLevelElements.toArray();
        }

    };
    navTreeViewer.setContentProvider(contentProvider);
    navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider) {

        @Override
        public String getText(Object element) {
            String str = (String) element;
            if (!contentProvider.hasChildren(element)) {
                INatExample example = getExample(str);
                return example.getName();
            }

            int lastSlashIndex = str.lastIndexOf('/');
            if (lastSlashIndex < 0) {
                return format(str);
            } else {
                return format(str.substring(lastSlashIndex + 1));
            }
        }

    });
    navTreeViewer.setInput(getExamplePaths());
    navTreeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeSelection selection = (TreeSelection) event.getSelection();
            for (TreePath path : selection.getPaths()) {
                // check for item - if node expand/collapse, if child open
                if (contentProvider.hasChildren(path.getLastSegment().toString())) {
                    boolean expanded = navTreeViewer.getExpandedState(path);
                    navTreeViewer.setExpandedState(path, !expanded);
                } else {
                    openExampleInTab(path.getLastSegment().toString());
                }
            }
        }

    });

    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    parent.setLayout(layout);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(navTreeViewer.getControl());
}

From source file:org.eclipse.nebula.widgets.nattable.examples.runner.TabbedNatExampleRunner.java

License:Open Source License

public static void run(int shellWidth, int shellHeight, final String... examplePaths)
        throws InstantiationException, IllegalAccessException, ClassNotFoundException {
    // Setup//www.j  ava 2  s. c om
    final Display display = Display.getDefault();
    final Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout(2, false));
    shell.setSize(shellWidth, shellHeight);
    shell.setText("Examples demonstrating NatTable features");

    // Nav tree
    final TreeViewer navTreeViewer = new TreeViewer(shell);
    GridData gridData = new GridData(GridData.FILL_VERTICAL);
    gridData.widthHint = 200;
    navTreeViewer.getControl().setLayoutData(gridData);
    NavContentProvider contentProvider = new NavContentProvider();
    navTreeViewer.setContentProvider(contentProvider);
    navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider));
    navTreeViewer.setInput(examplePaths);
    navTreeViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            TreeSelection selection = (TreeSelection) event.getSelection();
            for (TreePath path : selection.getPaths()) {
                openExampleInTab(path.getLastSegment().toString());
            }
        }

    });

    tabFolder = new CTabFolder(shell, SWT.BORDER);
    tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));

    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }

    for (INatExample example : exampleControlMap.keySet()) {
        // Stop
        example.onStop();

        Control exampleControl = exampleControlMap.get(example);
        exampleControl.dispose();
    }

    tabFolder.dispose();

    shell.dispose();
    display.dispose();
}

From source file:org.eclipse.nebula.widgets.pagination.snippets.tree.ModelSortPageableTreeExample.java

License:Open Source License

public static void main(String[] args) {

    Display display = new Display();
    Shell shell = new Shell(display);
    GridLayout layout = new GridLayout(1, false);
    shell.setLayout(layout);//from   ww w  .  ja v  a 2s . c  om

    final List<Team> items = createList();

    // 1) Create pageable tree with 10 items per page
    // This SWT Component create internally a SWT Tree+JFace TreeViewer
    int pageSize = 10;
    PageableTree pageableTree = new PageableTree(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize);
    pageableTree.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the tree viewer + SWT Tree
    TreeViewer viewer = pageableTree.getViewer();
    viewer.setContentProvider(TeamContentProvider.getInstance());
    viewer.setLabelProvider(new LabelProvider());

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    // 3) Create Tree columns with sort of paginated list.
    createColumns(viewer);

    // 3) Set current page to 0 to refresh the tree
    pageableTree.setPageLoader(new PageResultLoaderList<Team>(items));
    pageableTree.setCurrentPage(0);

    shell.setSize(400, 250);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.nebula.widgets.richtext.example.JFaceViewerIntegrationExample.java

License:Open Source License

public void createControls(Composite parent) {
    parent.setLayout(new FillLayout(SWT.VERTICAL));

    final TableViewer viewer = new TableViewer(parent,
            SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);

    TableViewerColumn firstnameColumn = new TableViewerColumn(viewer, SWT.NONE);
    firstnameColumn.getColumn().setText("Firstname");
    firstnameColumn.getColumn().setWidth(100);
    firstnameColumn.setLabelProvider(new FirstNameLabelProvider());
    firstnameColumn.setEditingSupport(new FirstNameEditingSupport(viewer));

    TableViewerColumn lastnameColumn = new TableViewerColumn(viewer, SWT.NONE);
    lastnameColumn.getColumn().setText("Lastname");
    lastnameColumn.getColumn().setWidth(100);
    // lastnameColumn.setLabelProvider(new LastNameLabelProvider());
    lastnameColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) {

        @Override/* w w  w. ja va 2s .c o  m*/
        public String getRichText(Person element) {
            if (element.getLastName().equals("Simpson")) {
                return "<em>" + element.getLastName() + "</em>";
            } else if (element.getLastName().equals("Smithers")) {
                return "<span style=\"background-color:rgb(255, 0, 0)\"><strong><s><u>" + element.getLastName()
                        + "</u></s></strong></span>";
            }
            return element.getLastName();
        }

    });
    lastnameColumn.setEditingSupport(new LastNameEditingSupport(viewer));

    TableViewerColumn marriedColumn = new TableViewerColumn(viewer, SWT.NONE);
    marriedColumn.getColumn().setText("Married");
    marriedColumn.getColumn().setWidth(60);
    marriedColumn.setLabelProvider(new MarriedLabelProvider());
    marriedColumn.setEditingSupport(new MarriedEditingSupport(viewer));

    TableViewerColumn genderColumn = new TableViewerColumn(viewer, SWT.NONE);
    genderColumn.getColumn().setText("Gender");
    genderColumn.getColumn().setWidth(80);
    genderColumn.setLabelProvider(new GenderLabelProvider());
    genderColumn.setEditingSupport(new GenderEditingSupport(viewer));

    TableViewerColumn descColumn = new TableViewerColumn(viewer, SWT.NONE);
    descColumn.getColumn().setText("Description");
    descColumn.getColumn().setWidth(200);
    // descColumn.setLabelProvider(new DescriptionLabelProvider());
    descColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) {

        @Override
        public String getRichText(Person element) {
            return element.getDescription();
        }

    });
    descColumn.setEditingSupport(new DescriptionEditingSupport(viewer));

    viewer.setInput(PersonService.getPersons(10));

    // add a tree
    TreeViewer treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.setContentProvider(new TreeViewerContentProvider());
    treeViewer.setLabelProvider(new RichTextCellLabelProvider<File>(treeViewer.getControl()) {

        @Override
        public String getRichText(File file) {
            String name = file.getName();
            String result = name.isEmpty() ? file.getPath() : name;
            if (file.isDirectory()) {
                result = "<strong><u>" + result + "</u></strong>";
            }
            return result;
        }

    });
    treeViewer.setInput(File.listRoots());
}

From source file:org.eclipse.oomph.p2.internal.ui.ProfileDetailsComposite.java

License:Open Source License

private void createDefinitionTab(TabFolder tabFolder) {
    TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
    tabItem.setText("Definition");

    final TreeViewer viewer = new TreeViewer(tabFolder, SWT.NONE);
    viewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
    viewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

    tabItem.setControl(viewer.getTree());

    UIUtil.asyncExec(new Runnable() {
        public void run() {
            ProfileDefinition definition = profile.getDefinition();
            ItemProvider requirements = new ItemProvider(adapterFactory, "Requirements",
                    P2UIPlugin.INSTANCE.getSWTImage("full/obj16/ProfileDefinition"),
                    definition.getRequirements());
            ItemProvider repositories = new ItemProvider(adapterFactory, "Repositories",
                    P2UIPlugin.INSTANCE.getSWTImage("full/obj16/RepositoryList"), definition.getRepositories());

            ItemProvider input = new ItemProvider(adapterFactory);
            input.getChildren().add(requirements);
            input.getChildren().add(repositories);

            viewer.setInput(input);//from w  ww. j a v  a 2 s  .com
            viewer.expandAll();
        }
    });
}