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

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

Introduction

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

Prototype

@Override
public IBaseLabelProvider getLabelProvider() 

Source Link

Document

The tree viewer implementation of this Viewer framework method ensures that the given label provider is an instance of either ITableLabelProvider or ILabelProvider.

Usage

From source file:org.eclipse.tm.te.tcf.filesystem.controls.FSTreeControl.java

License:Open Source License

@Override
protected ViewerComparator doCreateTreeViewerComparator(TreeViewer viewer) {
    return new FSTreeViewerComparator(viewer, (ILabelProvider) viewer.getLabelProvider());
}

From source file:org.eclipse.tm.te.tcf.processes.ui.controls.ProcessesTreeControl.java

License:Open Source License

@Override
protected ViewerComparator doCreateTreeViewerComparator(TreeViewer viewer) {
    return new TreeViewerComparator(viewer, (ILabelProvider) viewer.getLabelProvider());
}

From source file:org.eclipse.wst.sse.ui.internal.quickoutline.StringPatternFilter.java

License:Open Source License

public boolean select(Viewer viewer, Object parentElement, Object element) {
    StringMatcher matcher = fStringMatcher;
    if (matcher == null || !(viewer instanceof TreeViewer))
        return true;
    TreeViewer treeViewer = (TreeViewer) viewer;

    String matchName = ((ILabelProvider) treeViewer.getLabelProvider()).getText(element);
    matchName = TextProcessor.deprocess(matchName);
    if (matchName != null && matcher.match(matchName))
        return true;

    return hasUnfilteredChild(treeViewer, element);
}

From source file:org.eclipse.xtext.ui.editor.outline.impl.OutlinePage.java

License:Open Source License

protected void refreshViewer(final IOutlineNode rootNode, final Collection<IOutlineNode> nodesToBeExpanded,
        final Collection<IOutlineNode> selectedNodes) {
    DisplayRunHelper.runAsyncInDisplayThread(new Runnable() {
        @Override// www.  j  ava 2  s  .  co  m
        public void run() {
            try {
                TreeViewer treeViewer = getTreeViewer();
                if (!treeViewer.getTree().isDisposed()) {
                    if (treeViewer.getLabelProvider() != labelProvider) {
                        if (treeViewer.getInput() != null && treeViewer.getContentProvider() != null)
                            treeViewer.setInput(null);
                        treeViewer.setLabelProvider(labelProvider);
                    }
                    if (treeViewer.getContentProvider() != contentProvider) {
                        if (treeViewer.getInput() != null && treeViewer.getContentProvider() != null)
                            treeViewer.setInput(null);
                        treeViewer.setContentProvider(contentProvider);
                    }
                    treeViewer.setInput(rootNode);
                    treeViewer.expandToLevel(1);
                    treeViewer.setExpandedElements(Iterables.toArray(nodesToBeExpanded, IOutlineNode.class));
                    treeViewer.setSelection(
                            new StructuredSelection(Iterables.toArray(selectedNodes, IOutlineNode.class)));
                    ISelectionProvider selectionProvider = sourceViewer.getSelectionProvider();
                    selectionProvider.setSelection(selectionProvider.getSelection());
                    treeUpdated();
                }
            } catch (Throwable t) {
                LOG.error("Error refreshing outline", t);
            }
        }
    });
}

From source file:org.erlide.ui.editors.erl.outline.QuickOutlineNamePatternFilter.java

License:Open Source License

@Override
public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
    // Element passes the filter if the string matcher is undefined or the
    // viewer is not a tree viewer
    if (fStringMatcher == null || !(viewer instanceof TreeViewer)) {
        return true;
    }//from   ww  w . j  ava 2  s.c o  m
    final TreeViewer treeViewer = (TreeViewer) viewer;
    // Match the pattern against the label of the given element
    final String matchName = ((ILabelProvider) treeViewer.getLabelProvider()).getText(element);
    // Element passes the filter if it matches the pattern
    if (matchName != null && fStringMatcher.match(matchName)) {
        return true;
    }
    // Determine whether the element has children that pass the filter
    return hasUnfilteredChild(treeViewer, element);
}

From source file:org.jbehave.eclipse.editor.story.PatternViewFilter.java

License:Open Source License

/**
 * The default implementation considers//from w w  w.  j a  v a 2s. c om
 * that the viewer's {@link IBaseLabelProvider} implements
 * {@link TextProvider}.
 * 
 * Override this method to change the default behavior.
 * 
 * @param treeViewer
 * @return
 */
protected TextProvider getTextProvider(TreeViewer treeViewer) {
    return (TextProvider) treeViewer.getLabelProvider();
}

From source file:org.jkiss.dbeaver.ui.navigator.project.ProjectExplorerView.java

License:Open Source License

