[Commits] r2721 - in sandbox/gxm/geoext/gxm: examples lib tests tests/lib tests/winopen
commits at geoext.org
commits at geoext.org
Thu May 26 09:05:44 CEST 2011
Author: marcjansen
Date: 2011-05-26 09:05:44 +0200 (Thu, 26 May 2011)
New Revision: 2721
Added:
sandbox/gxm/geoext/gxm/tests/helperfunctions.js
sandbox/gxm/geoext/gxm/tests/winopen/
sandbox/gxm/geoext/gxm/tests/winopen/button-test-window.html
Modified:
sandbox/gxm/geoext/gxm/examples/layerlist.js
sandbox/gxm/geoext/gxm/lib/Button.js
sandbox/gxm/geoext/gxm/lib/LayerList.js
sandbox/gxm/geoext/gxm/tests/lib/Button.test.html
sandbox/gxm/geoext/gxm/tests/lib/LayerList.test.html
sandbox/gxm/geoext/gxm/tests/lib/MapPanel.test.html
Log:
- tests and minors
Modified: sandbox/gxm/geoext/gxm/examples/layerlist.js
===================================================================
--- sandbox/gxm/geoext/gxm/examples/layerlist.js 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/examples/layerlist.js 2011-05-26 07:05:44 UTC (rev 2721)
@@ -51,21 +51,21 @@
'OpenStreetMap Mapnik',
{
sphericalMercator : true,
- attribution : 'Daten <a href="http://creativecommons.org/licenses/by-sa/2.0/de">CC-By-SA</a> von <a href="http://openstreetmap.org/">OpenStreetMap</a>'
+ attribution : 'Data <a href="http://creativecommons.org/licenses/by-sa/2.0">CC-By-SA</a> from <a href="http://openstreetmap.org/">OpenStreetMap</a>'
}
),
new OpenLayers.Layer.OSM.Osmarender(
'OpenStreetMap Osmarender',
{
sphericalMercator : true,
- attribution : 'Daten <a href="http://creativecommons.org/licenses/by-sa/2.0/de">CC-By-SA</a> von <a href="http://openstreetmap.org/">OpenStreetMap</a>'
+ attribution : 'Data <a href="http://creativecommons.org/licenses/by-sa/2.0">CC-By-SA</a> from <a href="http://openstreetmap.org/">OpenStreetMap</a>'
}
),
new OpenLayers.Layer.OSM.CycleMap(
'OpenStreetMap CycleMap',
{
sphericalMercator : true,
- attribution : 'Daten <a href="http://creativecommons.org/licenses/by-sa/2.0/de">CC-By-SA</a> von <a href="http://openstreetmap.org/">OpenStreetMap</a> & <a href="http://www.opencyclemap.org/">OpenCycleMap</a>'
+ attribution : 'Data <a href="http://creativecommons.org/licenses/by-sa/2.0">CC-By-SA</a> from <a href="http://openstreetmap.org/">OpenStreetMap</a> & <a href="http://www.opencyclemap.org/">OpenCycleMap</a>'
}
),
vector
Modified: sandbox/gxm/geoext/gxm/lib/Button.js
===================================================================
--- sandbox/gxm/geoext/gxm/lib/Button.js 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/lib/Button.js 2011-05-26 07:05:44 UTC (rev 2721)
@@ -100,6 +100,9 @@
},
onCtrlDeactivate: function(){
}
+// ,onPress: function(e){
+// GXM.Button.superclass.onPress.call(this, e);
+// }
});
Ext.reg('gxm_button', GXM.Button);
Modified: sandbox/gxm/geoext/gxm/lib/LayerList.js
===================================================================
--- sandbox/gxm/geoext/gxm/lib/LayerList.js 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/lib/LayerList.js 2011-05-26 07:05:44 UTC (rev 2721)
@@ -43,7 +43,6 @@
// template member functions
isVisible: function(layer) {
var visible = false;
- //TODO: test
if (layer.isBaseLayer && layer.map.baseLayer === layer) {
visible = true;
} else {
Added: sandbox/gxm/geoext/gxm/tests/helperfunctions.js
===================================================================
--- sandbox/gxm/geoext/gxm/tests/helperfunctions.js (rev 0)
+++ sandbox/gxm/geoext/gxm/tests/helperfunctions.js 2011-05-26 07:05:44 UTC (rev 2721)
@@ -0,0 +1,54 @@
+function getMap(){
+ var map = new OpenLayers.Map({
+ layers: [
+ new OpenLayers.Layer.WMS(
+ "OpenLayers WMS",
+ "http://vmap0.tiles.osgeo.org/wms/vmap0",
+ {
+ layers: "basic"
+ }
+ )
+ ]
+ });
+ return map;
+}
+
+function getMapPanel(opts) {
+ var map = getMap();
+ var options = Ext.apply(opts || {});
+ if (!opts || !opts.map) {
+ options.map = map;
+ }
+ var mappanel = new GXM.MapPanel(options);
+ return mappanel;
+}
+
+function getLazyMapPanel(opts) {
+ var options = Ext.apply(opts || {}, { xtype: 'gxm_mappanel' });
+ options.map = ( opts && opts.map ) ? opts.map : getMap();
+ var mappanel = options;
+
+ var panel = new Ext.Panel({
+ fullscreen: true,
+ items:[ mappanel ]
+ });
+
+ return panel.items.get(0);
+}
+
+//TODO: remove eventually
+var log = function(){
+ if (console && console.log) {
+ for (arg in arguments) {
+ console.log(arguments[arg]);
+ }
+ }
+};
+//TODO: remove eventually
+var dir = function(){
+ if (console && console.dir) {
+ for (arg in arguments) {
+ console.dir(arguments[arg]);
+ }
+ }
+};
\ No newline at end of file
Modified: sandbox/gxm/geoext/gxm/tests/lib/Button.test.html
===================================================================
--- sandbox/gxm/geoext/gxm/tests/lib/Button.test.html 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/tests/lib/Button.test.html 2011-05-26 07:05:44 UTC (rev 2721)
@@ -12,46 +12,11 @@
<!-- This file loads all relevant files -->
<script type="text/javascript" src="../../lib/GXM.js"></script>
+ <!-- load test helper functions -->
+ <script type="text/javascript" src="../helperfunctions.js"></script>
+
<script type="text/javascript">
-function getMap(){
- var map = new OpenLayers.Map({
- layers: [
- new OpenLayers.Layer.WMS(
- "OpenLayers WMS",
- "http://vmap0.tiles.osgeo.org/wms/vmap0",
- {
- layers: "basic"
- }
- )
- ]
- });
- return map;
-}
-
-function getMapPanel() {
- var map = getMap();
- var mappanel = new GXM.MapPanel({
- map: map
- });
- return mappanel;
-}
-
-function getLazyMapPanel() {
- var map = getMap();
- var mappanel = {
- xtype: 'gxm_mappanel',
- map: map
- };
-
- var panel = new Ext.Panel({
- fullscreen: true,
- items:[ mappanel ]
- });
-
- return panel.items.get(0);
-}
-
// can be copied to other testfiles, simply adjust the first variables
function test_definition(t) {
var undef,
@@ -80,9 +45,103 @@
}
}
+function test_triggerControlCalled(t) {
+ if(Ext.is.Phone){
+ t.plan(1);
+ t.ok(true, 'skipped because of missing event emulation for mobile device. TODO revisit.');
+ return;
+ }
+
+ var expectedBtnClicks = [
+ 'zoomIn',
+ 'zoomOut'
+ ];
+ t.plan(expectedBtnClicks.length * 2);
+
+ t.open_window('./winopen/button-test-window.html', function(wnd) {
+
+ var recordedEvents = {};
+ if(!Ext.is.Phone) {
+ recordedEvents = { checkpoints: [
+ ], events: [
+ {layerX:"9", y:"11", returnValue:"true", clientX:"55", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"55", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1008 DIV", layerY:"6", charCode:"0", type:"mousedown", pageX:"55", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"1000"},
+ {layerX:"9", y:"11", returnValue:"true", clientX:"55", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"55", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1008 DIV", layerY:"6", charCode:"0", type:"mouseup", pageX:"55", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"800"},
+ {layerX:"9", y:"11", returnValue:"true", clientX:"55", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"55", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1008 DIV", layerY:"6", charCode:"0", type:"click", pageX:"55", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"600"},
+ {layerX:"9", y:"11", returnValue:"true", clientX:"15", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"15", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1004 DIV", layerY:"6", charCode:"0", type:"mousedown", pageX:"15", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"400"},
+ {layerX:"9", y:"11", returnValue:"true", clientX:"15", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"15", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1004 DIV", layerY:"6", charCode:"0", type:"mouseup", pageX:"15", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"200"},
+ {layerX:"9", y:"11", returnValue:"true", clientX:"15", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"15", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1004 DIV", layerY:"6", charCode:"0", type:"click", pageX:"15", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"0"}
+ ] };
+ }
+// else {
+// recordedEvents = { checkpoints: [
+// ], events: [
+// {layerX:"9", y:"11", returnValue:"true", clientX:"55", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"55", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1008 DIV", layerY:"6", charCode:"0", type:"touchstart", pageX:"55", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"1000"},
+// {layerX:"9", y:"11", returnValue:"true", clientX:"55", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"55", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1008 DIV", layerY:"6", charCode:"0", type:"touchend", pageX:"55", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"800"},
+// {layerX:"9", y:"11", returnValue:"true", clientX:"15", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"15", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1004 DIV", layerY:"6", charCode:"0", type:"touchstart", pageX:"15", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"400"},
+// {layerX:"9", y:"11", returnValue:"true", clientX:"15", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"1695", x:"15", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"6", clientY:"11", ctrlKey:"false", target:"#ext-comp-1004 DIV", layerY:"6", charCode:"0", type:"touchend", pageX:"15", cancelBubble:"false", pageY:"11", clipboardData:null, metaKey:"false", detail:"1", offsetX:"9", relatedTarget:null, screenY:"73", time:"200"}
+// ] };
+// }
+
+ t.replay_events(wnd, recordedEvents);
+
+ t.delay_call(5, function(){
+ Ext.each(expectedBtnClicks, function(expectedBtn) {
+ t.ok(wnd.btnLogger[expectedBtn].handlerCalled, "Button '" + expectedBtn + "' was clicked and its handler-method invoked.");
+ t.ok(wnd.btnLogger[expectedBtn].triggerCalled, "Button '" + expectedBtn + "' was clicked and its trigger-method invoked.");
+ });
+ });
+ }, 5);
+}
+function test_activateControlCalled(t){
+ if(Ext.is.Phone){
+ t.plan(1);
+ t.ok(true, 'skipped because of missing event emulation for mobile device. TODO revisit.');
+ return;
+ }
+
+
+ t.plan(3);
+
+ t.open_window('./winopen/button-test-window.html', function(wnd) {
+
+ var recordedEvents = { checkpoints: [
+], events: [
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mousedown", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"1600"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mouseup", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"1400"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"click", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"1200"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mousedown", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"1000"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mouseup", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"800"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"click", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"600"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mousedown", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"400"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"mouseup", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"200"},
+{layerX:"6", y:"10", returnValue:"true", clientX:"924", which:"1", shiftKey:"false", cancelable:"true", bubbles:"true", screenX:"3040", x:"924", button:"0", defaultPrevented:"false", altKey:"false", keyCode:"0", offsetY:"3", clientY:"10", ctrlKey:"false", target:"#ext-comp-1011 DIV", layerY:"3", charCode:"0", type:"click", pageX:"924", cancelBubble:"false", pageY:"10", clipboardData:null, metaKey:"false", detail:"1", offsetX:"6", relatedTarget:null, screenY:"297", time:"0"}
+] };
+
+ t.replay_events(wnd, recordedEvents);
+
+ t.delay_call(5, function(){
+
+ t.eq(wnd.btnNavStates.length, 3, "Navigation button was clicked three times.");
+
+ var stateAfterFirstClick = wnd.btnNavStates[0];
+ var exp_stateAfterSecondClick = (stateAfterFirstClick === 'active') ? 'inactive' : 'active';
+ var exp_stateAfterThirdClick = stateAfterFirstClick
+
+ t.eq(wnd.btnNavStates[1], exp_stateAfterSecondClick, "State was correct toggled.");
+ t.eq(wnd.btnNavStates[2], exp_stateAfterThirdClick, "State was correct toggled.");
+
+ });
+ }, 5);
+}
+
+
</script>
</head>
- <body></body>
+ <body>
+
+ <div id="btn"></div>
+
+ </body>
</html>
\ No newline at end of file
Modified: sandbox/gxm/geoext/gxm/tests/lib/LayerList.test.html
===================================================================
--- sandbox/gxm/geoext/gxm/tests/lib/LayerList.test.html 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/tests/lib/LayerList.test.html 2011-05-26 07:05:44 UTC (rev 2721)
@@ -12,46 +12,12 @@
<!-- This file loads all relevant files -->
<script type="text/javascript" src="../../lib/GXM.js"></script>
+ <!-- load test helper functions -->
+ <script type="text/javascript" src="../helperfunctions.js"></script>
+
<script type="text/javascript">
-function getMap(){
- var map = new OpenLayers.Map({
- layers: [
- new OpenLayers.Layer.WMS(
- "OpenLayers WMS",
- "http://vmap0.tiles.osgeo.org/wms/vmap0",
- {
- layers: "basic"
- }
- )
- ]
- });
- return map;
-}
-function getMapPanel() {
- var map = getMap();
- var mappanel = new GXM.MapPanel({
- map: map
- });
- return mappanel;
-}
-
-function getLazyMapPanel() {
- var map = getMap();
- var mappanel = {
- xtype: 'gxm_mappanel',
- map: map
- };
-
- var panel = new Ext.Panel({
- fullscreen: true,
- items:[ mappanel ]
- });
-
- return panel.items.get(0);
-}
-
// can be copied to other testfiles, simply adjust the first variables
function test_definition(t) {
var undef,
Modified: sandbox/gxm/geoext/gxm/tests/lib/MapPanel.test.html
===================================================================
--- sandbox/gxm/geoext/gxm/tests/lib/MapPanel.test.html 2011-05-24 14:48:55 UTC (rev 2720)
+++ sandbox/gxm/geoext/gxm/tests/lib/MapPanel.test.html 2011-05-26 07:05:44 UTC (rev 2721)
@@ -12,46 +12,11 @@
<!-- This file loads all relevant files -->
<script type="text/javascript" src="../../lib/GXM.js"></script>
+ <!-- load test helper functions -->
+ <script type="text/javascript" src="../helperfunctions.js"></script>
+
<script type="text/javascript">
-function getMap(){
- var map = new OpenLayers.Map({
- layers: [
- new OpenLayers.Layer.WMS(
- "OpenLayers WMS",
- "http://vmap0.tiles.osgeo.org/wms/vmap0",
- {
- layers: "basic"
- }
- )
- ]
- });
- return map;
-}
-
-function getMapPanel(opts) {
- var map = getMap();
- var options = Ext.apply(opts || {});
- if (!opts || !opts.map) {
- options.map = map;
- }
- var mappanel = new GXM.MapPanel(options);
- return mappanel;
-}
-
-function getLazyMapPanel(opts) {
- var options = Ext.apply(opts || {}, { xtype: 'gxm_mappanel' });
- options.map = ( opts && opts.map ) ? opts.map : getMap();
- var mappanel = options;
-
- var panel = new Ext.Panel({
- fullscreen: true,
- items:[ mappanel ]
- });
-
- return panel.items.get(0);
-}
-
// can be copied to other testfiles, simply adjust the first variables
function test_definition(t) {
var undef,
@@ -193,23 +158,6 @@
panel.destroy();
}
-
-//TODO: remove eventually
-var log = function(){
- if (console && console.log) {
- for (arg in arguments) {
- console.log(arguments[arg]);
- }
- }
-};
-var dir = function(){
- if (console && console.dir) {
- for (arg in arguments) {
- console.dir(arguments[arg]);
- }
- }
-};
-
function test_extent(t){
t.plan(2);
var panel;
Added: sandbox/gxm/geoext/gxm/tests/winopen/button-test-window.html
===================================================================
--- sandbox/gxm/geoext/gxm/tests/winopen/button-test-window.html (rev 0)
+++ sandbox/gxm/geoext/gxm/tests/winopen/button-test-window.html 2011-05-26 07:05:44 UTC (rev 2721)
@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <title>GXM: The GXM.Button- and SegmentedButton-class</title>
+
+ <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0">
+ <meta name="apple-mobile-web-app-capable" content="yes">
+
+ <link rel="stylesheet" href="../../external/sencha-touch-1.1.0/resources/css/sencha-touch.css" type="text/css">
+ <link rel="stylesheet" href="../../external/OpenLayers.r11966/theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="../../css/gxm.css" type="text/css">
+ <link rel="stylesheet" href="../examples.css" type="text/css">
+
+ <script type="text/javascript" src="../../external/sencha-touch-1.1.0/sencha-touch.js"></script>
+ <script type="text/javascript" src="../../external/OpenLayers.r11966/OpenLayers.js"></script>
+
+ <!-- This file loads all relevant files -->
+ <script type="text/javascript" src="../../lib/GXM.js"></script>
+
+ <script type="text/javascript">
+
+//TODO: remove eventually
+var log = function(){
+ if (console && console.log) {
+ for (arg in arguments) {
+ console.log(arguments[arg]);
+ }
+ }
+};
+
+var viewport;
+
+// This object is read out in the test page
+window.btnLogger = {
+ zoomIn: {
+ handlerCalled: false,
+ triggerCalled: false
+ },
+ zoomOut: {
+ handlerCalled: false,
+ triggerCalled: false
+ }
+};
+window.btnNavStates = [];
+
+
+
+Ext.setup({
+ onReady: function(){
+ // OpenLayers specific
+ var map = new OpenLayers.Map({
+ controls: [],
+ allOverlays: true
+ });
+
+ map.zoomIn = function() {
+ window.btnLogger.zoomIn.triggerCalled = true;
+ OpenLayers.Map.prototype.zoomIn.apply(this, arguments);
+ };
+ map.zoomOut = function() {
+ window.btnLogger.zoomOut.triggerCalled = true;
+ OpenLayers.Map.prototype.zoomOut.apply(this, arguments);
+ };
+
+ var layer = new OpenLayers.Layer.WMS(
+ "OpenLayers WMS",
+ "http://vmap0.tiles.osgeo.org/wms/vmap0",
+ {
+ layers: "basic"
+ }
+ );
+ layer = new OpenLayers.Layer.Vector('vector');
+
+ map.addLayers([layer]);
+
+ var btnClickCallback = function(btn){
+ window.btnLogger[btn.title].handlerCalled = true;
+ // Ext.Msg.alert('Callback defined in application', 'You tapped the "' + btn.title + '"-button.');
+ };
+
+ var zoomin = new OpenLayers.Control.ZoomIn();
+ var zoomout = new OpenLayers.Control.ZoomOut();
+
+ var btnZoomIn = new GXM.Button({
+ control: zoomin,
+ map: map,
+ title: 'zoomIn',
+ iconCls: 'add',
+ iconMask: true,
+ handler: Ext.createDelegate(btnClickCallback)
+ });
+ var btnZoomOut = {
+ xtype: 'gxm_button',
+ control: zoomout,
+ map: map,
+ title: 'zoomOut',
+ iconCls: 'minus',
+ iconMask: true,
+ handler: Ext.createDelegate(btnClickCallback)
+ };
+
+ var nav = new OpenLayers.Control.TouchNavigation();
+
+ var btnNavigation = {
+ xtype: 'gxm_segmentedbutton',
+ exclusiveGroup: 'working-on-map',
+ map: map,
+ items: [{
+ text: 'Navigation',
+ control: nav,
+ pressed: true,
+ handler: function(btn, evt, activeState){
+ window.btnNavStates.push((activeState ? 'active' : 'inactive'));
+ // Ext.Msg.alert('Navigation', 'Navigation is ' + (activeState ? 'active' : 'inactive') + '.');
+ }
+ }]
+ };
+
+ // create a vector layer for drawing
+ var vector = new OpenLayers.Layer.Vector('Vector Layer', {
+ styleMap: new OpenLayers.StyleMap({
+ temporary: OpenLayers.Util.applyDefaults({
+ pointRadius: 16
+ }, OpenLayers.Feature.Vector.style.temporary)
+ })
+ });
+
+ var mapPanel = new GXM.MapPanel({
+ map: map,
+ layers: [vector]
+ });
+
+ var ctrlDrawPoint = new OpenLayers.Control.DrawFeature(
+ vector,
+ OpenLayers.Handler.Point
+ );
+ var ctrlDrawLine = new OpenLayers.Control.DrawFeature(
+ vector,
+ OpenLayers.Handler.Path
+ );
+ var ctrlDrawPoly = new OpenLayers.Control.DrawFeature(
+ vector,
+ OpenLayers.Handler.Polygon
+ );
+
+ var btnDigPoint = {
+ control: ctrlDrawPoint,
+ text: 'Point'
+ };
+ var btnDigLine = {
+ control: ctrlDrawLine,
+ text: 'Line'
+ };
+ var btnDigPoly = {
+ control: ctrlDrawPoly,
+ text: 'Poly'
+ };
+
+ var digGroup = {
+ xtype: 'gxm_segmentedbutton',
+ map: map,
+ exclusiveGroup: 'working-on-map',
+ items: [
+ btnDigPoint,
+ btnDigLine,
+ btnDigPoly
+ ]
+ };
+
+ viewport = new Ext.Panel({
+ fullscreen: true,
+ layout: 'fit',
+ ui: 'light',
+ dockedItems: [{
+ xtype: 'toolbar',
+ dock: 'top',
+ items: [
+ btnZoomIn,
+ btnZoomOut,
+ {xtype: 'spacer'},
+ btnNavigation
+ ]
+ },{
+ xtype: 'toolbar',
+ dock: 'bottom',
+ items: [
+ digGroup
+ ]
+ }],
+ items: [
+ mapPanel
+ ]
+ });
+ }
+});
+
+ </script>
+ </head>
+ <body>
+ <!-- TODO: have content here that describes this example -->
+ </body>
+</html>
\ No newline at end of file
More information about the Commits
mailing list