com.google.gwt.user.client.ui

## Class ToggleButton

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.google.gwt.user.client.ui.FocusWidget
      - - com.google.gwt.user.client.ui.ButtonBase
        - - com.google.gwt.user.client.ui.CustomButton
          - - com.google.gwt.user.client.ui.ToggleButton

- All Implemented Interfaces:
    IsEditor<LeafValueEditor<java.lang.Boolean>>, HasAllDragAndDropHandlers, HasAllFocusHandlers, HasAllGestureHandlers, HasAllKeyHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasBlurHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasFocusHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, HasAttachHandlers, HasValueChangeHandlers<java.lang.Boolean>, HasHandlers, HasSafeHtml, EventListener, TakesValue<java.lang.Boolean>, Focusable, HasEnabled, HasFocus, HasHTML, HasText, HasValue<java.lang.Boolean>, HasVisibility, IsWidget, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents

      public class ToggleButton
      extends CustomButton
      implements HasValue<java.lang.Boolean>, IsEditor<LeafValueEditor<java.lang.Boolean>>

  A `ToggleButton` is a stylish stateful button which allows the user to toggle between `up` and `down` states.

  ### CSS Style Rules

  - .gwt-ToggleButton-up/down/up-hovering/down-hovering/up-disabled/down-disabled {.html-face}

  ### Example

  >     public class ToggleButtonExample implements EntryPoint {
  >       public void onModuleLoad() {
  >         // Make a new button that does something when you click it.
  >         final ToggleButton toggleButton = new ToggleButton("Up", "Down");
  >         toggleButton.addClickHandler(new ClickHandler() {
  >           public void onClick(ClickEvent event) {
  >             if (toggleButton.isDown()) {
  >               Window.alert("I have been toggled down");
  >             } else {
  >               Window.alert("I have been toggled up");
  >             }
  >           }
  >         });

  >         // In a real application, you would have to have css styles defined for
  >         // gwt-ToggleButton-up,gwt-ToggleButton-up-hovering,gwt-ToggleButton-up-disabled,
  >         // gwt-ToggleButton-down,.gwt-ToggleButton-down-hovering,.gwt-ToggleButton-down-disabled

  >         // Add the ToggleButton to the root panel.
  >         RootPanel.get().add(toggleButton);
  >       }
  >     }

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.CustomButton

      `CustomButton.Face`

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.google.gwt.user.client.ui.Widget

      `eventsToSink`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ToggleButton()` Constructor for `ToggleButton`.
    `ToggleButton(Image upImage)` Constructor for `ToggleButton`.
    `ToggleButton(Image upImage, ClickHandler handler)` Constructor for `ToggleButton`.
    `ToggleButton(Image upImage, ClickListener listener)` Deprecated. Use `ToggleButton(Image, ClickHandler)` instead
    `ToggleButton(Image upImage, Image downImage)` Constructor for `ToggleButton`.
    `ToggleButton(Image upImage, Image downImage, ClickHandler handler)` Constructor for `ToggleButton`.
    `ToggleButton(Image upImage, Image downImage, ClickListener listener)` Deprecated. Use `ToggleButton(Image, Image, ClickHandler)` instead
    `ToggleButton(java.lang.String upText)` Constructor for `ToggleButton`.
    `ToggleButton(java.lang.String upText, ClickHandler handler)` Constructor for `ToggleButton`.
    `ToggleButton(java.lang.String upText, ClickListener listener)` Deprecated. Use `ToggleButton(String, ClickHandler)` instead
    `ToggleButton(java.lang.String upText, java.lang.String downText)` Constructor for `ToggleButton`.
    `ToggleButton(java.lang.String upText, java.lang.String downText, ClickHandler handler)` Constructor for `ToggleButton`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addValueChangeHandler(ValueChangeHandler<java.lang.Boolean> handler)` Adds a `ValueChangeEvent` handler.
    `LeafValueEditor<java.lang.Boolean>` | `asEditor()` Returns the Editor encapsulated by the view object.
    `java.lang.Boolean` | `getValue()` Determines whether this button is currently down.
    `boolean` | `isDown()` Is this button down?
    `protected void` | `onClick()` Called when the user finishes clicking on this button.
    `void` | `setDown(boolean down)` Sets whether this button is down.
    `void` | `setValue(java.lang.Boolean value)` Sets whether this button is down.
    `void` | `setValue(java.lang.Boolean value, boolean fireEvents)` Sets whether this button is down, firing `ValueChangeEvent` if appropriate.

    - ### Methods inherited from class com.google.gwt.user.client.ui.CustomButton

      `finishSetup, fireClickListeners, getCurrentFace, getDownDisabledFace, getDownFace, getDownHoveringFace, getHTML, getTabIndex, getText, getUpDisabledFace, getUpFace, getUpHoveringFace, isHovering, onAttach, onBrowserEvent, onClickCancel, onClickStart, onDetach, setAccessKey, setCurrentFace, setEnabled, setFocus, setHovering, setHTML, setHTML, setTabIndex, setText, toggleDown`

    - ### Methods inherited from class com.google.gwt.user.client.ui.FocusWidget

      `addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getFocusImpl, isEnabled, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### ToggleButton

          public ToggleButton()

      Constructor for `ToggleButton`.

    - #### ToggleButton

          public ToggleButton(Image upImage)

      Constructor for `ToggleButton`. The supplied image is used to construct the default face.
      Parameters:
        `upImage` - image for the default face of the button

    - #### ToggleButton

          public ToggleButton(Image upImage,
                      ClickHandler handler)

      Constructor for `ToggleButton`. The supplied image is used to construct the default face of the button.
      Parameters:
        `upImage` - image for the default (up) face of the button
        `handler` - the click handler

    - #### ToggleButton

          @Deprecated
          public ToggleButton(Image upImage,
                                 ClickListener listener)

      Deprecated. Use `ToggleButton(Image, ClickHandler)` instead
      Constructor for `ToggleButton`. The supplied image is used to construct the default face of the button.
      Parameters:
        `upImage` - image for the default (up) face of the button
        `listener` - the click listener

    - #### ToggleButton

          public ToggleButton(Image upImage,
                      Image downImage)

      Constructor for `ToggleButton`.
      Parameters:
        `upImage` - image for the default(up) face of the button
        `downImage` - image for the down face of the button

    - #### ToggleButton

          public ToggleButton(Image upImage,
                      Image downImage,
                      ClickHandler handler)

      Constructor for `ToggleButton`.
      Parameters:
        `upImage` - image for the default(up) face of the button
        `downImage` - image for the down face of the button
        `handler` - the click handler

    - #### ToggleButton

          @Deprecated
          public ToggleButton(Image upImage,
                                 Image downImage,
                                 ClickListener listener)

      Deprecated. Use `ToggleButton(Image, Image, ClickHandler)` instead
      Constructor for `ToggleButton`.
      Parameters:
        `upImage` - image for the default(up) face of the button
        `downImage` - image for the down face of the button
        `listener` - clickListener

    - #### ToggleButton

          public ToggleButton(java.lang.String upText)

      Constructor for `ToggleButton`. The supplied text is used to construct the default face of the button.
      Parameters:
        `upText` - the text for the default (up) face of the button.

    - #### ToggleButton

          public ToggleButton(java.lang.String upText,
                      ClickHandler handler)

      Constructor for `ToggleButton`. The supplied text is used to construct the default face of the button.
      Parameters:
        `upText` - the text for the default (up) face of the button
        `handler` - the click handler

    - #### ToggleButton

          @Deprecated
          public ToggleButton(java.lang.String upText,
                                 ClickListener listener)

      Deprecated. Use `ToggleButton(String, ClickHandler)` instead
      Constructor for `ToggleButton`. The supplied text is used to construct the default face of the button.
      Parameters:
        `upText` - the text for the default (up) face of the button
        `listener` - the click listener

    - #### ToggleButton

          public ToggleButton(java.lang.String upText,
                      java.lang.String downText)

      Constructor for `ToggleButton`.
      Parameters:
        `upText` - the text for the default (up) face of the button
        `downText` - the text for down face of the button

    - #### ToggleButton

          public ToggleButton(java.lang.String upText,
                      java.lang.String downText,
                      ClickHandler handler)

      Constructor for `ToggleButton`.
      Parameters:
        `upText` - the text for the default (up) face of the button
        `downText` - the text for down face of the button
        `handler` - the click handler

  - ### Method Detail

    - #### addValueChangeHandler

          public HandlerRegistration addValueChangeHandler(ValueChangeHandler<java.lang.Boolean> handler)

      Description copied from interface: `HasValueChangeHandlers`
      Adds a `ValueChangeEvent` handler.
      Specified by:
        `addValueChangeHandler` in interface `HasValueChangeHandlers<java.lang.Boolean>`
      Parameters:
        `handler` - the handler
      Returns:
        the registration for the event

    - #### asEditor

          public LeafValueEditor<java.lang.Boolean> asEditor()

      Description copied from interface: `IsEditor`
      Returns the Editor encapsulated by the view object.
      Specified by:
        `asEditor` in interface `IsEditor<LeafValueEditor<java.lang.Boolean>>`
      Returns:
        an `Editor` of type E

    - #### getValue

          public java.lang.Boolean getValue()

      Determines whether this button is currently down.
      Specified by:
        `getValue` in interface `TakesValue<java.lang.Boolean>`
      Specified by:
        `getValue` in interface `HasValue<java.lang.Boolean>`
      Returns:
        `true` if the button is pressed, false otherwise. Will not return null
      See Also:
        `TakesValue.setValue(V)`

    - #### isDown

          public boolean isDown()

      Description copied from class: `CustomButton`
      Is this button down?
      Overrides:
        `isDown` in class `CustomButton`
      Returns:
        `true` if the button is down

    - #### setDown

          public void setDown(boolean down)

      Sets whether this button is down. Does not fire `ValueChangeEvent`. (If you want the event to fire, use `setValue(Boolean, boolean)`)
      Overrides:
        `setDown` in class `CustomButton`
      Parameters:
        `down` - `true` to press the button, `false` otherwise

    - #### setValue

          public void setValue(java.lang.Boolean value)

      Sets whether this button is down.
      Specified by:
        `setValue` in interface `TakesValue<java.lang.Boolean>`
      Specified by:
        `setValue` in interface `HasValue<java.lang.Boolean>`
      Parameters:
        `value` - true to press the button, false otherwise; null value implies false
      See Also:
        `TakesValue.getValue()`

    - #### setValue

          public void setValue(java.lang.Boolean value,
                      boolean fireEvents)

      Sets whether this button is down, firing `ValueChangeEvent` if appropriate.
      Specified by:
        `setValue` in interface `HasValue<java.lang.Boolean>`
      Parameters:
        `value` - true to press the button, false otherwise; null value implies false
        `fireEvents` - If true, and value has changed, fire a `ValueChangeEvent`

    - #### onClick

          protected void onClick()

      Description copied from class: `CustomButton`
      Called when the user finishes clicking on this button. The default behavior is to fire the click event to listeners. Subclasses that override `CustomButton.onClickStart()` should override this method to restore the normal widget display.
      Overrides:
        `onClick` in class `CustomButton`