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

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

Introduction

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

Prototype

public DecoratingLabelProvider(ILabelProvider provider, ILabelDecorator decorator) 

Source Link

Document

Creates a decorating label provider which uses the given label decorator to decorate labels provided by the given label provider.

Usage

From source file:de.quamoco.qm.editor.pages.HierarchyViewerPaneBase.java

License:Apache License

/** Initialize the {@link TreeViewer} displaying the hierarchy. */
protected void initTreeViewer(final TreeViewer treeViewer) {
    ResourceSet resourceSet = editor.getEditingDomain().getResourceSet();
    AdapterFactory adapterFactory = createAdapterFactory();

    // default label provider
    AdapterFactoryLabelProvider aflp = new AdapterFactoryLabelProvider.ColorProvider(adapterFactory,
            treeViewer);//w  ww  .j  a v a  2s.  com
    aflp.setFireLabelUpdateNotifications(true);
    aflp.addListener(new ILabelProviderListener() {

        @Override
        public void labelProviderChanged(final LabelProviderChangedEvent event) {
            if (Display.getDefault().getThread() != Thread.currentThread()) {
                Display.getDefault().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        treeViewer.update(event.getElements(), null);
                    }
                });
            } else if (!treeViewer.isBusy()) {
                treeViewer.update(event.getElements(), null);
            }
        }
    });

    // show the validation results
    ILabelProvider dlp = new DecoratingLabelProvider(aflp, new ProblemLabelDecorator(false));

    // show the different colors
    CustomLabelProvider clp = new CustomLabelProvider(dlp);
    treeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(clp));

    treeViewer.setInput(resourceSet);

    treeViewer.setSorter(new LabelProviderViewerSorter(clp, false, QmPackage.eINSTANCE.getFactor(),
            QmPackage.eINSTANCE.getMeasure(), QmPackage.eINSTANCE.getEntity()));
}

From source file:de.quamoco.qm.editor.pages.SelectionViewerPane.java

License:Apache License

/** Create the {@link TreeViewer} of this pane. */
private void createTreeViewer() {
    AdapterFactory adapterFactory = editor.getAdapterFactory();
    EditingDomain editingDomain = editor.getEditingDomain();

    treeViewer = getViewer();//from   w w w .  j  a v  a 2s .c  om
    treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

    ILabelProvider lp = new AdapterFactoryLabelProvider.ColorProvider(adapterFactory, treeViewer);
    lp = new DecoratingLabelProvider(lp, new ProblemLabelDecorator(true));
    CustomLabelProvider clp = new CustomLabelProvider(lp);

    treeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(clp));
    treeViewer.setInput(editingDomain.getResourceSet());
    treeViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
            true);
    treeViewer.setSorter(new LabelProviderViewerSorter(clp, false, QmPackage.eINSTANCE.getEntity(),
            QmPackage.eINSTANCE.getFactor(), QmPackage.eINSTANCE.getMeasure(), QmPackage.eINSTANCE.getSource(),
            QmPackage.eINSTANCE.getTag(), QmPackage.eINSTANCE.getTool(), QmPackage.eINSTANCE.getEvaluation(),
            QmPackage.eINSTANCE.getMeasurementMethod()));

    new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
}

From source file:de.quamoco.qm.incubator.HierarchyViewBase.java

License:Apache License

/**
 * {@inheritDoc}//w  ww . j a  v  a  2 s  .c  o m
 */
@Override
public void createPartControl(Composite parent) {

    treeViewer = new TreeViewer(parent, SWT.NULL);
    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));

    ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
            ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
    adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());

    treeViewer.setContentProvider(new ContentProvider());
    ILabelProvider labelProvider = new DecoratingLabelProvider(new AdapterFactoryLabelProvider(adapterFactory),
            new ColorDecorator());
    treeViewer.setLabelProvider(labelProvider);

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        /**
         * {@inheritDoc}
         */
        public void doubleClick(DoubleClickEvent event) {
            if (viewerProvider != null) {
                IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
                viewerProvider.getViewer()
                        .setSelection(new StructuredSelection(structuredSelection.getFirstElement()), true);
            }
        }

    });
}

From source file:edu.isistan.carcha.components.WorkbenchTreeViewer.java

License:Open Source License

/**
 * Inits the label provider.//from   w  ww.ja v  a  2s . com
 *
 * @param viewer the viewer
 */
