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

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

Introduction

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

Prototype

public void setFont(Font font) 

Source Link

Document

Set the font of the cell.

Usage

From source file:org.eclipse.oomph.setup.ui.IndexManagerDialog.java

License:Open Source License

@Override
protected void createUI(Composite parent) {
    indexViewer = new TableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    indexViewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    indexViewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Do nothing.
        }/*w ww .  ja  v  a2s .com*/

        public void dispose() {
            // Do nothing.
        }

        public Object[] getElements(Object inputElement) {
            return indexChoices.entrySet().toArray();
        }
    });

    final ColumnViewerInformationControlToolTipSupport columnViewerInformationControlToolTipSupport = new ColumnViewerInformationControlToolTipSupport(
            indexViewer, new LocationListener() {
                public void changing(LocationEvent event) {
                }

                public void changed(LocationEvent event) {
                }
            });

    class MyLabelProvider extends CellLabelProvider implements ILabelProvider {
        private final Color gray = indexViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);

        private final Font normalFont = indexViewer.getTable().getFont();

        private final Font italicFont = ExtendedFontRegistry.INSTANCE.getFont(normalFont,
                IItemFontProvider.ITALIC_FONT);

        private final Font boldFont = ExtendedFontRegistry.INSTANCE.getFont(normalFont,
                IItemFontProvider.BOLD_FONT);

        public String getText(Object element) {
            return asMapEntry(element).getValue();
        }

        public Image getImage(Object element) {
            return SetupUIPlugin.INSTANCE.getSWTImage("full/obj16/Index");
        }

        @Override
        public String getToolTipText(Object element) {
            URI indexLocation = asMapEntry(element).getKey();
            Map<URI, String> indexNames = indexManager.getIndexNames(true);

            StringBuilder result = new StringBuilder();

            String nameLine = "<divs style='white-space:nowrap;'><b>name</b>:&nbsp;"
                    + indexNames.get(indexLocation) + "</div>\n";
            result.append(nameLine);

            String locationLine = "<div style='white-space:nowrap;'><b>location</b>:&nbsp;" + indexLocation
                    + "</div>\n";
            result.append(locationLine);

            String availabilityLine = "<div style='white-space:nowrap;'><b>availability</b>:&nbsp;"
                    + (indexAvailability == null ? "Unknown"
                            : indexAvailability.get(indexLocation) ? "Available" : "Unavailable")
                    + "</div><br/><br/>\n";
            result.append(availabilityLine);

            try {
                AbstractHoverInformationControlManager hoverInformationControlManager = ReflectUtil.getValue(
                        "hoverInformationControlManager", columnViewerInformationControlToolTipSupport);
                int max = Math.max(nameLine.length(), locationLine.length());
                hoverInformationControlManager.setSizeConstraints(max, 6, false, false);
            } catch (Throwable throwable) {
                // Ignore.
            }

            return result.toString();
        }

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();
            cell.setImage(getImage(element));
            URI indexLocation = asMapEntry(element).getKey();
            if (!originalIndexChoices.containsKey(indexLocation)) {
                cell.setForeground(gray);
            }

            if (indexLocation.equals(originalIndexLocation)) {
                cell.setFont(boldFont);
            } else if (indexAvailability != null && !indexAvailability.get(indexLocation)) {
                cell.setFont(italicFont);
            } else {
                cell.setFont(normalFont);
            }

            cell.setText(getText(element) + "  ");
        }
    }

    final ILabelProvider labelProvider = new MyLabelProvider();
    indexViewer.setLabelProvider(labelProvider);

    final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(indexViewer,
            new FocusCellOwnerDrawHighlighter(indexViewer));

    indexViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            focusCellManager.getFocusCell();
            updateEnablement();
        }
    });

    indexViewer.setInput(indexManager);

    TextCellEditor textCellEditor = new TextCellEditor(indexViewer.getTable(), SWT.BORDER);
    indexViewer.setCellEditors(new CellEditor[] { textCellEditor });
    indexViewer.setColumnProperties(new String[] { "label" });

    ColumnViewerEditorActivationStrategy editorActivationStrategy = new ColumnViewerEditorActivationStrategy(
            indexViewer) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.F2;
        }
    };

    TableViewerEditor.create(indexViewer, focusCellManager, editorActivationStrategy,
            ColumnViewerEditor.KEYBOARD_ACTIVATION);
    indexViewer.setCellModifier(new ICellModifier() {
        public void modify(Object element, String property, Object value) {
            asMapEntry(((TableItem) element).getData()).setValue((String) value);
            indexViewer.refresh(true);
        }

        public Object getValue(Object element, String property) {
            return labelProvider.getText(element).trim();
        }

        public boolean canModify(Object element, String property) {
            return true;
        }
    });

    if (!indexChoices.isEmpty()) {
        indexViewer.setSelection(new StructuredSelection(indexChoices.entrySet().iterator().next()));
    }
}

