RichTextArea
with no caption.
*/
public RichTextArea() {
setValue("");
}
/**
*
* Constructs an empty RichTextArea
with the given caption.
*
* @param caption
* the caption for the editor.
*/
public RichTextArea(String caption) {
this();
setCaption(caption);
}
/**
* Constructs a new RichTextArea
that's bound to the specified
* Property
and has no caption.
*
* @param dataSource
* the data source for the editor value
*/
public RichTextArea(Property dataSource) {
setPropertyDataSource(dataSource);
}
/**
* Constructs a new RichTextArea
that's bound to the specified
* Property
and has the given caption.
*
* @param caption
* the caption for the editor.
* @param dataSource
* the data source for the editor value
*/
public RichTextArea(String caption, Property dataSource) {
this(dataSource);
setCaption(caption);
}
/**
* Constructs a new RichTextArea
with the given caption and
* initial text contents.
*
* @param caption
* the caption for the editor.
* @param value
* the initial text content of the editor.
*/
public RichTextArea(String caption, String value) {
setValue(value);
setCaption(caption);
}
@Override
public void paintContent(PaintTarget target) throws PaintException {
if (selectAll) {
target.addAttribute("selectAll", true);
selectAll = false;
}
// Adds the content as variable
String value = getFormattedValue();
if (value == null) {
value = getNullRepresentation();
}
if (value == null) {
throw new IllegalStateException(
"Null values are not allowed if the null-representation is null");
}
target.addVariable(this, "text", value);
super.paintContent(target);
}
@Override
public void setReadOnly(boolean readOnly) {
super.setReadOnly(readOnly);
// IE6 cannot support multi-classname selectors properly
if (readOnly) {
addStyleName("v-richtextarea-readonly");
} else {
removeStyleName("v-richtextarea-readonly");
}
}
/**
* Selects all text in the rich text area. As a side effect, focuses the
* rich text area.
*
* @since 6.5
*/
public void selectAll() {
/*
* Set selection range functionality is currently being
* planned/developed for GWT RTA. Only selecting all is currently
* supported. Consider moving selectAll and other selection related
* functions to AbstractTextField at that point to share the
* implementation. Some third party components extending
* AbstractTextField might however not want to support them.
*/
selectAll = true;
focus();
requestRepaint();
}
/**
* Gets the formatted string value. Sets the field value by using the
* assigned Format.
*
* @return the Formatted value.
* @see #setFormat(Format)
* @see Format
* @deprecated
*/
@Deprecated
protected String getFormattedValue() {
Object v = getValue();
if (v == null) {
return null;
}
return v.toString();
}
@Override
public Object getValue() {
Object v = super.getValue();
if (format == null || v == null) {
return v;
}
try {
return format.format(v);
} catch (final IllegalArgumentException e) {
return v;
}
}
@Override
public void changeVariables(Object source, Map* The null-valued strings are represented on the user interface by * replacing the null value with this string. If the null representation is * set null (not 'null' string), painting null value throws exception. *
* ** The default value is string 'null'. *
* * @return the String Textual representation for null strings. * @see TextField#isNullSettingAllowed() */ public String getNullRepresentation() { return nullRepresentation; } /** * Is setting nulls with null-string representation allowed. * ** If this property is true, writing null-representation string to text * field always sets the field value to real null. If this property is * false, null setting is not made, but the null values are maintained. * Maintenance of null-values is made by only converting the textfield * contents to real null, if the text field matches the null-string * representation and the current value of the field is null. *
* ** By default this setting is false *
* * @return boolean Should the null-string represenation be always converted * to null-values. * @see TextField#getNullRepresentation() */ public boolean isNullSettingAllowed() { return nullSettingAllowed; } /** * Sets the null-string representation. * ** The null-valued strings are represented on the user interface by * replacing the null value with this string. If the null representation is * set null (not 'null' string), painting null value throws exception. *
* ** The default value is string 'null' *
* * @param nullRepresentation * Textual representation for null strings. * @see TextField#setNullSettingAllowed(boolean) */ public void setNullRepresentation(String nullRepresentation) { this.nullRepresentation = nullRepresentation; } /** * Sets the null conversion mode. * ** If this property is true, writing null-representation string to text * field always sets the field value to real null. If this property is * false, null setting is not made, but the null values are maintained. * Maintenance of null-values is made by only converting the textfield * contents to real null, if the text field matches the null-string * representation and the current value of the field is null. *
* ** By default this setting is false. *
* * @param nullSettingAllowed * Should the null-string represenation be always converted to * null-values. * @see TextField#getNullRepresentation() */ public void setNullSettingAllowed(boolean nullSettingAllowed) { this.nullSettingAllowed = nullSettingAllowed; } /** * Gets the value formatter of TextField. * * @return the Format used to format the value. * @deprecated replaced by {@link com.vaadin.data.util.PropertyFormatter} */ @Deprecated public Format getFormat() { return format; } /** * Gets the value formatter of TextField. * * @param format * the Format used to format the value. Null disables the * formatting. * @deprecated replaced by {@link com.vaadin.data.util.PropertyFormatter} */ @Deprecated public void setFormat(Format format) { this.format = format; requestRepaint(); } @Override protected boolean isEmpty() { return super.isEmpty() || toString().length() == 0; } }