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.jface.snippets.viewers.Snippet064TreeViewerReplacingElements.java

License:Open Source License

public Snippet064TreeViewerReplacingElements(Shell shell) {
    Random random = new Random();
    final Composite c = new Composite(shell, SWT.NONE);
    c.setLayout(new FillLayout(SWT.VERTICAL));
    Label l = new Label(c, SWT.NONE);
    l.setText(/*from  ww  w .  j av  a 2  s. c  o m*/
            "The elements are ordered lexicografically, i.e. 11 comes before 2,\nPress q, to rename one root element.\nPress w, to rename one child element.");
    final TreeViewer v = new TreeViewer(c);

    // Every observable in this example gets typed as Object, since the
    // input element is an Object
    List<Object> rootElements = Arrays.asList("root 1", "root 2", "root 3");
    Object input = new Object();
    AtomicReference<IObservableList<Object>> recentlyCreatedChildList = new AtomicReference<>();
    final IObservableList<Object> rootElementList = new WritableList<>(
            DisplayRealm.getRealm(shell.getDisplay()), Arrays.asList(rootElements), String.class);
    ITreeContentProvider contentProvider = new ObservableListTreeContentProvider<>(target -> {
        if (target == input)
            return rootElementList;
        if (target.toString().startsWith("root")) {
            recentlyCreatedChildList.set(new WritableList<>(DisplayRealm.getRealm(shell.getDisplay()),
                    Arrays.asList("child 1", "child 2"), String.class));
            return recentlyCreatedChildList.get();
        }
        return null;
    }, null);
    v.setContentProvider(contentProvider);
    v.setComparator(new ViewerComparator());
    v.setInput(input);
    v.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            // don't use 'r' and 'c', because they would iterate through the
            // root... / child... elements
            if (e.character == 'q') {
                rootElementList.set(0, "root " + random.nextInt());
            }
            if (e.character == 'w') {
                IObservableList<Object> childElementsList = recentlyCreatedChildList.get();
                if (childElementsList != null) {
                    childElementsList.set(0, "child " + random.nextInt());
                } else {
                    System.out.println("no children list present");
                }
            }
        }
    });
}

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

License:Open Source License

public Snippet067TreeViewerSorted(Shell shell, Composite composite) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setComparator(new MyComparator());
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTree(), "Values");
    v.setInput(createModel());//from  w ww  .j ava  2  s .c om

    // Combo
    FormData comboFormData = new FormData(300, 50);
    comboFormData.left = new FormAttachment(0, 30);
    comboFormData.right = new FormAttachment(100, -30);
    comboFormData.bottom = new FormAttachment(100, -30);

    Combo changeSortingCombo = new Combo(composite, SWT.READ_ONLY);
    changeSortingCombo.setToolTipText("Change Sorting Method");
    changeSortingCombo.setLayoutData(comboFormData);
    changeSortingCombo.add("Sort Method: Descending by Population");
    changeSortingCombo.add("Sort Method: Comparator (Categories)");
    changeSortingCombo.select(0);

    changeSortingCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int selectedIndex = changeSortingCombo.getSelectionIndex();
            if (selectedIndex == 0) {
                v.setComparator(new MyComparator());
                v.setLabelProvider(new DefaultLabelProvider());
            } else if (selectedIndex == 1) {
                v.setComparator(new MyCategoryComparator());
                v.setLabelProvider(new MyLabelProvider());
            }
            v.update(v, null);
            shell.layout(true, true);

        }
    });

    // Category Legend
    Composite legendComposite = new Composite(composite, SWT.NONE);
    final TableViewer legendV = new TableViewer(legendComposite);
    FormData legendFormData = new FormData(300, 300);
    legendFormData.right = new FormAttachment(100, -30);
    legendFormData.left = new FormAttachment(0, 30);
    legendFormData.top = new FormAttachment(0, 30);
    legendFormData.bottom = new FormAttachment(changeSortingCombo, -30);

    legendComposite.setLayoutData(legendFormData);
    legendComposite.setLayout(new FillLayout());
    legendV.setLabelProvider(new LegendLabelProvider());
    legendV.setContentProvider(ArrayContentProvider.getInstance());
    final String[] legendCategories = { "Population > 1,000,000", "Population > 500,000",
            "Population > 250,000", "Population > 50,000", "Population > 25,000", "Population > 5000",
            "Population <= 5000" };
    legendV.setInput(legendCategories);
    legendV.update(legendV, null);

    // Legend label
    Label legendLabel = new Label(composite, SWT.BORDER);
    legendLabel.setSize(50, 25);
    legendLabel.setText("Legend");
    FormData labelFormData = new FormData(50, 25);
    labelFormData.bottom = new FormAttachment(legendComposite, 0);
    labelFormData.right = new FormAttachment(legendComposite, 300);
    legendLabel.setLayoutData(labelFormData);

}

