[Commits] r1993 - in sandbox/mapgears/geoext.ux/ux/WMSBrowser: examples lib/GeoExt.ux/widgets
commits at geoext.org
commits at geoext.org
Wed Mar 17 15:24:52 CET 2010
Author: adube
Date: 2010-03-17 15:24:52 +0100 (Wed, 17 Mar 2010)
New Revision: 1993
Added:
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.html
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.js
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.html
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.js
sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js
Removed:
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.html
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.js
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.html
sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.js
sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSLayerAdder.js
Log:
wmsbrowser - files renamed
Copied: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.html (from rev 1992, sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.html)
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.html (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.html 2010-03-17 14:24:52 UTC (rev 1993)
@@ -0,0 +1,37 @@
+<html>
+ <head>
+ <title>WMSLayerAdder Example</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <!-- ext version 3.1.0 -->
+ <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
+ <script type="text/javascript" src="../../../../ext/ext-all.js"></script>
+ <link rel="stylesheet" type="text/css" href="../../../../ext/resources/css/ext-all.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../ext/examples/shared/examples.css" />
+
+ <!-- openlayers version trunk -->
+ <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
+ <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers/Lang/fr.js"></script>
+ <script type="text/javascript" src="../resources/lang/fr.js"></script>
+ <script type="text/javascript" src="../../../../geoext/lib/GeoExt.js"></script>
+
+ <link rel="stylesheet" type="text/css" href="../resources/css/WMSLayerAdder.css" />
+ <script type="text/javascript" src="../lib/GeoExt.ux/SingleFile.js"></script>
+
+ <script type="text/javascript" src="./store.js"></script>
+ <script type="text/javascript" src="WMSLayerAdderExample.js"></script>
+
+ </head>
+ <body>
+ <h1>WMSLayerAdder example</h1>
+
+ <p></p>
+
+ <p></p>
+
+ <p></p>
+
+ <p>See <a href="WMSLayerAdderExample.js">WMSLayerAdderExample.js</a> for the source code.</p>
+
+ <div id="content"></div>
+ </body>
+</html>
Copied: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.js (from rev 1992, sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.js)
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.js (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserExample.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -0,0 +1,35 @@
+var WMSLayerAdder, mapPanel;
+
+OpenLayers.ProxyHost = "./proxy.php?url=";
+
+Ext.onReady(function() {
+
+ Ext.QuickTips.init();
+
+ mapPanel = new GeoExt.MapPanel({
+ region: "center",
+ layers: [new OpenLayers.Layer.WMS("Global Imagery",
+ "http://labs.metacarta.com/wms/vmap0",
+ {layers: "basic"})] ,
+ center: [-68,52],
+ zoom: 4
+ });
+
+ WMSLayerAdder = new GeoExt.ux.WMSLayerAdder({
+ title: OpenLayers.i18n("WMSLayerAdder"),
+ region: "east",
+ width: 500,
+ gridPanelOptions: {'height': 210},
+ // comment the below line to have a 'textfield' instead of a 'combobox'
+ serverStore: oServerStore,
+ mapPanel: mapPanel
+ });
+
+ new Ext.Panel({
+ renderTo: "content",
+ layout: "border",
+ width: 900,
+ height: 350,
+ items: [mapPanel, WMSLayerAdder]
+ });
+});
Copied: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.html (from rev 1992, sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.html)
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.html (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.html 2010-03-17 14:24:52 UTC (rev 1993)
@@ -0,0 +1,37 @@
+<html>
+ <head>
+ <title>WMSLayerAdder (in Window) Example</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <!-- ext version 3.1.0 -->
+ <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
+ <script type="text/javascript" src="../../../../ext/ext-all.js"></script>
+ <link rel="stylesheet" type="text/css" href="../../../../ext/resources/css/ext-all.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../ext/examples/shared/examples.css" />
+
+ <!-- openlayers version trunk -->
+ <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
+ <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers/Lang/fr.js"></script>
+ <script type="text/javascript" src="../resources/lang/fr.js"></script>
+ <script type="text/javascript" src="../../../../geoext/lib/GeoExt.js"></script>
+
+ <link rel="stylesheet" type="text/css" href="../resources/css/WMSLayerAdder.css" />
+ <script type="text/javascript" src="../lib/GeoExt.ux/SingleFile.js"></script>
+
+ <script type="text/javascript" src="./store.js"></script>
+ <script type="text/javascript" src="WMSLayerAdderInWindowExample.js"></script>
+
+ </head>
+ <body>
+ <h1>WMSLayerAdder (in Window) example</h1>
+
+ <p></p>
+
+ <p></p>
+
+ <p></p>
+
+ <p>See <a href="WMSLayerAdderInWindowExample.js">WMSLayerAdderInWindowExample.js</a> for the source code.</p>
+
+ <div id="content"></div>
+ </body>
+</html>
Copied: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.js (from rev 1992, sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.js)
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.js (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSBrowserInWindowExample.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -0,0 +1,75 @@
+var WMSLayerAdder, mapPanel, layerAdderWindow, tree;
+
+OpenLayers.ProxyHost = "./proxy.php?url=";
+
+Ext.onReady(function() {
+
+ Ext.QuickTips.init();
+
+ var actions = [];
+
+ var action = new Ext.Action({
+ text: 'WMSLayerAdder',
+ handler: openWindow,
+ scope: this,
+ tooltip: OpenLayers.i18n('Add currently selected layers')
+ });
+ actions.push(action);
+
+ mapPanel = new GeoExt.MapPanel({
+ region: "center",
+ layers: [new OpenLayers.Layer.WMS("Global Imagery",
+ "http://labs.metacarta.com/wms/vmap0",
+ {layers: "basic"})] ,
+ center: [-68,52],
+ zoom: 4,
+ tbar: new Ext.Toolbar(actions)
+ });
+
+ tree = new Ext.tree.TreePanel({
+ region: 'east',
+ root: new GeoExt.tree.LayerContainer({
+ text: 'Map Layers',
+ layerStore: mapPanel.layers,
+ leaf: false,
+ expanded: true
+ }),
+ enableDD: true,
+ width: 170
+ });
+
+ new Ext.Panel({
+ renderTo: "content",
+ layout: "border",
+ width: 570,
+ height: 350,
+ items: [mapPanel, tree]
+ });
+});
+
+var openWindow = function() {
+ if(!layerAdderWindow) {
+ WMSLayerAdder = new GeoExt.ux.WMSLayerAdder({
+ region: "east",
+ gridPanelOptions: {'height': 260},
+ // comment the below line to have a 'textfield' instead of a
+ // 'combobox'. oServerStore is in ./store.js
+ serverStore: oServerStore,
+ mapPanel: mapPanel
+ });
+
+ layerAdderWindow = new Ext.Window({
+ resizable: false,
+ modal: true,
+ closeAction: 'hide',
+ width: 600,
+ height: 400,
+ title: OpenLayers.i18n("WMSLayerAdder"),
+ layout: 'fit',
+ items: [WMSLayerAdder]
+ });
+ }
+
+ layerAdderWindow.show();
+
+};
Deleted: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.html
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.html 2010-03-17 14:21:50 UTC (rev 1992)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.html 2010-03-17 14:24:52 UTC (rev 1993)
@@ -1,37 +0,0 @@
-<html>
- <head>
- <title>WMSLayerAdder Example</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <!-- ext version 3.1.0 -->
- <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="../../../../ext/ext-all.js"></script>
- <link rel="stylesheet" type="text/css" href="../../../../ext/resources/css/ext-all.css" />
- <link rel="stylesheet" type="text/css" href="../../../../ext/examples/shared/examples.css" />
-
- <!-- openlayers version trunk -->
- <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
- <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers/Lang/fr.js"></script>
- <script type="text/javascript" src="../resources/lang/fr.js"></script>
- <script type="text/javascript" src="../../../../geoext/lib/GeoExt.js"></script>
-
- <link rel="stylesheet" type="text/css" href="../resources/css/WMSLayerAdder.css" />
- <script type="text/javascript" src="../lib/GeoExt.ux/SingleFile.js"></script>
-
- <script type="text/javascript" src="./store.js"></script>
- <script type="text/javascript" src="WMSLayerAdderExample.js"></script>
-
- </head>
- <body>
- <h1>WMSLayerAdder example</h1>
-
- <p></p>
-
- <p></p>
-
- <p></p>
-
- <p>See <a href="WMSLayerAdderExample.js">WMSLayerAdderExample.js</a> for the source code.</p>
-
- <div id="content"></div>
- </body>
-</html>
Deleted: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.js 2010-03-17 14:21:50 UTC (rev 1992)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderExample.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -1,35 +0,0 @@
-var WMSLayerAdder, mapPanel;
-
-OpenLayers.ProxyHost = "./proxy.php?url=";
-
-Ext.onReady(function() {
-
- Ext.QuickTips.init();
-
- mapPanel = new GeoExt.MapPanel({
- region: "center",
- layers: [new OpenLayers.Layer.WMS("Global Imagery",
- "http://labs.metacarta.com/wms/vmap0",
- {layers: "basic"})] ,
- center: [-68,52],
- zoom: 4
- });
-
- WMSLayerAdder = new GeoExt.ux.WMSLayerAdder({
- title: OpenLayers.i18n("WMSLayerAdder"),
- region: "east",
- width: 500,
- gridPanelOptions: {'height': 210},
- // comment the below line to have a 'textfield' instead of a 'combobox'
- serverStore: oServerStore,
- mapPanel: mapPanel
- });
-
- new Ext.Panel({
- renderTo: "content",
- layout: "border",
- width: 900,
- height: 350,
- items: [mapPanel, WMSLayerAdder]
- });
-});
Deleted: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.html
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.html 2010-03-17 14:21:50 UTC (rev 1992)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.html 2010-03-17 14:24:52 UTC (rev 1993)
@@ -1,37 +0,0 @@
-<html>
- <head>
- <title>WMSLayerAdder (in Window) Example</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <!-- ext version 3.1.0 -->
- <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="../../../../ext/ext-all.js"></script>
- <link rel="stylesheet" type="text/css" href="../../../../ext/resources/css/ext-all.css" />
- <link rel="stylesheet" type="text/css" href="../../../../ext/examples/shared/examples.css" />
-
- <!-- openlayers version trunk -->
- <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
- <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers/Lang/fr.js"></script>
- <script type="text/javascript" src="../resources/lang/fr.js"></script>
- <script type="text/javascript" src="../../../../geoext/lib/GeoExt.js"></script>
-
- <link rel="stylesheet" type="text/css" href="../resources/css/WMSLayerAdder.css" />
- <script type="text/javascript" src="../lib/GeoExt.ux/SingleFile.js"></script>
-
- <script type="text/javascript" src="./store.js"></script>
- <script type="text/javascript" src="WMSLayerAdderInWindowExample.js"></script>
-
- </head>
- <body>
- <h1>WMSLayerAdder (in Window) example</h1>
-
- <p></p>
-
- <p></p>
-
- <p></p>
-
- <p>See <a href="WMSLayerAdderInWindowExample.js">WMSLayerAdderInWindowExample.js</a> for the source code.</p>
-
- <div id="content"></div>
- </body>
-</html>
Deleted: sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.js 2010-03-17 14:21:50 UTC (rev 1992)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/examples/WMSLayerAdderInWindowExample.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -1,75 +0,0 @@
-var WMSLayerAdder, mapPanel, layerAdderWindow, tree;
-
-OpenLayers.ProxyHost = "./proxy.php?url=";
-
-Ext.onReady(function() {
-
- Ext.QuickTips.init();
-
- var actions = [];
-
- var action = new Ext.Action({
- text: 'WMSLayerAdder',
- handler: openWindow,
- scope: this,
- tooltip: OpenLayers.i18n('Add currently selected layers')
- });
- actions.push(action);
-
- mapPanel = new GeoExt.MapPanel({
- region: "center",
- layers: [new OpenLayers.Layer.WMS("Global Imagery",
- "http://labs.metacarta.com/wms/vmap0",
- {layers: "basic"})] ,
- center: [-68,52],
- zoom: 4,
- tbar: new Ext.Toolbar(actions)
- });
-
- tree = new Ext.tree.TreePanel({
- region: 'east',
- root: new GeoExt.tree.LayerContainer({
- text: 'Map Layers',
- layerStore: mapPanel.layers,
- leaf: false,
- expanded: true
- }),
- enableDD: true,
- width: 170
- });
-
- new Ext.Panel({
- renderTo: "content",
- layout: "border",
- width: 570,
- height: 350,
- items: [mapPanel, tree]
- });
-});
-
-var openWindow = function() {
- if(!layerAdderWindow) {
- WMSLayerAdder = new GeoExt.ux.WMSLayerAdder({
- region: "east",
- gridPanelOptions: {'height': 260},
- // comment the below line to have a 'textfield' instead of a
- // 'combobox'. oServerStore is in ./store.js
- serverStore: oServerStore,
- mapPanel: mapPanel
- });
-
- layerAdderWindow = new Ext.Window({
- resizable: false,
- modal: true,
- closeAction: 'hide',
- width: 600,
- height: 400,
- title: OpenLayers.i18n("WMSLayerAdder"),
- layout: 'fit',
- items: [WMSLayerAdder]
- });
- }
-
- layerAdderWindow.show();
-
-};
Copied: sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js (from rev 1992, sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSLayerAdder.js)
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -0,0 +1,499 @@
+/**
+ * Copyright (c) 2008-2010 The Open Source Geospatial Foundation
+ *
+ * Published under the BSD license.
+ * See http://svn.geoext.org/core/trunk/geoext/license.txt for the full text
+ * of the license.
+ */
+
+Ext.namespace("GeoExt.ux")
+
+/*
+ * @requires GeoExt/widgets/Action.js
+ */
+
+/** api: (define)
+ * module = GeoExt.ux
+ * class = WMSLayerAdder
+ */
+
+/** api: constructor
+ * .. class:: WMSLayerAdder
+ */
+GeoExt.ux.WMSLayerAdder = Ext.extend(Ext.Panel, {
+
+ layout: 'fit',
+
+ minWidth: 300,
+
+ minHeight: 200,
+
+ plain:true,
+
+ bodyStyle:'padding:5px;',
+
+ buttonAlign:'center',
+
+ useIcons: false,
+
+ mapPanel: null,
+
+ serverStore: null,
+
+ serverStoreDisplayField: 'url',
+
+ capabilitiesParams: {},
+
+ defaultCapabilitiesParams: {
+ 'service': "WMS",
+ 'request': "GetCapabilities",
+ 'version': '1.1.1'
+ },
+
+ gridPanelOptions: {
+ 'height': 200
+ },
+
+ /** private: method[constructor]
+ */
+ constructor: function(config) {
+ this.serverStore = config.serverStore || null;
+ this.gridPanelOptions = config.gridPanelOptions || this.gridPanelOptions;
+
+ OpenLayers.Util.applyDefaults(
+ this.capabilitiesParams, this.defaultCapabilitiesParams);
+
+ this.initMyItems();
+ this.initMyToolbar();
+
+ arguments.callee.superclass.constructor.call(this, config);
+
+ this.on("afterrender", this.onAfterRender, this);
+ },
+
+ initMyItems: function() {
+ var oItems;
+
+ oItems = [];
+
+ // Top panel
+ oTopPanel = {
+ style:'padding:0px;margin:0px;',
+ region: 'north',
+ id: "wms_field_group",
+ xtype: 'fieldset',
+ layout: 'form',
+ border: false,
+ collapsible: false,
+ autoHeight: true,
+ autoWidth: true,
+ defaults: {width: '100%'},
+ defaultType: 'textfield',
+ buttonAlign:'center',
+ items: [],
+ buttons: []
+ };
+
+ // URL panel
+ var oURLField;
+ if(this.serverStore) {
+ oURLField = {
+ columnWidth: 0.85,
+ layout: 'fit',
+ 'name': 'wms_url',
+ 'id': 'wms_url',
+ xtype: 'combo',
+ store: this.serverStore,
+ displayField: this.serverStoreDisplayField,
+ typeAhead: true,
+ mode: 'local',
+ forceSelection: false,
+ triggerAction: 'all',
+ emptyText:OpenLayers.i18n('Select or input a server address (URL)'),
+ selectOnFocus:true
+ };
+ } else {
+ oURLField = {
+ xtype: "textfield",
+ columnWidth: 0.85,
+ layout: 'fit',
+ 'name': 'wms_url',
+ 'id': 'wms_url',
+ border: false,
+ 'emptyText': OpenLayers.i18n('Input the server address (URL)')
+ };
+ }
+
+ // Top panel - URL and Connect
+ oTopPanel.items.push({
+ style:'padding:2px;margin:2px;',
+ xtype: 'fieldset',
+ layout: 'column',
+ border: false,
+ collapsible: false,
+ collapsed: false,
+ autoHeight: true,
+ autoWidth: true,
+ items: [
+ oURLField,
+ {
+ columnWidth: 0.15,
+ layout: 'fit',
+ border: false,
+ items: [{
+ xtype: 'button',
+ text: OpenLayers.i18n('Connect'),
+ scope: this,
+ handler: function(b, e){this.triggerGetCapabilities();}
+ }]
+ }
+ ]
+ });
+
+
+ // Top panel - Username and Password
+ oTopPanel.items.push({
+ style:'padding:10px;margin:2px;',
+ xtype: 'fieldset',
+ title: OpenLayers.i18n('Login information (optional)'),
+ layout: 'form',
+ collapsible: true,
+ collapsed: true,
+ autoHeight: true,
+ autoWidth: true,
+ defaults: {width: '100%'},
+ defaultType: 'textfield',
+ items: [{
+ name: 'wms_username',
+ id: 'wms_username',
+ fieldLabel: OpenLayers.i18n('Username')
+ },{
+ name: 'wms_password',
+ id: 'wms_password',
+ inputType: 'password',
+ fieldLabel: OpenLayers.i18n('Password')
+ }]
+ });
+ oItems.push(oTopPanel);
+
+
+ // Center Panel
+ oCenterPanel = {
+ xtype: 'form',
+ region: 'center',
+ id: "wms_capabilities_panel",
+ layout: 'column',
+ border: false,
+ collapsible: false,
+ autoHeight: true,
+ autoWidth: true,
+ width: 'auto',
+ height: 'auto',
+ defaults: {width: '100%', hideLabel: true},
+ defaultType: 'textfield',
+ buttonAlign:'center',
+ items: []
+ };
+
+ // WMSCapabilitiesStore on blank url on start
+ this.capStore = new GeoExt.data.WMSCapabilitiesStore({'url': ""});
+ this.capStore.on('load', this.onWMSCapabilitiesStoreLoad, this);
+
+ oCenterPanel.items.push(this.createGridPanel(this.capStore));
+ oCenterPanel.items.push(this.createFormPanel());
+
+ oItems.push(oCenterPanel);
+
+ Ext.apply(this, {items: oItems});
+ },
+
+ triggerGetCapabilities: function() {
+ var url = Ext.getCmp('wms_url').getValue();
+
+ if(!url) {
+ alert(OpenLayers.i18n('Please, enter an url in the textbox first'));
+ return;
+ }
+
+ var params = OpenLayers.Util.getParameterString(this.capabilitiesParams);
+ url = OpenLayers.Util.urlAppend(url, params);
+
+ if (OpenLayers.ProxyHost && OpenLayers.String.startsWith(url, "http")) {
+ url = OpenLayers.ProxyHost + encodeURIComponent(url);
+ }
+
+ // change the url of the capability store proxy
+ this.capStore.proxy.setUrl(url);
+ this.capStore.proxy.setApi(Ext.data.Api.actions.read, url);
+
+ this.capStore.load();
+ },
+
+ removeAllItemsFromObject: function(object){
+ while(object.items.length != 0){
+ var oItem = object.items.items[0];
+ object.remove(oItem, true);
+ oItem.destroy();
+ }
+ },
+
+ createWMSCapabilitiesStore: function(url) {
+ var store = new GeoExt.data.WMSCapabilitiesStore({'url': url});
+ store.on('load', this.onWMSCapabilitiesStoreLoad, this);
+ return store;
+ },
+
+ createGridPanel: function(store) {
+ var columns = [
+ { header: OpenLayers.i18n('Add'),
+ dataIndex: "srsCompatible", hidden: false,
+ renderer: this.boolRenderer, width: 30},
+ { header: OpenLayers.i18n('Title'),
+ dataIndex: "title", id: "title", sortable: true},
+ { header: OpenLayers.i18n('Name'),
+ dataIndex: "name", sortable: true},
+ { header: OpenLayers.i18n('Queryable'),
+ dataIndex: "queryable", sortable: true, hidden: true,
+ renderer: this.boolRenderer},
+ { header: OpenLayers.i18n('Description'),
+ dataIndex: "abstract", hidden: true}
+ ];
+
+ // In order to have a scrollbar, a GridPanel must have a 'height' set,
+ // it can't be left with 'autoHeight': true...
+ var options = {
+ id: 'wms_capabilities_grid_panel',
+ columnWidth: 0.5,
+ layout: 'fit',
+ store: store,
+ columns: columns,
+ // SelectionModel
+ sm: new Ext.grid.RowSelectionModel({
+ singleSelect: true,
+ listeners: {
+ rowselect: function(sm, row, rec) {
+ Ext.getCmp("wms_capabilities_panel").getForm().loadRecord(rec);
+ }
+ }
+ }),
+ autoExpandColumn: "title",
+ width: 'auto',
+ autoWidth: true,
+ //height: 'auto',
+ //autoHeight: true,
+ listeners: {
+ rowdblclick: this.mapPreview
+ }
+ };
+
+ options = OpenLayers.Util.applyDefaults(this.gridPanelOptions, options);
+
+ return new Ext.grid.GridPanel(options);
+ },
+
+ createFormPanel: function() {
+ var options = {
+ style:'padding:0px;margin:0px;',
+ columnWidth: 0.5,
+ xtype: 'fieldset',
+ labelWidth: 80,
+ defaults: {width: '100%', border:false},
+ defaultType: 'textfield',
+ autoHeight: true,
+ bodyStyle: Ext.isIE ? 'padding:0 0 0px 0px;' : 'padding:5px 0px;',
+ border: false,
+ style: {
+ "margin-left": "10px",
+ "margin-right": Ext.isIE6 ? (Ext.isStrict ? "-10px" : "-13px") : "0"
+ },
+ items: [{
+ fieldLabel: OpenLayers.i18n('Title'),
+ name: 'title'
+ },{
+ fieldLabel: OpenLayers.i18n('Name'),
+ name: 'name'
+ },{
+ xtype: 'radiogroup',
+ columns: 'auto',
+ fieldLabel: OpenLayers.i18n('Queryable'),
+ name: 'queryable',
+ items: [{
+ inputValue: "true",
+ boxLabel: OpenLayers.i18n("Yes")
+ }, {
+ inputValue: "",
+ boxLabel: OpenLayers.i18n("No")
+ }]
+ },{
+ xtype: 'radiogroup',
+ columns: 'auto',
+ fieldLabel: OpenLayers.i18n('Can add ?'),
+ name: 'srsCompatible',
+ items: [{
+ inputValue: "true",
+ boxLabel: OpenLayers.i18n("Yes")
+ }, {
+ inputValue: "false",
+ boxLabel: OpenLayers.i18n("No")
+ }]
+ },{
+ xtype: 'textarea',
+ fieldLabel: OpenLayers.i18n('Description'),
+ name: 'abstract',
+ anchor: '100% -75'
+ }]
+ };
+
+ return options;
+
+ },
+
+ mapPreview: function(grid, index) {
+ var record = grid.getStore().getAt(index);
+ var layer = record.get("layer").clone();
+
+ var win = new Ext.Window({
+ title: OpenLayers.i18n('Preview') + ": " + record.get("title"),
+ width: 512,
+ height: 256,
+ layout: "fit",
+ items: [{
+ xtype: "gx_mappanel",
+ layers: [layer],
+ extent: record.get("llbbox")
+ }]
+ });
+ win.show();
+ },
+
+ initMyToolbar: function() {
+ var items = [];
+
+ items.push('->');
+
+ // AddLayer action
+ var actionOptions = {
+ handler: this.addLayer,
+ scope: this,
+ tooltip: OpenLayers.i18n('Add currently selected layer')
+ };
+
+ if (this.useIcons === true) {
+ actionOptions.iconCls = "gx-wmslayeradder-addlayer";
+ } else {
+ actionOptions.text = OpenLayers.i18n('Add Layer');
+ }
+
+ var action = new Ext.Action(actionOptions);
+ items.push(action);
+
+ // Cancel/Close action... todo
+
+
+ Ext.apply(this, {bbar: new Ext.Toolbar(items)});
+ },
+
+ addLayer: function() {
+ var grid = Ext.getCmp('wms_capabilities_grid_panel');
+ var record = grid.getSelectionModel().getSelected();
+ if(record) {
+ // check the projection of the map is supported by the layer
+ if (record.get("srsCompatible") === false) {
+ var error = "This layer can't be added to the current map" +
+ " because it doesn't support its projection.";
+ alert(OpenLayers.i18n(error));
+ return;
+ }
+
+ var copy = record.copy();
+
+ // the following line gives a "too much recursion" error.
+ //copy.set("layer", record.get("layer"));
+ copy.data.layer = record.data.layer;
+
+ copy.get("layer").mergeNewParams({
+ format: "image/png",
+ transparent: "true"
+ });
+ this.mapPanel.layers.add(copy);
+
+ // zoom to added layer extent
+ this.mapPanel.map.zoomToExtent(
+ OpenLayers.Bounds.fromArray(copy.get("llbbox"))
+ );
+ } else {
+ // means no record was selected
+ if(grid.store.getTotalCount() > 0) {
+ var error = "Please, select a layer from the grid first.";
+ alert(OpenLayers.i18n(error));
+ } else {
+ var error = "Please, enter an url in the textbox " +
+ "then click \'Connect\'.";
+ alert(OpenLayers.i18n(error));
+ }
+ }
+ },
+
+ onWMSCapabilitiesStoreLoad: function(store, records, options) {
+ var srs = this.mapPanel.map.getProjection();
+
+ // loop through all records (layers) to see if they contain the current
+ // map projection
+ for(var i=0; i<records.length; i++) {
+ var record = records[i];
+
+ // Check if the 'srs' contains a 'key' named by the srs OR
+ // Check if the 'srs' is an array and contains the srs
+ if(record.get('srs')[srs] === true ||
+ OpenLayers.Util.indexOf(record.get('srs'), srs) >= 0) {
+ record.set("srsCompatible", true);
+ } else {
+ record.set("srsCompatible", false);
+ }
+ }
+
+ // select the first element of the list on load end
+ var grid = Ext.getCmp('wms_capabilities_grid_panel');
+ if(grid.store.getTotalCount() > 0) {
+ grid.getSelectionModel().selectRow(0);
+ }
+ },
+
+ boolRenderer: function(bool) {
+ return (bool)
+ ? '<span style="color:green;">' + OpenLayers.i18n("Yes") + '</span>'
+ : '<span style="color:red;">' + OpenLayers.i18n("No") + '</span>';
+ },
+
+ /** private: method[onAfterRender]
+ * Called after this element was rendered.
+ * If the owner is a window, add a 'close' button.
+ */
+ onAfterRender : function() {
+ if(this.ownerCt.getXType() == Ext.Window.xtype) {
+ this.addCloseButton();
+ }
+ },
+
+ addCloseButton : function() {
+ var actionOptions = {
+ handler: this.closeWindow,
+ scope: this,
+ tooltip: OpenLayers.i18n('Close this window')
+ };
+
+ if (this.useIcons === true) {
+ actionOptions.iconCls = "gx-wmslayeradder-close";
+ } else {
+ actionOptions.text = OpenLayers.i18n('Close');
+ }
+
+ var action = new Ext.Action(actionOptions);
+
+ this.getBottomToolbar().add(action);
+ },
+
+ closeWindow: function() {
+ this.ownerCt.hide();
+ }
+});
Deleted: sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSLayerAdder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSLayerAdder.js 2010-03-17 14:21:50 UTC (rev 1992)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSLayerAdder.js 2010-03-17 14:24:52 UTC (rev 1993)
@@ -1,499 +0,0 @@
-/**
- * Copyright (c) 2008-2010 The Open Source Geospatial Foundation
- *
- * Published under the BSD license.
- * See http://svn.geoext.org/core/trunk/geoext/license.txt for the full text
- * of the license.
- */
-
-Ext.namespace("GeoExt.ux")
-
-/*
- * @requires GeoExt/widgets/Action.js
- */
-
-/** api: (define)
- * module = GeoExt.ux
- * class = WMSLayerAdder
- */
-
-/** api: constructor
- * .. class:: WMSLayerAdder
- */
-GeoExt.ux.WMSLayerAdder = Ext.extend(Ext.Panel, {
-
- layout: 'fit',
-
- minWidth: 300,
-
- minHeight: 200,
-
- plain:true,
-
- bodyStyle:'padding:5px;',
-
- buttonAlign:'center',
-
- useIcons: false,
-
- mapPanel: null,
-
- serverStore: null,
-
- serverStoreDisplayField: 'url',
-
- capabilitiesParams: {},
-
- defaultCapabilitiesParams: {
- 'service': "WMS",
- 'request': "GetCapabilities",
- 'version': '1.1.1'
- },
-
- gridPanelOptions: {
- 'height': 200
- },
-
- /** private: method[constructor]
- */
- constructor: function(config) {
- this.serverStore = config.serverStore || null;
- this.gridPanelOptions = config.gridPanelOptions || this.gridPanelOptions;
-
- OpenLayers.Util.applyDefaults(
- this.capabilitiesParams, this.defaultCapabilitiesParams);
-
- this.initMyItems();
- this.initMyToolbar();
-
- arguments.callee.superclass.constructor.call(this, config);
-
- this.on("afterrender", this.onAfterRender, this);
- },
-
- initMyItems: function() {
- var oItems;
-
- oItems = [];
-
- // Top panel
- oTopPanel = {
- style:'padding:0px;margin:0px;',
- region: 'north',
- id: "wms_field_group",
- xtype: 'fieldset',
- layout: 'form',
- border: false,
- collapsible: false,
- autoHeight: true,
- autoWidth: true,
- defaults: {width: '100%'},
- defaultType: 'textfield',
- buttonAlign:'center',
- items: [],
- buttons: []
- };
-
- // URL panel
- var oURLField;
- if(this.serverStore) {
- oURLField = {
- columnWidth: 0.85,
- layout: 'fit',
- 'name': 'wms_url',
- 'id': 'wms_url',
- xtype: 'combo',
- store: this.serverStore,
- displayField: this.serverStoreDisplayField,
- typeAhead: true,
- mode: 'local',
- forceSelection: false,
- triggerAction: 'all',
- emptyText:OpenLayers.i18n('Select or input a server address (URL)'),
- selectOnFocus:true
- };
- } else {
- oURLField = {
- xtype: "textfield",
- columnWidth: 0.85,
- layout: 'fit',
- 'name': 'wms_url',
- 'id': 'wms_url',
- border: false,
- 'emptyText': OpenLayers.i18n('Input the server address (URL)')
- };
- }
-
- // Top panel - URL and Connect
- oTopPanel.items.push({
- style:'padding:2px;margin:2px;',
- xtype: 'fieldset',
- layout: 'column',
- border: false,
- collapsible: false,
- collapsed: false,
- autoHeight: true,
- autoWidth: true,
- items: [
- oURLField,
- {
- columnWidth: 0.15,
- layout: 'fit',
- border: false,
- items: [{
- xtype: 'button',
- text: OpenLayers.i18n('Connect'),
- scope: this,
- handler: function(b, e){this.triggerGetCapabilities();}
- }]
- }
- ]
- });
-
-
- // Top panel - Username and Password
- oTopPanel.items.push({
- style:'padding:10px;margin:2px;',
- xtype: 'fieldset',
- title: OpenLayers.i18n('Login information (optional)'),
- layout: 'form',
- collapsible: true,
- collapsed: true,
- autoHeight: true,
- autoWidth: true,
- defaults: {width: '100%'},
- defaultType: 'textfield',
- items: [{
- name: 'wms_username',
- id: 'wms_username',
- fieldLabel: OpenLayers.i18n('Username')
- },{
- name: 'wms_password',
- id: 'wms_password',
- inputType: 'password',
- fieldLabel: OpenLayers.i18n('Password')
- }]
- });
- oItems.push(oTopPanel);
-
-
- // Center Panel
- oCenterPanel = {
- xtype: 'form',
- region: 'center',
- id: "wms_capabilities_panel",
- layout: 'column',
- border: false,
- collapsible: false,
- autoHeight: true,
- autoWidth: true,
- width: 'auto',
- height: 'auto',
- defaults: {width: '100%', hideLabel: true},
- defaultType: 'textfield',
- buttonAlign:'center',
- items: []
- };
-
- // WMSCapabilitiesStore on blank url on start
- this.capStore = new GeoExt.data.WMSCapabilitiesStore({'url': ""});
- this.capStore.on('load', this.onWMSCapabilitiesStoreLoad, this);
-
- oCenterPanel.items.push(this.createGridPanel(this.capStore));
- oCenterPanel.items.push(this.createFormPanel());
-
- oItems.push(oCenterPanel);
-
- Ext.apply(this, {items: oItems});
- },
-
- triggerGetCapabilities: function() {
- var url = Ext.getCmp('wms_url').getValue();
-
- if(!url) {
- alert(OpenLayers.i18n('Please, enter an url in the textbox first'));
- return;
- }
-
- var params = OpenLayers.Util.getParameterString(this.capabilitiesParams);
- url = OpenLayers.Util.urlAppend(url, params);
-
- if (OpenLayers.ProxyHost && OpenLayers.String.startsWith(url, "http")) {
- url = OpenLayers.ProxyHost + encodeURIComponent(url);
- }
-
- // change the url of the capability store proxy
- this.capStore.proxy.setUrl(url);
- this.capStore.proxy.setApi(Ext.data.Api.actions.read, url);
-
- this.capStore.load();
- },
-
- removeAllItemsFromObject: function(object){
- while(object.items.length != 0){
- var oItem = object.items.items[0];
- object.remove(oItem, true);
- oItem.destroy();
- }
- },
-
- createWMSCapabilitiesStore: function(url) {
- var store = new GeoExt.data.WMSCapabilitiesStore({'url': url});
- store.on('load', this.onWMSCapabilitiesStoreLoad, this);
- return store;
- },
-
- createGridPanel: function(store) {
- var columns = [
- { header: OpenLayers.i18n('Add'),
- dataIndex: "srsCompatible", hidden: false,
- renderer: this.boolRenderer, width: 30},
- { header: OpenLayers.i18n('Title'),
- dataIndex: "title", id: "title", sortable: true},
- { header: OpenLayers.i18n('Name'),
- dataIndex: "name", sortable: true},
- { header: OpenLayers.i18n('Queryable'),
- dataIndex: "queryable", sortable: true, hidden: true,
- renderer: this.boolRenderer},
- { header: OpenLayers.i18n('Description'),
- dataIndex: "abstract", hidden: true}
- ];
-
- // In order to have a scrollbar, a GridPanel must have a 'height' set,
- // it can't be left with 'autoHeight': true...
- var options = {
- id: 'wms_capabilities_grid_panel',
- columnWidth: 0.5,
- layout: 'fit',
- store: store,
- columns: columns,
- // SelectionModel
- sm: new Ext.grid.RowSelectionModel({
- singleSelect: true,
- listeners: {
- rowselect: function(sm, row, rec) {
- Ext.getCmp("wms_capabilities_panel").getForm().loadRecord(rec);
- }
- }
- }),
- autoExpandColumn: "title",
- width: 'auto',
- autoWidth: true,
- //height: 'auto',
- //autoHeight: true,
- listeners: {
- rowdblclick: this.mapPreview
- }
- };
-
- options = OpenLayers.Util.applyDefaults(this.gridPanelOptions, options);
-
- return new Ext.grid.GridPanel(options);
- },
-
- createFormPanel: function() {
- var options = {
- style:'padding:0px;margin:0px;',
- columnWidth: 0.5,
- xtype: 'fieldset',
- labelWidth: 80,
- defaults: {width: '100%', border:false},
- defaultType: 'textfield',
- autoHeight: true,
- bodyStyle: Ext.isIE ? 'padding:0 0 0px 0px;' : 'padding:5px 0px;',
- border: false,
- style: {
- "margin-left": "10px",
- "margin-right": Ext.isIE6 ? (Ext.isStrict ? "-10px" : "-13px") : "0"
- },
- items: [{
- fieldLabel: OpenLayers.i18n('Title'),
- name: 'title'
- },{
- fieldLabel: OpenLayers.i18n('Name'),
- name: 'name'
- },{
- xtype: 'radiogroup',
- columns: 'auto',
- fieldLabel: OpenLayers.i18n('Queryable'),
- name: 'queryable',
- items: [{
- inputValue: "true",
- boxLabel: OpenLayers.i18n("Yes")
- }, {
- inputValue: "",
- boxLabel: OpenLayers.i18n("No")
- }]
- },{
- xtype: 'radiogroup',
- columns: 'auto',
- fieldLabel: OpenLayers.i18n('Can add ?'),
- name: 'srsCompatible',
- items: [{
- inputValue: "true",
- boxLabel: OpenLayers.i18n("Yes")
- }, {
- inputValue: "false",
- boxLabel: OpenLayers.i18n("No")
- }]
- },{
- xtype: 'textarea',
- fieldLabel: OpenLayers.i18n('Description'),
- name: 'abstract',
- anchor: '100% -75'
- }]
- };
-
- return options;
-
- },
-
- mapPreview: function(grid, index) {
- var record = grid.getStore().getAt(index);
- var layer = record.get("layer").clone();
-
- var win = new Ext.Window({
- title: OpenLayers.i18n('Preview') + ": " + record.get("title"),
- width: 512,
- height: 256,
- layout: "fit",
- items: [{
- xtype: "gx_mappanel",
- layers: [layer],
- extent: record.get("llbbox")
- }]
- });
- win.show();
- },
-
- initMyToolbar: function() {
- var items = [];
-
- items.push('->');
-
- // AddLayer action
- var actionOptions = {
- handler: this.addLayer,
- scope: this,
- tooltip: OpenLayers.i18n('Add currently selected layer')
- };
-
- if (this.useIcons === true) {
- actionOptions.iconCls = "gx-wmslayeradder-addlayer";
- } else {
- actionOptions.text = OpenLayers.i18n('Add Layer');
- }
-
- var action = new Ext.Action(actionOptions);
- items.push(action);
-
- // Cancel/Close action... todo
-
-
- Ext.apply(this, {bbar: new Ext.Toolbar(items)});
- },
-
- addLayer: function() {
- var grid = Ext.getCmp('wms_capabilities_grid_panel');
- var record = grid.getSelectionModel().getSelected();
- if(record) {
- // check the projection of the map is supported by the layer
- if (record.get("srsCompatible") === false) {
- var error = "This layer can't be added to the current map" +
- " because it doesn't support its projection.";
- alert(OpenLayers.i18n(error));
- return;
- }
-
- var copy = record.copy();
-
- // the following line gives a "too much recursion" error.
- //copy.set("layer", record.get("layer"));
- copy.data.layer = record.data.layer;
-
- copy.get("layer").mergeNewParams({
- format: "image/png",
- transparent: "true"
- });
- this.mapPanel.layers.add(copy);
-
- // zoom to added layer extent
- this.mapPanel.map.zoomToExtent(
- OpenLayers.Bounds.fromArray(copy.get("llbbox"))
- );
- } else {
- // means no record was selected
- if(grid.store.getTotalCount() > 0) {
- var error = "Please, select a layer from the grid first.";
- alert(OpenLayers.i18n(error));
- } else {
- var error = "Please, enter an url in the textbox " +
- "then click \'Connect\'.";
- alert(OpenLayers.i18n(error));
- }
- }
- },
-
- onWMSCapabilitiesStoreLoad: function(store, records, options) {
- var srs = this.mapPanel.map.getProjection();
-
- // loop through all records (layers) to see if they contain the current
- // map projection
- for(var i=0; i<records.length; i++) {
- var record = records[i];
-
- // Check if the 'srs' contains a 'key' named by the srs OR
- // Check if the 'srs' is an array and contains the srs
- if(record.get('srs')[srs] === true ||
- OpenLayers.Util.indexOf(record.get('srs'), srs) >= 0) {
- record.set("srsCompatible", true);
- } else {
- record.set("srsCompatible", false);
- }
- }
-
- // select the first element of the list on load end
- var grid = Ext.getCmp('wms_capabilities_grid_panel');
- if(grid.store.getTotalCount() > 0) {
- grid.getSelectionModel().selectRow(0);
- }
- },
-
- boolRenderer: function(bool) {
- return (bool)
- ? '<span style="color:green;">' + OpenLayers.i18n("Yes") + '</span>'
- : '<span style="color:red;">' + OpenLayers.i18n("No") + '</span>';
- },
-
- /** private: method[onAfterRender]
- * Called after this element was rendered.
- * If the owner is a window, add a 'close' button.
- */
- onAfterRender : function() {
- if(this.ownerCt.getXType() == Ext.Window.xtype) {
- this.addCloseButton();
- }
- },
-
- addCloseButton : function() {
- var actionOptions = {
- handler: this.closeWindow,
- scope: this,
- tooltip: OpenLayers.i18n('Close this window')
- };
-
- if (this.useIcons === true) {
- actionOptions.iconCls = "gx-wmslayeradder-close";
- } else {
- actionOptions.text = OpenLayers.i18n('Close');
- }
-
- var action = new Ext.Action(actionOptions);
-
- this.getBottomToolbar().add(action);
- },
-
- closeWindow: function() {
- this.ownerCt.hide();
- }
-});
More information about the Commits
mailing list