Class WPushButton


public class WPushButton
extends WFormWidget
A widget that represents a push button.

To act on a button click, connect a slot to the WInteractWidget.clicked() signal.

WPushButton is an inline widget.

CSS

The widget corresponds to the HTML <button> tag (with some exceptions in the bootstrap theme).

  • Constructor Details

  • Method Details

    • remove

      public void remove()
      Description copied from class: WFormWidget
      Destructor.
      Overrides:
      remove in class WFormWidget
      See Also:
      WWidget.removeWidget(WWidget widget)
    • setDefault

      public void setDefault​(boolean enabled)
      Sets the default property.

      This has only a functional meaning for a button in a dialog footer, as it becomes associated with pressing 'enter' in the dialog.

      A default button may be rendered in a different style, depending on the theme.

    • isDefault

      public boolean isDefault()
      Returns whether the button is a default button.

      See Also:
      setDefault(boolean enabled)
    • setCheckable

      public void setCheckable​(boolean checkable)
      Sets whether the button is checkable.

      A checkable button can be checked and unchecked, and clicking will toggle between these two states.

      See Also:
      setChecked(boolean checked)
    • isCheckable

      public boolean isCheckable()
      Returns whether a button is checkable.

      See Also:
      setCheckable(boolean checkable)
    • setChecked

      public void setChecked​(boolean checked)
      Sets the button state.

      This is ignored for a button which is not checkable.

      This method does not emit one of the checked() or unChecked() signals.

      See Also:
      setCheckable(boolean checkable), setChecked(), setUnChecked()
    • setChecked

      public void setChecked()
      Checks the button.

      Does not emit the checked() signal.

      See Also:
      setChecked(boolean checked)
    • setUnChecked

      public void setUnChecked()
      Unchecks the button.

      Does not emit the unChecked() signal.

      See Also:
      setChecked(boolean checked)
    • isChecked

      public boolean isChecked()
      Returns the button state.

      See Also:
      setChecked()
    • setText

      public boolean setText​(java.lang.CharSequence text)
      Sets the button text.

      The default text format is TextFormat.Plain.

      When the current text format is TextFormat.XHTML, and text is literal (not created using WString#tr()), it is parsed using an XML parser which discards malicious tags and attributes silently. When the parser encounters an XML parse error, the textFormat is changed to TextFormat.Plain.

      Returns whether the text could be set using the current textFormat. A return value of false indicates that the text format was changed in order to be able to accept the new text.

      See Also:
      setTextFormat(TextFormat textFormat)
    • getText

      public WString getText()
      Returns the button text.

      See Also:
      setText(CharSequence text)
    • setTextFormat

      public boolean setTextFormat​(TextFormat textFormat)
      Sets the text format.

      The textFormat controls how the string should be interpreted: either as plain text, which is displayed literally, or as XHTML-markup.

      When changing the textFormat to TextFormat.XHTML, and the current text is literal (not created using WString#tr()), the current text is parsed using an XML parser which discards malicious tags and attributes silently. When the parser encounters an XML parse error, the textFormat is left unchanged, and this method returns false.

      Returns whether the textFormat could be set for the current text.

      The default format is TextFormat.Plain.

    • getTextFormat

      public TextFormat getTextFormat()
      Returns the text format.

      See Also:
      setTextFormat(TextFormat textFormat)
    • setIcon

      public void setIcon​(WLink link)
      Sets an icon.

      The icon is placed to the left of the text.

    • getIcon

      public WLink getIcon()
      Returns the icon.

      See Also:
      setIcon(WLink link)
    • setLink

      public void setLink​(WLink link)
      Sets a destination link.

      This method can be used to make the button behave like a WAnchor (or conversely, an anchor look like a button) and redirect to another URL when clicked.

      The link may be to a URL, a resource, or an internal path.

      By default, a button does not link to an URL and you should listen to the WInteractWidget.clicked() signal to react to a click event.

      Warning: In Bootstrap theme, you should set a link before it's rendered since it commit's the button to be rendered as an anchor. (see also http://redmine.emweb.be/issues/1802).

    • getLink

      public WLink getLink()
      Returns the destination link.

      See Also:
      setLink(WLink link)
    • getValueText

      public java.lang.String getValueText()
      Returns the current value.

      Returns an empty string, since a button has no value.

      Specified by:
      getValueText in class WFormWidget
    • setValueText

      public void setValueText​(java.lang.String value)
      Sets the current value.

      Has no effect, since a button has not value.

      Specified by:
      setValueText in class WFormWidget
    • setMenu

      public void setMenu​(WPopupMenu popupMenu)
      Links a popup menu to the button.

      When the button is clicked, the linked popup menu is shown.

    • getMenu

      public WPopupMenu getMenu()
      Returns an associated popup menu.

      See Also:
      setMenu(WPopupMenu popupMenu)
    • refresh

      public void refresh()
      Description copied from class: WWidget
      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.

      Note: This does **not** rerender the widget! Calling refresh() usually does not have any effect (unless you've reimplemented refresh() to attach to it an effect).

      Overrides:
      refresh in class WFormWidget
    • checked

      public EventSignal checked()
      Signal emitted when the button gets checked.

      This signal is emitted when the user checks the button.

      You can use the WInteractWidget.clicked() signal to react to any change of the button state.

      See Also:
      setCheckable(boolean checkable)
    • unChecked

      public EventSignal unChecked()
      Signal emitted when the button gets unchecked.

      This signal is emitted when the user unchecks the button.

      You can use the WInteractWidget.clicked() signal to react to any change of the button state.

      See Also:
      setCheckable(boolean checkable)
    • isSetFirstFocus

      public boolean isSetFirstFocus()
      Description copied from class: WWidget
      Set focus on the widget's first descendant.

      Set focus on the widget itself, or on a first descendant which can receive focus.

      Returns whether focus could be set.

      Overrides:
      isSetFirstFocus in class WWebWidget
    • getDomChanges

      protected void getDomChanges​(java.util.List<DomElement> result, WApplication app)
      Description copied from class: WWebWidget
      Get DOM changes for this widget.

      This is an internal function, and should not be called directly, or be overridden!

      Overrides:
      getDomChanges in class WWebWidget
    • propagateSetEnabled

      protected void propagateSetEnabled​(boolean enabled)
      Description copied from class: WWidget
      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.

      Overrides:
      propagateSetEnabled in class WFormWidget
    • enableAjax

      protected void enableAjax()
      Description copied from class: WWidget
      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.

      Overrides:
      enableAjax in class WFormWidget
      See Also:
      WApplication.enableAjax()