OpenLayers OpenLayers

Changeset 7380

Show
Ignore:
Timestamp:
06/19/08 14:25:22 (6 months ago)
Author:
crschmidt
Message:

code for ext-based layerswitcher

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/crschmidt/layerswitcher-extjs/examples/controls.html

    r7095 r7380  
    55        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" /> 
    66        <link rel="stylesheet" href="style.css" type="text/css" /> 
     7    <link rel="stylesheet" type="text/css" href="http://www.extjs.com/deploy/dev//resources/css/ext-all.css"> 
     8 
     9    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script><script type="text/javascript">_uacct = "UA-1396058-1";urchinTracker();</script> 
     10    <link rel="stylesheet" type="text/css" href="http://www.extjs.com/deploy/dev//resources/css/xtheme-default.css" /><!-- LIBS --> 
     11    <script type="text/javascript" src="http://www.extjs.com/deploy/dev//adapter/ext/ext-base.js"></script> 
     12    <!-- ENDLIBS --> 
     13 
     14    <script type="text/javascript" src="http://www.extjs.com/deploy/dev//ext-all.js"></script> 
     15 
     16    <!-- Common Styles for the examples --> 
     17    <link rel="stylesheet" type="text/css" href="../shared/examples.css"> 
    718        <script src="../lib/OpenLayers.js"></script> 
    819        <script type="text/javascript"> 
  • sandbox/crschmidt/layerswitcher-extjs/lib/OpenLayers/Control/LayerSwitcher.js

    r6313 r7380  
    255255        }     
    256256 
     257        this.layerDivList = [];      
    257258        var layers = this.map.layers.slice(); 
    258259        if (!this.ascending) { layers.reverse(); } 
     
    274275                                          : layer.getVisibility(); 
    275276     
     277                var layerDiv = document.createElement("div");  
     278                layerDiv.id = this.id+"_layerDiv_"+layer.id; 
     279                layerDiv.className = "olControlLayerSwitcherLayerDiv"; 
     280 
    276281                // create input element 
    277282                var inputElem = document.createElement("input"); 
     
    308313                                                            context) 
    309314                ); 
    310                 // create line break 
    311                 var br = document.createElement("br"); 
    312      
    313315                 
    314316                var groupArray = (baseLayer) ? this.baseLayers 
     
    320322                }); 
    321323                                                      
    322      
     324          
    323325                var groupDiv = (baseLayer) ? this.baseLayersDiv 
    324326                                           : this.dataLayersDiv; 
    325                 groupDiv.appendChild(inputElem); 
    326                 groupDiv.appendChild(labelSpan); 
    327                 groupDiv.appendChild(br); 
     327                 
     328                layerDiv.appendChild(inputElem); 
     329                layerDiv.appendChild(labelSpan); 
     330                this.layerDivList.push(layerDiv); 
     331                groupDiv.appendChild(layerDiv); 
     332                 
     333                var sliderDiv = document.createElement("div"); 
     334                sliderDiv.className = "olControlLayerSwitcherLayerDivSlider"; 
     335                layerDiv.appendChild(sliderDiv);     
     336                sliderDiv.style.height="20px"; 
     337                var sliderValue = layer.opacity == null ? 100 : layer.opacity * 100; 
     338                var slider = new Ext.Slider({renderTo: sliderDiv, width: 100, minValue: 0, maxValue: 100}); 
     339                slider.on("change", function(slider, newValue) { 
     340                    this.layer.setOpacity(newValue/100); 
     341                }, {layer: layer, control: this});  
     342                slider.on("dragstart", function(slider, e) {  
     343                    this.control.isMouseDown = false;  
     344                }, {control: this});   
     345                 
     346                var closed = false; 
     347                if (this.maximizeDiv.style.display != "none") {  
     348                    this.maximizeControl(); 
     349                    closed = true; 
     350                } 
     351                 
     352                slider.setValue(sliderValue); 
     353                 
     354                if (closed) { this.minimizeControl(); }  
    328355            } 
    329356        } 
     
    335362        this.baseLbl.style.display = (containsBaseLayers) ? "" : "none";         
    336363 
     364         
    337365        return this.div; 
    338366    },