]> source.dussan.org Git - vaadin-framework.git/commitdiff
Updated Reservr to use "GALGWT" googlemaps gwt api (compatible w/ gwt 1.5). Removed...
authorMarc Englund <marc.englund@itmill.com>
Wed, 3 Sep 2008 07:59:17 +0000 (07:59 +0000)
committerMarc Englund <marc.englund@itmill.com>
Wed, 3 Sep 2008 07:59:17 +0000 (07:59 +0000)
svn changeset:5337/svn branch:trunk

WebContent/index.html
WebContent/reservr.html [deleted file]
build/build.xml
src/com/itmill/toolkit/demo/reservation/GoogleMap.java
src/com/itmill/toolkit/demo/reservation/ReservationApplication.java
src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml
src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java

index ff366e3998a5cc422fd2d9d87d10075025fe29d6..acfdc3a6b7b164ee72d3eaf421134e419c81c489 100644 (file)
                                <ul id="demo-buttons">
                                        <li id="feature-browser"><a href="FeatureBrowser/">Feature browser</a></li>
                                        <li id="notifications"><a href="NotificationDemo/">Notifications</a></li>
-                                       <li id="reservr"><a href="reservr.html">Reservation application</a></li>
+                                       <li id="reservr"><a href="Reservr/">Reservation application</a></li>
                                        <li id="windowed-demos"><a href="WindowedDemos">Windowed demos</a></li>
                                        <li class="clearer"></li> <!-- // simplifies things in JavaScipt -->
                                </ul>
diff --git a/WebContent/reservr.html b/WebContent/reservr.html
deleted file mode 100644 (file)
index 320679d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">\r
-<head>\r
-       <title>IT Mill Toolkit 5 Demo: Reservr</title>\r
-       <!-- \r
-               Google Maps needs an API key if you're not running this demo on "localhost". \r
-               \r
-               You can get a Google Maps API key here:\r
-                       http://www.google.com/apis/maps/signup.html\r
-               \r
-               Append your Google Maps API key to the src -attribute below, like so:\r
-                       src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXX"\r
-               where the X:s represent your key.\r
-               Example for http://toolkit.itmill.com:\r
-               <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA4q5gw_y_N1Anvvn1KqbLwRTHuC2ERVOT66iQW8-FqpCQQUlHqBTZ0rGKdlKh9fxQOKN87TCwVNlIXQ" type="text/javascript"></script>      \r
-       -->\r
-       <script src="http://maps.google.com/maps?file=api&v=2" type="text/javascript"></script>\r
-</head>\r
-<body>
-       <div id="header">
-               <span id="logo"> Reservr Inc</span>
-               <span id="arrow"> </span>
-               <span id="slogan">Representational cars on-the-road</span>
-       </div>
-\r
-<iframe id="__gwt_historyFrame" style="width:0;height:0;border:0;overflow:hidden" src="javascript:false"></iframe>
-<script language='javascript' src='ITMILL/widgetsets/com.itmill.toolkit.demo.reservation.gwt.ReservationWidgetSet/com.itmill.toolkit.demo.reservation.gwt.ReservationWidgetSet.nocache.js'></script>
-<script type="text/javascript">
-//<![CDATA[
-       if(!itmill || !itmill.toolkitConfigurations) {
-        if(!itmill) { var itmill = {}} 
-       itmill.toolkitConfigurations = {};
-       itmill.themesLoaded = {}};
-       itmill.toolkitConfigurations["Reservr"] = {appUri:'../../../Reservr', pathInfo: '/', themeUri:'../../../ITMILL/themes/reservr'};
-//]]>
-</script>
-<script type="text/javascript">
-//<![CDATA[
-       if(!itmill.themesLoaded['reservr']) {
-       var stylesheet = document.createElement('link');
-       stylesheet.setAttribute('rel', 'stylesheet');
-       stylesheet.setAttribute('type', 'text/css');
-       stylesheet.setAttribute('href', 'ITMILL/themes/reservr/styles.css');
-       document.getElementsByTagName('head')[0].appendChild(stylesheet);
-       itmill.themesLoaded['reservr'] = true;
-       }
-//]]>
-</script>
-<div id="Reservr" class="i-app" ></div>\r
-</body>\r
-</html>\r
index 6ae700de8d4c5ca88c5a8ea683f9bdfc69d68133..774424061d52d594dc796d3bdb1d437300e4ac62 100644 (file)
        </target>
 
        <target name="compile-widgetset-reserver">
