Example usage for org.eclipse.jface.viewers ViewerCell setForeground

List of usage examples for org.eclipse.jface.viewers ViewerCell setForeground

Introduction

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

Prototype

public void setForeground(Color foreground) 

Source Link

Document

Set the foreground color of the cell.

Usage

From source file:org.openscada.da.ui.widgets.realtime.ItemCellLabelProvider.java

License:Open Source License

private void updateListEntry(final ListEntry listEntry, final ViewerCell cell) {
    cell.setFont(listEntry.getFont());/*  w ww. java 2s  .c  o m*/
    cell.setForeground(listEntry.getForeground());
    cell.setBackground(listEntry.getBackground());

    switch (cell.getColumnIndex()) {
    case 0:
        cell.setImage(listEntry.getImage());
        cell.setText(listEntry.getDataItem().getItem().getId());
        break;
    case 1:
        if (listEntry.getSubscriptionError() != null) {
            cell.setText(String.format("%s (%s)", listEntry.getSubscriptionState(), //$NON-NLS-1$
                    listEntry.getSubscriptionError().getMessage()));
        } else {
            cell.setText(listEntry.getSubscriptionState().name());
        }
        break;
    case 2:
        if (listEntry.getValue() != null) {
            cell.setText(listEntry.getValue().getType().name());
        }
        break;
    case 3:
        if (listEntry.getValue() != null) {
            cell.setText(listEntry.getValue().asString("<null>")); //$NON-NLS-1$
        }
        break;
    default:
        break;
    }
}

From source file:org.pepstock.jem.plugin.views.jobs.running.RunningLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex()));
    Job job = (Job) cell.getElement();/*from ww  w.j a  va 2  s .  c  om*/
    // if job is waiting, sets gray color
    if (job.getRunningStatus() == Job.WAITING_FOR_RESOURCES) {
        Display display = Display.getCurrent();
        Color gray = display.getSystemColor(SWT.COLOR_GRAY);
        cell.setForeground(gray);
    } else {
        Display display = Display.getCurrent();
        Color gray = display.getSystemColor(SWT.COLOR_BLACK);
        cell.setForeground(gray);
    }
}

From source file:org.polymap.p4.imports.labels.MessageCellLabelProvider.java

License:Open Source License

private void applyStyleViaSWT(ViewerCell cell, int severity) {
    int color = SWT.COLOR_BLACK;
    if (severity == IStatus.ERROR) {
        color = SWT.COLOR_RED;//from  w  ww.  j a va  2 s  .c  o m
    } else if (severity == IStatus.WARNING) {
        color = SWT.COLOR_DARK_YELLOW;
    }
    cell.setForeground(Display.getCurrent().getSystemColor(color));
}