From source file:org.eclipse.ptp.internal.rm.jaxb.control.ui.providers.ViewerDataCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    int index = cell.getColumnIndex();
    Object element = cell.getElement();
    Color color = getBackground(element, index);
    if (color != null) {
        cell.setBackground(color);/* www . j  a  v  a  2s .  co  m*/
    }
    color = getForeground(element, index);
    if (color != null) {
        cell.setForeground(color);
    } else {
        /*
         * If foreground color is not specified, then we use the edit status of the
         * cell to determine the color. We save the default foreground color to use
         * when the cell is editable.
         */
        if (foregroundColor == null) {
            foregroundColor = cell.getForeground();
        }
        if (!canEdit(element)) {
            cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY));
        } else {
            cell.setForeground(foregroundColor);
        }
    }
    Font font = getFont(element, index);
    if (font != null) {
        cell.setFont(font);
    }
    Image img = getColumnImage(element, index);
    if (img != null) {
        cell.setImage(img);
    }
    cell.setText(getColumnText(element, index));
}

From source file:org.eclipse.ptp.rm.jaxb.control.ui.providers.ViewerDataCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    int index = cell.getColumnIndex();
    Object element = cell.getElement();
    Color color = getBackground(element, index);
    if (color != null) {
        cell.setBackground(color);/*from   www .  ja  v  a 2 s  . c o  m*/
    }
    color = getForeground(element, index);
    if (color != null) {
        cell.setBackground(color);
    }
    Font font = getFont(element, index);
    if (font != null) {
        cell.setFont(font);
    }
    Image img = getColumnImage(element, index);
    if (img != null) {
        cell.setImage(img);
    }
    cell.setText(getColumnText(element, index));
}

From source file:org.eclipse.recommenders.codesearch.rcp.index.extdoc.LabelProvider.java

License:Open Source License

/**
 * Finds all relevant statements and creates a *very* simple summary
 *///from   w  w  w  .ja  v a2  s.  c  om
@Override
public void update(final ViewerCell cell) {
    cell.setFont(JFaceResources.getTextFont());
    final Selection s = (Selection) cell.getElement();
    astMethod = s.method;
    final String varname = s.varname;
    if (s.isError()) {
        cell.setText(s.exception.getMessage());
        return;
    }

    if (astMethod == ContentProvider.EMPTY) {
        cell.setText("// failed to resolve method.");
        setCellToCommentStyle(cell);
        return;
    }

    if (!findStatements(varname)) {
        cell.setText(
                "// No interesting statements found.\n// Either index is outdated or method is not actually using this variable?");
        setCellToCommentStyle(cell);
        super.update(cell);
        return;
    }
    setCellText(cell);
}

From source file:org.eclipse.recommenders.codesearch.rcp.index.extdoc.LabelProvider.java

License:Open Source License

private void setCellText(final ViewerCell cell) {
    final StringBuilder sb = new StringBuilder();
    for (final ASTNode n : statements) {
        // term matching in here:... waiting for contribution of
        // Kristjian...
        sb.append(n.toString()).append(IOUtils.LINE_SEPARATOR);
    }//from  w  w  w . ja va  2  s.  com
    final String[] split = StringUtils.split(sb.toString(), IOUtils.LINE_SEPARATOR);
    final String summary = StringUtils.join(ArrayUtils.subarray(split, 0, 3), IOUtils.LINE_SEPARATOR);
    cell.setText(summary);
    final List<StyleRange> ranges = Lists.newArrayList();
    final Color color = JavaUI.getColorManager().getColor(IJavaColorConstants.JAVA_KEYWORD);

    for (final String term : searchterms) {

        int index = 0;
        while (true) {
            index = StringUtils.indexOfIgnoreCase(summary, term, index);
            if (index == -1) {
                break;
            }
            ranges.add(new StyleRange(index, term.length(), color, null));
            index += term.length();
        }
    }
    cell.setFont(JFaceResources.getTextFont());
    cell.setStyleRanges(ranges.toArray(new StyleRange[0]));
}

