diff flys-client/src/main/java/de/intevation/flys/client/client/ui/map/WMSLayersTree.java @ 1412:659a488243da

Added code to trigger loading selected WMS layers from ExternalWMSWindow. Note: no code for loading/adding layers to the current map existing yet. flys-client/trunk@3299 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 22 Nov 2011 13:04:46 +0000
parents 63be3137abac
children 750a53950e9f
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/map/WMSLayersTree.java	Mon Nov 21 21:00:03 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/map/WMSLayersTree.java	Tue Nov 22 13:04:46 2011 +0000
@@ -14,6 +14,28 @@
 
 public class WMSLayersTree extends TreeGrid {
 
+    /**
+     * An internal TreeNode that stores besides some string attribute a WMSLayer
+     * object.
+     */
+    public static class WMSLayerNode extends TreeNode {
+
+        protected WMSLayer wms;
+
+        public WMSLayerNode(WMSLayer wms) {
+            super();
+            this.wms = wms;
+
+            setAttribute("name", wms.getName());
+            setAttribute("title", wms.getTitle());
+        }
+
+        public WMSLayer getWMSLayer() {
+            return wms;
+        }
+    } // end of class WMSLayerNode
+
+
     protected Capabilities capabilites;
 
     public WMSLayersTree(Capabilities capabilites) {
@@ -57,11 +79,8 @@
         List<TreeNode> layerNodes = new ArrayList<TreeNode>();
 
         for (WMSLayer layer: layers) {
-            TreeNode tn  = new TreeNode();
-            tn.setAttribute("name", layer.getName());
-            tn.setAttribute("title", layer.getTitle());
-
-            TreeNode[] tns = buildTree(layer.getLayers());
+            WMSLayerNode tn = buildTreeNode(layer);
+            TreeNode[] tns  = buildTree(layer.getLayers());
 
             if (tns != null && tns.length > 0) {
                 tn.setAttribute("children-nodes", tns);
@@ -72,4 +91,9 @@
 
         return (TreeNode[]) layerNodes.toArray(new TreeNode[layerNodes.size()]);
     }
+
+
+    protected static WMSLayerNode buildTreeNode(WMSLayer wms) {
+        return new WMSLayerNode(wms);
+    }
 }

http://dive4elements.wald.intevation.org