From 2e56d24611c27a177756f39b543b6eb54a9305df Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Tue, 10 Jul 2007 13:02:28 +0000 Subject: [PATCH] DateField default style (IPopupCalendar) implemented. Still need to fix millisecond setting in ITextualDate. svn changeset:1829/svn branch:trunk --- .../gwt/client/ui/IPopupCalendar.java | 26 ++++++++----------- .../terminal/gwt/client/ui/ITextualDate.java | 4 +-- 2 files changed, 13 insertions(+), 17 deletions(-) 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 b2a70ed9fc..78ea84d9ae 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java @@ -1,6 +1,5 @@ package com.itmill.toolkit.terminal.gwt.client.ui; -import com.google.gwt.user.client.ui.ChangeListener; import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.PopupListener; import com.google.gwt.user.client.ui.PopupPanel; @@ -9,9 +8,7 @@ import com.itmill.toolkit.terminal.gwt.client.Client; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; -public class IPopupCalendar extends IDateField implements Paintable, ChangeListener, ClickListener { - - private ITextField text; +public class IPopupCalendar extends ITextualDate implements Paintable, ClickListener, PopupListener { private IButton calendarToggle; @@ -21,33 +18,27 @@ public class IPopupCalendar extends IDateField implements Paintable, ChangeListe public IPopupCalendar() { super(); - text = new ITextField(); - text.addChangeListener(this); + calendarToggle = new IButton(); calendarToggle.setText("..."); calendarToggle.addClickListener(this); + add(calendarToggle); + calendar = new ICalendarPanel(this); popup = new PopupPanel(true); popup.setStyleName(IDateField.CLASSNAME+"-calendar"); popup.setWidget(calendar); - add(text); - add(calendarToggle); + popup.addPopupListener(this); } public void updateFromUIDL(UIDL uidl, Client client) { super.updateFromUIDL(uidl, client); - - - calendar.updateCalendar(); } - public void onChange(Widget sender) { - - } - public void onClick(Widget sender) { if(sender == calendarToggle) { + calendar.updateCalendar(); popup.setPopupPosition(calendarToggle.getAbsoluteLeft(), calendarToggle.getAbsoluteTop() + calendarToggle.getOffsetHeight() + 2); popup.show(); popup.setWidth(calendar.getOffsetWidth() + "px"); @@ -55,4 +46,9 @@ public class IPopupCalendar extends IDateField implements Paintable, ChangeListe } } + public void onPopupClosed(PopupPanel sender, boolean autoClosed) { + if(sender == popup) + buildTime(); + } + } 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 61d79ec6fd..368d4f37bb 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 buildTime(); } - private void buildTime() { + protected void buildTime() { dl = new DateLocale(); DateLocale.setLocale(currentLocale); @@ -64,7 +64,7 @@ public class ITextualDate extends IDateField implements Paintable, ChangeListene else if(ms<100) text = "0"+text; dateText += "." + text; } - if(dts.isTwelveHourClock()) + if(currentResolution >= IDateField.RESOLUTION_HOUR && dts.isTwelveHourClock()) dateText += " " + (date.getHours()<12? dts.getAmPmStrings()[0] : dts.getAmPmStrings()[1]); text.setText(dateText); -- 2.39.5