From source file:org.rssowl.ui.internal.dialogs.CustomizeToolbarDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite container = createContainer(parent);

    Label infoLabel = new Label(container, SWT.None);
    infoLabel.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1));
    infoLabel.setText(Messages.CustomizeToolbarDialog_DIALOG_INFO);

    /* Table showing Tool Items */
    Composite tableContainer = new Composite(container, SWT.NONE);
    tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    CTable cTable = new CTable(tableContainer, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    fItemViewer = new TableViewer(cTable.getControl());
    fItemViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fItemViewer.getTable().setHeaderVisible(false);
    ((GridData) fItemViewer.getTable().getLayoutData()).heightHint = fItemViewer.getTable().getItemHeight()
            * 24;// w  w w  .j  a v a 2 s  . c  om
    fItemViewer.getTable().setFocus();
    fItemViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());

    /* Custom Owner Drawn Category */
    if (!OwlUI.isHighContrast()) {
        fItemViewer.getControl().addListener(SWT.EraseItem, new Listener() {
            public void handleEvent(Event event) {
                ToolBarItem item = (ToolBarItem) event.item.getData();
                if (item.item == CoolBarItem.SEPARATOR) {
                    Scrollable scrollable = (Scrollable) event.widget;
                    GC gc = event.gc;

                    Rectangle area = scrollable.getClientArea();
                    Rectangle rect = event.getBounds();

                    /* Paint the selection beyond the end of last column */
                    OwlUI.codExpandRegion(event, scrollable, gc, area);

                    /* Draw Gradient Rectangle */
                    Color oldForeground = gc.getForeground();
                    Color oldBackground = gc.getBackground();

                    /* Gradient */
                    gc.setBackground(fSeparatorBg);
                    gc.fillRectangle(0, rect.y, area.width, rect.height);

                    /* Top / Bottom Line */
                    gc.setForeground(fSeparatorBorderFg);
                    gc.drawLine(0, rect.y + rect.height - 1, area.width, rect.y + rect.height - 1);
                    gc.drawLine(0, rect.y, area.width, rect.y);

                    gc.setForeground(oldForeground);
                    gc.setBackground(oldBackground);

                    /* Mark as Background being handled */
                    event.detail &= ~SWT.BACKGROUND;
                }
            }
        });
    }

    TableColumn nameCol = new TableColumn(fItemViewer.getTable(), SWT.NONE);

    CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100);
    cTable.manageColumn(nameCol, data, Messages.CustomizeToolbarDialog_VISIBLE_ITEMS, null, null, false, false);

    /* ContentProvider returns all selected Items */
    fItemViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            int[] itemIds = fPreferences.getIntegers(DefaultPreferences.TOOLBAR_ITEMS);
            ToolBarItem[] items = new ToolBarItem[itemIds.length];
            for (int i = 0; i < itemIds.length; i++) {
                items[i] = new ToolBarItem(CoolBarItem.values()[itemIds[i]]);
            }
            return items;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    fItemViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            CoolBarItem item = ((ToolBarItem) cell.getElement()).item;
            cell.setText(item.getName());

            if (item.getImg() != null)
                cell.setImage(fResources.createImage(item.getImg()));

            if (!OwlUI.isHighContrast() && item == CoolBarItem.SPACER)
                cell.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
        }
    });

    /* Selection */
    fItemViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtonEnablement();
        }
    });

    /* Support Keyboard Remove */
    fItemViewer.getTable().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.DEL || (Application.IS_MAC && e.keyCode == SWT.BS))
                onRemove();
        }
    });

    /* Drag Support */
    fItemViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            new DragSourceAdapter() {
                @Override
                public void dragStart(final DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            IStructuredSelection selection = (IStructuredSelection) fItemViewer.getSelection();
                            event.doit = (selection.size() < fItemViewer.getTable().getItemCount());

                            if (event.doit) {
                                LocalSelectionTransfer.getTransfer().setSelection(selection);
                                LocalSelectionTransfer.getTransfer()
                                        .setSelectionSetTime(event.time & 0xFFFFFFFFL);
                            }
                            ;
                        }
                    });
                }

                @Override
                public void dragSetData(final DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType))
                                event.data = LocalSelectionTransfer.getTransfer().getSelection();
                        }
                    });
                }

                @Override
                public void dragFinished(DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            LocalSelectionTransfer.getTransfer().setSelection(null);
                            LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
                        }
                    });
                }
            });

    /* Drop Support */
    ViewerDropAdapter dropSupport = new ViewerDropAdapter(fItemViewer) {

        @Override
        public boolean validateDrop(Object target, int operation, TransferData transferType) {
            return true;
        }

        @Override
        public boolean performDrop(Object data) {
            ToolBarItem target = (ToolBarItem) getCurrentTarget();
            if (target != null) {
                onMove((StructuredSelection) data, target, getCurrentLocation());
                return true;
            }

            return false;
        }
    };
    dropSupport.setFeedbackEnabled(true);
    dropSupport.setScrollEnabled(true);
    dropSupport.setSelectionFeedbackEnabled(true);
    fItemViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            dropSupport);

    /* Set Dummy Input */
    fItemViewer.setInput(this);

    /* Container for the Buttons to Manage Providers */
    Composite buttonContainer = new Composite(container, SWT.None);
    buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false));

    /* Add */
    fAddMenu = new Menu(getShell(), SWT.POP_UP);
    fAddMenu.addMenuListener(new MenuListener() {
        public void menuShown(MenuEvent e) {
            MenuItem[] items = fAddMenu.getItems();
            for (MenuItem item : items) {
                item.dispose();
            }

            /* Fill not yet visible Items */
            int[] toolbarItemIds = fPreferences.getIntegers(DefaultPreferences.TOOLBAR_ITEMS);
            List<CoolBarItem> visibleItems = new ArrayList<CoolBarItem>();
            for (int toolbarItemId : toolbarItemIds) {
                visibleItems.add(CoolBarItem.values()[toolbarItemId]);
            }

            CoolBarItem[] toolItems = getSortedItems();
            int currentGroup = -1;
            for (final CoolBarItem toolItem : toolItems) {
                if (!visibleItems.contains(toolItem) || toolItem == CoolBarItem.SEPARATOR
                        || toolItem == CoolBarItem.SPACER) {

                    /* Divide Groups by Separators */
                    if (currentGroup >= 0 && currentGroup != toolItem.getGroup())
                        new MenuItem(fAddMenu, SWT.SEPARATOR);

                    /* Create Menu Item */
                    MenuItem item = new MenuItem(fAddMenu, SWT.PUSH);
                    if (StringUtils.isSet(toolItem.getTooltip()))
                        item.setText(toolItem.getTooltip());
                    else
                        item.setText(toolItem.getName());
                    if (toolItem.getImg() != null)
                        item.setImage(fResources.createImage(toolItem.getImg()));

                    item.addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(SelectionEvent e) {

                            /* Add Item */
                            onAdd(toolItem);

                            /* Re-Open Menu for More */
                            JobRunner.runInUIThread(fAddMenu, new Runnable() {
                                public void run() {
                                    fAddMenu.setVisible(true);
                                };
                            });
                        }
                    });

                    currentGroup = toolItem.getGroup();
                }
            }
        }

        public void menuHidden(MenuEvent e) {
        }
    });

    fAddButton = new Button(buttonContainer, SWT.DOWN);
    fAddButton.setText(Messages.CustomizeToolbarDialog_ADD);
    applyDialogFont(fAddButton);
    setButtonLayoutData(fAddButton);
    fAddButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Rectangle rect = fAddButton.getBounds();
            Point pt = new Point(rect.x, rect.y + rect.height);
            pt = fAddButton.toDisplay(pt);
            fAddMenu.setLocation(pt.x, pt.y);
            fAddMenu.setVisible(true);
        }
    });

    /* Remove */
    fRemoveButton = new Button(buttonContainer, SWT.PUSH);
    fRemoveButton.setText(Messages.CustomizeToolbarDialog_REMOVE);
    fRemoveButton.setEnabled(false);
    applyDialogFont(fRemoveButton);
    setButtonLayoutData(fRemoveButton);
    fRemoveButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onRemove();
        }
    });

    /* Move Provider Up */
    fMoveUpButton = new Button(buttonContainer, SWT.PUSH);
    fMoveUpButton.setText(Messages.CustomizeToolbarDialog_MOVE_UP);
    fMoveUpButton.setEnabled(false);
    applyDialogFont(fMoveUpButton);
    setButtonLayoutData(fMoveUpButton);
    ((GridData) fMoveUpButton.getLayoutData()).verticalIndent = 10;
    fMoveUpButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(true);
        }
    });

    /* Move Provider Down */
    fMoveDownButton = new Button(buttonContainer, SWT.PUSH);
    fMoveDownButton.setText(Messages.CustomizeToolbarDialog_MOVE_DOWN);
    fMoveDownButton.setEnabled(false);
    applyDialogFont(fMoveDownButton);
    setButtonLayoutData(fMoveDownButton);
    fMoveDownButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(false);
        }
    });

    /* Restore Defaults */
    fRestoreDefaults = new Button(buttonContainer, SWT.PUSH);
    fRestoreDefaults.setText(Messages.CustomizeToolbarDialog_RESTORE_DEFAULTS);
    applyDialogFont(fRestoreDefaults);
    setButtonLayoutData(fRestoreDefaults);
    ((GridData) fRestoreDefaults.getLayoutData()).grabExcessVerticalSpace = true;
    ((GridData) fRestoreDefaults.getLayoutData()).verticalAlignment = SWT.END;
    fRestoreDefaults.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onRestoreDefaults();
        }
    });

    /* Toolbar Mode */
    Composite modeContainer = new Composite(container, SWT.None);
    modeContainer.setLayout(LayoutUtils.createGridLayout(2, 5, 0));
    modeContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false, 2, 1));

    Label showLabel = new Label(modeContainer, SWT.NONE);
    showLabel.setText(Messages.CustomizeToolbarDialog_SHOW);

    fModeViewer = new ComboViewer(modeContainer, SWT.READ_ONLY | SWT.BORDER);
    fModeViewer.setContentProvider(new ArrayContentProvider());
    fModeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof CoolBarMode) {
                switch ((CoolBarMode) element) {
                case IMAGE:
                    return Messages.CustomizeToolbarDialog_ICONS;
                case TEXT:
                    return Messages.CustomizeToolbarDialog_TEXT;
                case IMAGE_TEXT_VERTICAL:
                    return Messages.CustomizeToolbarDialog_ICONS_AND_TEXT;
                case IMAGE_TEXT_HORIZONTAL:
                    return Messages.CustomizeToolbarDialog_ICONS_AND_TEXT_SMALL;
                }
            }

            return super.getText(element);
        }
    });

    fModeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            CoolBarMode mode = (CoolBarMode) selection;
            fPreferences.putInteger(DefaultPreferences.TOOLBAR_MODE, mode.ordinal());
        }
    });

    fModeViewer.setInput(CoolBarAdvisor.CoolBarMode.values());
    fModeViewer.setSelection(new StructuredSelection(
            CoolBarMode.values()[fPreferences.getInteger(DefaultPreferences.TOOLBAR_MODE)]));

    /* Separator */
    new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL)
            .setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

    applyDialogFont(container);

    return container;
}