From source file:org.eclipse.jpt.common.ui.tests.internal.jface.DelegatingTreeContentProviderUiTest.java

License:Open Source License

private TreeViewer buildTreePanel(Composite parent, String labelText, ITreeContentProvider contentProvider,
        ILabelProvider labelProvider) {/*from  w ww.j  a v  a2  s. c  o  m*/
    Composite panel = new Composite(parent, SWT.NONE);
    panel.setLayoutData(new GridData(GridData.FILL_BOTH));
    panel.setLayout(new GridLayout());

    Label label = new Label(panel, SWT.LEFT);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    label.setText(labelText);

    final TreeViewer tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    tree.setContentProvider(contentProvider);
    tree.setLabelProvider(labelProvider);
    tree.setInput(this.root);

    return tree;
}

From source file:org.eclipse.jst.jsf.facesconfig.ui.page.ComponentsPage.java

License:Open Source License

private IContentOutlinePage getOutlinePage() {

    if (contentOutlinePage == null) {
        // The content outline is just a tree.
        ////from   w w  w  .  j  a  va 2s. co m
        class ComponentsContentOutlinePage extends ContentOutlinePage {
            public void createControl(Composite parent) {
                super.createControl(parent);
                TreeViewer contentOutlineViewer = getTreeViewer();
                contentOutlineViewer.addSelectionChangedListener(this);

                AdapterFactory adapterFactory = (AdapterFactory) getEditor().getAdapter(AdapterFactory.class);
                // Set up the tree viewer.
                contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
                contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
                contentOutlineViewer.addFilter(new ViewerFilter() {

                    public boolean select(Viewer viewer, Object parentElement, Object element) {
                        return FacesConfigPackage.eINSTANCE.getComponentType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getConverterType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getRenderKitType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getValidatorType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getAttributeType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getPropertyType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getFacetType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getRendererType().isInstance(element);
                    }
                });

                contentOutlineViewer.setSorter(new ViewerSorter());
                contentOutlineViewer.setInput(getInput());
            }

        }

        contentOutlinePage = new ComponentsContentOutlinePage();

        // Listen to selection so that we can handle it is a special
        // way.
        //
        contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
            // This ensures that we handle selections correctly.
            public void selectionChanged(SelectionChangedEvent event) {
                setSelection(event.getSelection());
            }
        });

        addSelectionChangedListener((ContentOutlinePage) contentOutlinePage);
    }

    return contentOutlinePage;

}

From source file:org.eclipse.jst.jsf.facesconfig.ui.page.ManagedBeanPage.java

License:Open Source License

private IContentOutlinePage getOutlinePage() {

    if (contentOutlinePage == null) {
        // The content outline is just a tree.
        ///*from w  ww  . ja  va 2 s  . c o  m*/
        class ManagedBeanContentOutlinePage extends ContentOutlinePage {
            public void createControl(Composite parent) {
                super.createControl(parent);
                TreeViewer contentOutlineViewer = getTreeViewer();
                contentOutlineViewer.addSelectionChangedListener(this);

                AdapterFactory adapterFactory = (AdapterFactory) getEditor().getAdapter(AdapterFactory.class);
                // Set up the tree viewer.
                contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
                contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
                contentOutlineViewer.addFilter(new ViewerFilter() {

                    public boolean select(Viewer viewer, Object parentElement, Object element) {
                        return FacesConfigPackage.eINSTANCE.getManagedBeanType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getManagedPropertyType().isInstance(element);
                    }
                });

                contentOutlineViewer.setSorter(new ViewerSorter());
                contentOutlineViewer.setInput(getInput());
            }

        }

        contentOutlinePage = new ManagedBeanContentOutlinePage();

        // Listen to selection so that we can handle it is a special
        // way.
        //
        contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
            // This ensures that we handle selections correctly.
            public void selectionChanged(SelectionChangedEvent event) {
                setSelection(event.getSelection());
            }
        });

        // this.addSelectionChangedListener((ContentOutlinePage)
        // contentOutlinePage);
    }

    return contentOutlinePage;

}