protected void initLabelProvider(TreeViewer viewer) {
    viewer.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(),
            IDEWorkbenchPlugin.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
}

From source file:es.cv.gvcase.ide.navigator.provider.MOSKittCommonContentProvider.java

License:Open Source License

/**
 * Builds a {@link ComposedAdapterFactory} using the current list of
 * factories.//from   w w w.j a  v a  2 s  .  c  om
 */
protected void buildFactory() {
    factory = new ComposedAdapterFactory(factories);
    ILabelDecorator labelDecorator = getLabelDecorator();
    if (labelDecorator != null) {
        decoratedLabelProvider = new DecoratingLabelProvider(new AdapterFactoryLabelProvider(factory),
                labelDecorator);
    } else {
        decoratedLabelProvider = null;
    }

    groupableFactory = new GroupableAdapterFactory(factory);
}

From source file:eu.modelwriter.marker.startup.Startup.java

License:Open Source License

/**
 * Initializes decorator for given EcoreEditor.
 *///from   ww w.ja va  2  s  . c  o m
private void initDecoratingLabelProvider(EcoreEditor eEditor) {
    TreeViewer treeViewer = (TreeViewer) eEditor.getViewer();
    ILabelProvider labelProvider = (ILabelProvider) treeViewer.getLabelProvider();

    if (labelProvider instanceof DecoratingLabelProvider) {
        return;
    } else {
        ILabelDecorator decorator = window.getWorkbench().getDecoratorManager().getLabelDecorator();
        treeViewer.setLabelProvider(new DecoratingLabelProvider(labelProvider, decorator));
    }
}

