List of usage examples for org.eclipse.jface.viewers IToolTipProvider getToolTipText
public String getToolTipText(Object element);
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); }