Example usage for org.eclipse.jface.viewers IFontProvider getFont

List of usage examples for org.eclipse.jface.viewers IFontProvider getFont

Introduction

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

Prototype

public Font getFont(Object element);

Source Link

Document

Provides a font for the given element.

Usage

From source file:com.aptana.ide.views.outline.UnifiedOutlineProvider.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
 *//*from  w ww.j  ava  2 s  .  c o  m*/
public Font getFont(Object element) {
    Font result = null;

    switchLanguage(element);

    if (this._currentProviders != null) {
        IFontProvider fontProvider = this._currentProviders.fontProvider;

        if (fontProvider != null) {
            result = fontProvider.getFont(element);
        }
    }

    return result;
}

From source file:com.clustercontrol.jobmanagement.viewer.JobTableTreeViewer.java

License:Open Source License

@Override
protected void doUpdateItem(Item item, Object element) {
    // update icon and label
    // Similar code in TableTreeViewer.doUpdateItem()
    IBaseLabelProvider prov = getLabelProvider();
    ICommonTableLabelProvider tprov = null;
    if (prov instanceof ICommonTableLabelProvider) {
        tprov = (ICommonTableLabelProvider) prov;

        int columnCount = getTree().getColumnCount();
        TreeItem ti = (TreeItem) item;// w  ww .  j av  a2s  . c  om
        WidgetTestUtil.setTestId(this, null, ti);
        ////ti.setData(ClusterControlPlugin.CUSTOM_WIDGET_ID, "jobTableTreeViewerTi");
        // Also enter loop if no columns added. See 1G9WWGZ: JFUIF:WINNT -
        // TableViewer with 0 columns does not work
        for (int column = 0; column < columnCount || column == 0; column++) {
            String text = "";//$NON-NLS-1$
            Image image = null;
            Color color = null;
            text = tprov.getColumnText(element, column);
            image = tprov.getColumnImage(element, column);
            color = tprov.getColumnColor(element, column);
            ti.setText(column, text);
            // Apparently a problem to setImage to null if already null
            if (ti.getImage(column) != image)
                ti.setImage(column, image);
            if (color != null) {
                ti.setBackground(color);
            }
        }
        if (prov instanceof IColorProvider) {
            IColorProvider cprov = (IColorProvider) prov;
            ti.setForeground(cprov.getForeground(element));
            ti.setBackground(cprov.getBackground(element));
        }

        if (prov instanceof IFontProvider) {
            IFontProvider fprov = (IFontProvider) prov;
            ti.setFont(fprov.getFont(element));
        }
    } else {
        //ICommonTableLabelProvider?????????
        super.doUpdateItem(item, element);
    }
}

From source file:com.clustercontrol.viewer.CommonTableViewer.java

License:Open Source License

@Override
protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
    if (widget instanceof TableItem) {
        final TableItem item = (TableItem) widget;
        WidgetTestUtil.setTestId(this, null, item);

        // remember element we are showing
        if (fullMap) {
            associate(element, item);//from ww  w .  java  2  s .c o  m
        } else {
            item.setData(element);
            mapElement(element, item);
        }

        IBaseLabelProvider prov = getLabelProvider();
        ICommonTableLabelProvider tprov = null;

        if (prov instanceof ICommonTableLabelProvider) {
            tprov = (ICommonTableLabelProvider) prov;

            int columnCount = super.getTable().getColumnCount();
            TableItem ti = item;
            WidgetTestUtil.setTestId(this, null, ti);
            // Also enter loop if no columns added. See 1G9WWGZ: JFUIF:WINNT
            // - TableViewer with 0 columns does not work
            for (int column = 0; column < columnCount || column == 0; column++) {
                // Similar code in TableTreeViewer.doUpdateItem()
                String text = "";//$NON-NLS-1$
                Image image = null;
                Color color = null;
                text = tprov.getColumnText(element, column);
                image = tprov.getColumnImage(element, column);
                color = tprov.getColumnColor(element, column);

                ti.setText(column, text);
                if (ti.getImage(column) != image) {
                    ti.setImage(column, image);
                }
                if (color != null) {
                    ti.setBackground(column, color);
                }
            }
            if (prov instanceof IColorProvider) {
                IColorProvider cprov = (IColorProvider) prov;
                ti.setForeground(cprov.getForeground(element));
                ti.setBackground(cprov.getBackground(element));
            }
            if (prov instanceof IFontProvider) {
                IFontProvider fprov = (IFontProvider) prov;
                ti.setFont(fprov.getFont(element));
            }
        } else {
            //ICommonTableLabelProvider?????????
            super.doUpdateItem(widget, element, fullMap);
        }
    }
}