From source file:eu.modelwriter.marker.ui.internal.views.contextualview.ContextualView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {

    ContextualView.treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI);
    this.tree = ContextualView.treeViewer.getTree();
    ContextualView.treeViewer.setContentProvider(new ContextualViewTreeContentProvider());

    final ContextualViewTreeLabelProvider baseLabelprovider = new ContextualViewTreeLabelProvider();
    final ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    ContextualView.treeViewer.setLabelProvider(new DecoratingLabelProvider(baseLabelprovider, decorator));
    this.getSite().setSelectionProvider(ContextualView.treeViewer);

    this.registerContextMenu();

    PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {

        @Override/*from   w  ww.  j a  v  a2  s. c o  m*/
        public void run() {
            ResourcesPlugin.getWorkspace().addResourceChangeListener(new IResourceChangeListener() {
                @Override
                public void resourceChanged(final IResourceChangeEvent event) {
                    if (event.findMarkerDeltas(MarkerFactory.MARKER_MARKING, true).length != 0) {
                        if (!ContextualView.this.tree.isDisposed()) {
                            ContextualView.refreshTree();
                        }
                    }
                }
            }, IResourceChangeEvent.POST_CHANGE);
        }
    });

    ContextualView.treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            final IMarker selected = (IMarker) selection.getFirstElement();
            try {
                IDE.openEditor(Activator.getActiveWorkbenchWindow().getActivePage(), MarkerFactory
                        .findMarkerBySourceId(selected.getResource(), MarkUtilities.getSourceId(selected)));
                // final IWorkbenchPage page =
                // PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
                // IViewPart viewPart = page.findView(TargetView.ID);
                // if (viewPart == null) {
                // viewPart = page.showView(TargetView.ID);
                // }
                // if (viewPart instanceof TargetView) {
                // if (MarkUtilities.getType(selected) != null) {
                // final Map<IMarker, String> targets =
                // AlloyUtilities.getRelationsOfFirstSideMarker(selected);
                // TargetView.setColumns(targets.keySet());
                // } else {
                // final ArrayList<IMarker> targets =
                // AlloyUtilities.getTargetsOfMarkerAtRelations(selected);
                // TargetView.setColumns(targets);
                // }
                // }
                // viewPart = page.findView(SourceView.ID);
                // if (viewPart == null) {
                // viewPart = page.showView(SourceView.ID);
                // }
                // if (viewPart instanceof SourceView) {
                // if (MarkUtilities.getType(selected) != null) {
                // final ArrayList<IMarker> sources = AlloyUtilities.getSumSources(selected);
                // SourceView.setColumns(sources);
                // } else {
                // final ArrayList<IMarker> sources =
                // AlloyUtilities.getSourcesOfMarkerAtRelations(selected);
                // SourceView.setColumns(sources);
                // }
                // }
            } catch (final PartInitException e) {
                e.printStackTrace();
            }
        }
    });

    this.tree.addKeyListener(new KeyListener() {

        @Override
        public void keyPressed(final KeyEvent e) {
            if (e.keyCode == SWT.DEL) {
                final IStructuredSelection selection = ContextualView.treeViewer.getStructuredSelection();
                if (selection.isEmpty()) {
                    return;
                } else {
                    final IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                            .getActivePage().getActiveEditor();
                    final TreeItem[] items = ContextualView.treeViewer.getTree().getSelection();
                    final List<TreeItem> listItems = Arrays.asList(items);
                    ContextualView.this.candidateToDel = new HashMap<>();
                    ContextualView.this.candidateToTypeChanging = new ArrayList<>();
                    ContextualView.this.checkIfHasSource = new ArrayList<>();
                    for (final TreeItem treeItem : listItems) {
                        final IMarker iMarker = (IMarker) treeItem.getData();
                        if (MarkUtilities.getGroupId(iMarker) == null) {
                            AnnotationFactory.removeAnnotation(iMarker);
                            ContextualView.this.candidateToDel.put(MarkUtilities.getSourceId(iMarker), iMarker);
                            ContextualView.this.checkIfHasSource.add(iMarker);
                        } else if (MarkUtilities.getLeaderId(iMarker) != null) {
                            ContextualView.this.checkIfHasSource.add(iMarker);
                            final IFile file = ResourceUtil.getFile(editor.getEditorInput());
                            final List<IMarker> listOfGroup = MarkerFactory.findMarkersByGroupId(file,
                                    MarkUtilities.getGroupId(iMarker));
                            for (final IMarker iMarker2 : listOfGroup) {
                                AnnotationFactory.removeAnnotation(iMarker2);
                                ContextualView.this.candidateToDel.put(MarkUtilities.getSourceId(iMarker2),
                                        iMarker2);
                            }
                        } else {
                            if (ContextualView.this.candidateToDel.containsValue(iMarker)) {
                                continue;
                            }
                            AnnotationFactory.removeAnnotation(iMarker);
                            ContextualView.this.candidateToDel.put(MarkUtilities.getSourceId(iMarker), iMarker);
                        }
                    }
                }
                try {
                    for (final IMarker iMarker : ContextualView.this.checkIfHasSource) {
                        ContextualView.this.findCandidateToTypeChangingMarkers(iMarker);
                    }
                    for (final IMarker candidateMarker : ContextualView.this.candidateToTypeChanging) {
                        if (!ContextualView.this.candidateToDel.containsValue(candidateMarker)) {
                            AnnotationFactory.convertAnnotationType(candidateMarker, true, false,
                                    AlloyUtilities.getTotalTargetCount(candidateMarker));
                        }
                    }
                    for (final Map.Entry<String, IMarker> entry : ContextualView.this.candidateToDel
                            .entrySet()) {
                        ContextualView.this.deleteFromAlloyXML(entry.getValue());
                        entry.getValue().delete();
                    }
                } catch (final CoreException e2) {
                    e2.printStackTrace();
                }
            }
        }

        @Override
        public void keyReleased(final KeyEvent e) {
        }
    });
}

From source file:eu.numberfour.n4js.ui.navigator.N4JSProjectExplorerLabelProvider.java

License:Open Source License

/**
 * Sole constructor.//  w w w .  j  a v  a 2  s .c om
 */
public N4JSProjectExplorerLabelProvider() {
    decorator = new N4JSProjectExplorerProblemsDecorator();
    workbenchLabelProvider = new WorkbenchLabelProvider();
    delegate = new DecoratingLabelProvider(workbenchLabelProvider, decorator);
    workingSetLabelProviderListener = new ILabelProviderListener() {

        @Override
        public void labelProviderChanged(final LabelProviderChangedEvent event) {
            final LabelProviderChangedEvent wrapperEvent = createWorkingSetWrapperEvent(event);
            if (null != wrapperEvent) {
                UIUtils.getDisplay().asyncExec(() -> fireLabelProviderChanged(wrapperEvent));
            }
        }

    };
    delegate.addListener(workingSetLabelProviderListener);
}

From source file:eu.udig.catalog.ng.ui.CatalogNGTreeView.java

