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:org.eclipse.php.internal.ui.preferences.AbstractPHPPropertyPreferencePage.java

License:Open Source License

void openProjectSettings() {
    ListDialog dialog = new ListDialog(getShell()) {

        protected Control createDialogArea(Composite container) {
            Control area = super.createDialogArea(container);
            getTableViewer().setSorter(new ResourceSorter(ResourceSorter.NAME));
            return area;
        }/*from   ww w  . j  av a 2  s . co  m*/
    };
    dialog.setMessage(PHPUIMessages.AbstractPHPPropertyPreferencePage_3);
    dialog.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            return ((IWorkspace) inputElement).getRoot().getProjects();
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    dialog.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(),
            PHPUiPlugin.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
    dialog.setInput(ResourcesPlugin.getWorkspace());
    dialog.setTitle(PHPUIMessages.AbstractPHPPropertyPreferencePage_4);
    if (dialog.open() == Window.OK) {
        Object[] result = dialog.getResult();
        if (result.length > 0) {
            IProject project = (IProject) dialog.getResult()[0];
            Map data = new HashMap();
            data.put(DISABLE_LINK, Boolean.TRUE);
            PreferencesUtil.createPropertyDialogOn(getShell(), project, getPropertyPageID(),
                    new String[] { getPropertyPageID() }, data).open();
        }
    }
}

From source file:org.eclipse.php.internal.ui.preferences.PhpLibraryPreferencePage.java

License:Open Source License

/**
 * Constructor for ClasspathVariablesPreferencePage
 */// www.jav  a 2  s . co m
public PhpLibraryPreferencePage() {
    setPreferenceStore(DLTKUIPlugin.getDefault().getPreferenceStore());
    fDummyProject = createPlaceholderProject();

    fAttributeDescriptors = DLTKUIPlugin.getDefault().getClasspathAttributeConfigurationDescriptors();

    // title only used when page is shown programatically
    setTitle(PreferencesMessages.UserLibraryPreferencePage_title);
    setDescription(PreferencesMessages.UserLibraryPreferencePage_description);
    noDefaultAndApplyButton();

    fDialogSettings = DLTKUIPlugin.getDefault().getDialogSettings();

    UserLibraryAdapter adapter = new UserLibraryAdapter();

    handlers = new ArrayList<IPHPLibraryButtonHandler>();
    // NEW
    handlers.add(new NewButtonHandler());
    // EDIT
    handlers.add(new EditButtonHandler());
    // ADD
    handlers.add(new AddZipButtonHandler());
    // ADD EXTERNAL
    handlers.add(new AddExternalButtonHandler());
    // REMOVE
    handlers.add(new RemoveButtonHandler());
    // SEPARATOR
    handlers.add(new EmptyButtonHandler());
    // UP
    handlers.add(new UpButtonHandler());
    // DOWN
    handlers.add(new DownButtonHandler());
    // SEPARATOR
    handlers.add(new EmptyButtonHandler());
    // LOAD
    handlers.add(new LoadButtonHandler());
    // SAVE
    handlers.add(new SaveButtonHandler());

    List<IPHPLibraryButtonHandler> additionalHandlers = getHandlers();
    for (IPHPLibraryButtonHandler handler : additionalHandlers) {
        int position = handler.getPosition();
        if (position < 0) {
            position = 0;
        }
        if (position > handlers.size()) {
            position = handlers.size();
        }
        handlers.add(handler.getPosition(), handler);
    }

    String[] buttonLabels = new String[handlers.size()];
    int size = handlers.size();
    for (int i = 0; i < size; i++) {
        buttonLabels[i] = handlers.get(i).getLabel();
    }

    IDecoratorManager decoratorManager = PlatformUI.getWorkbench().getDecoratorManager();
    fLibraryList = new TreeListDialogField(adapter, buttonLabels,
            new DecoratingLabelProvider(new BPListLabelProvider(), decoratorManager));
    fLibraryList.setLabelText(PreferencesMessages.UserLibraryPreferencePage_libraries_label);

    String[] names = DLTKCore.getUserLibraryNames(getLanguageToolkit());
    ArrayList elements = new ArrayList();

    for (int i = 0; i < names.length; i++) {
        UserLibrary lib = ModelManager.getUserLibraryManager().getUserLibrary(names[i], getLanguageToolkit());

        if (lib != null) {
            IPath path = new Path(DLTKCore.USER_LIBRARY_CONTAINER_ID)
                    .append(UserLibraryManager.makeLibraryName(names[i], getLanguageToolkit()));

            try {
                IBuildpathContainer container = DLTKCore.getBuildpathContainer(path, fDummyProject);
                elements.add(new BPUserLibraryElement(names[i], container, fDummyProject, lib.getAttributes()));
            } catch (ModelException e) {
                DLTKUIPlugin.log(e);
                // ignore
            }
        }

    }
    fLibraryList.setElements(elements);
    fLibraryList.setViewerSorter(new BPListElementSorter());

    doSelectionChanged(fLibraryList); // update button enable state
}