-               <condition property="googlemaps-jar" value="${output-dir}/WebContent/demo/lib/reservr/googlemaps_gwt.jar">
-                       <available file="${output-dir}/WebContent/demo/lib/reservr/googlemaps_gwt.jar" />
+               <condition property="googlemaps-jar" value="${output-dir}/WebContent/demo/lib/reservr/gwt-maps.jar">
+                       <available file="${output-dir}/WebContent/demo/lib/reservr/gwt-maps.jar" />
                </condition>
-               <condition property="googlemaps-jar" value="lib/reservr/googlemaps_gwt.jar">
-                       <available file="lib/reservr/googlemaps_gwt.jar" />
+               <condition property="googlemaps-jar" value="lib/reservr/gwt-maps.jar">
+                       <available file="lib/reservr/gwt-maps.jar" />
                </condition>
                <echo>com.itmill.toolkit.demo.reservation.gwt.ReservationWidgetSet</echo>
                <java classname="com.google.gwt.dev.GWTCompiler" failonerror="yes" fork="yes" maxmemory="512m">
index b2a20bdae57ca2c7be97db7e16d44de08bcf466f..929d7213e745039e46f9858179104d8c6b5c0ea5 100644 (file)
@@ -21,8 +21,6 @@ public class GoogleMap extends AbstractComponent implements Sizeable,
         Container.Viewer {\r
     private final String TAG_MARKERS = "markers";\r
     private final String TAG_MARKER = "marker";\r
-    private int width = 400;\r
-    private int height = 300;\r
     private int zoomLevel = 15;\r
     private Point2D.Double mapCenter;\r
 \r
@@ -37,13 +35,20 @@ public class GoogleMap extends AbstractComponent implements Sizeable,
 \r
     public void paintContent(PaintTarget target) throws PaintException {\r
         super.paintContent(target);\r
+        // Add size info as variables\r
+        if (getHeight() > -1) {\r
+            target.addVariable(this, "height", getHeight()\r
+                    + UNIT_SYMBOLS[getHeightUnits()]);\r
+        }\r
+        if (getWidth() > -1) {\r
+            target.addVariable(this, "width", getWidth()\r
+                    + UNIT_SYMBOLS[getWidthUnits()]);\r
+        }\r
         if (null != mapCenter) {\r
             target.addAttribute("centerX", mapCenter.getX());\r
             target.addAttribute("centerY", mapCenter.getY());\r
         }\r
         target.addAttribute("zoom", zoomLevel);\r
-        target.addAttribute("width", width);\r
-        target.addAttribute("height", height);\r
 \r
         if (dataSource != null) {\r
             target.startTag(TAG_MARKERS);\r
@@ -81,40 +86,14 @@ public class GoogleMap extends AbstractComponent implements Sizeable,
 \r
     // Sizeable methods:\r
 \r
-    public int getHeight() {\r
-        return height;\r
-    }\r
-\r
     public int getHeightUnits() {\r
         return Sizeable.UNITS_PIXELS;\r
     }\r
 \r
-    public int getWidth() {\r
-        return width;\r
-    }\r
-\r
     public int getWidthUnits() {\r
         return Sizeable.UNITS_PIXELS;\r
     }\r
 \r
-    public void setHeight(int height) {\r
-        this.height = height;\r
-        requestRepaint();\r
-    }\r
-\r
-    public void setHeightUnits(int units) {\r
-        throw new UnsupportedOperationException();\r
-    }\r
-\r
-    public void setWidth(int width) {\r
-        this.width = width;\r
-        requestRepaint();\r
-    }\r
-\r
-    public void setWidthUnits(int units) {\r
-        throw new UnsupportedOperationException();\r
-    }\r
-\r
     public void setMapCenter(Point2D.Double center) {\r
         mapCenter = center;\r
     }\r
@@ -221,13 +200,4 @@ public class GoogleMap extends AbstractComponent implements Sizeable,
         setContainerDataSource(null);\r
     }\r
 \r
-    public void setSizeFull() {\r
-        // TODO Auto-generated method stub\r
-\r
-    }\r
-\r
-    public void setSizeUndefined() {\r
-        // TODO Auto-generated method stub\r
-\r
-    }\r
 }
\ No newline at end of file
index 31fe0cd047d37eddb9ca9dc10b8daec0422a2433..07cd81a77d3e974b80b6b6f3cdd679ca9812f4a4 100644 (file)
@@ -90,7 +90,7 @@ public class ReservationApplication extends Application {
         resourceName.setCaption("Choose resource");\r
         infoLayout.addComponent(resourceName);\r
         description = new TextField();\r
-        description.setColumns(20);\r
+        description.setWidth("250px");\r
         description.setRows(5);\r
         infoLayout.addComponent(description);\r
         reservationButton = new Button("Make reservation", this,\r
@@ -98,10 +98,8 @@ public class ReservationApplication extends Application {
         infoLayout.addComponent(reservationButton);\r
 \r
         map = new GoogleMap();\r
-        // TODO support EM\r
-        // map.setWidthUnits(Size.UNITS_EM);\r
-        map.setWidth(266);\r
-        map.setHeight(210);\r
+        map.setWidth("250px");\r
+        map.setHeight("250px");\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
index 1b0c3a4b8a6d03bc6582f2677af3295158419b34..4298a0e164d3260257d2bf131c620c0eae19d5d5 100644 (file)
@@ -2,12 +2,25 @@
        <!-- Inherit the NoEntry version to avoid multiple entrypoints -->\r
        <inherits name="com.itmill.toolkit.terminal.gwt.DefaultWidgetSetNoEntry" /> \r
        \r
-       <!-- The googlemaps_gwt module -->\r
-       <inherits name="com.mapitz.gwt.googleMaps.GoogleMaps" /> 
+       <!-- The googlemaps_gwt module -->
+       <inherits name="com.google.gwt.maps.GoogleMaps" />
        
        <!-- WidgetSet default theme -->        
        <stylesheet src="reservr/styles.css"/>
 
+       <!-- 
+               Google Maps needs an API key if you're not running this demo on "localhost".            
+               You can get a Google Maps API key here:
+                       http://www.google.com/apis/maps/signup.html
+               
+               Append your Google Maps API key to the src -attribute below, like so:
+                       src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2.x&key=XXXXXXXX"
+               where the X:s represent your key.
+               Example for http://toolkit.itmill.com:
+               <script src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2.x&key=ABQIAAAA4q5gw_y_N1Anvvn1KqbLwRTHuC2ERVOT66iQW8-FqpCQQUlHqBTZ0rGKdlKh9fxQOKN87TCwVNlIXQ" type="text/javascript"></script>      
+       -->
+       <script src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2.x" />
+
        <!-- Entry point -->
        <entry-point class="com.itmill.toolkit.demo.reservation.gwt.client.ReservationWidgetSet"/>
   
index 8dbdab11b0d332f0d1d40de78837a5d03d2cdc65..3da054f9da9558ceb59392ae9892c9617a0e7079 100644 (file)
@@ -6,36 +6,35 @@ package com.itmill.toolkit.demo.reservation.gwt.client.ui;
 \r
 import java.util.Iterator;\r
 \r
+import com.google.gwt.maps.client.InfoWindowContent;\r
+import com.google.gwt.maps.client.MapWidget;\r
+import com.google.gwt.maps.client.control.SmallMapControl;\r
+import com.google.gwt.maps.client.event.MarkerClickHandler;\r
+import com.google.gwt.maps.client.geom.LatLng;\r
+import com.google.gwt.maps.client.overlay.Marker;\r
+import com.google.gwt.user.client.ui.Composite;\r
 import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;\r
 import com.itmill.toolkit.terminal.gwt.client.Paintable;\r
 import com.itmill.toolkit.terminal.gwt.client.UIDL;\r
-import com.mapitz.gwt.googleMaps.client.GControl;\r
-import com.mapitz.gwt.googleMaps.client.GLatLng;\r
-import com.mapitz.gwt.googleMaps.client.GMap2;\r
-import com.mapitz.gwt.googleMaps.client.GMap2EventManager;\r
-import com.mapitz.gwt.googleMaps.client.GMap2Widget;\r
-import com.mapitz.gwt.googleMaps.client.GMarker;\r
-import com.mapitz.gwt.googleMaps.client.GMarkerEventClickListener;\r
-import com.mapitz.gwt.googleMaps.client.GMarkerEventManager;\r
 \r
-public class IGoogleMap extends GMap2Widget implements Paintable {\r
+public class IGoogleMap extends Composite implements Paintable {\r
 \r
     public static final String CLASSNAME = "i-googlemap";\r
 \r
-    GMap2EventManager mapEventManager;\r
-    GMarkerEventManager markerEventManager;\r
-    GMap2 map;\r
+    private final MapWidget widget = new MapWidget();\r
 \r
     public IGoogleMap() {\r
+        initWidget(widget);\r
+        setWidth("200px");\r
+        setHeight("200px");\r
         setStyleName(CLASSNAME);\r
-        mapEventManager = GMap2EventManager.getInstance();\r
-        map = getGmap();\r
-        map.addControl(GControl.GSmallZoomControl());\r
+        widget.addControl(new SmallMapControl());\r
+\r
     }\r
 \r
     public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {\r
-        map.clearOverlays();\r
-        GLatLng pos = null;\r
+        widget.clearOverlays();\r
+        LatLng pos = null;\r
         for (final Iterator it = uidl.getChildIterator(); it.hasNext();) {\r
             final UIDL u = (UIDL) it.next();\r
             if (u.getTag().equals("markers")) {\r
@@ -46,9 +45,9 @@ public class IGoogleMap extends GMap2Widget implements Paintable {
                             + umarker.getStringAttribute("html") + "</span>";\r
                     final double x = umarker.getDoubleAttribute("x");\r
                     final double y = umarker.getDoubleAttribute("y");\r
-                    pos = new GLatLng(x, y);\r
-                    final GMarker marker = new GMarker(pos);\r
-                    map.addOverlay(marker);\r
+                    pos = new LatLng(x, y);\r
+                    final Marker marker = new Marker(pos);\r
+                    widget.addOverlay(marker);\r
                     if (html != null) {\r
                         addMarkerPopup(marker, html);\r
                     }\r
@@ -56,48 +55,37 @@ public class IGoogleMap extends GMap2Widget implements Paintable {
             }\r
         }\r
         if (uidl.hasAttribute("width")) {\r
-            setWidth("" + uidl.getIntAttribute("width"));\r
+            widget.setWidth(uidl.getStringAttribute("width"));\r
         }\r
         if (uidl.hasAttribute("height")) {\r
-            setHeight("" + uidl.getIntAttribute("height"));\r
+            widget.setHeight(uidl.getStringAttribute("height"));\r
         }\r
         if (uidl.hasAttribute("zoom")) {\r
-            map.setZoom(uidl.getIntAttribute("zoom"));\r
+            widget.setZoomLevel(uidl.getIntAttribute("zoom"));\r
         }\r
         if (uidl.hasAttribute("centerX") && uidl.hasAttribute("centerY")) {\r
-            final GLatLng center = new GLatLng(uidl\r
-                    .getDoubleAttribute("centerX"), uidl\r
-                    .getDoubleAttribute("centerY"));\r
-            map.setCenter(center);\r
+            final LatLng center = new LatLng(\r
+                    uidl.getDoubleAttribute("centerX"), uidl\r
+                            .getDoubleAttribute("centerY"));\r
+            widget.setCenter(center);\r
         } else if (pos != null) {\r
             // use last marker position\r
-            map.setCenter(pos);\r
+            widget.setCenter(pos);\r
         }\r
 \r
     }\r
 \r
-    private void addMarkerPopup(GMarker marker, String html) {\r
-        if (markerEventManager == null) {\r
-            markerEventManager = GMarkerEventManager.getInstance();\r
-        }\r
-\r
-        markerEventManager.addOnClickListener(marker, new MarkerEventListener(\r
-                html));\r
-\r
-    }\r
+    private void addMarkerPopup(Marker marker, final String html) {\r
+        marker.addMarkerClickHandler(new MarkerClickHandler() {\r
 \r
-    private class MarkerEventListener implements GMarkerEventClickListener {\r
-        String html;\r
+            public void onClick(MarkerClickEvent event) {\r
+                widget.getInfoWindow().open(event.getSender().getPoint(),\r
+                        new InfoWindowContent(html));\r
 \r
-        public MarkerEventListener(String html) {\r
-            this.html = html;\r
-        }\r
+            }\r
 \r
-        public void onClick(GMarker marker) {\r
-            marker.openInfoWindowHtml(html);\r
-        }\r
+        });\r
 \r
-        public void onDblClick(GMarker marker) {\r
-        }\r
     }\r
+\r
 }\r