equal
deleted
inserted
replaced
23 /** |
23 /** |
24 * Implementation of LCDUI <code>DateField</code> class. |
24 * Implementation of LCDUI <code>DateField</code> class. |
25 */ |
25 */ |
26 public class DateField extends Item |
26 public class DateField extends Item |
27 { |
27 { |
28 |
|
29 /** |
28 /** |
30 * Input mode that displays only date. |
29 * Input mode that displays only date. |
31 */ |
30 */ |
32 public static final int DATE = 1; |
31 public static final int DATE = 1; |
33 |
32 |
38 |
37 |
39 /** |
38 /** |
40 * Input mode which display both date and time. |
39 * Input mode which display both date and time. |
41 */ |
40 */ |
42 public static final int DATE_TIME = 3; |
41 public static final int DATE_TIME = 3; |
|
42 |
|
43 /** |
|
44 * If DateField is changed, reasons for Re-layouting. |
|
45 */ |
|
46 static final int UPDATE_DATE = UPDATE_ITEM_MAX << 1; |
|
47 static final int UPDATE_INPUTMODE = UPDATE_ITEM_MAX << 2; |
|
48 |
43 |
49 |
44 private Date date; |
50 private Date date; |
45 |
51 |
46 private int mode; |
52 private int mode; |
47 |
53 |
98 else if(mode == DATE) |
104 else if(mode == DATE) |
99 { |
105 { |
100 calendar.set(Calendar.HOUR_OF_DAY,0); |
106 calendar.set(Calendar.HOUR_OF_DAY,0); |
101 calendar.set(Calendar.MINUTE,0); |
107 calendar.set(Calendar.MINUTE,0); |
102 calendar.set(Calendar.SECOND,0); |
108 calendar.set(Calendar.SECOND,0); |
103 } |
109 calendar.set(Calendar.MILLISECOND,0); |
104 return calendar.getTime();//date; |
110 } |
|
111 return calendar.getTime(); |
105 } |
112 } |
106 |
113 |
107 /** |
114 /** |
108 * Sets the date to this DateField. |
115 * Sets the date to this DateField. |
109 * |
116 * |
110 * @param newDate New date. If null, current date is cleared. |
117 * @param newDate New date. If null, current date is cleared. |
111 */ |
118 */ |
112 public void setDate(Date newDate) |
119 public void setDate(Date newDate) |
113 { |
120 { |
114 internalSetDate(newDate); |
121 internalSetDate(newDate); |
115 updateParent(UPDATE_CONTENT); |
122 updateParent((newDate == null ? UPDATE_DATE | UPDATE_SIZE_CHANGED : UPDATE_DATE)); |
116 } |
123 } |
117 |
124 |
118 /** |
125 /** |
119 * Gets input mode of this DateField. |
126 * Gets input mode of this DateField. |
120 * |
127 * |
140 && (inputMode != DATE_TIME)) |
147 && (inputMode != DATE_TIME)) |
141 { |
148 { |
142 throw new IllegalArgumentException( |
149 throw new IllegalArgumentException( |
143 MsgRepository.DATEFIELD_EXCEPTION_INVALID_MODE); |
150 MsgRepository.DATEFIELD_EXCEPTION_INVALID_MODE); |
144 } |
151 } |
145 mode = inputMode; |
152 |
146 updateParent(UPDATE_SIZE_CHANGED); |
153 if(getInputMode() != inputMode) |
|
154 { |
|
155 mode = inputMode; |
|
156 updateParent(UPDATE_INPUTMODE | UPDATE_SIZE_CHANGED); |
|
157 } |
147 } |
158 } |
148 |
159 |
149 /** |
160 /** |
150 * Calculates minimum size of this item. |
161 * Calculates minimum size of this item. |
151 * |
162 * |
205 { |
216 { |
206 date = null; |
217 date = null; |
207 } |
218 } |
208 else |
219 else |
209 { |
220 { |
|
221 calendar.set(Calendar.SECOND,0); |
|
222 calendar.set(Calendar.MILLISECOND,0); |
210 date = calendar.getTime(); |
223 date = calendar.getTime(); |
211 } |
224 } |
212 break; |
225 break; |
213 case DATE: |
226 case DATE: |
214 calendar.set(Calendar.HOUR_OF_DAY, 0); |
227 calendar.set(Calendar.HOUR_OF_DAY, 0); |
215 calendar.set(Calendar.MINUTE, 0); |
228 calendar.set(Calendar.MINUTE, 0); |
|
229 calendar.set(Calendar.SECOND,0); |
|
230 calendar.set(Calendar.MILLISECOND,0); |
216 date = calendar.getTime(); |
231 date = calendar.getTime(); |
217 break; |
232 break; |
218 case DATE_TIME: |
233 case DATE_TIME: |
|
234 calendar.set(Calendar.SECOND,0); |
|
235 calendar.set(Calendar.MILLISECOND,0); |
219 date = calendar.getTime(); |
236 date = calendar.getTime(); |
220 break; |
237 break; |
221 default: |
238 default: |
222 break; |
239 break; |
223 } |
240 } |