[Commits] r335 - sandbox/opengeo/geoexplorer/examples

commits at geoext.org commits at geoext.org
Thu Apr 2 22:53:31 CEST 2009


Author: tschaub
Date: 2009-04-02 22:53:30 +0200 (Thu, 02 Apr 2009)
New Revision: 335

Added:
   sandbox/opengeo/geoexplorer/examples/tree.html
   sandbox/opengeo/geoexplorer/examples/tree.js
Log:
Adding a layer tree example (see #22 - requires wms cap reader)

Added: sandbox/opengeo/geoexplorer/examples/tree.html
===================================================================
--- sandbox/opengeo/geoexplorer/examples/tree.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/examples/tree.html	2009-04-02 20:53:30 UTC (rev 335)
@@ -0,0 +1,29 @@
+<html>
+    <head>
+        <script type="text/javascript" src="../../openlayers/lib/OpenLayers.js"></script>
+        <script type="text/javascript" src="../../ext/adapter/ext/ext-base.js"></script>
+        <script type="text/javascript" src="../../ext/ext-all-debug.js"></script>
+        <script type="text/javascript" src="../lib/GeoExt.js"></script>
+        
+        <link rel="stylesheet" type="text/css" href="../../ext/resources/css/ext-all.css"></link>
+        <link rel="stylesheet" type="text/css" href="../../ext/examples/shared/examples.css"></link>
+
+        <script type="text/javascript" src="RowExpander.js"></script>        
+        <script type="text/javascript" src="tree.js"></script>
+
+    </head>
+    <body>
+        <h1>Layer Tree Example</h1>
+        <p>This is example that shows how create a TreePanel with layers
+        from a map.</p>
+
+        <p>Note that the js is not minified so it is readable.
+        See <a href="tree.js">tree.js</a>.</p>
+
+        <div style="position: relative;">
+            <div id="capgrid"></div>
+            <div id="tree"></div>
+            <div id="mappanel"></div>
+        </div>
+    </body>
+</html>

Added: sandbox/opengeo/geoexplorer/examples/tree.js
===================================================================
--- sandbox/opengeo/geoexplorer/examples/tree.js	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/examples/tree.js	2009-04-02 20:53:30 UTC (rev 335)
@@ -0,0 +1,84 @@
+var store, tree, panel;
+Ext.onReady(function() {
+    
+    // create a new WMS capabilities store
+    store = new GeoExt.data.WMSCapabilitiesStore({
+        url: "data/wmscap.xml"
+    });
+    // load the store with records derived from the doc at the above url
+    store.load();
+
+    var xg = Ext.grid;
+
+   // row expander
+    var expander = new xg.RowExpander({
+        tpl : new Ext.Template(
+            '<p><b>Abstract:</b> {abstract}</p><br>',
+            '<p><b>Available formats:</b> {formats}</p>'
+        )
+    });
+
+    // create a grid to display records from the store
+    var grid = new Ext.grid.GridPanel({
+        title: "WMS Capabilities",
+        store: store,
+        cm: new xg.ColumnModel([
+            expander,
+            {header: "Name", dataIndex: "name", sortable: true},
+            {id: "title", header: "Title", dataIndex: "title", sortable: true}
+        ]),
+        sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
+        autoExpandColumn: "title",
+        renderTo: "capgrid",
+        plugins: expander, 
+        height: 300,
+        width: 350,
+        floating: true,
+        x: 10,
+        y: 0,
+        bbar: ["->", {
+            text: "Add Layer",
+            handler: function() {
+                var record = grid.getSelectionModel().getSelected();
+                if(record) {
+                    record = record.copy();
+                    record.get("layer").mergeNewParams({
+                        format: "image/png",
+                        transparent: "true"
+                    });
+                    panel.layers.add(record);
+                    panel.map.zoomToExtent(
+                        OpenLayers.Bounds.fromArray(record.get("llbbox"))
+                    );
+                }
+            }
+        }]
+    });
+    
+    // create a map panel
+    panel = new GeoExt.MapPanel({
+        renderTo: "mappanel",
+        width: 350,
+        height: 300,
+        floating: true,
+        x: 570,
+        y: 0
+    });
+    
+    tree = new Ext.tree.TreePanel({
+        renderTo: "tree",
+        root: new GeoExt.tree.LayerContainer({
+            text: 'Map Layers',
+            layerStore: panel.layers,
+            leaf: false,
+            expanded: true
+        }),
+        width: 170,
+        height: 300,
+        floating: true,
+        x: 380,
+        y: 0
+    });
+    
+
+});



More information about the Commits mailing list