001: /*
002: * Copyright 2007 Google Inc.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005: * use this file except in compliance with the License. You may obtain a copy of
006: * the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013: * License for the specific language governing permissions and limitations under
014: * the License.
015: */
016:
017: package com.google.gwt.user.client.ui;
018:
019: /**
020: * A normal push button with custom styling.
021: *
022: * <p>
023: * <img class='gallery' src='PushButton.png'/>
024: * </p>
025: *
026: * <h3>CSS Style Rules</h3>
027: * <ul class="css">
028: * <li>.gwt-PushButton-up/down/up-hovering/down-hovering/up-disabled/down-disabled {.html-face}</li>
029: * </ul>
030: *
031: * <p>
032: * <h3>Example</h3> {@example com.google.gwt.examples.PushButtonExample}
033: * </p>
034: */
035: public class PushButton extends CustomButton {
036:
037: private static final String STYLENAME_DEFAULT = "gwt-PushButton";
038:
039: {
040: setStyleName(STYLENAME_DEFAULT);
041: }
042:
043: /**
044: * Constructor for <code>PushButton</code>.
045: */
046: public PushButton() {
047: super ();
048: }
049:
050: /**
051: * Constructor for <code>PushButton</code>.
052: *
053: * @param upImage image for the default(up) face of the button
054: */
055: public PushButton(Image upImage) {
056: super (upImage);
057: }
058:
059: /**
060: * Constructor for <code>PushButton</code>. The supplied image is used to
061: * construct the default face of the button.
062: *
063: * @param upImage image for the default (up) face of the button
064: * @param listener the click listener
065: */
066: public PushButton(Image upImage, ClickListener listener) {
067: super (upImage, listener);
068: }
069:
070: /**
071: * Constructor for <code>PushButton</code>.
072: *
073: * @param upImage image for the default(up) face of the button
074: * @param downImage image for the down face of the button
075: */
076: public PushButton(Image upImage, Image downImage) {
077: super (upImage, downImage);
078: }
079:
080: /**
081: * Constructor for <code>PushButton</code>.
082: *
083: * @param upImage image for the default(up) face of the button
084: * @param downImage image for the down face of the button
085: * @param listener clickListener
086: */
087: public PushButton(Image upImage, Image downImage,
088: ClickListener listener) {
089: super (upImage, downImage, listener);
090: }
091:
092: /**
093: * Constructor for <code>PushButton</code>. The supplied text is used to
094: * construct the default face of the button.
095: *
096: * @param upText the text for the default (up) face of the button.
097: */
098: public PushButton(String upText) {
099: super (upText);
100: }
101:
102: /**
103: * Constructor for <code>PushButton</code>. The supplied text is used to
104: * construct the default face of the button.
105: *
106: * @param upText the text for the default (up) face of the button
107: * @param listener the click listener
108: */
109: public PushButton(String upText, ClickListener listener) {
110: super (upText, listener);
111: }
112:
113: /**
114: * Constructor for <code>PushButton</code>.
115: *
116: * @param upText the text for the default (up) face of the button
117: * @param downText the text for down face of the button
118: */
119: public PushButton(String upText, String downText) {
120: super (upText, downText);
121: }
122:
123: /**
124: * Constructor for <code>PushButton</code>.
125: *
126: * @param upText the text for the default (up) face of the button
127: * @param downText the text for down face of the button
128: * @param listener the click listener
129: */
130: public PushButton(String upText, String downText,
131: ClickListener listener) {
132: super (upText, downText, listener);
133: }
134:
135: @Override
136: protected void onClick() {
137: setDown(false);
138: super .onClick();
139: }
140:
141: @Override
142: protected void onClickCancel() {
143: setDown(false);
144: }
145:
146: @Override
147: protected void onClickStart() {
148: setDown(true);
149: }
150: }
|