01: /*
02: * GWT-Ext Widget Library
03: * Copyright(c) 2007-2008, GWT-Ext.
04: * licensing@gwt-ext.com
05: *
06: * http://www.gwt-ext.com/license
07: */
08: package com.gwtext.client.widgets;
09:
10: import com.google.gwt.core.client.JavaScriptObject;
11: import com.gwtext.client.core.Function;
12: import com.gwtext.client.util.JavaScriptObjectHelper;
13:
14: /**
15: * These are the tool buttons that can be added to a Panel by calling {@link com.gwtext.client.widgets.Panel#addTool(Tool)}
16: */
17: public class Tool {
18:
19: /**
20: * Created by default when collapsible property of Panel is is true
21: */
22: public static ToolType TOGGLE = new ToolType("toggle");
23: public static ToolType CLOSE = new ToolType("close");
24: public static ToolType MINIMIZE = new ToolType("minimize");
25: public static ToolType MAXIMIZE = new ToolType("maximize");
26: public static ToolType RESTORE = new ToolType("restore");
27: public static ToolType GEAR = new ToolType("gear");
28: public static ToolType PIN = new ToolType("pin");
29: public static ToolType UNPIN = new ToolType("unpin");
30: public static ToolType RIGHT = new ToolType("right");
31: public static ToolType LEFT = new ToolType("left");
32: public static ToolType UP = new ToolType("up");
33: public static ToolType DOWN = new ToolType("down");
34: public static ToolType REFRESH = new ToolType("refresh");
35: public static ToolType MINUS = new ToolType("minus");
36: public static ToolType PLUS = new ToolType("plus");
37: public static ToolType HELP = new ToolType("help");
38: public static ToolType SEARCH = new ToolType("search");
39: public static ToolType SAVE = new ToolType("save");
40:
41: private JavaScriptObject jsObj = JavaScriptObjectHelper
42: .createObject();
43:
44: /**
45: * Create a new Tool.
46: *
47: * @param type the tool type
48: * @param handler the handler
49: */
50: public Tool(ToolType type, Function handler) {
51: JavaScriptObjectHelper
52: .setAttribute(jsObj, "id", type.getType());
53: JavaScriptObjectHelper.setAttribute(jsObj, "handler", handler);
54: }
55:
56: /**
57: * Create a new Tool.
58: *
59: * @param type the tool type
60: * @param handler the tool handler
61: * @param qtip the quick tip
62: */
63: public Tool(ToolType type, Function handler, String qtip) {
64: JavaScriptObjectHelper
65: .setAttribute(jsObj, "id", type.getType());
66: JavaScriptObjectHelper.setAttribute(jsObj, "handler", handler);
67: JavaScriptObjectHelper.setAttribute(jsObj, "qtip", qtip);
68: }
69:
70: public static class ToolType {
71:
72: private String type;
73:
74: private ToolType(String type) {
75: this .type = type;
76: }
77:
78: public String getType() {
79: return type;
80: }
81: }
82: }
|