]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fixed calendar popup inside modal panel. CalendarPopup now closes on on date select.
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 13 Mar 2008 14:39:24 +0000 (14:39 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 13 Mar 2008 14:39:24 +0000 (14:39 +0000)
svn changeset:4038/svn branch:trunk

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

index 482c9c6b222e4e6d401d30c369140e736ffa8f14..205f4c1822358fd79b8c72b210ddfe0c128752b3 100644 (file)
@@ -420,7 +420,12 @@ public class CalendarPanel extends FlexTable implements MouseListener,
                         cal.datefield.getCurrentDate().getYear() + 1900,\r
                         cal.datefield.isImmediate());\r
 \r
-                updateCalendar();\r
+                if (datefield instanceof ITextualDate) {\r
+                    ((ToolkitOverlay) getParent()).hide();\r
+                } else {\r
+                    updateCalendar();\r
+                }\r
+\r
             } catch (final NumberFormatException e) {\r
                 // Not a number, ignore and stop here\r
                 return;\r
@@ -462,4 +467,13 @@ public class CalendarPanel extends FlexTable implements MouseListener,
         public List getEntries(Date date, int resolution);\r
     }\r
 \r
+    /**\r
+     * Sets focus to Calendar panel.\r
+     * \r
+     * @param focus\r
+     */\r
+    public void setFocus(boolean focus) {\r
+        nextYear.setFocus(focus);\r
+    }\r
+\r
 }\r
index 30d9595edfa2d52a5a642fa9c07796ff76c9325c..098967b8d90c54237d1d6d76680c9e33b10f7334 100644 (file)
@@ -35,7 +35,7 @@ public class IPopupCalendar extends ITextualDate implements Paintable,
         add(calendarToggle);\r
 \r
         calendar = new CalendarPanel(this);\r
-        popup = new ToolkitOverlay(true);\r
+        popup = new ToolkitOverlay(true, true);\r
         popup.setStyleName(IDateField.CLASSNAME + "-popup");\r
         popup.setWidget(calendar);\r
         popup.addPopupListener(this);\r
@@ -83,6 +83,7 @@ public class IPopupCalendar extends ITextualDate implements Paintable,
                     // fix size\r
                     popup.setWidth(w + "px");\r
                     popup.setHeight(h + "px");\r
+                    setFocus(true);\r
                 }\r
             });\r
         }\r
@@ -101,4 +102,13 @@ public class IPopupCalendar extends ITextualDate implements Paintable,
         }\r
     }\r
 \r
+    /**\r
+     * Sets focus to Calendar panel.\r
+     * \r
+     * @param focus\r
+     */\r
+    public void setFocus(boolean focus) {\r
+        calendar.setFocus(focus);\r
+    }\r
+\r
 }\r