Ticket #1400: panels.3.patch
| File panels.3.patch, 11.3 kB (added by euzuro, 2 months ago) |
|---|
-
theme/default/style.css
old new 223 223 filter: alpha(opacity=50); 224 224 } 225 225 226 /* 227 * Due to current limitations in the OpenLayers code, you can only 228 * replace this image with another image which is 17px x 17px. 229 */ 226 .olControlPanPanel { 227 top: 10px; 228 left: 5px; 229 } 230 231 .olControlPanPanel div { 232 height: 18px; 233 width: 18px; 234 cursor: pointer; 235 position: absolute; 236 } 237 238 .olControlPanPanel .olControlPanButtonNorthItemInactive { 239 top: 0px; 240 left: 9px; 241 background-image: url(img/north-mini.png); 242 } 243 .olControlPanPanel .olControlPanButtonSouthItemInactive { 244 top: 36px; 245 left: 9px; 246 background-image: url(img/south-mini.png); 247 } 248 .olControlPanPanel .olControlPanButtonWestItemInactive { 249 position: absolute; 250 top: 18px; 251 left: 0px; 252 background-image: url(img/west-mini.png); 253 } 254 .olControlPanPanel .olControlPanButtonEastItemInactive { 255 top: 18px; 256 left: 18px; 257 background-image: url(img/east-mini.png); 258 } 259 260 .olControlZoomPanel { 261 top: 71px; 262 left: 14px; 263 } 264 265 .olControlZoomPanel div { 266 position: absolute; 267 height: 18px; 268 width: 18px; 269 cursor: pointer; 270 } 271 272 .olControlZoomPanel .olControlZoomInButtonItemInactive { 273 top: 0px; 274 left: 0px; 275 background-image: url(img/zoom-plus-mini.png); 276 } 277 278 .olControlZoomPanel .olControlZoomToMaxExtentItemInactive { 279 top: 18px; 280 left: 0px; 281 background-image: url(img/zoom-world-mini.png); 282 } 283 284 .olControlZoomPanel .olControlZoomOutButtonItemInactive { 285 top: 36px; 286 left: 0px; 287 background-image: url(img/zoom-minus-mini.png); 288 } 289 230 290 .olPopupCloseBox { 231 291 background: url("img/close.gif") no-repeat; 232 292 cursor: pointer; -
lib/OpenLayers/Control/ZoomPanel.js
old new 1 /** 2 * @requires OpenLayers/Control/Panel.js 3 * @requires OpenLayers/Control/ZoomInButton.js 4 * @requires OpenLayers/Control/ZoomOutButton.js 5 * @requires OpenLayers/Control/ZoomToMaxExtent.js 6 */ 7 8 /** 9 * Class: OpenLayers.Control.ZoomPanel 10 */ 11 OpenLayers.Control.ZoomPanel = OpenLayers.Class(OpenLayers.Control.Panel, { 12 13 /** 14 * Constructor: OpenLayers.Control.ZoomPanel 15 * Add our two mousedefaults controls. 16 * 17 * Parameters: 18 * options - {Object} An optional object whose properties will be used 19 * to extend the control. 20 */ 21 initialize: function(options) { 22 OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]); 23 this.addControls([ 24 new OpenLayers.Control.ZoomInButton(), 25 new OpenLayers.Control.ZoomToMaxExtent(), 26 new OpenLayers.Control.ZoomOutButton() 27 ]); 28 }, 29 30 /** 31 * Method: draw 32 * calls the default draw, and then activates mouse defaults. 33 */ 34 draw: function() { 35 var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); 36 return div; 37 }, 38 39 CLASS_NAME: "OpenLayers.Control.ZoomPanel" 40 }); -
lib/OpenLayers/Control/ZoomInButton.js
old new 1 /** 2 * 3 * @requires OpenLayers/Control.js 4 */ 5 6 /** 7 * Class: OpenLayers.Control.ZoomInButton 8 */ 9 OpenLayers.Control.ZoomInButton = OpenLayers.Class(OpenLayers.Control, { 10 11 /* Property: type 12 * {String} The type of <OpenLayers.Control> -- When added to a 13 * <Control.Panel>, 'type' is used by the panel to determine how to 14 * handle our events. 15 */ 16 type: OpenLayers.Control.TYPE_BUTTON, 17 18 /** 19 * Method: trigger 20 */ 21 trigger: function(){ 22 this.map.zoomIn(); 23 }, 24 25 CLASS_NAME: "OpenLayers.Control.ZoomInButton" 26 }); -
lib/OpenLayers/Control/ZoomOutButton.js
old new 1 /** 2 * 3 * @requires OpenLayers/Control.js 4 */ 5 6 /** 7 * Class: OpenLayers.Control.ZoomInButton 8 */ 9 OpenLayers.Control.ZoomOutButton = OpenLayers.Class(OpenLayers.Control, { 10 11 /* Property: type 12 * {String} The type of <OpenLayers.Control> -- When added to a 13 * <Control.Panel>, 'type' is used by the panel to determine how to 14 * handle our events. 15 */ 16 type: OpenLayers.Control.TYPE_BUTTON, 17 18 /** 19 * Method: trigger 20 */ 21 trigger: function(){ 22 this.map.zoomOut(); 23 }, 24 25 CLASS_NAME: "OpenLayers.Control.ZoomOutButton" 26 }); -
lib/OpenLayers/Control/PanButton.js
old new 1 /** 2 * 3 * @requires OpenLayers/Control.js 4 */ 5 6 /** 7 * Class: OpenLayers.Control.PanButton 8 */ 9 OpenLayers.Control.PanButton = OpenLayers.Class(OpenLayers.Control, { 10 11 /** 12 * APIProperty: slideFactor 13 * {Integer} Number of pixels by which we'll pan the map in any direction 14 * on clicking the arrow buttons. 15 */ 16 slideFactor: 50, 17 18 /** 19 * Property: direction 20 * {String} in {'North', 'South', 'East', 'West'} 21 */ 22 direction: null, 23 24 /* Property: type 25 * {String} The type of <OpenLayers.Control> -- When added to a 26 * <Control.Panel>, 'type' is used by the panel to determine how to 27 * handle our events. 28 */ 29 type: OpenLayers.Control.TYPE_BUTTON, 30 31 /** 32 * Constructor: OpenLayers.Control.PanButton 33 * Add our two mousedefaults controls. 34 * 35 * Parameters: 36 * direction - {String} The direction this button should pan 37 * options - {Object} An optional object whose properties will be used 38 * to extend the control. 39 */ 40 initialize: function(dir, options) { 41 42 this.direction = dir; 43 this.CLASS_NAME += this.direction; 44 45 OpenLayers.Control.prototype.initialize.apply(this, [options]); 46 47 if(options && options.displayClass){ 48 this.displayClass = options.displayClass; 49 } 50 }, 51 52 /** 53 * Method: trigger 54 */ 55 trigger: function(){ 56 57 switch (this.direction) { 58 case OpenLayers.Control.PanButton.NORTH: 59 this.map.pan(0, -this.slideFactor); 60 break; 61 case OpenLayers.Control.PanButton.SOUTH: 62 this.map.pan(0, this.slideFactor); 63 break; 64 case OpenLayers.Control.PanButton.WEST: 65 this.map.pan(-this.slideFactor, 0); 66 break; 67 case OpenLayers.Control.PanButton.EAST: 68 this.map.pan(this.slideFactor, 0); 69 break; 70 } 71 }, 72 73 CLASS_NAME: "OpenLayers.Control.PanButton" 74 }); 75 76 OpenLayers.Control.PanButton.NORTH = "North"; 77 OpenLayers.Control.PanButton.SOUTH = "South"; 78 OpenLayers.Control.PanButton.EAST = "East"; 79 OpenLayers.Control.PanButton.WEST = "West"; -
lib/OpenLayers/Control/PanPanel.js
old new 1 /** 2 * @requires OpenLayers/Control/Panel.js 3 * @requires OpenLayers/Control/PanButton.js 4 */ 5 6 /** 7 * Class: OpenLayers.Control.PanPanel 8 */ 9 OpenLayers.Control.PanPanel = OpenLayers.Class(OpenLayers.Control.Panel, { 10 11 /** 12 * Constructor: OpenLayers.Control.PanPanel 13 * Add our two mousedefaults controls. 14 * 15 * Parameters: 16 * options - {Object} An optional object whose properties will be used 17 * to extend the control. 18 */ 19 initialize: function(options) { 20 OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]); 21 this.addControls([ 22 new OpenLayers.Control.PanButton(OpenLayers.Control.PanButton.NORTH), 23 new OpenLayers.Control.PanButton(OpenLayers.Control.PanButton.SOUTH), 24 new OpenLayers.Control.PanButton(OpenLayers.Control.PanButton.EAST), 25 new OpenLayers.Control.PanButton(OpenLayers.Control.PanButton.WEST) 26 ]); 27 }, 28 29 /** 30 * Method: draw 31 * calls the default draw, and then activates mouse defaults. 32 */ 33 draw: function() { 34 var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); 35 return div; 36 }, 37 38 CLASS_NAME: "OpenLayers.Control.PanPanel" 39 }); -
lib/OpenLayers.js
old new 210 210 "OpenLayers/Layer/WFS.js", 211 211 "OpenLayers/Control/MouseToolbar.js", 212 212 "OpenLayers/Control/NavToolbar.js", 213 "OpenLayers/Control/PanPanel.js", 214 "OpenLayers/Control/PanButton.js", 215 "OpenLayers/Control/ZoomInButton.js", 216 "OpenLayers/Control/ZoomOutButton.js", 217 "OpenLayers/Control/ZoomPanel.js", 213 218 "OpenLayers/Control/EditingToolbar.js", 214 219 "OpenLayers/Lang.js", 215 220 "OpenLayers/Lang/en.js" -
examples/pan-zoom-panels.html
old new 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <title>Pan and Zoom Panels</title> 6 <style> 7 #mapDiv { 8 height: 256px; 9 width: 512px; 10 } 11 </style> 12 <script type="text/javascript" src="../lib/OpenLayers.js"></script> 13 <script> 14 var map; 15 var lon = 5; 16 var lat = 40; 17 var zoom = 5; 18 function init(){ 19 map = new OpenLayers.Map( 'mapDiv', {controls: []} ); 20 21 var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", 22 "http://labs.metacarta.com/wms/vmap0", 23 {layers: 'basic'} ); 24 map.addLayers([wms]); 25 26 map.setCenter(new OpenLayers.LonLat(lon, lat), zoom); 27 map.addControl( new OpenLayers.Control.PanPanel() ); 28 map.addControl( new OpenLayers.Control.ZoomPanel() ); 29 } 30 </script> 31 </head> 32 <body onload='init();'> 33 <h1>Pan and Zoom Panels</h1> 34 <div id="mapDiv"></div> 35 <p>The pan and zoom panels allow you to use CSS styling to change the 36 look and feel of the panels, including changing their position 37 and their icons without needing to change any code. 38 </p> 39 </body> 40 </html>
