From 2303bcb5ac905ed15cd6c867550f3f2ef1c05b93 Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Fri, 17 Aug 2007 08:30:54 +0000 Subject: [PATCH] Refactoring, client classes moved to subpackages svn changeset:2046/svn branch:trunk --- .../gwt/client/DefaultWidgetFactory.java | 8 +- .../{IEntryCalendar.java => ICalendar.java} | 5 +- .../terminal/gwt/client/ui/IDateField.java | 62 ++++++++- .../gwt/client/ui/IDateFieldCalendar.java | 1 + .../gwt/client/ui/IPopupCalendar.java | 1 + .../terminal/gwt/client/ui/ITextualDate.java | 2 +- .../ui/{ => datefield}/ICalendarPanel.java | 125 +++++++++--------- .../gwt/client/ui/{ => datefield}/ITime.java | 96 +++++++------- 8 files changed, 181 insertions(+), 119 deletions(-) rename src/com/itmill/toolkit/terminal/gwt/client/ui/{IEntryCalendar.java => ICalendar.java} (94%) rename src/com/itmill/toolkit/terminal/gwt/client/ui/{ => datefield}/ICalendarPanel.java (70%) rename src/com/itmill/toolkit/terminal/gwt/client/ui/{ => datefield}/ITime.java (54%) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java index 7a2c7a2136..ad3de9b975 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java @@ -8,7 +8,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.IComponent; import com.itmill.toolkit.terminal.gwt.client.ui.ICustomLayout; import com.itmill.toolkit.terminal.gwt.client.ui.IDateFieldCalendar; import com.itmill.toolkit.terminal.gwt.client.ui.IEmbedded; -import com.itmill.toolkit.terminal.gwt.client.ui.IEntryCalendar; +import com.itmill.toolkit.terminal.gwt.client.ui.ICalendar; import com.itmill.toolkit.terminal.gwt.client.ui.IForm; import com.itmill.toolkit.terminal.gwt.client.ui.IGridLayout; import com.itmill.toolkit.terminal.gwt.client.ui.ILabel; @@ -113,9 +113,9 @@ public class DefaultWidgetFactory implements WidgetFactory { } else if ("com.itmill.toolkit.terminal.gwt.client.ui.IDateFieldCalendar" .equals(className)) { return new IDateFieldCalendar(); - } else if ("com.itmill.toolkit.terminal.gwt.client.ui.IEntryCalendar" + } else if ("com.itmill.toolkit.terminal.gwt.client.ui.ICalendar" .equals(className)) { - return new IEntryCalendar(); + return new ICalendar(); } else if ("com.itmill.toolkit.terminal.gwt.client.ui.ITextualDate" .equals(className)) { return new ITextualDate(); @@ -210,7 +210,7 @@ public class DefaultWidgetFactory implements WidgetFactory { return "com.itmill.toolkit.terminal.gwt.client.ui.IPopupCalendar"; } } else if ("calendarfield".equals(tag)) { - return "com.itmill.toolkit.terminal.gwt.client.ui.IEntryCalendar"; + return "com.itmill.toolkit.terminal.gwt.client.ui.ICalendar"; } else if ("slider".equals(tag)) { return "com.itmill.toolkit.terminal.gwt.client.ui.ISlider"; } else if ("form".equals(tag)) { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IEntryCalendar.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java similarity index 94% rename from src/com/itmill/toolkit/terminal/gwt/client/ui/IEntryCalendar.java rename to src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java index 6119e8f5d0..23a5e7c677 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IEntryCalendar.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java @@ -13,8 +13,9 @@ import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; import com.itmill.toolkit.terminal.gwt.client.DateTimeService; import com.itmill.toolkit.terminal.gwt.client.UIDL; import com.itmill.toolkit.terminal.gwt.client.ui.calendar.ICalendarEntry; +import com.itmill.toolkit.terminal.gwt.client.ui.datefield.ICalendarPanel; -public class IEntryCalendar extends IDateField { +public class ICalendar extends IDateField { private ICalendarPanel calPanel; @@ -26,7 +27,7 @@ public class IEntryCalendar extends IDateField { private int realResolution = RESOLUTION_DAY; - public IEntryCalendar() { + public ICalendar() { super(); setStyleName(CLASSNAME + "-entrycalendar"); calPanel = new ICalendarPanel(this); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateField.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateField.java index fbed7063b1..43c17e0a54 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateField.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateField.java @@ -19,13 +19,14 @@ public class IDateField extends FlowPanel implements Paintable { protected boolean immediate; - static int RESOLUTION_YEAR = 0; - static int RESOLUTION_MONTH = 1; - static int RESOLUTION_DAY = 2; - static int RESOLUTION_HOUR = 3; - static int RESOLUTION_MIN = 4; - static int RESOLUTION_SEC = 5; - static int RESOLUTION_MSEC = 6; + public static int RESOLUTION_YEAR = 0; + public static int RESOLUTION_MONTH = 1; + public static int RESOLUTION_DAY = 2; + public static int RESOLUTION_HOUR = 3; + public static int RESOLUTION_MIN = 4; + public static int RESOLUTION_SEC = 5; + public static int RESOLUTION_MSEC = 6; + protected int currentResolution = RESOLUTION_YEAR; protected String currentLocale; @@ -130,4 +131,51 @@ public class IDateField extends FlowPanel implements Paintable { date.setTime(date.getTime() / 1000 * 1000 + ms); } + public int getCurrentResolution() { + return currentResolution; + } + + public void setCurrentResolution(int currentResolution) { + this.currentResolution = currentResolution; + } + + public String getCurrentLocale() { + return currentLocale; + } + + public void setCurrentLocale(String currentLocale) { + this.currentLocale = currentLocale; + } + + public Date getCurrentDate() { + return date; + } + + public void setCurrentDate(Date date) { + this.date = date; + } + + public boolean isImmediate() { + return immediate; + } + + public boolean isReadonly() { + return readonly; + } + + public boolean isEnabled() { + return enabled; + } + + public DateTimeService getDateTimeService() { + return dts; + } + + public String getId() { + return id; + } + + public ApplicationConnection getClient() { + return client; + } } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateFieldCalendar.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateFieldCalendar.java index 150f96c504..949ab1d967 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateFieldCalendar.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IDateFieldCalendar.java @@ -2,6 +2,7 @@ package com.itmill.toolkit.terminal.gwt.client.ui; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; import com.itmill.toolkit.terminal.gwt.client.UIDL; +import com.itmill.toolkit.terminal.gwt.client.ui.datefield.ICalendarPanel; public class IDateFieldCalendar extends IDateField { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java index b4343225e3..acf4ea0827 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java @@ -7,6 +7,7 @@ import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; +import com.itmill.toolkit.terminal.gwt.client.ui.datefield.ICalendarPanel; public class IPopupCalendar extends ITextualDate implements Paintable, ClickListener, PopupListener { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java index e929a86ff1..09b6dd5351 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java @@ -30,7 +30,7 @@ public class ITextualDate extends IDateField implements Paintable, ChangeListene buildDate(); } - protected void buildDate() { + public void buildDate() { dl = new DateLocale(); DateLocale.setLocale(currentLocale); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendarPanel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ICalendarPanel.java similarity index 70% rename from src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendarPanel.java rename to src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ICalendarPanel.java index 8f3dc8a480..df4c32bcca 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendarPanel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ICalendarPanel.java @@ -1,4 +1,4 @@ -package com.itmill.toolkit.terminal.gwt.client.ui; +package com.itmill.toolkit.terminal.gwt.client.ui.datefield; import java.util.Date; import java.util.Iterator; @@ -17,6 +17,9 @@ import com.google.gwt.user.client.ui.TableListener; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.DateTimeService; import com.itmill.toolkit.terminal.gwt.client.LocaleService; +import com.itmill.toolkit.terminal.gwt.client.ui.IButton; +import com.itmill.toolkit.terminal.gwt.client.ui.IDateField; +import com.itmill.toolkit.terminal.gwt.client.ui.ITextualDate; import com.itmill.toolkit.terminal.gwt.client.ui.calendar.ICalendarEntry; public class ICalendarPanel extends FlexTable implements MouseListener, @@ -57,9 +60,9 @@ public class ICalendarPanel extends FlexTable implements MouseListener, } private void buildCalendar(boolean forceRedraw) { - boolean needsMonth = datefield.currentResolution > IDateField.RESOLUTION_YEAR; - boolean needsBody = datefield.currentResolution >= IDateField.RESOLUTION_DAY; - boolean needsTime = datefield.currentResolution >= IDateField.RESOLUTION_HOUR; + boolean needsMonth = datefield.getCurrentResolution() > IDateField.RESOLUTION_YEAR; + boolean needsBody = datefield.getCurrentResolution() >= IDateField.RESOLUTION_DAY; + boolean needsTime = datefield.getCurrentResolution() >= IDateField.RESOLUTION_HOUR; buildCalendarHeader(forceRedraw, needsMonth); clearCalendarBody(!needsBody); if (needsBody) @@ -87,8 +90,8 @@ public class ICalendarPanel extends FlexTable implements MouseListener, private void buildCalendarHeader(boolean forceRedraw, boolean needsMonth) { // Can't draw a calendar without a date :) - if (datefield.date == null) - datefield.date = new Date(); + if (datefield.getCurrentDate() == null) + datefield.setCurrentDate(new Date()); if (forceRedraw) { if (prevMonth == null) { // Only do once @@ -130,32 +133,33 @@ public class ICalendarPanel extends FlexTable implements MouseListener, } // Print weekday names - int firstDay = datefield.dts.getFirstDayOfWeek(); + int firstDay = datefield.getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) day = 0; - if (datefield.currentResolution > IDateField.RESOLUTION_MONTH) - setHTML(1, i, "" + datefield.dts.getShortDay(day) + if (datefield.getCurrentResolution() > IDateField.RESOLUTION_MONTH) + setHTML(1, i, "" + + datefield.getDateTimeService().getShortDay(day) + ""); else setHTML(1, i, ""); } } - String monthName = needsMonth ? datefield.dts.getMonth(datefield.date - .getMonth()) : ""; - int year = datefield.date.getYear() + 1900; + String monthName = needsMonth ? datefield.getDateTimeService() + .getMonth(datefield.getCurrentDate().getMonth()) : ""; + int year = datefield.getCurrentDate().getYear() + 1900; setHTML(0, 2, "" + monthName + " " + year + ""); } private void buildCalendarBody() { - Date date = datefield.date; + Date date = datefield.getCurrentDate(); if (date == null) date = new Date(); - int startWeekDay = datefield.dts.getStartWeekDay(date); + int startWeekDay = datefield.getDateTimeService().getStartWeekDay(date); int numDays = DateTimeService.getNumberOfDaysInMonth(date); int dayCount = 0; Date today = new Date(); @@ -168,12 +172,15 @@ public class ICalendarPanel extends FlexTable implements MouseListener, String title = ""; if (this.entrySource != null) { curr.setDate(dayCount); - List entries = this.entrySource - .getEntries(curr,IDateField.RESOLUTION_DAY); + List entries = this.entrySource.getEntries(curr, + IDateField.RESOLUTION_DAY); if (entries != null) { - for (Iterator it = entries.iterator(); it.hasNext();) { - ICalendarEntry entry = (ICalendarEntry)it.next(); - title += (title.length() > 0 ? "\n" : "") + entry.getStringForDate(curr); + for (Iterator it = entries.iterator(); it + .hasNext();) { + ICalendarEntry entry = (ICalendarEntry) it + .next(); + title += (title.length() > 0 ? "\n" : "") + + entry.getStringForDate(curr); } } } @@ -199,7 +206,7 @@ public class ICalendarPanel extends FlexTable implements MouseListener, } else { break; } - + } } } @@ -222,49 +229,49 @@ public class ICalendarPanel extends FlexTable implements MouseListener, */ public void updateCalendar() { // Locale and resolution changes force a complete redraw - buildCalendar(locale != datefield.currentLocale - || resolution != datefield.currentResolution); + buildCalendar(locale != datefield.getCurrentLocale() + || resolution != datefield.getCurrentResolution()); if (datefield instanceof ITextualDate) ((ITextualDate) datefield).buildDate(); - locale = datefield.currentLocale; - resolution = datefield.currentResolution; + locale = datefield.getCurrentLocale(); + resolution = datefield.getCurrentResolution(); } public void onClick(Widget sender) { processClickEvent(sender); } - + private boolean isEnabledDate(Date date) { if ((this.minDate != null && date.before(this.minDate)) || (this.maxDate != null && date.after(this.maxDate))) { - return false; + return false; } return true; } private void processClickEvent(Widget sender) { - if (!datefield.enabled || datefield.readonly) + if (!datefield.isEnabled() || datefield.isReadonly()) return; - + if (sender == prevYear) { - datefield.date.setYear(datefield.date.getYear() - 1); - datefield.client.updateVariable(datefield.id, "year", - datefield.date.getYear() + 1900, datefield.immediate); + datefield.getCurrentDate().setYear(datefield.getCurrentDate().getYear() - 1); + datefield.getClient().updateVariable(datefield.getId(), "year", + datefield.getCurrentDate().getYear() + 1900, datefield.isImmediate()); updateCalendar(); } else if (sender == nextYear) { - datefield.date.setYear(datefield.date.getYear() + 1); - datefield.client.updateVariable(datefield.id, "year", - datefield.date.getYear() + 1900, datefield.immediate); + datefield.getCurrentDate().setYear(datefield.getCurrentDate().getYear() + 1); + datefield.getClient().updateVariable(datefield.getId(), "year", + datefield.getCurrentDate().getYear() + 1900, datefield.isImmediate()); updateCalendar(); } else if (sender == prevMonth) { - datefield.date.setMonth(datefield.date.getMonth() - 1); - datefield.client.updateVariable(datefield.id, "month", - datefield.date.getMonth() + 1, datefield.immediate); + datefield.getCurrentDate().setMonth(datefield.getCurrentDate().getMonth() - 1); + datefield.getClient().updateVariable(datefield.getId(), "month", + datefield.getCurrentDate().getMonth() + 1, datefield.isImmediate()); updateCalendar(); } else if (sender == nextMonth) { - datefield.date.setMonth(datefield.date.getMonth() + 1); - datefield.client.updateVariable(datefield.id, "month", - datefield.date.getMonth() + 1, datefield.immediate); + datefield.getCurrentDate().setMonth(datefield.getCurrentDate().getMonth() + 1); + datefield.getClient().updateVariable(datefield.getId(), "month", + datefield.getCurrentDate().getMonth() + 1, datefield.isImmediate()); updateCalendar(); } } @@ -345,8 +352,8 @@ public class ICalendarPanel extends FlexTable implements MouseListener, } public void onCellClicked(SourcesTableEvents sender, int row, int col) { - if (sender != cal || row < 2 || row > 7 || !cal.datefield.enabled - || cal.datefield.readonly) + if (sender != cal || row < 2 || row > 7 || !cal.datefield.isEnabled() + || cal.datefield.isReadonly()) return; String text = cal.getText(row, col); @@ -354,15 +361,15 @@ public class ICalendarPanel extends FlexTable implements MouseListener, return; Integer day = new Integer(text); - - Date newDate = new Date(cal.datefield.date.getTime()); + + Date newDate = new Date(cal.datefield.getCurrentDate().getTime()); newDate.setDate(day.intValue()); if (!isEnabledDate(newDate)) { return; } - cal.datefield.date.setTime(newDate.getTime()); - cal.datefield.client.updateVariable(cal.datefield.id, "day", - cal.datefield.date.getDate(), cal.datefield.immediate); + cal.datefield.getCurrentDate().setTime(newDate.getTime()); + cal.datefield.getClient().updateVariable(cal.datefield.getId(), "day", + cal.datefield.getCurrentDate().getDate(), cal.datefield.isImmediate()); updateCalendar(); } @@ -370,22 +377,22 @@ public class ICalendarPanel extends FlexTable implements MouseListener, } public void setLimits(Date min, Date max) { - if (min != null ) { - Date d = new Date(min.getTime()); - d.setHours(0); - d.setMinutes(0); - d.setSeconds(1); - this.minDate = d; + if (min != null) { + Date d = new Date(min.getTime()); + d.setHours(0); + d.setMinutes(0); + d.setSeconds(1); + this.minDate = d; } else { this.minDate = null; } if (max != null) { - Date d = new Date(max.getTime()); - d.setHours(24); - d.setMinutes(59); - d.setSeconds(59); - this.maxDate = d; - }else { + Date d = new Date(max.getTime()); + d.setHours(24); + d.setMinutes(59); + d.setSeconds(59); + this.maxDate = d; + } else { this.maxDate = null; } } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITime.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ITime.java similarity index 54% rename from src/com/itmill/toolkit/terminal/gwt/client/ui/ITime.java rename to src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ITime.java index 09ea351a0e..2b36966172 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITime.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/datefield/ITime.java @@ -1,9 +1,13 @@ -package com.itmill.toolkit.terminal.gwt.client.ui; +package com.itmill.toolkit.terminal.gwt.client.ui.datefield; import com.google.gwt.user.client.ui.ChangeListener; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.Widget; +import com.itmill.toolkit.terminal.gwt.client.ui.IDateField; +import com.itmill.toolkit.terminal.gwt.client.ui.ILabel; +import com.itmill.toolkit.terminal.gwt.client.ui.ISelect; +import com.itmill.toolkit.terminal.gwt.client.ui.ITextualDate; public class ITime extends FlowPanel implements ChangeListener { @@ -30,7 +34,7 @@ public class ITime extends FlowPanel implements ChangeListener { } private void buildTime(boolean redraw) { - boolean thc = datefield.dts.isTwelveHourClock(); + boolean thc = datefield.getDateTimeService().isTwelveHourClock(); if(redraw) { clear(); int numHours = thc?12:24; @@ -42,27 +46,27 @@ public class ITime extends FlowPanel implements ChangeListener { if(thc) { ampm = new ListBox(); ampm.setStyleName(ISelect.CLASSNAME); - String[] ampmText = datefield.dts.getAmPmStrings(); + String[] ampmText = datefield.getDateTimeService().getAmPmStrings(); ampm.addItem(ampmText[0]); ampm.addItem(ampmText[1]); ampm.addChangeListener(this); } - if(datefield.currentResolution >= IDateField.RESOLUTION_MIN) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_MIN) { mins = new ListBox(); mins.setStyleName(ISelect.CLASSNAME); for(int i=0; i<60; i++) mins.addItem((i<10)?"0"+i:""+i); mins.addChangeListener(this); } - if(datefield.currentResolution >= IDateField.RESOLUTION_SEC) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_SEC) { sec = new ListBox(); sec.setStyleName(ISelect.CLASSNAME); for(int i=0; i<60; i++) sec.addItem((i<10)?"0"+i:""+i); sec.addChangeListener(this); } - if(datefield.currentResolution == IDateField.RESOLUTION_MSEC) { + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_MSEC) { msec = new ListBox(); msec.setStyleName(ISelect.CLASSNAME); for(int i=0; i<1000; i++) { @@ -75,18 +79,18 @@ public class ITime extends FlowPanel implements ChangeListener { msec.addChangeListener(this); } - String delimiter = datefield.dts.getClockDelimeter(); - boolean ro = datefield.readonly; + String delimiter = datefield.getDateTimeService().getClockDelimeter(); + boolean ro = datefield.isReadonly(); if(ro) { int h = 0; - if(datefield.date != null) - h = datefield.date.getHours(); + if(datefield.getCurrentDate() != null) + h = datefield.getCurrentDate().getHours(); if(thc) h -= h<12? 0 : 12; add(new ILabel(h<10? "0"+h : ""+h)); } else add(hours); - if(datefield.currentResolution >= IDateField.RESOLUTION_MIN) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_MIN) { add(new ILabel(delimiter)); if(ro) { int m = mins.getSelectedIndex(); @@ -94,7 +98,7 @@ public class ITime extends FlowPanel implements ChangeListener { } else add(mins); } - if(datefield.currentResolution >= IDateField.RESOLUTION_SEC) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_SEC) { add(new ILabel(delimiter)); if(ro) { int s = sec.getSelectedIndex(); @@ -102,7 +106,7 @@ public class ITime extends FlowPanel implements ChangeListener { } else add(sec); } - if(datefield.currentResolution == IDateField.RESOLUTION_MSEC) { + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_MSEC) { add(new ILabel(".")); if(ro) { int m = datefield.getMilliseconds(); @@ -111,12 +115,12 @@ public class ITime extends FlowPanel implements ChangeListener { } else add(msec); } - if(datefield.currentResolution == IDateField.RESOLUTION_HOUR) { + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_HOUR) { add(new ILabel(delimiter+"00")); // o'clock } if(thc) { add(new ILabel(" ")); - if(ro) add(new ILabel(ampm.getItemText(datefield.date.getHours()<12? 0 : 1))); + if(ro) add(new ILabel(ampm.getItemText(datefield.getCurrentDate().getHours()<12? 0 : 1))); else add(ampm); } @@ -125,56 +129,56 @@ public class ITime extends FlowPanel implements ChangeListener { // Update times if(thc) { - int h = datefield.date.getHours(); + int h = datefield.getCurrentDate().getHours(); ampm.setSelectedIndex(h<12? 0 : 1); h -= ampm.getSelectedIndex()*12; hours.setSelectedIndex(h); } else - hours.setSelectedIndex(datefield.date.getHours()); - if(datefield.currentResolution >= IDateField.RESOLUTION_MIN) - mins.setSelectedIndex(datefield.date.getMinutes()); - if(datefield.currentResolution >= IDateField.RESOLUTION_SEC) - sec.setSelectedIndex(datefield.date.getSeconds()); - if(datefield.currentResolution == IDateField.RESOLUTION_MSEC) + hours.setSelectedIndex(datefield.getCurrentDate().getHours()); + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_MIN) + mins.setSelectedIndex(datefield.getCurrentDate().getMinutes()); + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_SEC) + sec.setSelectedIndex(datefield.getCurrentDate().getSeconds()); + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_MSEC) msec.setSelectedIndex(datefield.getMilliseconds()); if(thc) - ampm.setSelectedIndex(datefield.date.getHours()<12?0:1); + ampm.setSelectedIndex(datefield.getCurrentDate().getHours()<12?0:1); - if(datefield.readonly && !redraw) { + if(datefield.isReadonly() && !redraw) { // Do complete redraw when in read-only status clear(); - String delimiter = datefield.dts.getClockDelimeter(); + String delimiter = datefield.getDateTimeService().getClockDelimeter(); - int h = datefield.date.getHours(); + int h = datefield.getCurrentDate().getHours(); if(thc) h -= h<12? 0 : 12; add(new ILabel(h<10? "0"+h : ""+h)); - if(datefield.currentResolution >= IDateField.RESOLUTION_MIN) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_MIN) { add(new ILabel(delimiter)); int m = mins.getSelectedIndex(); add(new ILabel(m<10? "0"+m : ""+m)); } - if(datefield.currentResolution >= IDateField.RESOLUTION_SEC) { + if(datefield.getCurrentResolution() >= IDateField.RESOLUTION_SEC) { add(new ILabel(delimiter)); int s = sec.getSelectedIndex(); add(new ILabel(s<10? "0"+s : ""+s)); } - if(datefield.currentResolution == IDateField.RESOLUTION_MSEC) { + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_MSEC) { add(new ILabel(".")); int m = datefield.getMilliseconds(); String ms = m<100? "0"+m : ""+m; add(new ILabel(m<10? "0"+ms : ms)); } - if(datefield.currentResolution == IDateField.RESOLUTION_HOUR) { + if(datefield.getCurrentResolution() == IDateField.RESOLUTION_HOUR) { add(new ILabel(delimiter+"00")); // o'clock } if(thc) { add(new ILabel(" ")); - add(new ILabel(ampm.getItemText(datefield.date.getHours()<12? 0 : 1))); + add(new ILabel(ampm.getItemText(datefield.getCurrentDate().getHours()<12? 0 : 1))); } } - boolean enabled = datefield.enabled; + boolean enabled = datefield.isEnabled(); hours.setEnabled(enabled); if(mins != null) mins.setEnabled(enabled); if(sec != null) sec.setEnabled(enabled); @@ -184,45 +188,45 @@ public class ITime extends FlowPanel implements ChangeListener { } public void updateTime(boolean redraw) { - buildTime(redraw || resolution != datefield.currentResolution - || readonly != datefield.readonly); + buildTime(redraw || resolution != datefield.getCurrentResolution() + || readonly != datefield.isReadonly()); if(datefield instanceof ITextualDate) ((ITextualDate) datefield).buildDate(); - resolution = datefield.currentResolution; - readonly = datefield.readonly; + resolution = datefield.getCurrentResolution(); + readonly = datefield.isReadonly(); } public void onChange(Widget sender) { if(sender == hours) { int h = hours.getSelectedIndex(); - if(datefield.dts.isTwelveHourClock()) + if(datefield.getDateTimeService().isTwelveHourClock()) h = h + ampm.getSelectedIndex()*12; - datefield.date.setHours(h); - datefield.client.updateVariable(datefield.id, "hour", h, datefield.immediate); + datefield.getCurrentDate().setHours(h); + datefield.getClient().updateVariable(datefield.getId(), "hour", h, datefield.isImmediate()); updateTime(false); } else if(sender == mins) { int m = mins.getSelectedIndex(); - datefield.date.setMinutes(m); - datefield.client.updateVariable(datefield.id, "min", m, datefield.immediate); + datefield.getCurrentDate().setMinutes(m); + datefield.getClient().updateVariable(datefield.getId(), "min", m, datefield.isImmediate()); updateTime(false); } else if(sender == sec) { int s = sec.getSelectedIndex(); - datefield.date.setSeconds(s); - datefield.client.updateVariable(datefield.id, "sec", s, datefield.immediate); + datefield.getCurrentDate().setSeconds(s); + datefield.getClient().updateVariable(datefield.getId(), "sec", s, datefield.isImmediate()); updateTime(false); } else if(sender == msec) { int ms = msec.getSelectedIndex(); datefield.setMilliseconds(ms); - datefield.client.updateVariable(datefield.id, "msec", ms, datefield.immediate); + datefield.getClient().updateVariable(datefield.getId(), "msec", ms, datefield.isImmediate()); updateTime(false); } else if(sender == ampm) { int h = hours.getSelectedIndex() + ampm.getSelectedIndex()*12; - datefield.date.setHours(h); - datefield.client.updateVariable(datefield.id, "hour", h, datefield.immediate); + datefield.getCurrentDate().setHours(h); + datefield.getClient().updateVariable(datefield.getId(), "hour", h, datefield.isImmediate()); updateTime(false); } } -- 2.39.5