40
41 /***************************************************************************
42 * *
43 * Constructors *
44 * *
45 **************************************************************************/
46
47 /**
48 *
49 */
50 public DatePickerBehavior(final DatePicker datePicker) {
51 super(datePicker, DATE_PICKER_BINDINGS);
52 }
53
54 /***************************************************************************
55 * *
56 * Key event handling *
57 * *
58 **************************************************************************/
59
60 /**
61 * Opens the Date Picker Popup
62 */
63 protected static final String OPEN_ACTION = "Open";
64
65 /**
66 * Closes the Date Picker Popup
67 */
68 protected static final String CLOSE_ACTION = "Close";
69
70
71 protected static final List<KeyBinding> DATE_PICKER_BINDINGS = new ArrayList<KeyBinding>();
72 static {
73 DATE_PICKER_BINDINGS.add(new KeyBinding(F4, KEY_RELEASED, "togglePopup"));
74 DATE_PICKER_BINDINGS.add(new KeyBinding(UP, "togglePopup").alt());
75 DATE_PICKER_BINDINGS.add(new KeyBinding(DOWN, "togglePopup").alt());
76 }
77
78 @Override protected void callAction(String name) {
79 switch (name) {
80 case OPEN_ACTION:
81 show(); break;
82
83 case CLOSE_ACTION:
84 hide(); break;
85
86 case "togglePopup":
87 if (getControl().isShowing()) {
88 hide();
89 } else {
90 show();
91 }
92 break;
93
94 default:
95 super.callAction(name);
96 }
97 }
98
99 @Override public void onAutoHide() {
100 // when we click on some non-interactive part of the
101 // calendar - we do not want to hide.
102 DatePicker datePicker = (DatePicker)getControl();
103 DatePickerSkin cpSkin = (DatePickerSkin)datePicker.getSkin();
104 cpSkin.syncWithAutoUpdate();
105 // if the DatePicker is no longer showing, then invoke the super method
106 // to keep its show/hide state in sync.
107 if (!datePicker.isShowing()) super.onAutoHide();
108 }
109
110 }
|
40
41 /***************************************************************************
42 * *
43 * Constructors *
44 * *
45 **************************************************************************/
46
47 /**
48 *
49 */
50 public DatePickerBehavior(final DatePicker datePicker) {
51 super(datePicker, DATE_PICKER_BINDINGS);
52 }
53
54 /***************************************************************************
55 * *
56 * Key event handling *
57 * *
58 **************************************************************************/
59
60 protected static final List<KeyBinding> DATE_PICKER_BINDINGS = new ArrayList<KeyBinding>();
61 static {
62 DATE_PICKER_BINDINGS.addAll(COMBO_BOX_BASE_BINDINGS);
63 }
64
65 @Override public void onAutoHide() {
66 // when we click on some non-interactive part of the
67 // calendar - we do not want to hide.
68 DatePicker datePicker = (DatePicker)getControl();
69 DatePickerSkin cpSkin = (DatePickerSkin)datePicker.getSkin();
70 cpSkin.syncWithAutoUpdate();
71 // if the DatePicker is no longer showing, then invoke the super method
72 // to keep its show/hide state in sync.
73 if (!datePicker.isShowing()) super.onAutoHide();
74 }
75
76 }
|