From source file:net.refractions.udig.project.element.provider.ProjectElementAdapterItemProvider.java

License:Open Source License

/**
 * If the extension's LabelProvider is non-null and implements the
 * IFontProvider interface the font from the provider is returned otherwise
 * null is returned//from   www  .ja  va  2s . c  o m
 */
public Font getFont(Object object) {
    ProjectElementAdapter projectElementAdapter = ((ProjectElementAdapter) object);
    IGenericProjectElement backingObject = projectElementAdapter.getBackingObject();
    if (backingObject == null) {
        return null;
    }
    String extensionId = backingObject.getExtensionId();
    IConfigurationElement extension = findExtension(extensionId);
    String labelProviderAtt = extension.getAttribute(LABEL_PROVIDER_ATT);
    Font font = null;
    if (labelProviderAtt != null) {
        try {
            IBaseLabelProvider baseProvider = (IBaseLabelProvider) extension
                    .createExecutableExtension(LABEL_PROVIDER_ATT);
            if (baseProvider instanceof IFontProvider) {
                IFontProvider labelProvider = (IFontProvider) baseProvider;
                font = labelProvider.getFont(backingObject);
            }
        } catch (CoreException e) {
            // not good log this
            ProjectEditPlugin.log("Unable to load the LabelProvider for Element: " + extensionId, e);
        }
    }
    return font;
}

From source file:org.eclipse.debug.internal.ui.DelegatingModelPresentation.java

License:Open Source License

public Font getFont(Object element) {
    IDebugModelPresentation presentation = getConfiguredPresentation(element);
    if (presentation instanceof IFontProvider) {
        IFontProvider fontProvider = (IFontProvider) presentation;
        return fontProvider.getFont(element);
    }//from w  w w  .java  2 s.  c om
    return null;
}

From source file:org.eclipse.debug.internal.ui.elements.adapters.MemorySegmentLabelAdapter.java

License:Open Source License

private FontData getColumnFontData(Object element, int columnIndex,
        AbstractAsyncTableRendering tableRendering) {
    if (element instanceof MemorySegment) {
        MemorySegment segment = (MemorySegment) element;
        if (segment.getBytes().length != tableRendering.getBytesPerLine())
            return null;

        IFontProvider fontProvider = (IFontProvider) tableRendering.getAdapter(IFontProvider.class);
        if (fontProvider != null && columnIndex > 0) {
            MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex,
                    tableRendering);/*from  w w w  .ja va  2 s . c  o  m*/
            if (renderingElement != null) {
                Font font = fontProvider.getFont(renderingElement);
                if (font != null)
                    return font.getFontData()[0];
            }
        }
    }
    return null;
}

From source file:org.eclipse.debug.internal.ui.LazyModelPresentation.java

License:Open Source License

public Font getFont(Object element) {
    IDebugModelPresentation presentation = getPresentation();
    if (presentation instanceof IFontProvider) {
        IFontProvider fontProvider = (IFontProvider) presentation;
        return fontProvider.getFont(element);
    }/*from  w  w w  .jav a  2s .  c  o m*/
    return null;
}

From source file:org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.java

License:Open Source License

