+ String prefixText = e.getHint(KEY_PREFIX_TEXT);
+ if (prefixText != null) {
+ TextNode prefixNode = e.getHint(KEY_SG_PREFIX_NODE);
+ if (prefixNode == null || prefixNode.getParent() != parent) {
+ nodeId = ElementUtils.generateNodeId(e) + "-prefix";
+ node = parent.addNode(nodeId, TextNode.class);
+ e.setHint(KEY_SG_PREFIX_NODE, node);
+ Font font = ElementUtils.getTextFont(e);
+ Color color = ElementUtils.getTextColor(e);
+ node.setEditable(false);
+ node.setShowSelection(false);
+ node.setHorizontalAlignment((byte) 1);
+ node.init(prefixText, font, color, 0, 0, 1.0);
+ }
+ } else {
+ TextNode prefixNode = e.getHint(KEY_SG_PREFIX_NODE);
+ if (prefixNode != null)
+ prefixNode.remove();
+ }
+
+ String suffixText = e.getHint(KEY_SUFFIX_TEXT);
+ if (suffixText != null) {
+ TextNode suffixNode = e.getHint(KEY_SG_SUFFIX_NODE);
+ if (suffixNode == null || suffixNode.getParent() != parent) {
+ nodeId = ElementUtils.generateNodeId(e) + "-suffix";
+ node = parent.addNode(nodeId, TextNode.class);
+ e.setHint(KEY_SG_SUFFIX_NODE, node);
+ Font font = ElementUtils.getTextFont(e);
+ Color color = ElementUtils.getTextColor(e);
+ node.setEditable(false);
+ node.setShowSelection(false);
+ node.setHorizontalAlignment((byte) 0);
+ node.init(suffixText, font, color, 0, 0, 1.0);
+ }
+ } else {
+ TextNode suffixNode = e.getHint(KEY_SG_SUFFIX_NODE);
+ if (suffixNode != null)
+ suffixNode.remove();
+ }
+