From source file:org.eclipse.jst.jsf.facesconfig.ui.page.OthersPage.java

License:Open Source License

private IContentOutlinePage getOutlinePage() {

    if (contentOutlinePage == null) {
        // The content outline is just a tree.
        ///*w w w  . j  ava 2s  . co m*/
        class OthersContentOutlinePage extends ContentOutlinePage {
            public void createControl(Composite parent) {
                super.createControl(parent);
                TreeViewer contentOutlineViewer = getTreeViewer();
                contentOutlineViewer.addSelectionChangedListener(this);

                AdapterFactory adapterFactory = (AdapterFactory) getEditor().getAdapter(AdapterFactory.class);
                // Set up the tree viewer.
                contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
                contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
                contentOutlineViewer.addFilter(new ViewerFilter() {

                    public boolean select(Viewer viewer, Object parentElement, Object element) {
                        return FacesConfigPackage.eINSTANCE.getApplicationType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getFactoryType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getLifecycleType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getActionListenerType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getDefaultRenderKitIdType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getLocaleConfigType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getDefaultLocaleType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getSupportedLocaleType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getMessageBundleType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getNavigationHandlerType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getPropertyResolverType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getStateManagerType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getVariableResolverType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getViewHandlerType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getApplicationFactoryType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getFacesContextFactoryType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getLifecycleFactoryType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getRenderKitFactoryType().isInstance(element)
                                || FacesConfigPackage.eINSTANCE.getPhaseListenerType().isInstance(element)

                        ;
                    }
                });

                contentOutlineViewer.setSorter(new ViewerSorter());
                contentOutlineViewer.setInput(getInput());
            }

        }

        contentOutlinePage = new OthersContentOutlinePage();

        // Listen to selection so that we can handle it is a special
        // way.
        //
        contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
            // This ensures that we handle selections correctly.
            public void selectionChanged(SelectionChangedEvent event) {
                setSelection(event.getSelection());
            }
        });

    }

    return contentOutlinePage;

}

