Class WInPlaceEdit


public class WInPlaceEdit extends WCompositeWidget
A widget that provides in-place-editable text.

The WInPlaceEdit provides a text that may be edited in place by the user by clicking on it. When clicked, the text turns into a line edit, with optionally a save and cancel button (see setButtonsEnabled()).

When the user saves the edit, the valueChanged() signal is emitted.

Usage example:


 WContainerWidget w = new WContainerWidget();
 new WText("Name: ", w);
 WInPlaceEdit edit = new WInPlaceEdit("Bob Smith", w);
 edit.setStyleClass("inplace");

 

This code will produce an edit that looks like:

WInPlaceEdit text mode

When the text is clicked, the edit will expand to become:

WInPlaceEdit edit mode

CSS

A WInPlaceEdit widget renders as a <span> containing a WText, a WLineEdit and optional buttons (WPushButton). All these widgets may be styled as such. It does not provide style information.

In particular, you may want to provide a visual indication that the text is editable e.g. using a hover effect:

CSS stylesheet:


 .inplace span:hover {
 background-color: gray;
 }

 
  • Constructor Details

  • Method Details

    • getText

      public WString getText()
      Returns the current value.

      See Also:
    • setText

      public void setText(CharSequence text)
      Sets the current value.

      See Also:
    • setPlaceholderText

      public void setPlaceholderText(CharSequence text)
      Sets the placeholder text.

      This sets the text that is shown when the field is empty.

    • getPlaceholderText

      public WString getPlaceholderText()
      Returns the placeholder text.

      See Also:
    • getLineEdit

      public WLineEdit getLineEdit()
      Returns the line edit.

      You may use this for example to set a validator on the line edit.

    • getTextWidget

      public WText getTextWidget()
      Returns the WText widget that renders the current string.

      You may use this for example to set the text format of the displayed string.

    • getSaveButton

      public WPushButton getSaveButton()
      Returns the save button.

      This method returns null if the buttons were disabled.

      See Also:
    • getCancelButton

      public WPushButton getCancelButton()
      Returns the cancel button.

      This method returns null if the buttons were disabled.

      See Also:
    • valueChanged

      public Signal1<WString> valueChanged()
      Signal emitted when the value has been changed.

      The signal argument provides the new value.

    • setButtonsEnabled

      public void setButtonsEnabled(boolean enabled)
      Displays the Save and 'Cancel' button during editing.

      By default, the Save and Cancel buttons are shown. Call this function with enabled = false to only show a line edit.

      In this mode, the enter key or any event that causes focus to be lost saves the value while the escape key cancels the editing.

    • setButtonsEnabled

      public final void setButtonsEnabled()
      Displays the Save and 'Cancel' button during editing.

      Calls setButtonsEnabled(true)

    • render

      protected void render(EnumSet<RenderFlag> flags)
      Description copied from class: WWidget
      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.

      Overrides:
      render in class WCompositeWidget