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.egit.ui.internal.rebase.RebaseInteractiveView.java

License:Open Source License

private TreeViewer createPlanTreeViewer(Composite parent, FormToolkit toolkit) {

    Composite rebasePlanTableComposite = toolkit.createComposite(parent);
    toolkit.paintBordersFor(rebasePlanTableComposite);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(rebasePlanTableComposite);
    GridLayoutFactory.fillDefaults().extendedMargins(2, 2, 2, 2).applyTo(rebasePlanTableComposite);

    final Tree planTree = toolkit.createTree(rebasePlanTableComposite, SWT.FULL_SELECTION | SWT.MULTI);
    planTree.setHeaderVisible(true);//from  w  w  w.  j  av  a  2 s.  c  o m
    planTree.setLinesVisible(false);

    TreeViewer viewer = new TreeViewer(planTree);
    viewer.addSelectionChangedListener(new PlanViewerSelectionChangedListener());
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());
    viewer.getTree().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
    viewer.setContentProvider(RebaseInteractivePlanContentProvider.INSTANCE);
    return viewer;
}

From source file:org.eclipse.elk.core.ui.AlgorithmSelectionDialog.java

License:Open Source License

/**
 * Create the dialog area that displays the selection tree and filter text.
 * //from  w  w  w .j  a  va 2  s  .com
 * @param parent the parent composite
 * @return the control for the selection area
 */
private Control createSelectionTree(final Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);

    // create filter text
    final Text filterText = new Text(composite, SWT.BORDER);
    filterText.setText(Messages.getString("kiml.ui.59"));
    filterText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
    filterText.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_GRAY));

    // create tree viewer
    final TreeViewer treeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    final AlgorithmContentProvider contentProvider = new AlgorithmContentProvider();
    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            if (element instanceof LayoutAlgorithmData) {
                LayoutAlgorithmData algoData = (LayoutAlgorithmData) element;
                String bundleName = algoData.getBundleName();
                if (bundleName == null) {
                    return algoData.getName();
                } else {
                    return algoData.getName() + " (" + bundleName + ")";
                }
            } else if (element instanceof LayoutCategoryData) {
                LayoutCategoryData typeData = (LayoutCategoryData) element;
                if (typeData.getName() == null) {
                    return "Other";
                } else {
                    return typeData.getName();
                }
            }
            return super.getText(element);
        }
    });
    treeViewer.setSorter(new ViewerSorter() {
        public int category(final Object element) {
            if (element instanceof LayoutCategoryData) {
                LayoutCategoryData typeData = (LayoutCategoryData) element;
                // the "Other" layout type has empty identifier and is put to the bottom
                return typeData.getId().length() == 0 ? 1 : 0;
            }
            return super.category(element);
        }
    });
    treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    treeViewer.setInput(LayoutMetaDataService.getInstance());
    treeViewer.expandAll();
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(final DoubleClickEvent event) {
            okPressed();
        }
    });

    // set up a filter on the tree viewer using the filter text
    final Maybe<Boolean> filterChanged = new Maybe<Boolean>(Boolean.FALSE);
    final Maybe<Boolean> filterLeft = new Maybe<Boolean>(Boolean.FALSE);
    filterText.addModifyListener(new ModifyListener() {
        public void modifyText(final ModifyEvent e) {
            if (!filterChanged.get()) {
                filterChanged.set(Boolean.TRUE);
                filterText.setForeground(null);
                int pos = filterText.getCaretPosition();
                String newText = filterText.getText(pos - 1, pos - 1);
                filterText.setText(newText);
                filterText.setSelection(pos);
            } else {
                contentProvider.updateFilter(filterText.getText());
                treeViewer.refresh();
                treeViewer.expandAll();
                ILayoutMetaData selected = contentProvider.getBestFilterMatch();
                if (selected != null) {
                    treeViewer.setSelection(new StructuredSelection(selected));
                }
            }
        }
    });
    filterText.addFocusListener(new FocusListener() {
        public void focusGained(final FocusEvent e) {
            if (filterLeft.get() && !filterChanged.get()) {
                filterChanged.set(Boolean.TRUE);
                filterText.setForeground(null);
                filterText.setText("");
            }
        }

        public void focusLost(final FocusEvent e) {
            filterLeft.set(Boolean.TRUE);
        }
    });
    treeViewer.addFilter(new ViewerFilter() {
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            return contentProvider.applyFilter(element);
        }
    });

    // add a selection listener to the tree so that the selected element is displayed
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object element = selection.getFirstElement();
            if (element instanceof ILayoutMetaData) {
                updateValue((ILayoutMetaData) element);
            }
        }
    });

    composite.setLayout(new GridLayout());
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.minimumWidth = SELECTION_WIDTH;
    composite.setLayoutData(gridData);

    // register all selection listeners that have been stored in a list
    selectionProvider = treeViewer;
    for (ISelectionChangedListener listener : selectionListeners) {
        selectionProvider.addSelectionChangedListener(listener);
    }
    return composite;
}