From source file:org.eclipse.jst.jsf.facesconfig.ui.section.ManagedBeanMasterSection.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent, FormToolkit toolkit) {
    Composite treeContainer = toolkit.createComposite(parent);
    toolkit.paintBordersFor(treeContainer);

    GridData gd = new GridData(GridData.FILL_BOTH);
    treeContainer.setLayoutData(gd);//w  ww  .  java2  s.c o  m
    GridLayout layout = new GridLayout();
    treeContainer.setLayout(layout);

    // Create tree viewer
    TreeViewer treeViewer = new TreeViewer(treeContainer,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    gd = new GridData(GridData.FILL_BOTH);
    treeViewer.getControl().setLayoutData(gd);

    //Bug 312727 - [JSF2.0] Add view scope to FacesConfigEditor for Managed Beans
    IContentProvider contentProvider = new ManagedBeanContentProvider();
    final IFacesConfigPage page = getPage();
    if (page != null) {
        final IEditorInput input = page.getEditorInput();
        if (input instanceof FileEditorInput) {
            final IFile file = ((FileEditorInput) input).getFile();
            if (file != null) {
                final IProject project = file.getProject();
                if (project != null) {
                    contentProvider = new ManagedBeanContentProvider(project);
                }
            }
        }
    }
    treeViewer.setContentProvider(contentProvider);

    treeViewer.setLabelProvider(new ManagedBeanLabelProvider());
    treeViewer.addSelectionChangedListener(this);

    treeViewer.setAutoExpandLevel(3);
    return treeViewer;
}

From source file:org.eclipse.jst.jsp.ui.tests.TaglibIndexDeltaTraceView.java

License:Open Source License

void showSelectionDetail(final Composite composite) {
    IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
    if (!selection.isEmpty()) {
        final TaglibIndexDelta selectedDelta = (TaglibIndexDelta) selection.getFirstElement();
        final ITableLabelProvider tableLabelProvider = ((ITableLabelProvider) fViewer.getLabelProvider());
        String columnText = tableLabelProvider.getColumnText(selectedDelta, 1);
        columnText = columnText + ":" + tableLabelProvider.getColumnText(selectedDelta, 2);
        new Dialog(composite.getShell()) {
            public void create() {
                setShellStyle(getShellStyle() | SWT.RESIZE);
                super.create();
            }/*www .  j  av  a2 s  .com*/

            protected Control createDialogArea(final Composite parent) {
                final Composite inner = new Composite(parent, SWT.NONE);
                inner.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
                final Sash sash = new Sash(inner, SWT.HORIZONTAL);

                final TreeViewer treeViewer = new TreeViewer(inner);
                treeViewer.setContentProvider(new ITreeContentProvider() {
                    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
                    }

                    public void dispose() {
                    }

                    public Object[] getElements(Object inputElement) {
                        return getChildren(inputElement);
                    }

                    public boolean hasChildren(Object element) {
                        return getChildren(element).length > 0;
                    }

                    public Object getParent(Object element) {
                        return selectedDelta;
                    }

                    public Object[] getChildren(Object parentElement) {
                        if (parentElement instanceof TaglibIndexDelta) {
                            TaglibIndexDelta taglibIndexDelta = ((TaglibIndexDelta) parentElement);
                            if (taglibIndexDelta.getTrigger() != null) {
                                List combined = new ArrayList();
                                combined.add(taglibIndexDelta.getTrigger());
                                combined.addAll(Arrays.asList(taglibIndexDelta.getAffectedChildren()));
                                return combined.toArray();
                            }
                            return taglibIndexDelta.getAffectedChildren();
                        }
                        return new Object[0];
                    }
                });
                treeViewer.setLabelProvider(new LabelProvider() {
                    public String getText(Object element) {
                        if (element instanceof ITaglibIndexDelta) {
                            ITaglibIndexDelta taglibIndexDelta = ((ITaglibIndexDelta) element);
                            if (taglibIndexDelta.getTaglibRecord() != null)
                                return taglibIndexDelta.toString();
                            String text = tableLabelProvider.getColumnText(selectedDelta, 1);
                            text = text + ":" + tableLabelProvider.getColumnText(selectedDelta, 2);
                            return text;
                        }
                        return StringUtils.firstLineOf(super.getText(element));
                    }
                });
                treeViewer.setInput(selectedDelta);

                final Text text = new Text(inner, SWT.MULTI);

                treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
                    public void selectionChanged(SelectionChangedEvent event) {
                        IStructuredSelection selection2 = (IStructuredSelection) treeViewer.getSelection();
                        if (!selection2.isEmpty())
                            text.setText("" + (selection2).getFirstElement());
                        else
                            text.setText("");
                    }
                });

                final FormLayout form = new FormLayout();
                inner.setLayout(form);

                FormData firstData = new FormData();
                firstData.top = new FormAttachment(0, 0);
                firstData.bottom = new FormAttachment(sash, 2);
                firstData.left = new FormAttachment(0, 0);
                firstData.right = new FormAttachment(100, 0);
                treeViewer.getControl().setLayoutData(firstData);

                FormData secondData = new FormData();
                secondData.top = new FormAttachment(sash, 2);
                secondData.left = new FormAttachment(0, 0);
                secondData.right = new FormAttachment(100, 0);
                secondData.bottom = new FormAttachment(100, 0);
                text.setLayoutData(secondData);

                final FormData sashData = new FormData();
                sashData.top = new FormAttachment(60, 0);
                sashData.left = new FormAttachment(0, 0);
                sashData.right = new FormAttachment(100, 0);
                sash.setLayoutData(sashData);
                sash.addListener(SWT.Selection, new org.eclipse.swt.widgets.Listener() {
                    public void handleEvent(Event e) {
                        sashData.top = new FormAttachment(0, e.y);
                        inner.layout();
                    }
                });
                return sash;
            }
        }.open();
    }
}

From source file:org.eclipse.jst.pagedesigner.editors.palette.DesignerPaletteCustomizerDialog.java

License:Open Source License

@Override
protected TreeViewer createOutlineTreeViewer(Composite composite) {
    TreeViewer viewer = super.createOutlineTreeViewer(composite);
    viewer.setContentProvider(new DesignerPaletteContentProvider());
    return viewer;
}

From source file:org.eclipse.jubula.client.toolkit.ui.view.ToolkitOverView.java

License:Open Source License

/** {@inheritDoc} */
public void createPartControl(Composite parent) {
    final FilteredTree ft = new JBFilteredTree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            new JBPatternFilter(), true);
    setTreeViewer(ft.getViewer());/*from   w ww  .  j a v a  2s  . c o m*/

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setContentProvider(new OverViewContentProvider());
    treeViewer.setLabelProvider(new OverViewLabelProvider());
    treeViewer.setSorter(new ViewerSorter());
    treeViewer.setInput(COMP_SYSTEM);

    getSite().setSelectionProvider(treeViewer);
}