}\r
\r
public void onClick(Widget sender) {\r
- processClickEvent(sender);\r
+ // processClickEvent(sender, true);\r
}\r
\r
private boolean isEnabledDate(Date date) {\r
return true;\r
}\r
\r
- private void processClickEvent(Widget sender) {\r
+ private void processClickEvent(Widget sender, boolean updateVariable) {\r
if (!datefield.isEnabled() || datefield.isReadonly()) {\r
return;\r
}\r
Date showingDate = datefield.getShowingDate();\r
- if (sender == prevYear) {\r
- showingDate.setYear(showingDate.getYear() - 1);\r
- updateCalendar();\r
- } else if (sender == nextYear) {\r
- showingDate.setYear(showingDate.getYear() + 1);\r
- updateCalendar();\r
- } else if (sender == prevMonth) {\r
- showingDate.setMonth(showingDate.getMonth() - 1);\r
- updateCalendar();\r
- } else if (sender == nextMonth) {\r
- showingDate.setMonth(showingDate.getMonth() + 1);\r
- updateCalendar();\r
- }\r
- if (datefield.getCurrentResolution() == IDateField.RESOLUTION_YEAR\r
- || datefield.getCurrentResolution() == IDateField.RESOLUTION_MONTH) {\r
- // Due to current UI, update variable if res=year/month\r
- datefield.setCurrentDate(new Date(showingDate.getTime()));\r
- if (datefield.getCurrentResolution() == IDateField.RESOLUTION_MONTH) {\r
- datefield.getClient().updateVariable(datefield.getId(),\r
- "month", datefield.getCurrentDate().getMonth() + 1,\r
- false);\r
+ if (!updateVariable) {\r
+ if (sender == prevYear) {\r
+ showingDate.setYear(showingDate.getYear() - 1);\r
+ updateCalendar();\r
+ } else if (sender == nextYear) {\r
+ showingDate.setYear(showingDate.getYear() + 1);\r
+ updateCalendar();\r
+ } else if (sender == prevMonth) {\r
+ showingDate.setMonth(showingDate.getMonth() - 1);\r
+ updateCalendar();\r
+ } else if (sender == nextMonth) {\r
+ showingDate.setMonth(showingDate.getMonth() + 1);\r
+ updateCalendar();\r
+ }\r
+ } else {\r
+ if (datefield.getCurrentResolution() == IDateField.RESOLUTION_YEAR\r
+ || datefield.getCurrentResolution() == IDateField.RESOLUTION_MONTH) {\r
+ // Due to current UI, update variable if res=year/month\r
+ datefield.setCurrentDate(new Date(showingDate.getTime()));\r
+ if (datefield.getCurrentResolution() == IDateField.RESOLUTION_MONTH) {\r
+ datefield.getClient().updateVariable(datefield.getId(),\r
+ "month", datefield.getCurrentDate().getMonth() + 1,\r
+ false);\r
+ }\r
+ datefield.getClient().updateVariable(datefield.getId(), "year",\r
+ datefield.getCurrentDate().getYear() + 1900,\r
+ datefield.isImmediate());\r
}\r
- datefield.getClient().updateVariable(datefield.getId(), "year",\r
- datefield.getCurrentDate().getYear() + 1900,\r
- datefield.isImmediate());\r
}\r
}\r
\r
\r
public void onMouseDown(final Widget sender, int x, int y) {\r
if (sender instanceof IEventButton) {\r
+ processClickEvent(sender, false);\r
timer = new Timer() {\r
public void run() {\r
- processClickEvent(sender);\r
+ processClickEvent(sender, false);\r
}\r
};\r
timer.scheduleRepeating(100);\r
if (timer != null) {\r
timer.cancel();\r
}\r
+ processClickEvent(sender, true);\r
}\r
\r
private class IEventButton extends IButton implements SourcesMouseEvents {\r