From source file:org.eclipse.emf.cdo.dawn.ecoretools.diagram.part.DawnEcoreCreationWizardPage.java

License:Open Source License

@Override
protected boolean loadModelFile() {
    if (semanticModelURI == null) {
        return false;
    }//from   w w  w.  ja va 2s.  com

    Resource resource = getResourceSet().getResource(semanticModelURI, true);

    if (resource != null) {
        ComposedAdapterFactory adapterFactory = getAdapterFactory();

        TreeViewer viewer = (TreeViewer) getField("viewer");

        // Set the tree providers of the domain file contents
        AdapterFactoryContentProvider adapterContentProvider = new AdapterFactoryContentProvider(
                adapterFactory);
        adapterContentProvider.inputChanged(viewer, null, null);
        viewer.setContentProvider(new WizardContentProvider(adapterContentProvider));
        viewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

        viewer.setInput(resource.getContents());
        viewer.refresh();
        viewer.setSelection(new StructuredSelection(resource.getContents()), true);

        return true;
    }
    return false;
}

From source file:org.eclipse.emf.cdo.explorer.ui.checkouts.CDOCheckoutContentProvider.java

License:Open Source License

public static TreeViewer createTreeViewer(Composite container) {
    // TODO This is not lazy, async:
    CDOItemProvider parentItemProvider = new CDOItemProvider(null) {
        @Override//from w  w  w.j  a va  2 s .  c  o m
        public boolean hasChildren(Object element) {
            return getChildren(element).length != 0;
        }

        @Override
        public Object[] getChildren(Object element) {
            List<Object> children = new ArrayList<Object>();
            for (Object child : doGetChildren(element)) {
                if (child instanceof CDOCheckout || child instanceof CDOResourceFolder) {
                    children.add(child);
                }
            }

            return children.toArray();
        }

        private Object[] doGetChildren(Object element) {
            if (element instanceof CDOCheckout) {
                CDOCheckout checkout = (CDOCheckout) element;
                if (checkout.isOpen()) {
                    return checkout.getRootObject().eContents().toArray();
                }
            }

            return super.getChildren(element);
        }

        @Override
        public void fillContextMenu(IMenuManager manager, ITreeSelection selection) {
            // Do nothing.
        }
    };

    CDOCheckoutContentProvider contentProvider = new CDOCheckoutContentProvider();
    contentProvider.disposeWith(container);

    CDOCheckoutLabelProvider labelProvider = new CDOCheckoutLabelProvider(contentProvider);

    TreeViewer parentViewer = new TreeViewer(container, SWT.BORDER);
    parentViewer.setContentProvider(parentItemProvider);
    parentViewer.setLabelProvider(labelProvider);
    parentViewer.setInput(CDOExplorerUtil.getCheckoutManager());
    return parentViewer;
}

From source file:org.eclipse.emf.cdo.explorer.ui.ObjectListController.java

License:Open Source License

public void configure(final TreeViewer treeViewer) {
    Control control = treeViewer.getControl();
    contentProvider.disposeWith(control);

    // The contentProvider field just makes the labelProvider happy.
    treeViewer.setContentProvider(new ContentProvider());
    treeViewer//from   w  w  w . j  a v  a  2  s  .  co  m
            .setLabelProvider(new DecoratingStyledCellLabelProvider(labelProvider, new LabelDecorator(), null));
    treeViewer.setInput(wrappers);

    control.getDisplay().asyncExec(new Runnable() {
        public void run() {
            configureAsync(treeViewer, labelProvider);
        }
    });
}

From source file:org.eclipse.emf.cdo.ui.widgets.ComposeBranchPointComposite.java

License:Open Source License

/**
 * @since 4.4//from   www.  ja v a 2  s  .  c o  m
 */
