Wt: Wt::WFormWidget Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions
Wt::WFormWidget Class Reference

An abstract widget that corresponds to an HTML form element. More...

`#include <Wt/WFormWidget>`

Inheritance diagram for Wt::WFormWidget:
[legend]

List of all members.

## Public Member Functions
| WFormWidget (WContainerWidget *parent=0)
| Creates a WFormWidget with an optional parent.
| ~WFormWidget ()
| Destructor.
WLabel * | label () const
| Returns the label associated with this widget.
virtual void | setHidden (bool hidden, const WAnimation &animation=WAnimation())
| Sets the hidden state of this widget.
virtual WString | valueText () const =0
| Returns the current value.
virtual void | setValueText (const WString &value)=0
| Sets the value text.
void | setValidator (WValidator *validator)
| Sets a validator for this field.
virtual WValidator * | validator () const
| Returns the validator.
virtual WValidator::State | validate ()
| Validates the field.
void | setEnabled (bool enabled)
| Sets whether the widget is enabled.
void | setFocus ()
| Gives focus.
void | setFocus (bool focus)
| Changes focus.
bool | hasFocus () const
| Returns whether this widget has focus.
virtual void | setTabIndex (int index)
| Sets the tab index.
virtual int | tabIndex () const
| Returns the tab index.
void | setReadOnly (bool readOnly)
| Sets the element read-only.
bool | isReadOnly () const
| Returns whether the form element is read-only.
void | setEmptyText (const WString &emptyText)
| Sets the empty text to be shown when the field is empty.
const WString & | emptyText ()
| Returns the empty text to be shown when the field is empty.
EventSignal & | changed ()
| Signal emitted when the value was changed.
EventSignal & | selected ()
| Signal emitted when ??
EventSignal & | blurred ()
| Signal emitted when the widget lost focus.
EventSignal & | focussed ()
| Signal emitted when the widget recieved focus.
Signal< WValidator::Result > & | validated ()
| Signal emitted when the widget is being validated.
virtual void | refresh ()
| Refresh the widget.
virtual void | setToolTip (const WString &text, TextFormat textFormat=PlainText)
| Sets a tooltip.
## Protected Member Functions
virtual void | enableAjax ()
| Progresses to an Ajax-enabled widget.
virtual WStatelessSlot * | getStateless (Method method)
| On-demand stateless slot implementation.
virtual void | render (WFlags< RenderFlag > flags)
| Renders the widget.
virtual void | propagateSetEnabled (bool enabled)
| Propagates that a widget was enabled or disabled through children.

## Detailed Description

An abstract widget that corresponds to an HTML form element.

A WFormWidget may receive focus, can be disabled, and can have a label that acts as proxy for getting focus. It provides signals which reflect changes to its value, or changes to its focus.

Form widgets also have built-in support for validation, using setValidator(WValidator *). If the validator provide client-side validation, then an invalid validation state is reflected using the style class `"Wt-invalid"`. All validators provided by Wt implement client-side validation.

On the server-side, use validate() method to validate the content using a validator previously set.

## Constructor & Destructor Documentation

Wt::WFormWidget::~WFormWidget | ( |  | ) |

Destructor.

If a label was associated with the widget, its buddy is reset to `0`.

## Member Function Documentation

const WString& Wt::WFormWidget::emptyText | ( |  | ) |

Returns the empty text to be shown when the field is empty.

See also:
  setEmptyText()

void Wt::WFormWidget::enableAjax | ( |  | ) | `[protected, virtual]`

Progresses to an Ajax-enabled widget.

This method is called when the progressive bootstrap method is used, and support for AJAX has been detected. The default behavior will upgrade the widget's event handling to use AJAX instead of full page reloads, and propagate the call to its children.

You may want to reimplement this method if you want to make changes to widget when AJAX is enabled. You should always call the base implementation.

See also:
  WApplication::enableAjax()

Reimplemented from Wt::WWebWidget.

WStatelessSlot * Wt::WFormWidget::getStateless | ( | Method | method | ) | `[protected, virtual]`

On-demand stateless slot implementation.

This method returns a stateless slot implementation for the given `method`. To avoid the cost of declaring methods to be stateless when they are not used, you may reimplement this method to provide a stateless implementation for a method only when the method is involved in a slot connection.

Use implementStateless() to provide a stateless implementation of the given `method`, or return the base class implementation otherwise.

Reimplemented from Wt::WWidget.

Reimplemented in Wt::WAbstractToggleButton.

bool Wt::WFormWidget::isReadOnly | ( |  | ) | const

Returns whether the form element is read-only.

See also:
  setReadOnly()

WLabel* Wt::WFormWidget::label | ( |  | ) | const

Returns the label associated with this widget.

Returns the label (if there is one) that acts as a proxy for this widget.

See also:
  WLabel::setBuddy(WFormWidget *)

void Wt::WFormWidget::propagateSetEnabled | ( | bool | enabled | ) | `[protected, virtual]`

Propagates that a widget was enabled or disabled through children.

When enabling or disabling a widget, you usually also want to disable contained children. This method is called by setDisabled() to propagate its state to all children.

