/* Copyright (c) 2009 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.appengine.demos.sticky.client; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.CustomButton; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.PushButton; import com.google.gwt.user.client.ui.ToggleButton; /** * A collection of static factories to create {@link CustomButton}s with various * state faces. * * @author knorton@google.com (Kelly Norton) */ public class Buttons { /** * Creates a {@link PushButton} with the specified face images and stylename. * * @param upImage * the image to be used on the up face * @param hvImage * the image to be used on the hover face * @param dnImage * the image to be used on the down face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static PushButton createPushButtonWithImageStates(Image upImage, Image hvImage, Image dnImage, String styleName, ClickHandler handler) { final PushButton button = createPushButtonWithImageStates(upImage, hvImage, styleName, handler); button.getDownFace().setImage(dnImage); return button; } /** * Creates a {@link PushButton} with the specified face images and stylename. * * @param upImage * the image to be used on the up face * @param hvImage * the image to be used on the hover face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static PushButton createPushButtonWithImageStates(Image upImage, Image hvImage, String styleName, ClickHandler handler) { final PushButton button = createPushButtonWithImageStates(upImage, styleName, handler); button.getUpHoveringFace().setImage(hvImage); return button; } /** * Creates a {@link PushButton} with the specified face images and stylename. * * @param upImage * the image to be used on the up face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static PushButton createPushButtonWithImageStates(Image upImage, String styleName, ClickHandler handler) { final PushButton button = new PushButton(upImage, handler); button.setStyleName(styleName); return button; } /** * Creates a {@link ToggleButton} with the specified face images and * stylename. * * @param upImage * the image to be used on the up face * @param hvImage * the image to be used on the hover face * @param dnImage * the image to be used on the down face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static ToggleButton createToggleButtonWithImageStates(Image upImage, Image hvImage, Image dnImage, String styleName, ClickHandler handler) { final ToggleButton button = createToggleButtonWithImageStates(upImage, hvImage, styleName, handler); button.getDownFace().setImage(dnImage); return button; } /** * Creates a {@link ToggleButton} with the specified face images and * stylename. * * @param upImage * the image to be used on the up face * @param hvImage * the image to be used on the hover face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static ToggleButton createToggleButtonWithImageStates(Image upImage, Image hvImage, String styleName, ClickHandler handler) { final ToggleButton button = createToggleButtonWithImageStates(upImage, styleName, handler); button.getUpHoveringFace().setImage(hvImage); return button; } /** * Creates a {@link ToggleButton} with the specified face images and * stylename. * * @param upImage * the image to be used on the up face * @param styleName * the stylename to use for the widget * @param handler * a click handler to which to bind the button * @return the button */ public static ToggleButton createToggleButtonWithImageStates(Image upImage, String styleName, ClickHandler handler) { final ToggleButton button = new ToggleButton(upImage, handler); button.setStyleName(styleName); return button; } private Buttons() { } }