protected TreeViewer createBranchViewer() {
    CDOItemProvider itemProvider = createBranchItemProvider();

    TreeViewer branchViewer = new TreeViewer(this, SWT.BORDER | SWT.SINGLE);
    branchViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    branchViewer.setLabelProvider(itemProvider);
    branchViewer.setContentProvider(itemProvider);

    branchViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            doubleClicked();
        }
    });

    return branchViewer;
}

From source file:org.eclipse.emf.compare.ui2.viewers.DiffViewPane.java

License:Open Source License

/**
 * Set the AncestorInput Provider./* ww  w  . j a v a  2 s .  co  m*/
 * 
 * @param input
 *            EditorInput
 */
private void setAncestorInputProvider(IEditorInput input) {
    if (((EMFCompareInput) input).getAncestor() != null) {
        Notifier selectedItem = ((EMFCompareInput) input).getAncestor();
        TreeViewer ancestorSide = ancestorView.getResourceTreeViewer();
        ancestorSide.setContentProvider(new StructureDiffPaneContentProvider(
                new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)));
        ancestorSide.setLabelProvider(new AdapterFactoryLabelProvider(
                new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)));
        ancestorSide.setInput(Lists.newArrayList(selectedItem));
    }
}

From source file:org.eclipse.emf.compare.ui2.viewers.DiffViewPane.java

License:Open Source License

/**
 * Set the LeftSide InputProvider.//from  ww w. ja v a2s  .  c  o m
 * 
 * @param input
 *            EditorInput
 */
private void setLeftSideInputProvider(IEditorInput input) {
    Notifier selectedItem = ((EMFCompareInput) input).getLeft();
    TreeViewer leftSideTreeViewer = leftView.getResourceTreeViewer();
    leftSideTreeViewer.setContentProvider(new StructureDiffPaneContentProvider(
            new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)));
    leftSideTreeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
            new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)));
    leftSideTreeViewer.setInput(Lists.newArrayList(selectedItem));
    leftView.setResourcePath(((Resource) selectedItem).getURI().toString());
}

From source file:org.eclipse.emf.compare.ui2.viewers.DiffViewPane.java

License:Open Source License

/**
 * Set the RightSide InputProvider./*from  w  w  w  .ja v  a 2  s.c  o m*/
 * 
 * @param input
 *            EditorInput
 */
private void setRighSideInputProvider(IEditorInput input) {
    Notifier selectedItem = ((EMFCompareInput) input).getRight();
    TreeViewer rightSideTreeViewer = rightView.getResourceTreeViewer();
    rightSideTreeViewer.setContentProvider(new StructureDiffPaneContentProvider(
            new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.Impl.INSTANCE)));
    rightSideTreeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
            new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)));
    rightSideTreeViewer.setInput(Lists.newArrayList(selectedItem));
    rightView.setResourcePath(((Resource) selectedItem).getURI().toString());
}

From source file:org.eclipse.emf.ecp.internal.ui.validation.ValidationTreeViewerFactory.java

License:Open Source License

/**
 * Creates a {@link TreeViewer} which is able to display validation results from
 * {@link org.eclipse.core.runtime.IStatus IStatus} objects.
 *
 * @param parent the parent of the viewer
 * @return the tree viewer/*w w w .j  av a  2s  .co  m*/
 */
public static TreeViewer createValidationViewer(Composite parent) {
    final Tree validationTree = new Tree(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    validationTree.setHeaderVisible(true);
    validationTree.setLinesVisible(true);
    final TreeViewer treeViewer = new TreeViewer(validationTree);

    final TreeColumn messageColumn = new TreeColumn(validationTree, SWT.LEFT);
    messageColumn.setAlignment(SWT.LEFT);
    messageColumn.setText(Messages.ValidationTreeViewerFactory_Description);
    messageColumn.setWidth(600);

    final TreeColumn objectColumn = new TreeColumn(validationTree, SWT.LEFT);
    objectColumn.setAlignment(SWT.LEFT);
    objectColumn.setText(Messages.ValidationTreeViewerFactory_Object);
    objectColumn.setWidth(200);

    final TreeColumn featureColumn = new TreeColumn(validationTree, SWT.LEFT);
    featureColumn.setAlignment(SWT.LEFT);
    featureColumn.setText(Messages.ValidationTreeViewerFactory_Feature);
    featureColumn.setWidth(200);

    treeViewer.setContentProvider(new ValidationContentProvider());
    treeViewer.setLabelProvider(new ValidationLabelProvider());
    addDoubleClickListener(treeViewer);
    return treeViewer;
}