com.google.gwt.user.client.ui
Class CustomButton

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.FocusWidget
              extended by com.google.gwt.user.client.ui.ButtonBase
                  extended by com.google.gwt.user.client.ui.CustomButton
All Implemented Interfaces:
EventListener, HasFocus, HasHTML, HasText, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents
Direct Known Subclasses:
PushButton, ToggleButton

public abstract class CustomButton
extends ButtonBase
implements SourcesKeyboardEvents

Custom Button is a base button class with built in support for a set number of button faces. Each face has its own style modifier. For example, the state for down and hovering is assigned the CSS modifier down-hovering. So, if the button's overall style name is gwt-PushButton then when showing the down-hovering face, the button's style is gwt-PushButton-down-hovering. The overall style name can be used to change the style of the button irrespective of the current face.

Each button face can be assigned is own image, text, or html contents. If no content is defined for a face, then the face will use the contents of another face. For example, if down-hovering does not have defined contents, it will use the contents defined by the down face.

The supported faces are defined below:

CSS style name Getter method description of face defaults to contents of face
up getUpFace() face shown when button is up none
down getDownFace() face shown when button is down up
up-hovering getUpHoveringFace() face shown when button is up and hovering up
up-disabled getUpDisabledFace() face shown when button is up and disabled up
down-hovering getDownHoveringFace() face shown when button is down and hovering down
down-disabled getDownDisabledFace() face shown when button is down and disabled down


Nested Class Summary
 class CustomButton.Face
          Represents a button's face.
 
Constructor Summary
protected CustomButton()
          Constructor for CustomButton.
  CustomButton(Image upImage)
          Constructor for CustomButton.
  CustomButton(Image upImage, ClickListener listener)
          Constructor for CustomButton.
  CustomButton(Image upImage, Image downImage)
          Constructor for CustomButton.
  CustomButton(Image upImage, Image downImage, ClickListener listener)
          Constructor for CustomButton.
  CustomButton(java.lang.String upText)
          Constructor for CustomButton.
  CustomButton(java.lang.String upText, ClickListener listener)
          Constructor for CustomButton.
  CustomButton(java.lang.String upText, java.lang.String downText)
          Constructor for CustomButton.
  CustomButton(java.lang.String upText, java.lang.String downText, ClickListener listener)
          Constructor for CustomButton.
 
Method Summary
 CustomButton.Face getDownDisabledFace()
          Gets the downDisabled face of the button.
 CustomButton.Face getDownFace()
          Gets the down face of the button.
 CustomButton.Face getDownHoveringFace()
          Gets the downHovering face of the button.
 java.lang.String getHTML()
          Gets the current face's html.
 int getTabIndex()
          Gets the widget's position in the tab index.
 java.lang.String getText()
          Gets the current face's text.
 CustomButton.Face getUpDisabledFace()
          Gets the upDisabled face of the button.
 CustomButton.Face getUpFace()
          Gets the up face of the button.
 CustomButton.Face getUpHoveringFace()
          Gets the upHovering face of the button.
protected  boolean isDown()
          Is this button down?
protected  void onAttach()
          Overridden on attach to ensure that a button face has been chosen before the button is displayed.
 void onBrowserEvent(Event event)
          Fired whenever a browser event is received.
protected  void onClick()
          Called when the user finishes clicking on this button.
protected  void onClickCancel()
          Called when the user aborts a click in progress; for example, by dragging the mouse outside of the button before releasing the mouse button.
protected  void onClickStart()
          Called when the user begins to click on this button.
protected  void onDetach()
          This method is called when a widget is detached from the browser's document.
 void setAccessKey(char key)
          Sets the widget's 'access key'.
protected  void setDown(boolean down)
          Sets whether this button is down.
 void setEnabled(boolean enabled)
          Sets whether this button is enabled.
 void setFocus(boolean focused)
          Explicitly focus/unfocus this widget.
 void setHTML(java.lang.String html)
          Sets the current face's html.
 void setTabIndex(int index)
          Sets the widget's position in the tab index.
 void setText(java.lang.String text)
          Sets the current face's text.
 
Methods inherited from class com.google.gwt.user.client.ui.FocusWidget
addClickListener, addFocusListener, addKeyboardListener, getFocusImpl, isEnabled, removeClickListener, removeFocusListener, removeKeyboardListener, setElement
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
doAttachChildren, doDetachChildren, getParent, isAttached, onLoad, onUnload, removeFromParent
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkEvents, 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.user.client.ui.SourcesKeyboardEvents
addKeyboardListener, removeKeyboardListener
 

Constructor Detail

CustomButton

public CustomButton(Image upImage)
Constructor for CustomButton.

Parameters:
upImage - image for the default (up) face of the button

CustomButton

public CustomButton(Image upImage,
                    Image downImage)
Constructor for CustomButton.

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

CustomButton

public CustomButton(Image upImage,
                    Image downImage,
                    ClickListener listener)
Constructor for CustomButton.

Parameters:
upImage - image for the default (up) face of the button
downImage - image for the down face of the button
listener - clickListener

CustomButton

public CustomButton(Image upImage,
                    ClickListener listener)
Constructor for CustomButton.

Parameters:
upImage - image for the default (up) face of the button
listener - the click listener

CustomButton

public CustomButton(java.lang.String upText)
Constructor for CustomButton.

Parameters:
upText - the text for the default (up) face of the button.

CustomButton