From source file:org.eclipse.rap.demo.DemoTreeViewPart.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.setContentProvider(new TreeViewerContentProvider());
    ILabelDecorator labelDecorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    ILabelProvider labelProvider = new DecoratingLabelProvider(new ViewLabelProvider(), labelDecorator);
    viewer.setLabelProvider(labelProvider);
    viewer.setInput(this);
    viewer.addDoubleClickListener(this);
    getSite().setSelectionProvider(viewer);
}

From source file:org.eclipse.tcf.te.tcf.filesystem.ui.dialogs.FSFolderSelectionDialog.java

License:Open Source License

/**
 * Create a decorating label provider using the specified label provider.
 *
 * @param labelProvider The label provider that actually provides labels and images.
 * @return The decorating label provider.
 *///from w ww.  j ava2 s  .  com
private static ILabelProvider createDecoratingLabelProvider(ILabelProvider labelProvider) {
    IWorkbench workbench = PlatformUI.getWorkbench();
    IDecoratorManager manager = workbench.getDecoratorManager();
    ILabelDecorator decorator = manager.getLabelDecorator();
    return new DecoratingLabelProvider(labelProvider, decorator);
}

From source file:org.eclipse.tcf.te.tcf.processes.ui.internal.dialogs.AttachContextSelectionDialog.java

License:Open Source License

