]> source.dussan.org Git - vaadin-framework.git/commitdiff
DateField default style (IPopupCalendar) implemented.
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 10 Jul 2007 13:02:28 +0000 (13:02 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 10 Jul 2007 13:02:28 +0000 (13:02 +0000)
Still need to fix millisecond setting in ITextualDate.

svn changeset:1829/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java
src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java

index b2a70ed9fc6cd8f1420d3758104b805b3b580c39..78ea84d9aeb90544dd69f1fc945b58c8f24b9b46 100644 (file)
@@ -1,6 +1,5 @@
 package com.itmill.toolkit.terminal.gwt.client.ui;\r
 \r
-import com.google.gwt.user.client.ui.ChangeListener;\r
 import com.google.gwt.user.client.ui.ClickListener;\r
 import com.google.gwt.user.client.ui.PopupListener;\r
 import com.google.gwt.user.client.ui.PopupPanel;\r
@@ -9,9 +8,7 @@ import com.itmill.toolkit.terminal.gwt.client.Client;
 import com.itmill.toolkit.terminal.gwt.client.Paintable;\r
 import com.itmill.toolkit.terminal.gwt.client.UIDL;\r
 \r
-public class IPopupCalendar extends IDateField implements Paintable, ChangeListener, ClickListener {\r
-       \r
-       private ITextField text;\r
+public class IPopupCalendar extends ITextualDate implements Paintable, ClickListener, PopupListener {\r
        \r
        private IButton calendarToggle;\r
        \r
@@ -21,33 +18,27 @@ public class IPopupCalendar extends IDateField implements Paintable, ChangeListe
        \r
        public IPopupCalendar() {\r
                super();\r
-               text = new ITextField();\r
-               text.addChangeListener(this);\r
+               \r
                calendarToggle = new IButton();\r
                calendarToggle.setText("...");\r
                calendarToggle.addClickListener(this);\r
+               add(calendarToggle);\r
+               \r
                calendar = new ICalendarPanel(this);\r
                popup = new PopupPanel(true);\r
                popup.setStyleName(IDateField.CLASSNAME+"-calendar");\r
                popup.setWidget(calendar);\r
-               add(text);\r
-               add(calendarToggle);\r
+               popup.addPopupListener(this);\r
        }\r
        \r
        public void updateFromUIDL(UIDL uidl, Client client) {\r
                super.updateFromUIDL(uidl, client);\r
-               \r
-               \r
-               \r
                calendar.updateCalendar();\r
        }\r
 \r
-       public void onChange(Widget sender) {\r
-               \r
-       }\r
-\r
        public void onClick(Widget sender) {\r
                if(sender == calendarToggle) {\r
+                               calendar.updateCalendar();\r
                                popup.setPopupPosition(calendarToggle.getAbsoluteLeft(), calendarToggle.getAbsoluteTop() + calendarToggle.getOffsetHeight() + 2);\r
                                popup.show();\r
                                popup.setWidth(calendar.getOffsetWidth() + "px");\r
@@ -55,4 +46,9 @@ public class IPopupCalendar extends IDateField implements Paintable, ChangeListe
                }\r
        }\r
 \r
+       public void onPopupClosed(PopupPanel sender, boolean autoClosed) {\r
+               if(sender == popup)\r
+                       buildTime();\r
+       }\r
+\r
 }\r
index 61d79ec6fdc01aa53a6419161ad447d9e9715b1b..368d4f37bbb509a3eaf41fd2a64409aa967b1f4e 100644 (file)
@@ -30,7 +30,7 @@ public class ITextualDate extends IDateField implements Paintable, ChangeListene
                buildTime();\r
        }\r
 \r
-       private void buildTime() {\r
+       protected void buildTime() {\r
                dl = new DateLocale();\r
                DateLocale.setLocale(currentLocale);\r
                \r
@@ -64,7 +64,7 @@ public class ITextualDate extends IDateField implements Paintable, ChangeListene
                        else if(ms<100) text = "0"+text;\r
                        dateText += "." + text;\r
                }\r
-               if(dts.isTwelveHourClock())\r
+               if(currentResolution >= IDateField.RESOLUTION_HOUR && dts.isTwelveHourClock())\r
                        dateText += " " + (date.getHours()<12? dts.getAmPmStrings()[0] : dts.getAmPmStrings()[1]);\r
                \r
                text.setText(dateText);\r