/*
* Smart GWT (GWT for SmartClient)
* Copyright 2008 and beyond, Isomorphic Software, Inc.
*
* Smart GWT is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3
* is published by the Free Software Foundation. Smart GWT is also
* available under typical commercial license terms - see
* http://smartclient.com/license
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.smartgwt.client.widgets;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.widgets.events.ClickHandler;
/**
* Convenience class for icons that are placed in as header controls in a {@link com.smartgwt.client.widgets.Window} Header, or {@link com.smartgwt.client.widgets.layout.SectionStackSection}.
*
* @see com.smartgwt.client.widgets.Window#setHeaderControls(Object...)
* @see com.smartgwt.client.widgets.layout.SectionStackSection#setControls(Canvas...)
*/
public class HeaderControl extends Img {
private static String IMG_TYPE = getImgType();
private static native String getImgType() /*-{
var imgType = $wnd.isc.headerImgType;
return imgType == null || imgType === undefined ? "png" : imgType;
}-*/;
public static HeaderIcon ARROW_DOWN = new HeaderIcon("[SKIN]/headerIcons/arrow_down." + IMG_TYPE);
public static HeaderIcon ARROW_LEFT = new HeaderIcon("[SKIN]/headerIcons/arrow_left." + IMG_TYPE);
public static HeaderIcon ARROW_RIGHT = new HeaderIcon("[SKIN]/headerIcons/arrow_right." + IMG_TYPE);
public static HeaderIcon ARROW_UP = new HeaderIcon("[SKIN]/headerIcons/arrow_up." + IMG_TYPE);
public static HeaderIcon CALCULATOR = new HeaderIcon("[SKIN]/headerIcons/calculator." + IMG_TYPE);
public static HeaderIcon CART = new HeaderIcon("[SKIN]/headerIcons/cart." + IMG_TYPE);
public static HeaderIcon CASCADE = new HeaderIcon("[SKIN]/headerIcons/cascade." + IMG_TYPE);
public static HeaderIcon CLIPBOARD = new HeaderIcon("[SKIN]/headerIcons/clipboard." + IMG_TYPE);
public static HeaderIcon CLOCK = new HeaderIcon("[SKIN]/headerIcons/clock." + IMG_TYPE);
public static HeaderIcon CLOSE = new HeaderIcon("[SKIN]/headerIcons/close." + IMG_TYPE);
public static HeaderIcon COMMENT = new HeaderIcon("[SKIN]/headerIcons/comment." + IMG_TYPE);
public static HeaderIcon DOCUMENT = new HeaderIcon("[SKIN]/headerIcons/document." + IMG_TYPE);
public static HeaderIcon DOUBLE_ARROW_DOWN = new HeaderIcon("[SKIN]/headerIcons/double_arrow_down." + IMG_TYPE);
public static HeaderIcon DOUBLE_ARROW_LEFT = new HeaderIcon("[SKIN]/headerIcons/double_arrow_left." + IMG_TYPE);
public static HeaderIcon DOUBLE_ARROW_RIGHT = new HeaderIcon("[SKIN]/headerIcons/double_arrow_right." + IMG_TYPE);
public static HeaderIcon DOUBLE_ARROW_UP = new HeaderIcon("[SKIN]/headerIcons/double_arrow_up." + IMG_TYPE);
public static HeaderIcon FAVOURITE = new HeaderIcon("[SKIN]/headerIcons/favourite." + IMG_TYPE);
public static HeaderIcon FIND = new HeaderIcon("[SKIN]/headerIcons/find." + IMG_TYPE);
public static HeaderIcon HELP = new HeaderIcon("[SKIN]/headerIcons/help." + IMG_TYPE);
public static HeaderIcon HOME = new HeaderIcon("[SKIN]/headerIcons/home." + IMG_TYPE);
public static HeaderIcon MAIL = new HeaderIcon("[SKIN]/headerIcons/mail." + IMG_TYPE);
public static HeaderIcon MAXIMIZE = new HeaderIcon("[SKIN]/headerIcons/maximize." + IMG_TYPE);
public static HeaderIcon MINIMIZE = new HeaderIcon("[SKIN]/headerIcons/minimize." + IMG_TYPE);
public static HeaderIcon MINUS = new HeaderIcon("[SKIN]/headerIcons/minus." + IMG_TYPE);
public static HeaderIcon PERSON = new HeaderIcon("[SKIN]/headerIcons/person." + IMG_TYPE);
public static HeaderIcon PIN_DOWN = new HeaderIcon("[SKIN]/headerIcons/pin_down." + IMG_TYPE);
public static HeaderIcon PIN_LEFT = new HeaderIcon("[SKIN]/headerIcons/pin_left." + IMG_TYPE);
public static HeaderIcon PLUS = new HeaderIcon("[SKIN]/headerIcons/plus." + IMG_TYPE);
public static HeaderIcon PRINT = new HeaderIcon("[SKIN]/headerIcons/print." + IMG_TYPE);
public static HeaderIcon REFRESH = new HeaderIcon("[SKIN]/headerIcons/refresh." + IMG_TYPE);
public static HeaderIcon REFRESH_THIN = new HeaderIcon("[SKIN]/headerIcons/refresh_thin." + IMG_TYPE);
public static HeaderIcon SAVE = new HeaderIcon("[SKIN]/headerIcons/save." + IMG_TYPE);
public static HeaderIcon SETTINGS = new HeaderIcon("[SKIN]/headerIcons/settings." + IMG_TYPE);
public static HeaderIcon TRANSFER = new HeaderIcon("[SKIN]/headerIcons/transfer." + IMG_TYPE);
public static HeaderIcon TRASH = new HeaderIcon("[SKIN]/headerIcons/trash." + IMG_TYPE);
public static HeaderIcon ZOOM = new HeaderIcon("[SKIN]/headerIcons/zoom." + IMG_TYPE);
/**
* Create a new HeaderControl with the specific icon.
*
* @param icon the icon
*/
public HeaderControl(HeaderIcon icon) {
setSrc(icon.url);
setWidth(15);
setHeight(15);
setLayoutAlign(Alignment.CENTER);
setShowRollOver(true);
}
/**
* Create a new HeaderControl with the specific icon.
*
* @param icon the icon
* @param clickHandler the header control click handler
*/
public HeaderControl(HeaderIcon icon, ClickHandler clickHandler) {
this(icon);
addClickHandler(clickHandler);
}
public static class HeaderIcon {
private String url;
public HeaderIcon(String url) {
this.url = url;
}
}
}