@Override public void setValue(String styleSheet) { PrefixedValue prefixedValue = new PrefixedValue(styleSheet); itemType = prefixedValue.getType(); handlePrefix(itemType); if (prefixedValue.getSuffix() != null) { stylesheetTf.setText(prefixedValue.getSuffix().trim()); } else { // may happen if wrong style sheet stylesheetTf.setText(""); // NOI18N } updateButtons(); updateOpenRevealMenuItems(); currentValue = getValue(); }
@Override public void setValue(Object value) { setValueGeneric(value); if (isSetValueDone()) { return; } if (value == null) { textNode.setText(null); return; } assert value instanceof String; String val = (String) value; PrefixedValue prefixedValue = new PrefixedValue(val); String suffix = prefixedValue.getSuffix(); // Handle i18n if (prefixedValue.isResourceKey()) { if (!i18nMode) { wrapInHBox(); i18nMode = true; } } else if (i18nMode) { // no percent + i18nMode unwrapHBox(); i18nMode = false; } // Handle multi-line if (containsLineFeed(prefixedValue.toString())) { if (i18nMode) { // multi-line + i18n ==> set as i18n only multiLineMode = false; switchToTextField(); } else { if (!multiLineMode) { multiLineMode = true; switchToTextArea(); } } } else { // no line feed if (multiLineMode) { multiLineMode = false; switchToTextField(); } } if (i18nMode) { textNode.setText(suffix); } else { // We may have other special characters (@, $, ...) to display in the text field textNode.setText(prefixedValue.toString()); } updateMenuItems(); }