]> source.dussan.org Git - vaadin-framework.git/commitdiff
reservr usability
authorMarc Englund <marc.englund@itmill.com>
Mon, 15 Oct 2007 14:03:20 +0000 (14:03 +0000)
committerMarc Englund <marc.englund@itmill.com>
Mon, 15 Oct 2007 14:03:20 +0000 (14:03 +0000)
svn changeset:2516/svn branch:trunk

WebContent/ITMILL/themes/reservr/styles.css
WebContent/reservr.html
src/com/itmill/toolkit/demo/reservation/ReservationApplication.java
src/com/itmill/toolkit/demo/reservation/SampleDB.java
src/com/itmill/toolkit/demo/reservation/gwt/public/reservr/styles.css
src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java

index 22a777dca3789b4159713948fd86a4e1156759f2..00c6caca1e5090304a7cc9822f8b5afe99b457fe 100644 (file)
@@ -14,12 +14,35 @@ html, body {
 }\r
 #slogan {\r
        color: #464F52;\r
+       font-style: italic;\r
+       font-size: 12px;\r
 }\r
 \r
 /* Default widgetset overrides */\r
+.i-label, \r
+.i-caption {\r
+       min-height: 1em;\r
+}\r
+.i-datefield-entrycalendar-hours {\r
+       height: 250px;\r
+       overflow: auto;\r
+}\r
+.i-panel {\r
+       margin-bottom: 5px;\r
+}\r
+.i-caption {\r
+       color: #F14C1A;\r
+       font-size: 16px;\r
+}\r
+.i-label.arrow {\r
+       line-height: 160px;\r
+       font-family: Times New Roman;\r
+       color: #F14C1A;\r
+       font-size: 65px;\r
+}\r
 textarea.i-textfield {\r
        font-size: 13px;\r
-       width: 326px;\r
+       width: 320px;\r
        height: 110px;\r
 }\r
 button.link {\r
index a5acb63cf1e4d87043ee383553563ab1d71b851d..bcf5b4817d1659b4c8f7db1f0bb98f76b3ff86d4 100644 (file)
 <body>\r
        <iframe id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe>\r
        <div id="header">\r
-               <img src="ITMILL/themes/reservr/reservr.jpg" align="top"/>\r
-               <span id="logo">Reservr Inc</span>\r
-               <span>&raquo; Representational cars on-the-road</span>\r
+               <ximg src="ITMILL/themes/reservr/reservr.jpg" align="top"/>\r
+               <span id="logo"> Reservr Inc</span>\r
+               <span id="arrow"> </span>\r
+               <span id="slogan">Representational cars on-the-road</span>\r
        </div>\r
        <div id="itmtk-ajax-window"></div>      \r
 </body>\r
index 3c7ec1a0318a8cf0e308e84a0363c4c31d094896..112d47a46d1a6753e003c9f05555c1f82cf83209 100644 (file)
@@ -78,18 +78,19 @@ public class ReservationApplication extends Application {
                resourceName.setCaption("Choose resource");\r
                infoLayout.addComponent(resourceName);\r
                description = new TextField();\r
-               description.setColumns(47);\r
+               description.setColumns(45);\r
                description.setRows(5);\r
                infoLayout.addComponent(description);\r
                reservationButton = new Button("Make reservation", this,\r
                                "makeReservation");\r
                infoLayout.addComponent(reservationButton);\r
-               statusLabel = new Label();\r
+               statusLabel = new Label("");\r
+               statusLabel.setCaption("");\r
                infoLayout.addComponent(statusLabel);\r
 \r
                map = new GoogleMap();\r
-               map.setWidth(330);\r
-               map.setHeight(270);\r
+               map.setWidth(325);\r
+               map.setHeight(210);\r
                map.setItemMarkerHtmlPropertyId(SampleDB.Resource.PROPERTY_ID_NAME);\r
                map.setItemMarkerXPropertyId(SampleDB.Resource.PROPERTY_ID_LOCATIONX);\r
                map.setItemMarkerYPropertyId(SampleDB.Resource.PROPERTY_ID_LOCATIONY);\r
@@ -101,17 +102,21 @@ public class ReservationApplication extends Application {
                from.set(Calendar.MINUTE, 0);\r
                from.set(Calendar.SECOND, 0);\r
                from.set(Calendar.MILLISECOND, 0);\r
-               reservedFrom = new CalendarField("From »");\r
+               reservedFrom = new CalendarField("From");\r
                reservedFrom.setMinimumDate(from.getTime());\r
                reservedFrom.setValue(from.getTime());\r
                reservedFrom.setImmediate(true);\r
                initCalendarFieldPropertyIds(reservedFrom);\r
                reservationPanel.addComponent(reservedFrom);\r
 \r
+               Label arrowLabel = new Label("»");\r
+               arrowLabel.setStyle("arrow");\r
+               reservationPanel.addComponent(arrowLabel);\r
+               \r
                Calendar to = Calendar.getInstance();\r
                to.setTime(from.getTime());\r
                to.add(Calendar.MILLISECOND, (int) DEFAULT_GAP_MILLIS);\r
-               reservedTo = new CalendarField("» To");\r
+               reservedTo = new CalendarField("To");\r
                reservedTo.setMinimumDate(to.getTime());\r
                reservedTo.setValue(to.getTime());\r
                reservedTo.setImmediate(true);\r
@@ -294,8 +299,8 @@ public class ReservationApplication extends Application {
        }\r
 \r
        private void resetStatus() {\r
-               statusLabel.setCaption(null);\r
-               statusLabel.setValue(null);\r
+               statusLabel.setCaption("");\r
+               statusLabel.setValue("");\r
        }\r
 \r
        public void selectedResourcesChanged(\r
index 3c617323ddd84594ecd82db77db5e670d0d1170f..cffebc5d716689d8ba618f1b178363148de6bb19 100644 (file)
@@ -408,18 +408,18 @@ public class SampleDB {
                                { "12", "12 Ford Fusion", "Keys from infodesk.",
                                                "Silicon Valley", new Double(37.365028),
                                                new Double(-121.922654) },
-                               { "13", "13 Ford Mustang", "GT Cal Special. Keys from guard.",
-                                               "Silicon Valley", new Double(37.403812),
-                                               new Double(-121.977425) },
-                               { "14", "14 Ford Focus", "Keys from guard.",
-                                               "Silicon Valley", new Double(37.403812),
-                                               new Double(-121.977425) },
-                               { "15", "15 Land Rover", "Keys from infodesk.",
+                               { "13", "13 Land Rover", "Keys from infodesk.",
                                                "Silicon Valley", new Double(37.365028),
                                                new Double(-121.922654) },
-                               { "16", "16 Land Rover", "Keys from infodesk.",
+                               { "14", "14 Land Rover", "Keys from infodesk.",
                                                "Silicon Valley", new Double(37.365028),
                                                new Double(-121.922654) },
+                               { "15", "15 Ford Mustang", "GT Cal Special. Keys from guard.",
+                                                       "Silicon Valley", new Double(37.403812),
+                                                       new Double(-121.977425) },
+                               { "16", "16 Ford Focus", "Keys from guard.",
+                                                       "Silicon Valley", new Double(37.403812),
+                                                       new Double(-121.977425) },
                                // Paris
                                { "17", "17 Peugeot 308", "Keys from infodesk.", "Paris",
                                                new Double(48.844756), new Double(2.372784) },
index bde033b10358eabffe6384490426cac8897f5231..defaefb0cad41d3812463e7524404f6b254d7613 100644 (file)
@@ -3,7 +3,6 @@
 /* Entrycalendar styles */\r
 .i-datefield-entrycalendar-hours {\r
        height: auto;\r
-       xoverflow: auto;\r
 }\r
 .i-datefield-entrycalendar-hours table {\r
        width: auto;\r
index e6a8770d2430e086e235ff0a563392c5a848f428..8ba19ab790d75a2d7478b4624ca7915e001c1761 100644 (file)
@@ -78,12 +78,14 @@ public class ICalendar extends IDateField {
        }\r
 \r
        protected void buildDayView(Date date) {\r
+               boolean firstRender = true;\r
                if (this.hourPanel == null) {\r
                        this.hourPanel = new SimplePanel();\r
                        this.hourPanel.setStyleName(CLASSNAME + "-hours");\r
                        this.calPanel.getFlexCellFormatter().setColSpan(8, 0, 7);\r
                        this.calPanel.setWidget(8, 0, this.hourPanel);\r
                } else {\r
+                       firstRender = false;\r
                        this.hourPanel.clear();\r
                }\r
                this.hourTable = new FlexTable();\r
@@ -142,14 +144,15 @@ public class ICalendar extends IDateField {
                        }\r
                        Element el = this.hourTable.getFlexCellFormatter().getElement(\r
                                        start, col);\r
-                       \r
+\r
                        String tooltip;\r
                        if (DateTimeService.isSameDay(entry.getStart(), entry.getEnd())) {\r
                                tooltip = (start < 10 ? "0" : "") + start + ":00";\r
                                if (this.dts.isTwelveHourClock()) {\r
                                        String ampm = (start < 12 ? "am" : "pm");\r
-                                       tooltip = (start <= 12 ? start : start - 12) + ":00 " + ampm;\r
-                                       \r
+                                       tooltip = (start <= 12 ? start : start - 12) + ":00 "\r
+                                                       + ampm;\r
+\r
                                }\r
                                tooltip += " (" + hours + "h) ";\r
                                tooltip += entry.getTitle() + "\n ";\r
@@ -162,8 +165,21 @@ public class ICalendar extends IDateField {
                        currentCol++;\r
                }\r
 \r
+               // int hour = new Date().getHours()+1; // scroll to current hour\r
+               int hour = this.date.getHours() + 1; // scroll to selected hour\r
+               int h1 = (int) this.hourPanel.getOffsetHeight() / 2;\r
+               int oh = this.hourTable.getOffsetHeight();\r
+               int h2 = (int) (hour / 24.0 * oh);\r
+               int scrollTop = (int) h2 - h1;\r
+               Element el = this.hourPanel.getElement();\r
+               setScrollTop(el, scrollTop);\r
+\r
        }\r
 \r
+       private native void setScrollTop(Element el, int scrollTop) /*-{\r
+           el.scrollTop = scrollTop;\r
+         }-*/;\r
+\r
        private class HourTableListener implements TableListener {\r
 \r
                public void onCellClicked(SourcesTableEvents sender, int row, int cell) {\r