/**
 * Returns the font data for the given element, or
 * <code>null</code> if none.
 * //from  w w w  .  ja v a 2  s.  co m
 * @param element object for which font data is required
 * @param presentation presentation to obtain font from
 * @return the font data for the given element, or
 * <code>null</code> if none
 * @since 3.3
 */
public static FontData getFont(Object element, IDebugModelPresentation presentation) {
    Font font = null;
    if (presentation instanceof IFontProvider) {
        IFontProvider provider = (IFontProvider) presentation;
        font = provider.getFont(element);
    } else {
        font = getPresentation().getFont(element);
    }
    if (font != null) {
        return font.getFontData()[0];
    }
    return null;
}

From source file:org.eclipse.gef4.zest.core.viewers.internal.GraphItemStyler.java

License:Open Source License

public static void styleItem(GraphItem item, final IBaseLabelProvider labelProvider) {

    if (item instanceof GraphNode) {
        GraphNode node = (GraphNode) item;
        // set defaults.
        if (node.getGraphModel().getNodeStyle() != ZestStyles.NONE) {
            node.setNodeStyle(node.getGraphModel().getNodeStyle());
        } else {//from  w  w w  .j av  a  2 s .  c om
            node.setNodeStyle(SWT.NONE);
        }
        Object entity = node.getData();
        if (labelProvider instanceof IEntityStyleProvider) {
            styleNode(node, (IEntityStyleProvider) labelProvider);
        }
        if (labelProvider instanceof IColorProvider) {
            IColorProvider colorProvider = (IColorProvider) labelProvider;
            node.setForegroundColor(colorProvider.getForeground(entity));
            node.setBackgroundColor(colorProvider.getBackground(entity));
        }
        if (labelProvider instanceof IFontProvider) {
            IFontProvider fontProvider = (IFontProvider) labelProvider;
            node.setFont(fontProvider.getFont(entity));
        }
        if (labelProvider instanceof ILabelProvider) {
            String text = ((ILabelProvider) labelProvider).getText(node.getData());
            node.setText((text != null) ? text : "");
            node.setImage(((ILabelProvider) labelProvider).getImage(node.getData()));
        }
        if (labelProvider instanceof ISelfStyleProvider) {
            ((ISelfStyleProvider) labelProvider).selfStyleNode(entity, node);
        }
    } else if (item instanceof GraphConnection) {
        GraphConnection conn = (GraphConnection) item;

        // set defaults
        if (conn.getGraphModel().getConnectionStyle() != ZestStyles.NONE) {
            int s = conn.getGraphModel().getConnectionStyle();
            conn.setConnectionStyle(s);
        } else {
            conn.setConnectionStyle(SWT.NONE);
        }
        if (labelProvider instanceof ILabelProvider) {
            String text = ((ILabelProvider) labelProvider).getText(conn.getData());
            conn.setText((text != null) ? text : "");
            conn.setImage(((ILabelProvider) labelProvider).getImage(conn.getData()));
        }
        if (labelProvider instanceof IEntityConnectionStyleProvider) {
            styleEntityConnection(conn, (IEntityConnectionStyleProvider) labelProvider);
        } else if (labelProvider instanceof IConnectionStyleProvider) {
            styleConnection(conn, (IConnectionStyleProvider) labelProvider);
        }
        int swt = getLineStyleForZestStyle(conn.getConnectionStyle());
        conn.setLineStyle(swt);
        if (labelProvider instanceof ISelfStyleProvider) {
            ((ISelfStyleProvider) labelProvider).selfStyleConnection(conn.getData(), conn);
        }
    }
}

From source file:org.eclipse.gef4.zest.fx.jface.ZestContentViewer.java

License:Open Source License

/**
 * Creates a {@link Node} for the specified <i>contentNode</i> using the
 * {@link IContentProvider} and {@link ILabelProvider}. Moreover, the new
 * node is put into the given <i>contentToGraphMap</i>.
 *
 * @param contentNode//from   w w  w .  java  2  s . co  m
 *            The content {@link Object} that represents the node.
 * @param graphContentProvider
 *            This viewer's {@link IGraphNodeContentProvider} for
 *            convenience.
 * @param labelProvider
 *            This viewer's {@link ILabelProvider} for convenience.
 * @return The new {@link Node}.
 */
