/*
* 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.form.fields;
import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
/**
* Convenience class for setting pickers for form fields. This is a specialized subclass of FormItemIcon
* that sets up the correct picker dimensions and spacing.
* <p>
* A set of standard pickers are provided as a part of the library.
*
* @see FormItem#setIcons(FormItemIcon...)
*/
public class PickerIcon extends FormItemIcon {
private static String IMG_TYPE = getImgType();
private static native String getImgType() /*-{
var imgType = $wnd.isc.pickerImgType;
return imgType == null || imgType === undefined ? "png" : imgType;
}-*/;
public static Picker CLEAR = new Picker("[SKIN]/pickers/clear_picker." + IMG_TYPE);
public static Picker COMBO_BOX = new Picker("[SKIN]/pickers/comboBoxPicker." + IMG_TYPE);
public static Picker DATE = new Picker("[SKIN]/pickers/date_picker." + IMG_TYPE);
public static Picker REFRESH = new Picker("[SKIN]/pickers/refresh_picker." + IMG_TYPE);
public static Picker SEARCH = new Picker("[SKIN]/pickers/search_picker." + IMG_TYPE);
/**
* Create a new HeaderControl with the specific icon.
*
* @param icon the icon
*/
public PickerIcon(Picker icon) {
setSrc(icon.url);
setWidth(18);
setHeight(22);
setAttribute("hspace", 0);
}
/**
* Create a new HeaderControl with the specific icon.
*
* @param icon the icon
* @param clickHandler the header control click handler
*/
public PickerIcon(Picker icon, FormItemClickHandler clickHandler) {
this(icon);
addFormItemClickHandler(clickHandler);
}
public static class Picker {
private String url;
public Picker(String url) {
this.url = url;
}
}
}