@Override
protected void createDialogAreaContent(Composite parent) {
    super.createDialogAreaContent(parent);

    // Set dialog title and default message
    setDialogTitle(Messages.AttachContextSelectionDialog_dialogTitle);
    setTitle(Messages.AttachContextSelectionDialog_title);
    setDefaultMessage(Messages.AttachContextSelectionDialog_message, IMessageProvider.INFORMATION);

    // Create the inner panel
    Composite panel = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;//  ww  w.  ja  va  2 s.  co  m
    layout.marginWidth = 0;
    panel.setLayout(layout);
    panel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Label filterLabel = new Label(panel, SWT.NONE);
    filterLabel.setText(Messages.AttachContextSelectionDialog_filter_label);

    PatternFilter filter = new PatternFilter() {
        @Override
        public boolean isElementSelectable(final Object element) {
            final AtomicBoolean canAttach = new AtomicBoolean();
            if (element instanceof IProcessContextNode) {
                Protocol.invokeAndWait(new Runnable() {
                    @Override
                    public void run() {
                        canAttach.set(canAttach(element));
                    }
                });
            }
            return element instanceof IProcessContextNode;
        }

        @Override
        protected boolean isLeafMatch(Viewer viewer, final Object element) {
            if (element instanceof IProcessContextNode) {
                final AtomicBoolean canAttach = new AtomicBoolean();
                Protocol.invokeAndWait(new Runnable() {
                    @Override
                    public void run() {
                        canAttach.set(canAttach(element));
                    }
                });
                return canAttach.get() && super.isLeafMatch(viewer, element);
            }
            return true;
        }
    };
    filter.setIncludeLeadingWildcard(true);
    filter.setPattern("org.eclipse.ui.keys.optimization.false"); //$NON-NLS-1$

    filteredTree = new FilteredTree(panel, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filter, true) {
        /* (non-Javadoc)
         * @see org.eclipse.ui.dialogs.FilteredTree#getFilterString()
         */
        @Override
        protected String getFilterString() {
            String filter = super.getFilterString();
            if (filter != null) {
                filter = filter.trim();
                if (filter.length() == 0) {
                    return "*"; //$NON-NLS-1$
                }
                return filter;
            }
            return null;
        }
    };
    viewer = filteredTree.getViewer();
    GridData gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    gd.minimumHeight = 250;
    gd.minimumWidth = 300;
    gd.widthHint = 300;
    gd.heightHint = 300;
    filteredTree.setLayoutData(gd);
    // needs to be set using reflection as it is e4
    // filteredTree.setQuickSelectionMode(true);
    try {
        Method method = filteredTree.getClass().getMethod("setQuickSelectionMode", Boolean.TYPE); //$NON-NLS-1$
        method.invoke(filteredTree, Boolean.TRUE);
    } catch (Throwable e) {
    }

    viewer.setContentProvider(new ContentProvider());
    DelegatingLabelProvider labelProvider = new DelegatingLabelProvider() {
        /* (non-Javadoc)
         * @see org.eclipse.tcf.te.ui.views.navigator.DelegatingLabelProvider#decorateText(java.lang.String, java.lang.Object)
         */
        @Override
        public String decorateText(String text, final Object element) {
            if (element instanceof IProcessContextNode) {

                final AtomicBoolean isAttached = new AtomicBoolean();
                final AtomicLong pid = new AtomicLong();
                Protocol.invokeAndWait(new Runnable() {
                    @Override
                    public void run() {
                        isAttached.set(isAttached(element));
                        pid.set(((IProcessContextNode) element).getSysMonitorContext().getPID());
                    }
                });

                String id = pid.get() >= 0 ? Long.toString(pid.get()) : ""; //$NON-NLS-1$
                if (id.startsWith("P")) //$NON-NLS-1$
                    id = id.substring(1);
                IPeerNode peerNode = (IPeerNode) ((IProcessContextNode) element).getAdapter(IPeerNode.class);
                IProcessMonitorUIDelegate delegate = ServiceUtils.getUIServiceDelegate(peerNode, peerNode,
                        IProcessMonitorUIDelegate.class);
                String newId = delegate != null ? delegate.getText(element, "PID", id) : null; //$NON-NLS-1$
                if (newId != null) {
                    text = NLS.bind(Messages.AttachContextSelectionDialog_pid_decoration, text, newId);
                }
                if (isAttached.get()) {
                    text = NLS.bind(Messages.AttachContextSelectionDialog_allReadyAttached_decoration, text);
                }
            }
            return text;
        }

        /* (non-Javadoc)
         * @see org.eclipse.tcf.te.ui.views.navigator.DelegatingLabelProvider#getForeground(java.lang.Object)
         */
        @Override
        public Color getForeground(final Object element) {
            final AtomicBoolean canAttach = new AtomicBoolean();
            final AtomicBoolean isAttached = new AtomicBoolean();
            Protocol.invokeAndWait(new Runnable() {
                @Override
                public void run() {
                    canAttach.set(canAttach(element));
                    isAttached.set(isAttached(element));
                }
            });
            if (!canAttach.get() || isAttached.get()) {
                return PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);
            }
            return null;
        }
    };
    viewer.setLabelProvider(new DecoratingLabelProvider(labelProvider, labelProvider));
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            validate();
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection
                    && ((IStructuredSelection) event.getSelection()).size() > 0) {
                final Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement();
                final AtomicBoolean valid = new AtomicBoolean();
                Protocol.invokeAndWait(new Runnable() {
                    @Override
                    public void run() {
                        valid.set(isValid(selected));
                    }
                });
                if (valid.get()) {
                    okPressed();
                }
            }
        }
    });

    viewer.setSorter(new TreeViewerSorterCaseInsensitive());

    EventManager.getInstance().addEventListener(this, ChangeEvent.class);

    restoreWidgetValues();
    setupData(data);
    applyDialogFont(panel);

    initDone = true;
}

From source file:org.eclipse.tcf.te.tcf.ui.controls.ContextSelectorSectionControl.java

License:Open Source License

@Override
protected void doConfigureTreeContentAndLabelProvider(TreeViewer viewer) {
    viewer.setContentProvider(new ContentProvider());
    DelegatingLabelProvider labelProvider = new DelegatingLabelProvider();
    viewer.setLabelProvider(new DecoratingLabelProvider(labelProvider, labelProvider));
}

From source file:org.eclipse.tcf.te.tcf.ui.dialogs.AbstractArraySelectionDialog.java

License:Open Source License

protected IBaseLabelProvider getLabelProvider() {
    DelegatingLabelProvider labelProvider = new DelegatingLabelProvider();
    return new DecoratingLabelProvider(labelProvider, labelProvider);
}

From source file:org.eclipse.team.internal.ccvs.ui.wizards.CVSWizardPage.java

License:Open Source License