You may want to reimplement this method if they wish to render differently when a widget is disabled. The default implementation will propagate the signal to all children.

Reimplemented from Wt::WInteractWidget.

Reimplemented in Wt::WDateEdit.

void Wt::WFormWidget::refresh | ( |  | ) | `[virtual]`

Refresh the widget.

The refresh method is invoked when the locale is changed using WApplication::setLocale() or when the user hit the refresh button.

The widget must actualize its contents in response.

Reimplemented from Wt::WWebWidget.

Reimplemented in Wt::WPushButton, and Wt::WComboBox.

void Wt::WFormWidget::render | ( | WFlags< RenderFlag > | flags | ) | `[protected, virtual]`

Renders the widget.

This function renders the widget (or an update for the widget), after this has been scheduled using scheduleRender().

The default implementation will render the widget by serializing changes to JavaScript and HTML. You may want to reimplement this widget if you have been postponing some of the layout / rendering implementation until the latest moment possible. In that case you should make sure you call the base implementation however.

Reimplemented from Wt::WWebWidget.

Reimplemented in Wt::WSlider, Wt::WDateEdit, and Wt::WAbstractSpinBox.

void Wt::WFormWidget::setEmptyText | ( | const WString & | emptyText | ) |

Sets the empty text to be shown when the field is empty.

See also:
  emptyText()

void Wt::WFormWidget::setEnabled | ( | bool | enabled | ) |

Sets whether the widget is enabled.

A widget that is disabled cannot receive focus or user interaction.

This is the opposite of setDisabled().

void Wt::WFormWidget::setFocus | ( |  | ) |

Gives focus.

Giving focus to an input element only works when JavaScript is enabled.

void Wt::WFormWidget::setFocus | ( | bool | focus | ) |

Changes focus.

When using `focus` = `false`, you can undo a previous setFocus() call.

void Wt::WFormWidget::setHidden | ( | bool | hidden,
|  | const WAnimation & | animation = `WAnimation()`
| ) |  | `[virtual]`

Sets the hidden state of this widget.

If the widget has a label, it is hidden and shown together with this widget.

Reimplemented from Wt::WWebWidget.

Reimplemented in Wt::WDateEdit.

void Wt::WFormWidget::setReadOnly | ( | bool | readOnly | ) |

Sets the element read-only.

A read-only form element cannot be edited, but the contents can still be selected.

By default, a form element area is not read-only.

See also:
  setEnabled()

void Wt::WFormWidget::setTabIndex | ( | int | index | ) | `[virtual]`

Sets the tab index.

For widgets that receive focus, focus is passed on to the next widget in the tabbing chain based on their tab index. When the user navigates through form widgets using the keyboard, widgets receive focus starting from the element with the lowest tab index to elements with the highest tab index.

A tab index only applies to widgets than can receive focus (which are WFormWidget, WAnchor, WPushButton), but setting a tab index on any other type of widget will propagate to its contained form widgets.

Widgets with a same tab index will receive focus in the same order as they are inserted in the widget tree.

The default tab index is 0.

See also:
  setTabOrder()

Reimplemented from Wt::WWebWidget.

void Wt::WFormWidget::setToolTip | ( | const WString & | text,
|  | TextFormat | textFormat = `PlainText`
| ) |  | `[virtual]`

Sets a tooltip.

The tooltip is displayed when the cursor hovers over the widget.

When `textFormat` is XHTMLText, the tooltip may contain any valid XHTML snippet. The tooltip will then be rendered using JavaScript.

Reimplemented from Wt::WWebWidget.

void Wt::WFormWidget::setValidator | ( | WValidator * | validator | ) |

Sets a validator for this field.

The validator is used to validate the current input.

If the validator has no parent yet, then ownership is transferred to the form field, and thus the validator will be deleted together with the form field.

The default value is `0`.

See also:
  validate()

virtual void Wt::WFormWidget::setValueText | ( | const WString & | value | ) | `[pure virtual]`

Sets the value text.

This sets the current value from a string value.

Implemented in Wt::WPushButton, Wt::WSlider, Wt::WComboBox, Wt::WLineEdit, Wt::WTextArea, and Wt::WAbstractToggleButton.

int Wt::WFormWidget::tabIndex | ( |  | ) | const`[virtual]`

Returns the tab index.

See also:
  setTabIndex()

Reimplemented from Wt::WWebWidget.

WValidator::State Wt::WFormWidget::validate | ( |  | ) | `[virtual]`

Validates the field.

See also:
  validated()

Reimplemented in Wt::WAbstractSpinBox.

Signal<WValidator::Result>& Wt::WFormWidget::validated | ( |  | ) |

Signal emitted when the widget is being validated.

This signal may be useful to react to a changed validation state.

See also:
  validate()

virtual WString Wt::WFormWidget::valueText | ( |  | ) | const`[pure virtual]`

Returns the current value.

This returns the current value as a string.

Implemented in Wt::WPushButton, Wt::WSlider, Wt::WComboBox, Wt::WLineEdit, Wt::WTextArea, and Wt::WAbstractToggleButton.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator