@Override void setStyleOnExternalChange(NodeModel node) { final NodeStyleController styleController = NodeStyleController.getController(); final HorizontalTextAlignment style = NodeStyleModel.getHorizontalTextAlignment(node); final HorizontalTextAlignment viewStyle = styleController.getHorizontalTextAlignment(node); mSetNodeTextAlignment.setValue(style != null); mNodeTextAlignment.setValue(viewStyle.toString()); } }
boolean isHorizontalTextAlignmentSet() { final NodeModel node = Controller.getCurrentModeController().getMapController().getSelectedNode(); return textAlignment.equals(NodeStyleController.getController().getHorizontalTextAlignment(node)); }
void updateHorizontalTextAlignment(NodeView node) { final HorizontalTextAlignment textAlignment = NodeStyleController.getController(node.getMap().getModeController()).getHorizontalTextAlignment(node.getModel()); final boolean isCenteredByDefault = textAlignment == HorizontalTextAlignment.DEFAULT && node.isRoot(); setHorizontalAlignment(isCenteredByDefault ? HorizontalTextAlignment.CENTER.swingConstant : textAlignment.swingConstant); }
private void updateContentStyle() { final NodeStyleController style = Controller.getCurrentModeController().getExtension(NodeStyleController.class); final MapModel map = getModel(); final MapStyleModel model = MapStyleModel.getExtension(map); final NodeModel detailStyleNode = model.getStyleNodeSafe(MapStyleModel.DETAILS_STYLE); detailFont = UITools.scale(style.getFont(detailStyleNode)); detailBackground = style.getBackgroundColor(detailStyleNode); detailForeground = style.getColor(detailStyleNode); detailHorizontalAlignment = style.getHorizontalTextAlignment(detailStyleNode).swingConstant; final NodeModel noteStyleNode = model.getStyleNodeSafe(MapStyleModel.NOTE_STYLE); noteFont = UITools.scale(style.getFont(noteStyleNode)); noteBackground = style.getBackgroundColor(noteStyleNode); noteForeground = style.getColor(noteStyleNode); noteHorizontalAlignment = style.getHorizontalTextAlignment(noteStyleNode).swingConstant; }
private String getTooltip(final ModeController modeController, NodeModel node, MainView view) { final DetailTextModel detailText = DetailTextModel.getDetailText(node); if (detailText == null || !(detailText.isHidden() || ShortenedTextModel.isShortened(node))) { return null; } final NodeStyleController style = modeController.getExtension(NodeStyleController.class); final MapStyleModel model = MapStyleModel.getExtension(node.getMap()); final NodeModel detailStyleNode = model.getStyleNodeSafe(MapStyleModel.DETAILS_STYLE); Font detailFont = style.getFont(detailStyleNode); Color detailBackground = style.getBackgroundColor(detailStyleNode); Color detailForeground = style.getColor(detailStyleNode); final int alignment = style.getHorizontalTextAlignment(detailStyleNode).swingConstant; float zoom = view.getNodeView().getMap().getZoom(); final StringBuilder htmlBodyStyle = new StringBuilder("<body><div style=\"") .append(new CssRuleBuilder() .withHTMLFont(detailFont) .withColor(detailForeground) .withBackground(detailBackground) .withAlignment(alignment) .withMaxWidthAsPt(zoom, NodeSizeModel.getMaxNodeWidth(detailStyleNode), style.getMaxWidth(node))) .append("\">"); String noteText = detailText.getHtml(); final String tooltipText = noteText.replaceFirst("<body>", htmlBodyStyle.toString()) .replaceFirst("</body>", "</div></body>"); return tooltipText; } });
protected String getNoteCSSStyle(ModeController modeController, NodeModel node, float zoom, boolean asHtmlFragment) { final StringBuilder rule = new StringBuilder(); // set default font for notes: final NodeStyleController style = (NodeStyleController) Controller.getCurrentModeController().getExtension( NodeStyleController.class); MapModel map = modeController.getController().getMap(); if(map != null){ final MapStyleModel model = MapStyleModel.getExtension(map); final NodeModel noteStyleNode = model.getStyleNodeSafe(MapStyleModel.NOTE_STYLE); final Font noteFont = style.getFont(noteStyleNode); Color noteBackground = style.getBackgroundColor(noteStyleNode); Color noteForeground = style.getColor(noteStyleNode); final int alignment = style.getHorizontalTextAlignment(noteStyleNode).swingConstant; final CssRuleBuilder cssRuleBuilder = new CssRuleBuilder(); if(asHtmlFragment) cssRuleBuilder.withHTMLFont(noteFont); else cssRuleBuilder.withCSSFont(noteFont); cssRuleBuilder.withColor(noteForeground) .withBackground(noteBackground) .withAlignment(alignment); if(asHtmlFragment) cssRuleBuilder.withMaxWidthAsPt(zoom, NodeSizeModel.getMaxNodeWidth(noteStyleNode), style.getMaxWidth(node)); rule.append(cssRuleBuilder); } return rule.toString(); }
writer.addAttribute("FORMAT", format); final HorizontalTextAlignment textAlignment = forceFormatting ? nsc.getHorizontalTextAlignment(node) : style.getHorizontalTextAlignment(); if (textAlignment != null) { writer.addAttribute("TEXT_ALIGN", textAlignment.toString());