protected TreeViewer createResourceSelectionTree(Composite composite, int types, int span) {
    TreeViewer tree = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setUseHashlookup(true);//from   w w w . j a  v a2 s.c om
    tree.setContentProvider(getResourceProvider(types));
    tree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(),
            CVSUIPlugin.getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator()));
    tree.setComparator(new ResourceComparator(ResourceComparator.NAME));

    GridData data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
    data.heightHint = LIST_HEIGHT_HINT;
    data.horizontalSpan = span;
    tree.getControl().setLayoutData(data);
    return tree;
}

From source file:org.eclipse.team.internal.ccvs.ui.wizards.RestoreFromRepositoryFileSelectionPage.java

License:Open Source License

protected TreeViewer createFileSelectionTree(CompareViewerPane composite) {
    TreeViewer tree = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setUseHashlookup(true);/* w ww .ja  va 2  s  . c  om*/
    tree.setContentProvider(treeInput.getTreeContentProvider());
    tree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider() {
        protected String decorateText(String input, Object element) {
            String text;
            if (element instanceof IFolder && element.equals(folder)) {
                text = super.decorateText(folder.getProjectRelativePath().toString(), element);
            } else {
                ILogEntry entry = (ILogEntry) filesToRestore.get(element);
                text = super.decorateText(input, element);
                if (entry != null) {
                    text = NLS.bind(CVSUIMessages.RestoreFromRepositoryFileSelectionPage_fileToRestore,
                            new String[] { text, entry.getRevision() });
                }
            }
            return text;
        }
    }, CVSUIPlugin.getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator()));
    tree.setComparator(new ResourceComparator(ResourceComparator.NAME));
    tree.setInput(treeInput);

    GridData data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
    tree.getTree().setLayoutData(data);
    tree.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleFileSelection(event);
        }
    });
    composite.setContent(tree.getControl());
    return tree;
}

From source file:org.eclipse.team.internal.ui.mapping.CommonViewerAdvisor.java

License:Open Source License

/**
 * Create the advisor using the given configuration
 * @param parent the parent// w  ww  . j  a  v a2 s  .  c om
 * @param configuration the configuration
 */
public CommonViewerAdvisor(Composite parent, ISynchronizePageConfiguration configuration) {
    super(configuration);
    final CommonViewer viewer = CommonViewerAdvisor.createViewer(parent, configuration, this);
    TeamUI.getTeamContentProviderManager().addPropertyChangeListener(this);
    configuration.addPropertyChangeListener(this);
    GridData data = new GridData(GridData.FILL_BOTH);
    viewer.getControl().setLayoutData(data);
    viewer.getNavigatorContentService().addListener(this);
    initializeViewer(viewer);
    IBaseLabelProvider provider = viewer.getLabelProvider();
    if (provider instanceof DecoratingLabelProvider) {
        DecoratingLabelProvider dlp = (DecoratingLabelProvider) provider;
        ILabelDecorator decorator = ((SynchronizePageConfiguration) configuration).getLabelDecorator();
        if (decorator != null) {
            ILabelProvider lp = dlp.getLabelProvider();
            dlp = new DecoratingLabelProvider(new DecoratingLabelProvider(lp, decorator),
                    PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator());
            viewer.setLabelProvider(dlp);
        }
        DecorationContext decorationContext = new DecorationContext();
        decorationContext.putProperty(SynchronizationStateTester.PROP_TESTER, new SynchronizationStateTester() {
            public boolean isStateDecorationEnabled() {
                return false;
            }
        });
        dlp.setDecorationContext(decorationContext);
    } else if (provider instanceof DecoratingStyledCellLabelProvider) {
        DecoratingStyledCellLabelProvider dsclp = (DecoratingStyledCellLabelProvider) provider;
        ILabelDecorator decorator = ((SynchronizePageConfiguration) configuration).getLabelDecorator();
        if (decorator != null) {
            IStyledLabelProvider slp = dsclp.getStyledStringProvider();
            dsclp = new DecoratingStyledCellLabelProvider(
                    new MyDecoratingStyledCellLabelProvider(slp, decorator),
                    PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), null);
            viewer.setLabelProvider(dsclp);
        }
        DecorationContext decorationContext = new DecorationContext();
        decorationContext.putProperty(SynchronizationStateTester.PROP_TESTER, new SynchronizationStateTester() {
            public boolean isStateDecorationEnabled() {
                return false;
            }
        });
        dsclp.setDecorationContext(decorationContext);
    }
}