Mercurial > dive4elements > river
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); + } }