diff options
author | Marc Englund <marc.englund@itmill.com> | 2008-09-03 07:59:17 +0000 |
---|---|---|
committer | Marc Englund <marc.englund@itmill.com> | 2008-09-03 07:59:17 +0000 |
commit | c4a795fdc89b9837aebb4834800b6f88d07a7ab0 (patch) | |
tree | 1e5d4d1333984e68ad39f39cfc4782b292581b14 | |
parent | 1512e2f3301c0bf0b894e5a8520b8a8ae6d659cd (diff) | |
download | vaadin-framework-c4a795fdc89b9837aebb4834800b6f88d07a7ab0.tar.gz vaadin-framework-c4a795fdc89b9837aebb4834800b6f88d07a7ab0.zip |
Updated Reservr to use "GALGWT" googlemaps gwt api (compatible w/ gwt 1.5). Removed reservr.html (not needed).
svn changeset:5337/svn branch:trunk
-rw-r--r-- | WebContent/index.html | 2 | ||||
-rw-r--r-- | WebContent/reservr.html | 51 | ||||
-rw-r--r-- | build/build.xml | 8 | ||||
-rw-r--r-- | src/com/itmill/toolkit/demo/reservation/GoogleMap.java | 48 | ||||
-rw-r--r-- | src/com/itmill/toolkit/demo/reservation/ReservationApplication.java | 8 | ||||
-rw-r--r-- | src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml | 17 | ||||
-rw-r--r-- | src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java | 82 |
7 files changed, 67 insertions, 149 deletions
diff --git a/WebContent/index.html b/WebContent/index.html index ff366e3998..acfdc3a6b7 100644 --- a/WebContent/index.html +++ b/WebContent/index.html @@ -159,7 +159,7 @@ <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 index 320679d891..0000000000 --- a/WebContent/reservr.html +++ /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">
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
-<head>
- <title>IT Mill Toolkit 5 Demo: Reservr</title>
- <!--
- 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?file=api&v=2&key=XXXXXXXX"
- where the X:s represent your key.
- Example for http://toolkit.itmill.com:
- <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA4q5gw_y_N1Anvvn1KqbLwRTHuC2ERVOT66iQW8-FqpCQQUlHqBTZ0rGKdlKh9fxQOKN87TCwVNlIXQ" type="text/javascript"></script>
- -->
- <script src="http://maps.google.com/maps?file=api&v=2" type="text/javascript"></script>
-</head>
-<body> - <div id="header"> - <span id="logo"> Reservr Inc</span> - <span id="arrow"> </span> - <span id="slogan">Representational cars on-the-road</span> - </div> -
-<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>
-</body>
-</html>
diff --git a/build/build.xml b/build/build.xml index 6ae700de8d..774424061d 100644 --- a/build/build.xml +++ b/build/build.xml @@ -660,11 +660,11 @@ </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"> diff --git a/src/com/itmill/toolkit/demo/reservation/GoogleMap.java b/src/com/itmill/toolkit/demo/reservation/GoogleMap.java index b2a20bdae5..929d7213e7 100644 --- a/src/com/itmill/toolkit/demo/reservation/GoogleMap.java +++ b/src/com/itmill/toolkit/demo/reservation/GoogleMap.java @@ -21,8 +21,6 @@ public class GoogleMap extends AbstractComponent implements Sizeable, Container.Viewer {
private final String TAG_MARKERS = "markers";
private final String TAG_MARKER = "marker";
- private int width = 400;
- private int height = 300;
private int zoomLevel = 15;
private Point2D.Double mapCenter;
@@ -37,13 +35,20 @@ public class GoogleMap extends AbstractComponent implements Sizeable, public void paintContent(PaintTarget target) throws PaintException {
super.paintContent(target);
+ // Add size info as variables
+ if (getHeight() > -1) {
+ target.addVariable(this, "height", getHeight()
+ + UNIT_SYMBOLS[getHeightUnits()]);
+ }
+ if (getWidth() > -1) {
+ target.addVariable(this, "width", getWidth()
+ + UNIT_SYMBOLS[getWidthUnits()]);
+ }
if (null != mapCenter) {
target.addAttribute("centerX", mapCenter.getX());
target.addAttribute("centerY", mapCenter.getY());
}
target.addAttribute("zoom", zoomLevel);
- target.addAttribute("width", width);
- target.addAttribute("height", height);
if (dataSource != null) {
target.startTag(TAG_MARKERS);
@@ -81,40 +86,14 @@ public class GoogleMap extends AbstractComponent implements Sizeable, // Sizeable methods:
- public int getHeight() {
- return height;
- }
-
public int getHeightUnits() {
return Sizeable.UNITS_PIXELS;
}
- public int getWidth() {
- return width;
- }
-
public int getWidthUnits() {
return Sizeable.UNITS_PIXELS;
}
- public void setHeight(int height) {
- this.height = height;
- requestRepaint();
- }
-
- public void setHeightUnits(int units) {
- throw new UnsupportedOperationException();
- }
-
- public void setWidth(int width) {
- this.width = width;
- requestRepaint();
- }
-
- public void setWidthUnits(int units) {
- throw new UnsupportedOperationException();
- }
-
public void setMapCenter(Point2D.Double center) {
mapCenter = center;
}
@@ -221,13 +200,4 @@ public class GoogleMap extends AbstractComponent implements Sizeable, setContainerDataSource(null);
}
- public void setSizeFull() {
- // TODO Auto-generated method stub
-
- }
-
- public void setSizeUndefined() {
- // TODO Auto-generated method stub
-
- }
}
\ No newline at end of file diff --git a/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java b/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java index 31fe0cd047..07cd81a77d 100644 --- a/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java +++ b/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java @@ -90,7 +90,7 @@ public class ReservationApplication extends Application { resourceName.setCaption("Choose resource");
infoLayout.addComponent(resourceName);
description = new TextField();
- description.setColumns(20);
+ description.setWidth("250px");
description.setRows(5);
infoLayout.addComponent(description);
reservationButton = new Button("Make reservation", this,
@@ -98,10 +98,8 @@ public class ReservationApplication extends Application { infoLayout.addComponent(reservationButton);
map = new GoogleMap();
- // TODO support EM
- // map.setWidthUnits(Size.UNITS_EM);
- map.setWidth(266);
- map.setHeight(210);
+ map.setWidth("250px");
+ map.setHeight("250px");
map.setItemMarkerHtmlPropertyId(SampleDB.Resource.PROPERTY_ID_NAME);
map.setItemMarkerXPropertyId(SampleDB.Resource.PROPERTY_ID_LOCATIONX);
map.setItemMarkerYPropertyId(SampleDB.Resource.PROPERTY_ID_LOCATIONY);
diff --git a/src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml b/src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml index 1b0c3a4b8a..4298a0e164 100644 --- a/src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml +++ b/src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml @@ -2,12 +2,25 @@ <!-- Inherit the NoEntry version to avoid multiple entrypoints -->
<inherits name="com.itmill.toolkit.terminal.gwt.DefaultWidgetSetNoEntry" />
- <!-- The googlemaps_gwt module -->
- <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&file=api&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&file=api&v=2.x&key=ABQIAAAA4q5gw_y_N1Anvvn1KqbLwRTHuC2ERVOT66iQW8-FqpCQQUlHqBTZ0rGKdlKh9fxQOKN87TCwVNlIXQ" type="text/javascript"></script> + --> + <script src="http://maps.google.com/maps?gwt=1&file=api&v=2.x" /> + <!-- Entry point --> <entry-point class="com.itmill.toolkit.demo.reservation.gwt.client.ReservationWidgetSet"/> diff --git a/src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java b/src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java index 8dbdab11b0..3da054f9da 100644 --- a/src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java +++ b/src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java @@ -6,36 +6,35 @@ package com.itmill.toolkit.demo.reservation.gwt.client.ui; import java.util.Iterator;
+import com.google.gwt.maps.client.InfoWindowContent;
+import com.google.gwt.maps.client.MapWidget;
+import com.google.gwt.maps.client.control.SmallMapControl;
+import com.google.gwt.maps.client.event.MarkerClickHandler;
+import com.google.gwt.maps.client.geom.LatLng;
+import com.google.gwt.maps.client.overlay.Marker;
+import com.google.gwt.user.client.ui.Composite;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
-import com.mapitz.gwt.googleMaps.client.GControl;
-import com.mapitz.gwt.googleMaps.client.GLatLng;
-import com.mapitz.gwt.googleMaps.client.GMap2;
-import com.mapitz.gwt.googleMaps.client.GMap2EventManager;
-import com.mapitz.gwt.googleMaps.client.GMap2Widget;
-import com.mapitz.gwt.googleMaps.client.GMarker;
-import com.mapitz.gwt.googleMaps.client.GMarkerEventClickListener;
-import com.mapitz.gwt.googleMaps.client.GMarkerEventManager;
-public class IGoogleMap extends GMap2Widget implements Paintable {
+public class IGoogleMap extends Composite implements Paintable {
public static final String CLASSNAME = "i-googlemap";
- GMap2EventManager mapEventManager;
- GMarkerEventManager markerEventManager;
- GMap2 map;
+ private final MapWidget widget = new MapWidget();
public IGoogleMap() {
+ initWidget(widget);
+ setWidth("200px");
+ setHeight("200px");
setStyleName(CLASSNAME);
- mapEventManager = GMap2EventManager.getInstance();
- map = getGmap();
- map.addControl(GControl.GSmallZoomControl());
+ widget.addControl(new SmallMapControl());
+
}
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
- map.clearOverlays();
- GLatLng pos = null;
+ widget.clearOverlays();
+ LatLng pos = null;
for (final Iterator it = uidl.getChildIterator(); it.hasNext();) {
final UIDL u = (UIDL) it.next();
if (u.getTag().equals("markers")) {
@@ -46,9 +45,9 @@ public class IGoogleMap extends GMap2Widget implements Paintable { + umarker.getStringAttribute("html") + "</span>";
final double x = umarker.getDoubleAttribute("x");
final double y = umarker.getDoubleAttribute("y");
- pos = new GLatLng(x, y);
- final GMarker marker = new GMarker(pos);
- map.addOverlay(marker);
+ pos = new LatLng(x, y);
+ final Marker marker = new Marker(pos);
+ widget.addOverlay(marker);
if (html != null) {
addMarkerPopup(marker, html);
}
@@ -56,48 +55,37 @@ public class IGoogleMap extends GMap2Widget implements Paintable { }
}
if (uidl.hasAttribute("width")) {
- setWidth("" + uidl.getIntAttribute("width"));
+ widget.setWidth(uidl.getStringAttribute("width"));
}
if (uidl.hasAttribute("height")) {
- setHeight("" + uidl.getIntAttribute("height"));
+ widget.setHeight(uidl.getStringAttribute("height"));
}
if (uidl.hasAttribute("zoom")) {
- map.setZoom(uidl.getIntAttribute("zoom"));
+ widget.setZoomLevel(uidl.getIntAttribute("zoom"));
}
if (uidl.hasAttribute("centerX") && uidl.hasAttribute("centerY")) {
- final GLatLng center = new GLatLng(uidl
- .getDoubleAttribute("centerX"), uidl
- .getDoubleAttribute("centerY"));
- map.setCenter(center);
+ final LatLng center = new LatLng(
+ uidl.getDoubleAttribute("centerX"), uidl
+ .getDoubleAttribute("centerY"));
+ widget.setCenter(center);
} else if (pos != null) {
// use last marker position
- map.setCenter(pos);
+ widget.setCenter(pos);
}
}
- private void addMarkerPopup(GMarker marker, String html) {
- if (markerEventManager == null) {
- markerEventManager = GMarkerEventManager.getInstance();
- }
-
- markerEventManager.addOnClickListener(marker, new MarkerEventListener(
- html));
-
- }
+ private void addMarkerPopup(Marker marker, final String html) {
+ marker.addMarkerClickHandler(new MarkerClickHandler() {
- private class MarkerEventListener implements GMarkerEventClickListener {
- String html;
+ public void onClick(MarkerClickEvent event) {
+ widget.getInfoWindow().open(event.getSender().getPoint(),
+ new InfoWindowContent(html));
- public MarkerEventListener(String html) {
- this.html = html;
- }
+ }
- public void onClick(GMarker marker) {
- marker.openInfoWindowHtml(html);
- }
+ });
- public void onDblClick(GMarker marker) {
- }
}
+
}
|