1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package org.utgenome.gwt.utgb.client.db.datatype;
27
28 import com.google.gwt.event.dom.client.ChangeHandler;
29 import com.google.gwt.event.dom.client.ClickEvent;
30 import com.google.gwt.event.dom.client.ClickHandler;
31 import com.google.gwt.event.dom.client.KeyPressHandler;
32 import com.google.gwt.json.client.JSONBoolean;
33 import com.google.gwt.json.client.JSONValue;
34 import com.google.gwt.user.client.ui.CheckBox;
35
36 public class BooleanType extends DataTypeBase {
37
38 public BooleanType(String name) {
39 super(name);
40 }
41
42 public InputForm getInputForm() {
43 return new BooleanTypeForm();
44 }
45
46 public class BooleanTypeForm extends InputForm {
47 CheckBox form = new CheckBox();
48
49 public BooleanTypeForm() {
50 initWidget(form);
51 }
52
53 public String getUserInput() {
54 return form.getValue() ? "true" : "false";
55 }
56
57 public JSONValue getJSONValue() {
58 return JSONBoolean.getInstance(form.getValue());
59 }
60
61 public void setValue(String value) {
62 form.setValue(value.equals("true"));
63 }
64
65 public void addKeyPressHandler(KeyPressHandler listener) {
66 form.addKeyPressHandler(listener);
67 }
68
69 public void addChangeHandler(final ChangeHandler listener) {
70
71 form.addClickHandler(new ClickHandler() {
72 public void onClick(ClickEvent event) {
73 listener.onChange(null);
74 }
75 });
76 }
77
78 }
79
80 public String toString(JSONValue json) {
81 JSONBoolean b = json.isBoolean();
82 if (b == null)
83 return super.toString(json);
84 else
85 return b.booleanValue() ? "true" : "false";
86 }
87
88 public String getTypeName() {
89 return "boolean";
90 }
91
92 }