private void createColumns(final TreeViewer viewer) {
    final Color shadowColor = viewer.getControl().getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);

    final LabelProvider mainLabelProvider = (LabelProvider) viewer.getLabelProvider();
    columnController = new ViewerColumnController("projectExplorer", viewer);
    columnController.addColumn("Name", "Resource name", SWT.LEFT, true, true,
            new TreeColumnViewerLabelProvider(new LabelProvider() {
                @Override/*from  w w w. j a v  a 2  s.com*/
                public String getText(Object element) {
                    return mainLabelProvider.getText(element);
                }

                @Override
                public Image getImage(Object element) {
                    return mainLabelProvider.getImage(element);
                }
            }));

    columnController.addColumn("DataSource", "Datasource(s) associated with resource", SWT.LEFT, true, false,
            new TreeColumnViewerLabelProvider(new LabelProvider() {
                @Override
                public String getText(Object element) {
                    DBNNode node = (DBNNode) element;
                    if (node instanceof DBNDatabaseNode) {
                        return ((DBNDatabaseNode) node).getDataSourceContainer().getName();
                    } else if (node instanceof DBNResource) {
                        Collection<DBPDataSourceContainer> containers = ((DBNResource) node)
                                .getAssociatedDataSources();
                        if (!CommonUtils.isEmpty(containers)) {
                            StringBuilder text = new StringBuilder();
                            for (DBPDataSourceContainer container : containers) {
                                if (text.length() > 0) {
                                    text.append(", ");
                                }
                                text.append(container.getName());
                            }
                            return text.toString();
                        }
                    }
                    return "";
                }

                @Override
                public Image getImage(Object element) {
                    /*
                                    DBNNode node = (DBNNode) element;
                                    if (node instanceof DBNDatabaseNode) {
                    return DBeaverIcons.getImage(((DBNDatabaseNode) node).getDataSourceContainer().getDriver().getIcon());
                                    } else if (node instanceof DBNResource) {
                    Collection<DBPDataSourceContainer> containers = ((DBNResource) node).getAssociatedDataSources();
                    if (containers != null && containers.size() == 1) {
                        return DBeaverIcons.getImage((containers.iterator().next().getDriver().getIcon()));
                    }
                                    }
                    */
                    return null;
                }

            }));
    columnController.addColumn("Preview", "Script content preview", SWT.LEFT, false, false,
            new LazyLabelProvider(shadowColor) {
                @Override
                public String getLazyText(Object element) {
                    return ((DBNNode) element).getNodeDescription();
                }
            });
    columnController.addColumn("Size", "File size", SWT.LEFT, false, false,
            new TreeColumnViewerLabelProvider(new LabelProvider() {
                @Override
                public String getText(Object element) {
                    DBNNode node = (DBNNode) element;
                    if (node instanceof DBNResource) {
                        IResource resource = ((DBNResource) node).getResource();
                        if (resource instanceof IFile) {
                            return String.valueOf(resource.getLocation().toFile().length());
                        }
                    }
                    return "";
                }
            }));
    columnController.addColumn("Modified", "Time the file was last modified", SWT.LEFT, false, false,
            new TreeColumnViewerLabelProvider(new LabelProvider() {
                private SimpleDateFormat sdf = new SimpleDateFormat(UIUtils.DEFAULT_TIMESTAMP_PATTERN);

                @Override
                public String getText(Object element) {
                    DBNNode node = (DBNNode) element;
                    if (node instanceof DBNResource) {
                        IResource resource = ((DBNResource) node).getResource();
                        if (resource instanceof IFile) {
                            return sdf.format(new Date(resource.getLocation().toFile().lastModified()));
                        }
                    }
                    return "";
                }
            }));
    columnController.addColumn("Type", "Resource type", SWT.LEFT, false, false,
            new TreeColumnViewerLabelProvider(new LabelProvider() {
                @Override
                public String getText(Object element) {
                    DBNNode node = (DBNNode) element;
                    if (node instanceof DBNResource) {
                        IResource resource = ((DBNResource) node).getResource();
                        ProgramInfo program = ProgramInfo.getProgram(resource);
                        if (program != null) {
                            return program.getProgram().getName();
                        }
                    }
                    return "";
                }
            }));
    columnController.createColumns();
}

From source file:org.python.pydev.debug.codecoverage.PyCodeCoverageTestWorkbench.java

License:Open Source License