From source file:org.rssowl.ui.internal.dialogs.NewsFiltersListDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {

    /* Separator */
    new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL)
            .setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

    /* Title *///from   w w w.  j  a va  2s.c  o m
    setTitle(Messages.NewsFiltersListDialog_NEWS_FILTERS);

    /* Title Image */
    setTitleImage(OwlUI.getImage(fResources, "icons/wizban/filter_wiz.png")); //$NON-NLS-1$

    /* Composite to hold all components */
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(LayoutUtils.createGridLayout(2, 5, 10));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Composite tableContainer = new Composite(composite, SWT.NONE);
    tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    CTable cTable = new CTable(tableContainer, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    fViewer = new CheckboxTableViewer(cTable.getControl());
    fViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fViewer.getTable().setHeaderVisible(true);
    ((GridData) fViewer.getTable().getLayoutData()).heightHint = fViewer.getTable().getItemHeight() * 15;
    fViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());

    TableColumn nameCol = new TableColumn(fViewer.getTable(), SWT.NONE);

    CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100);
    cTable.manageColumn(nameCol, data, Messages.NewsFiltersListDialog_NAME, null, null, false, false);

    /* ContentProvider returns all filters */
    fViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            return fSearchFilterDao.loadAll().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    fViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            ISearchFilter filter = (ISearchFilter) cell.getElement();
            Display display = fViewer.getControl().getDisplay();
            if (filter.isEnabled())
                cell.setText(filter.getName());
            else
                cell.setText(NLS.bind(Messages.NewsFiltersListDialog_FILTER_DISABLED, filter.getName()));
            cell.setImage(fFilterIcon);
            if (!OwlUI.isHighContrast())
                cell.setForeground(filter.isEnabled() ? display.getSystemColor(SWT.COLOR_BLACK)
                        : display.getSystemColor(SWT.COLOR_DARK_GRAY));
        }
    });

    /* Sort */
    fViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            ISearchFilter filter1 = (ISearchFilter) e1;
            ISearchFilter filter2 = (ISearchFilter) e2;

            return filter1.getOrder() < filter2.getOrder() ? -1 : 1;
        }
    });

    /* Selection */
    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            fEditButton.setEnabled(!selection.isEmpty());
            fDeleteButton.setEnabled(!selection.isEmpty());
            fApplySelectedFilter.setEnabled(!selection.isEmpty() && selection.size() == 1);

            updateMoveEnablement();
        }
    });

    /* Doubleclick */
    fViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            onEdit();
        }
    });

    /* Set input (ignored by ContentProvider anyways) */
    fViewer.setInput(this);
    updateCheckedState();

    /* Listen on Check State Changes */
    fViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ISearchFilter filter = (ISearchFilter) event.getElement();
            filter.setEnabled(event.getChecked());
            fSearchFilterDao.save(filter);
            fViewer.update(filter, null);
            updateTitle();
        }
    });

    /* Container for the Buttons to Manage Filters */
    Composite buttonContainer = new Composite(composite, SWT.None);
    buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false));

    /* Adds a new Filter */
    Button addButton = new Button(buttonContainer, SWT.PUSH);
    addButton.setText(Messages.NewsFiltersListDialog_NEW);
    addButton.setFocus();
    applyDialogFont(addButton);
    setButtonLayoutData(addButton);
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onAdd();
        }
    });

    /* Edits a selected Filter */
    fEditButton = new Button(buttonContainer, SWT.PUSH);
    fEditButton.setText(Messages.NewsFiltersListDialog_EDIT);
    applyDialogFont(fEditButton);
    setButtonLayoutData(fEditButton);
    fEditButton.setEnabled(false);
    fEditButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onEdit();
        }
    });

    /* Deletes the selected Filter */
    fDeleteButton = new Button(buttonContainer, SWT.PUSH);
    fDeleteButton.setText(Messages.NewsFiltersListDialog_DELETE);
    applyDialogFont(fDeleteButton);
    setButtonLayoutData(fDeleteButton);
    fDeleteButton.setEnabled(false);
    fDeleteButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onDelete();
        }
    });

    /* Move Filter Up */
    fMoveUpButton = new Button(buttonContainer, SWT.PUSH);
    fMoveUpButton.setText(Messages.NewsFiltersListDialog_MOVE_UP);
    fMoveUpButton.setEnabled(false);
    applyDialogFont(fMoveUpButton);
    setButtonLayoutData(fMoveUpButton);
    ((GridData) fMoveUpButton.getLayoutData()).verticalIndent = 10;
    fMoveUpButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(true);
        }
    });

    /* Move Filter Down */
    fMoveDownButton = new Button(buttonContainer, SWT.PUSH);
    fMoveDownButton.setText(Messages.NewsFiltersListDialog_MOVE_DOWN);
    fMoveDownButton.setEnabled(false);
    applyDialogFont(fMoveDownButton);
    setButtonLayoutData(fMoveDownButton);
    fMoveDownButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(false);
        }
    });

    Composite buttonBar = new Composite(composite, SWT.NONE);
    buttonBar.setLayout(LayoutUtils.createGridLayout(2, 0, 0));
    buttonBar.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1));

    /* Button to apply filter on all News */
    fApplySelectedFilter = new Button(buttonBar, SWT.PUSH);
    fApplySelectedFilter.setText(Messages.NewsFiltersListDialog_RUN_SELECTED_FILTER);
    fApplySelectedFilter.setEnabled(false);
    applyDialogFont(fApplySelectedFilter);
    setButtonLayoutData(fApplySelectedFilter);
    ((GridData) fApplySelectedFilter.getLayoutData()).grabExcessHorizontalSpace = false;
    ((GridData) fApplySelectedFilter.getLayoutData()).horizontalAlignment = SWT.BEGINNING;
    fApplySelectedFilter.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onApplySelectedFilter();
        }
    });

    /* Close */
    Button closeButton = new Button(buttonBar, SWT.PUSH);
    closeButton.setText(Messages.NewsFiltersListDialog_CLOSE);
    applyDialogFont(closeButton);
    setButtonLayoutData(closeButton);
    ((GridData) closeButton.getLayoutData()).grabExcessHorizontalSpace = true;
    ((GridData) closeButton.getLayoutData()).horizontalAlignment = SWT.END;
    closeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            close();
        }
    });

    /* Update Title Message */
    updateTitle();

    /* Set Selection if provided */
    if (fSelectedFilter != null)
        fViewer.setSelection(new StructuredSelection(fSelectedFilter), true);

    applyDialogFont(composite);

    return composite;
}