protected Node createNode(Object contentNode, IGraphNodeContentProvider graphContentProvider,
        ILabelProvider labelProvider) {
    // do not create the same node twice
    if (contentNodeMap.containsKey(contentNode)) {
        throw new IllegalStateException("A node for content <" + contentNode + "> has already been created.");
    }

    Node node = new Node();
    contentNodeMap.put(contentNode, node);

    // label
    String label = labelProvider.getText(contentNode);
    if (label != null) {
        ZestProperties.setLabel(node, label);
    }

    // icon
    Image icon = labelProvider.getImage(contentNode);
    if (icon != null) {
        ZestProperties.setIcon(node, SWTFXUtils.toFXImage(icon.getImageData(), null));
    }

    // tooltip
    if (labelProvider instanceof IToolTipProvider) {
        IToolTipProvider toolTipProvider = (IToolTipProvider) labelProvider;
        String toolTipText = toolTipProvider.getToolTipText(contentNode);
        if (toolTipText != null) {
            ZestProperties.setTooltip(node, toolTipText);
        }
    }

    String textCssStyle = "";

    // colors
    if (labelProvider instanceof IColorProvider) {
        IColorProvider colorProvider = (IColorProvider) labelProvider;
        Color foreground = colorProvider.getForeground(contentNode);
        Color background = colorProvider.getBackground(contentNode);
        String rectCssStyle = "";
        if (background != null) {
            rectCssStyle = rectCssStyle + "-fx-fill: " + toCssRgb(background) + ";";
        }
        if (foreground != null) {
            rectCssStyle = rectCssStyle + "-fx-stroke: " + toCssRgb(foreground) + ";";
            textCssStyle = "-fx-fill: " + toCssRgb(foreground) + ";";
        }
        if (!rectCssStyle.isEmpty()) {
            ZestProperties.setNodeRectCssStyle(node, rectCssStyle);
        }
    }

    // font
    if (labelProvider instanceof IFontProvider) {
        IFontProvider fontProvider = (IFontProvider) labelProvider;
        Font font = fontProvider.getFont(contentNode);
        FontData[] fontData = font == null ? null : font.getFontData();
        if (fontData != null && fontData.length > 0 && fontData[0] != null) {
            String name = fontData[0].getName();
            int size = fontData[0].getHeight();
            int style = fontData[0].getStyle();

            // TODO: support all SWT font styles
            boolean isBold = (style & SWT.BOLD) != 0;
            boolean isItalic = (style & SWT.ITALIC) != 0;

            textCssStyle = textCssStyle + "-fx-font-family: \"" + name + "\";" + "-fx-font-size: " + size
                    + "pt;";
            if (isItalic) {
                textCssStyle = textCssStyle + "-fx-font-style: italic;";
            }
            if (isBold) {
                textCssStyle = textCssStyle + "-fx-font-weight: bold;";
            }
        }
    }

    ZestProperties.setNodeTextCssStyle(node, textCssStyle);

    // custom attributes
    if (labelProvider instanceof IGraphNodeLabelProvider) {
        IGraphNodeLabelProvider graphNodeLabelProvider = (IGraphNodeLabelProvider) labelProvider;
        Map<String, Object> nodeAttributes = graphNodeLabelProvider.getNodeAttributes(contentNode);
        if (nodeAttributes != null) {
            node.getAttributes().putAll(nodeAttributes);
        }
    }

    // create nested graph (optional)
    if (graphContentProvider instanceof INestedGraphContentProvider) {
        INestedGraphContentProvider nestedGraphProvider = (INestedGraphContentProvider) graphContentProvider;
        if (nestedGraphProvider.hasChildren(contentNode)) {
            Graph graph = createNestedGraph(contentNode, nestedGraphProvider, labelProvider);
            graph.setNestingNode(node);
        }
    }

    return node;
}