Example usage for org.eclipse.jface.viewers IToolTipProvider getToolTipText

List of usage examples for org.eclipse.jface.viewers IToolTipProvider getToolTipText

Introduction

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

Prototype

public String getToolTipText(Object element);

Source Link

Document

Get the text displayed in the tool tip for object.

Usage

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.  j a  va2s  .  c  om*/
 *            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;
}

From source file:org.eclipse.gef4.zest.fx.ui.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/*  w  w w .j a v  a 2 s .c o m*/
 * @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.getAttrs().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;
}

From source file:org.eclipse.viatra.integration.zest.viewer.ZestContentViewer.java

License:Open Source License

private void doFormatNode(final Object contentNode, IContentProvider graphContentProvider,
        final ILabelProvider labelProvider, Node node) {
    // label//from  w w  w .  j  a v a2  s  . c  om
    ZestProperties.setLabel(node, () -> labelProvider.getText(contentNode));

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

    // tooltip
    if (labelProvider instanceof IToolTipProvider) {
        final IToolTipProvider toolTipProvider = (IToolTipProvider) labelProvider;
        ZestProperties.setTooltip(node, () -> toolTipProvider.getToolTipText(contentNode));
    }

    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.setShapeCssStyle(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.setLabelCssStyle(node, textCssStyle);

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

    // create nested graph (optional)
    createNestedGraph(contentNode, graphContentProvider, labelProvider);
}