From source file:org.rssowl.ui.internal.dialogs.preferences.ManageLabelsPreferencePage.java

License:Open Source License

private void createViewer(Composite container) {
    fViewer = new TreeViewer(container, SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI);
    fViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    ((GridData) fViewer.getTree().getLayoutData()).heightHint = 190;
    fViewer.getTree().setFont(OwlUI.getBold(JFaceResources.DIALOG_FONT));
    fViewer.getTree().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());

    /* Content Provider */
    fViewer.setContentProvider(new ITreeContentProvider() {
        public Object[] getElements(Object inputElement) {
            return CoreUtils.loadSortedLabels().toArray();
        }//from  www .ja v  a  2s .c om

        public Object[] getChildren(Object parentElement) {
            return null;
        }

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

        public boolean hasChildren(Object element) {
            return false;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    final RGB listBackground = fViewer.getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)
            .getRGB();
    final RGB listSelectionBackground = fViewer.getControl().getDisplay()
            .getSystemColor(SWT.COLOR_LIST_SELECTION).getRGB();
    fViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            ILabel label = (ILabel) cell.getElement();

            /* Text */
            cell.setText(label.getName());

            /* Color */
            if (!OwlUI.isHighContrast()) {
                RGB labelRGB = OwlUI.getRGB(label);
                if (!listBackground.equals(labelRGB) && !listSelectionBackground.equals(labelRGB))
                    cell.setForeground(OwlUI.getColor(fResources, labelRGB));
                else
                    cell.setForeground(null);
            }
        }
    });

    /* Set dummy Input */
    fViewer.setInput(new Object());

    /* Edit on Doubleclick */
    fViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            onEdit();
        }
    });
}