public CustomButton(java.lang.String upText,
                    ClickListener listener)
Constructor for CustomButton.

Parameters:
upText - the text for the default (up) face of the button
listener - the click listener

CustomButton

public CustomButton(java.lang.String upText,
                    java.lang.String downText)
Constructor for CustomButton.

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

CustomButton

public CustomButton(java.lang.String upText,
                    java.lang.String downText,
                    ClickListener listener)
Constructor for CustomButton.

Parameters:
upText - the text for the default (up) face of the button
downText - the text for the down face of the button
listener - the click listener

CustomButton

protected CustomButton()
Constructor for CustomButton.

Method Detail

getDownDisabledFace

public final CustomButton.Face getDownDisabledFace()
Gets the downDisabled face of the button.

Returns:
the downDisabled face

getDownFace

public final CustomButton.Face getDownFace()
Gets the down face of the button.

Returns:
the down face

getDownHoveringFace

public final CustomButton.Face getDownHoveringFace()
Gets the downHovering face of the button.

Returns:
the downHovering face

getHTML

public java.lang.String getHTML()
Gets the current face's html.

Specified by:
getHTML in interface HasHTML
Overrides:
getHTML in class ButtonBase
Returns:
current face's html

getTabIndex

public int getTabIndex()
Description copied from interface: HasFocus
Gets the widget's position in the tab index.

Specified by:
getTabIndex in interface HasFocus
Overrides:
getTabIndex in class FocusWidget
Returns:
the widget's tab index

getText

public java.lang.String getText()
Gets the current face's text.

Specified by:
getText in interface HasText
Overrides:
getText in class ButtonBase
Returns:
current face's text

getUpDisabledFace

public final CustomButton.Face getUpDisabledFace()
Gets the upDisabled face of the button.

Returns:
the upDisabled face

getUpFace

public final CustomButton.Face getUpFace()
Gets the up face of the button.

Returns:
the up face

getUpHoveringFace

public final CustomButton.Face getUpHoveringFace()
Gets the upHovering face of the button.

Returns:
the upHovering face

onBrowserEvent

public void onBrowserEvent(Event event)
Description copied from interface: EventListener
Fired whenever a browser event is received.

Specified by:
onBrowserEvent in interface EventListener
Overrides:
onBrowserEvent in class FocusWidget
Parameters:
event - the event received

setAccessKey

public void setAccessKey(char key)
Description copied from interface: HasFocus
Sets the widget's 'access key'. This key is used (in conjunction with a browser-specific modifier key) to automatically focus the widget.

Specified by:
setAccessKey in interface HasFocus
Overrides:
setAccessKey in class FocusWidget
Parameters:
key - the widget's access key

setEnabled

public final void setEnabled(boolean enabled)
Sets whether this button is enabled.

Overrides:
setEnabled in class FocusWidget
Parameters:
enabled - true to enable the button, false to disable it

setFocus

public void setFocus(boolean focused)
Description copied from interface: HasFocus
Explicitly focus/unfocus this widget. Only one widget can have focus at a time, and the widget that does will receive all keyboard events.

Specified by:
setFocus in interface HasFocus
Overrides:
setFocus in class FocusWidget
Parameters:
focused - whether this widget should take focus or release it

setHTML

public void setHTML(java.lang.String html)
Sets the current face's html.

Specified by:
setHTML in interface HasHTML
Overrides:
setHTML in class ButtonBase
Parameters:
html - html to set

setTabIndex

public void setTabIndex(int index)
Description copied from interface: HasFocus
Sets the widget's position in the tab index. If more than one widget has the same tab index, each such widget will receive focus in an arbitrary order. Setting the tab index to -1 will cause this widget to be removed from the tab order.

Specified by:
setTabIndex in interface HasFocus
Overrides:
setTabIndex in class FocusWidget
Parameters:
index - the widget's tab index

setText

public void setText(java.lang.String text)
Sets the current face's text.

Specified by:
setText in interface HasText
Overrides:
setText in class ButtonBase
Parameters:
text - text to set

isDown

protected boolean isDown()
Is this button down?

Returns:
true if the button is down

onAttach

protected void onAttach()
Overridden on attach to ensure that a button face has been chosen before the button is displayed.

Overrides:
onAttach in class Widget

onClick

protected void onClick()
Called when the user finishes clicking on this button. The default behavior is to fire the click event to listeners. Subclasses that override onClickStart() should override this method to restore the normal widget display.


onClickCancel

protected void onClickCancel()
Called when the user aborts a click in progress; for example, by dragging the mouse outside of the button before releasing the mouse button. Subclasses that override onClickStart() should override this method to restore the normal widget display.


onClickStart

protected void onClickStart()
Called when the user begins to click on this button. Subclasses may override this method to display the start of the click visually; such subclasses should also override onClick() and onClickCancel() to restore normal visual state. Each onClickStart will eventually be followed by either onClick or onClickCancel, depending on whether the click is completed.


onDetach

protected void onDetach()
Description copied from class: Widget
This method is called when a widget is detached from the browser's document. To receive notification before a Widget is removed from the document, override the Widget.onUnload() method.

Subclasses that override this method must call super.onDetach() to ensure that the Widget has been detached from the underlying Element. Failure to do so will result in application memory leaks due to circular references between DOM Elements and JavaScript objects.

Overrides:
onDetach in class Widget

setDown

protected void setDown(boolean down)
Sets whether this button is down.

Parameters:
down - true to press the button, false otherwise