From source file:org.eclipse.scada.da.ui.summary.explorer.NameLabelProviderImpl.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    if (element instanceof TreeNode) {
        final TreeNode node = (TreeNode) element;
        cell.setText(node.getName());/* w  w w  . jav a 2 s . c  o m*/

        final CurrentStyle style = node.getStyle();
        cell.setImage(style.image);
        cell.setFont(style.font);
        cell.setForeground(style.foreground);
        cell.setBackground(style.background);
    }
}

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

License:Open Source License

private void updateListEntry(final ListEntry listEntry, final ViewerCell cell) {
    cell.setFont(listEntry.getFont());
    cell.setForeground(listEntry.getForeground());
    cell.setBackground(listEntry.getBackground());

    switch (cell.getColumnIndex()) {
    case 0://from ww w  .  j a va  2 s .co m
        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;
    case 4:
        if (listEntry.getItemValue() != null) {
            final Calendar timestamp = listEntry.getItemValue().getTimestamp();
            if (timestamp != null) {
                cell.setText(formatTimestamp(timestamp));
            } else {
                cell.setText(null);
            }
        }
        break;
    default:
        break;
    }
}

From source file:org.eclipse.stardust.modeling.transformation.messaging.modeling.application.transformation.widgets.DelegatingIndexingLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    cell.setFont(labelProvider.getFont(cell.getElement(), cell.getColumnIndex()));
    cell.setImage(labelProvider.getColumnImage(cell.getElement(), cell.getColumnIndex()));
    cell.setText(labelProvider.getColumnText(cell.getElement(), cell.getColumnIndex()));
}

From source file:org.eclipse.wazaabi.engine.swt.commons.views.collections.ColumnManager.java

License:Open Source License

protected void createViewerColumn(final org.eclipse.swt.widgets.Widget w,
        final AbstractColumnDescriptor columnDescriptor, final int columnIndex) {

    ViewerColumn viewerColumn = null;//from   w ww  .j a va  2  s .  co m
    if (w instanceof org.eclipse.swt.widgets.Tree) {
        viewerColumn = new TreeViewerColumn((TreeViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        final TreeColumn column = ((TreeViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    } else if (w instanceof org.eclipse.swt.widgets.Table) {
        viewerColumn = new TableViewerColumn((TableViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        ((TableViewerColumn) viewerColumn).getColumn()
                .setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        final TableColumn column = ((TableViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    }
    if (viewerColumn != null) {
        if (collectionView.getLabelProvider() instanceof PathSelectorLabelProvider) {
            final PathSelectorLabelProvider labelProvider = (PathSelectorLabelProvider) collectionView
                    .getLabelProvider();
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return labelProvider.getColumnText(element, columnIndex);
                }

                public Image getImage(Object element) {
                    return labelProvider.getColumnImage(element, columnIndex);
                }

            });
        } else if (collectionView.getLabelProvider() instanceof DynamicLabelProvider) {
            final DynamicLabelProvider labelProvider = (DynamicLabelProvider) collectionView.getLabelProvider();
            viewerColumn.setLabelProvider(new StyledCellLabelProvider() {

                @Override
                public void update(ViewerCell cell) {
                    final Object element = cell.getElement();
                    final int columnIndex = cell.getColumnIndex();
                    final Display display = cell.getControl().getDisplay();
                    cell.setText(labelProvider.getColumnText(element, columnIndex));
                    cell.setImage(labelProvider.getColumnImage(element, columnIndex));
                    final Color foreground = labelProvider.getForegroundColor(element, columnIndex, display);
                    if (foreground != null)
                        cell.setForeground(foreground);
                    final Color background = labelProvider.getBackgroundColor(element, columnIndex, display);
                    if (background != null)
                        cell.setBackground(background);
                    final Font font = labelProvider.getFont(element, columnIndex, display, cell.getFont());
                    if (font != null)
                        cell.setFont(font);
                    super.update(cell);
                }
            });
        } else
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return element != null ? element.toString() : ""; //$NON-NLS-1$
                }

            });
        if (columnDescriptor.getEditingSupport() != null) {
            DynamicEditingSupport dynamicEditingSupport = new DynamicEditingSupport(this, columnDescriptor);
            dynamicEditingSupports.put(columnDescriptor, dynamicEditingSupport);
            viewerColumn.setEditingSupport(dynamicEditingSupport);
        }
    }

}

From source file:org.eclipsetrader.ui.internal.trading.portfolio.ElementLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    cell.setText(cell.getElement().toString());

    if (cell.getElement() instanceof BrokerElement) {
        cell.setFont(font);
    }// w w  w.  j  a  v  a2  s.c  om
}