From source file:org.rssowl.ui.internal.ManageLabelsPreferencePage.java

License:Open Source License

private void createViewer(Composite container) {
    fViewer = new TreeViewer(container, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
    fViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    /* Content Provider */
    fViewer.setContentProvider(new ITreeContentProvider() {
        public Object[] getElements(Object inputElement) {
            return DynamicDAO.loadAll(ILabel.class).toArray();
        }//ww  w .ja v a2 s.  c o m

        public Object[] getChildren(Object parentElement) {
            return null;
        }

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

        public boolean hasChildren(Object element) {
            return false;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    fViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            ILabel label = (ILabel) cell.getElement();

            /* Text */
            cell.setText(label.getName());

            /* Color */
            cell.setForeground(OwlUI.getColor(fResources, label));
        }
    });

    /* Set dummy Input */
    fViewer.setInput(new Object());

    /* Edit on Doubleclick */
    fViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            onEdit();
        }
    });
}

From source file:org.rssowl.ui.internal.views.explorer.BookMarkLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    int unreadNewsCount = 0;

    /* Create Label for a Folder */
    if (element instanceof IFolder) {
        IFolder folder = (IFolder) element;
        int newNewsCount = 0;
        boolean hasSticky = false;

        if (fIndicateState) {
            FolderDecorationHelper helper = new FolderDecorationHelper();
            computeFolderDecoration(folder, helper);

            hasSticky = helper.fHasSticky;
            unreadNewsCount = helper.fUnreadCount;
            newNewsCount = helper.fNewCount;
        }/*  www  .j a  va2  s . co  m*/

        /* Image */
        if (folder.getParent() == null)
            cell.setImage(fBookmarkSetIcon);
        else if (newNewsCount == 0)
            cell.setImage(fFolderIcon);
        else
            cell.setImage(fFolderNewIcon);

        /* Font */
        if (unreadNewsCount > 0)
            cell.setFont(fBoldFont);
        else
            cell.setFont(fDefaultFont);

        /* Text */
        if (unreadNewsCount > 0)
            cell.setText(
                    NLS.bind(Messages.BookMarkLabelProvider_NAME_UNREAD, folder.getName(), unreadNewsCount));
        else
            cell.setText(folder.getName());

        /* Reset Foreground */
        cell.setForeground(null);

        /* Background Color */
        if (hasSticky && !OwlUI.isHighContrast())
            cell.setBackground(fStickyBgColor);
        else
            cell.setBackground(null);
    }

    /* Create generic Label for instances of INewsMark */
    else if (element instanceof INewsMark) {
        boolean hasNew = false;
        int stickyNewsCount = 0;
        INewsMark newsmark = (INewsMark) element;

        if (fIndicateState) {
            unreadNewsCount = newsmark
                    .getNewsCount(EnumSet.of(INews.State.NEW, INews.State.UNREAD, INews.State.UPDATED));
            hasNew = newsmark.getNewsCount(EnumSet.of(INews.State.NEW)) != 0;
        }

        /* Font */
        if (unreadNewsCount > 0)
            cell.setFont(fBoldFont);
        else
            cell.setFont(fDefaultFont);

        /* Text */
        if (unreadNewsCount > 0)
            cell.setText(
                    NLS.bind(Messages.BookMarkLabelProvider_NAME_UNREAD, newsmark.getName(), unreadNewsCount));
        else
            cell.setText(newsmark.getName());

        /* Background for IBookMark (TODO Support All News Marks) */
        if (newsmark instanceof IBookMark && fIndicateState)
            stickyNewsCount = ((IBookMark) newsmark).getStickyNewsCount();

        /* Background Color */
        if (stickyNewsCount > 0 && !OwlUI.isHighContrast())
            cell.setBackground(fStickyBgColor);
        else
            cell.setBackground(null);

        /* Reset Foreground */
        cell.setForeground(null);

        /* Icon */
        if (newsmark instanceof IBookMark)
            cell.setImage(getIconForBookMark((IBookMark) newsmark, hasNew));
        else if (newsmark instanceof ISearchMark)
            cell.setImage(getIconForSearchMark((ISearchMark) newsmark, hasNew, unreadNewsCount));
        else if (newsmark instanceof INewsBin)
            cell.setImage(getIconForNewsBin((INewsBin) newsmark, hasNew, unreadNewsCount));
    }

    /* Create Label for EntityGroup */
    else if (element instanceof EntityGroup) {
        EntityGroup group = (EntityGroup) element;

        /* Text */
        cell.setText(group.getName());

        /* Image */
        cell.setImage(fGroupIcon);

        /* Foreground */
        if (!OwlUI.isHighContrast())
            cell.setForeground(fGroupFgColor);

        /* Reset Background */
        cell.setBackground(null);

        /* Font */
        cell.setFont(fBoldFont);
    }
}