License:Open Source License

/**
 * Construct <code>CatalogNGTreeView</code>.
 * //from  w  w w  .jav  a 2s . com
 * @param parent Parent component
 * @param style The other constructor uses SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER
 * @todo    add custom sorter 
 */
public CatalogNGTreeView(Composite parent, int style, boolean titles, String type) {
    super(parent, style | SWT.VIRTUAL);

    setContentProvider(new ResolveContentProvider());

    ResolveLabelProviderSimple resolveLabelProviderSimple = new ResolveLabelProviderSimple();
    NGResolveLabelProvider ngResolveLabelProvider = new NGResolveLabelProvider();
    if (titles) {
        setLabelProvider(new DecoratingLabelProvider(resolveLabelProviderSimple,
                new ResolveTitlesDecorator(resolveLabelProviderSimple)));
    } else {
        //setLabelProvider(resolveLabelProviderSimple);
        setLabelProvider(ngResolveLabelProvider);
    }

    setContentProvider(getContentProvider());

    setLabelProvider(getLabelProvider());
    setUseHashlookup(true);

}

From source file:ext.org.eclipse.jdt.internal.ui.jarimport.JarImportWizardPage.java

License:Open Source License

/**
 * Creates the input group./*from w w w  .  jav  a2s. c  o  m*/
 *
 * @param parent
 *            the parent control
 */
protected void createInputGroup(final Composite parent) {
    Assert.isNotNull(parent);
    new Label(parent, SWT.NONE);
    final Label label = new Label(parent, SWT.NONE);
    label.setText(JarImportMessages.JarImportWizardPage_import_message);
    final StandardJavaElementContentProvider contentProvider = new StandardJavaElementContentProvider() {

        @Override
        public Object[] getChildren(Object element) {
            if ((element instanceof IJavaProject) || (element instanceof IJavaModel))
                return super.getChildren(element);
            return new Object[0];
        }

        @Override
        protected Object[] getJavaProjects(final IJavaModel model) throws JavaModelException {
            final Set<IJavaProject> set = new HashSet<IJavaProject>();
            final IJavaProject[] projects = model.getJavaProjects();
            for (int index = 0; index < projects.length; index++) {
                if (JarImportWizard.isValidJavaProject(projects[index])) {
                    final Object[] roots = getPackageFragmentRoots(projects[index]);
                    if (roots.length > 0)
                        set.add(projects[index]);
                }
            }
            return set.toArray();
        }

        @Override
        protected Object[] getPackageFragmentRoots(final IJavaProject project) throws JavaModelException {
            final Set<IPackageFragmentRoot> set = new HashSet<IPackageFragmentRoot>();
            final IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
            for (int offset = 0; offset < roots.length; offset++) {
                IPackageFragmentRoot root = roots[offset];
                IClasspathEntry entry = root.getRawClasspathEntry();
                if (JarImportWizard.isValidClassPathEntry(entry)
                        && root.getResolvedClasspathEntry().getReferencingEntry() == null)
                    set.add(root);
            }
            return set.toArray();
        }

        @Override
        public boolean hasChildren(final Object element) {
            return (element instanceof IJavaProject) || (element instanceof IJavaModel);
        }
    };

    final DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS
                    | JavaElementLabelProvider.SHOW_OVERLAY_ICONS | JavaElementLabelProvider.SHOW_SMALL_ICONS),
            new ProblemsLabelDecorator(null));
    fTreeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.BORDER);
    fTreeViewer.getTree().setLayoutData(createGridData(GridData.FILL_BOTH, 6, 0));
    fTreeViewer.setLabelProvider(labelProvider);
    fTreeViewer.setContentProvider(contentProvider);
    fTreeViewer.addFilter(new EmptyPackageFilter());
    fTreeViewer.setComparator(new JavaElementComparator());
    fTreeViewer.setAutoExpandLevel(2);
    fTreeViewer.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));
    final IPackageFragmentRoot root = fWizard.getPackageFragmentRoot();
    if (root != null) {
        fTreeViewer.setSelection(new StructuredSelection(new Object[] { root }), true);
        fTreeViewer.expandToLevel(root, 1);
    }
    fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            handleInputChanged();
        }
    });
    if (contentProvider.getChildren(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot())).length == 0) {
        fTreeViewer.getControl().setEnabled(false);
        label.setEnabled(false);
    }
}