\r
try {\r
final Integer day = new Integer(text);\r
- if (cal.datefield.getCurrentDate() == null) {\r
- cal.datefield.setCurrentDate(new Date());\r
- }\r
final Date newDate = cal.datefield.getShowingDate();\r
newDate.setDate(day.intValue());\r
if (!isEnabledDate(newDate)) {\r
return;\r
}\r
- cal.datefield.getCurrentDate().setTime(newDate.getTime());\r
+ if (cal.datefield.getCurrentDate() == null) {\r
+ cal.datefield.setCurrentDate(new Date(newDate.getTime()));\r
+\r
+ // Init variables with current time\r
+ datefield.getClient().updateVariable(cal.datefield.getId(),\r
+ "hour", newDate.getHours(), false);\r
+ datefield.getClient().updateVariable(cal.datefield.getId(),\r
+ "min", newDate.getMinutes(), false);\r
+ datefield.getClient().updateVariable(cal.datefield.getId(),\r
+ "sec", newDate.getSeconds(), false);\r
+ datefield.getClient().updateVariable(cal.datefield.getId(),\r
+ "msec", datefield.getMilliseconds(), false);\r
+ }\r
+\r
+ // cal.datefield.getCurrentDate().setTime(newDate.getTime());\r
cal.datefield.getClient().updateVariable(cal.datefield.getId(),\r
"day", cal.datefield.getCurrentDate().getDate(), false);\r
cal.datefield.getClient().updateVariable(cal.datefield.getId(),\r
public void onChange(Widget sender) {\r
if (datefield.getCurrentDate() == null) {\r
// was null on server, need to set\r
- datefield.setCurrentDate(new Date());\r
+ Date now = datefield.getShowingDate();\r
+ if (now == null) {\r
+ now = new Date();\r
+ datefield.setShowingDate(now);\r
+ }\r
+ datefield.setCurrentDate(new Date(now.getTime()));\r
+\r
+ // Init variables with current time\r
+ datefield.getClient().updateVariable(datefield.getId(), "year",\r
+ now.getYear() + 1900, false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "month",\r
+ now.getMonth() + 1, false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "day",\r
+ now.getDate(), false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "hour",\r
+ now.getHours(), false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "min",\r
+ now.getMinutes(), false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "sec",\r
+ now.getSeconds(), false);\r
+ datefield.getClient().updateVariable(datefield.getId(), "msec",\r
+ datefield.getMilliseconds(), false);\r
}\r
if (sender == hours) {\r
int h = hours.getSelectedIndex();\r