aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2008-09-03 07:59:17 +0000
committerMarc Englund <marc.englund@itmill.com>2008-09-03 07:59:17 +0000
commitc4a795fdc89b9837aebb4834800b6f88d07a7ab0 (patch)
tree1e5d4d1333984e68ad39f39cfc4782b292581b14
parent1512e2f3301c0bf0b894e5a8520b8a8ae6d659cd (diff)
downloadvaadin-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.html2
-rw-r--r--WebContent/reservr.html51
-rw-r--r--build/build.xml8
-rw-r--r--src/com/itmill/toolkit/demo/reservation/GoogleMap.java48
-rw-r--r--src/com/itmill/toolkit/demo/reservation/ReservationApplication.java8
-rw-r--r--src/com/itmill/toolkit/demo/reservation/gwt/ReservationWidgetSet.gwt.xml17
-rw-r--r--src/com/itmill/toolkit/demo/reservation/gwt/client/ui/IGoogleMap.java82
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&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"/>
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) {
- }
}
+
}