public void testPyCodeCoverageView() throws Exception {

    final PyCodeCoverageView view = PyCodeCoverageView.getView(true);
    //At this point it should have no folder selected and the option to run things in coverage should be
    //set to false.
    assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());
    assertTrue(PyCodeCoverageView.getChosenDir() == null);

    assertTrue(!view.allRunsGoThroughCoverage.getSelection());
    assertTrue(!PyCoveragePreferences.getInternalAllRunsDoCoverage());
    view.allRunsGoThroughCoverage.setSelection(true);
    view.allRunsGoThroughCoverage.notifyListeners(SWT.Selection, new Event());

    assertTrue(PyCoveragePreferences.getInternalAllRunsDoCoverage());
    assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());

    view.setSelectedContainer(sourceFolder);
    TreeViewer treeViewer = view.getTreeViewer();
    ITreeContentProvider cp = (ITreeContentProvider) treeViewer.getContentProvider();
    Object[] elements = cp.getElements(treeViewer.getInput());
    assertEquals(1, elements.length);/*from   w  w w. ja v  a  2  s  .  c  om*/
    ILabelProvider labelProvider = (ILabelProvider) treeViewer.getLabelProvider();
    assertEquals("pack_cov", labelProvider.getText(elements[0]));

    TestCaseUtils.assertContentsEqual(getInitialCoverageText(), view.getCoverageText());

    Object[] expandedElements = treeViewer.getExpandedElements();
    assertEquals(0, expandedElements.length);
    treeViewer.expandAll();
    expandedElements = treeViewer.getExpandedElements();
    assertEquals(1, expandedElements.length);

    view.executeRefreshAction(new NullProgressMonitor());
    expandedElements = treeViewer.getExpandedElements();
    assertEquals(1, expandedElements.length);

    assertTrue(PyCoveragePreferences.getAllRunsDoCoverage());

    final IWorkbench workBench = PydevPlugin.getDefault().getWorkbench();
    Display display = workBench.getDisplay();

    // Make sure to run the UI thread.
    final PyEdit modCovEditor = (PyEdit) PyOpenEditor.doOpenEditor(modCov);
    try {
        display.syncExec(new Runnable() {
            public void run() {
                LaunchShortcut launchShortcut = new LaunchShortcut();
                launchShortcut.launch(modCovEditor, "run");
            }
        });

        final String modCovCoverageText = StringUtils.replaceNewLines(getModCovCoverageText(), "\n");
        //Should be enough time for the refresh to happen!
        goToManual(10000, new ICallback<Boolean, Object>() {

            public Boolean call(Object arg) {
                return modCovCoverageText.equals(StringUtils.replaceNewLines(view.getCoverageText(), "\n"));
            }
        });

        TestCaseUtils.assertContentsEqual(modCovCoverageText, view.getCoverageText());

        //goToManual();
    } finally {
        try {
            modCovEditor.close(false);
        } catch (Exception e) {
            //ignore anything here
        }
    }

}

From source file:org.seasar.uruma.renderer.impl.TreeColumnRenderer.java

License:Apache License

private void setupColumnMap(final TreeColumnComponent uiComponent, final TreeColumn widget) {
    int columnNo = uiComponent.columnNo;
    String id = uiComponent.getId();
    String parentId = uiComponent.getParent().getId();

    PartContext context = getContext();/*from  w w w  .  j  a  va2  s . c  o  m*/
    WidgetHandle parentHandle = context.getWidgetHandle(parentId);
    if (parentHandle != null && parentHandle.instanceOf(TreeViewer.class)) {
        TreeViewer viewer = parentHandle.<TreeViewer>getCastWidget();
        IBaseLabelProvider baseLabelProvider = viewer.getLabelProvider();

        if (baseLabelProvider instanceof GenericTableLabelProvider) {
            GenericTableLabelProvider provider = (GenericTableLabelProvider) baseLabelProvider;
            provider.addColumnMap(columnNo, id);
        }
    }
}

From source file:org.springsource.ide.eclipse.commons.livexp.ui.util.SwtConnect.java

License:Open Source License

/**
 * Connect a filterbox model to a treeviewer. This assumes that the filter is text-based. The filter is applied to the labels of the elements in the tree.
 * <p>//from   w  ww  .j a v a 2 s.c o m
 * For the viewer filter to work correctly the ITreeContentProvider must provide a proper implementation of the 'getParent' method. If getParent only
 * returns null the viewer filter will not be able to check whether an element should be shown when a parent element is selected by the search filter.
 * <p>
 * Note: you can use {@link TreeElementWrappingContentProvider} in order to ensure that ITreeContentProvider keeps track of parent nodes properly.
 */
public static void connectTextBasedFilter(TreeViewer viewer, LiveExpression<Filter<String>> searchBoxModel,
        LabelProvider labels, ITreeContentProvider treeContent) {
    TreeAwareViewerFilter viewerFilter = new TreeAwareViewerFilter(viewer, Filters.acceptAll(), labels,
            treeContent);
    Disposable disposable = searchBoxModel.onChange(UIValueListener.from((e, filter) -> {
        viewerFilter.setFilter(searchBoxModel.getValue());
        viewer.refresh(true);
    }));
    viewer.setFilters(viewerFilter); //TODO: what if there are existing filters?
    viewer.getControl().addDisposeListener(de -> {
        disposable.dispose();
    });
    Stylers stylers = new Stylers(viewer.getTree().getFont());
    viewer.getControl().addDisposeListener(de -> {
        disposable.dispose();
        stylers.dispose();
    });
    ILabelProvider baseLabels = (ILabelProvider) viewer.getLabelProvider();
    Assert.isNotNull(baseLabels); //Can't add bolding support without this! Ensure label provider is set before calling this method

    viewer.setLabelProvider(boldMatchedElements(stylers, baseLabels, Filters.delegatingTo(searchBoxModel)));
}