From source file:org.search.niem.uml.search.ui.NiemReferencesLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    cell.setBackground(getBackground(element));
    cell.setFont(getFont(element));/*ww w .  ja va2  s.  co m*/
    cell.setForeground(getForeground(element));
    cell.setImage(getImage(element));
    cell.setText(getText(element));
}

From source file:org.sourcepit.b2eclipse.provider.LabelProviderForDir.java

License:Open Source License

/**
 * Specify the settings of the TreeViewer.
 *//*w ww. j a v a2  s.c o m*/
@Override
public void update(ViewerCell cell) {
    final StyledString label = new StyledString();
    Node node = ((Node) cell.getElement());

    if (node instanceof NodeProject) {
        label.append(node.getName());
        label.append("  (" + node.getFile().getAbsolutePath() + ")", StyledString.DECORATIONS_STYLER);
        cell.setImage(PlatformUI.getWorkbench().getSharedImages()
                .getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT));
    }

    if (node instanceof NodeModuleProject) {
        label.append(node.getName() + " ");
        if (!node.hasConflict()) {
            label.append(Messages.msgModuleProject, StyledString.DECORATIONS_STYLER);
        } else {
            label.append(Messages.msgModuleProject);
        }
        cell.setImage(PlatformUI.getWorkbench().getSharedImages()
                .getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT));
    }

    if (node instanceof NodeModule) {
        label.append(node.getName());
        String fix = ((NodeModule) node).getPrefix();
        if (fix != null)
            label.append("  (" + fix + ")", StyledString.DECORATIONS_STYLER);
        cell.setImage(Activator.getImageFromPath("org.eclipse.jdt.ui",
                "$nl$/icons/full/obj16/packagefolder_obj.gif"));
    }

    if (node instanceof NodeFolder) {
        label.append(node.getName());
        cell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
        // TODO maybe find a better icon
    }

    if (node.hasConflict())
        cell.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_GRAY));
    // TODO maybe gray out the Icons

    cell.setText(label.toString());
    cell.setStyleRanges(label.getStyleRanges());

    super.update(cell);
}