OpenLayers OpenLayers

Changeset 7383

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

re-committing r7381 into the sandbox: split the
additional rendering into an overridable external function.

Files:

Legend:

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

    r7380 r7383  
    1919        <script type="text/javascript"> 
    2020            var map; 
     21            function layerRenderAdditional(layerDiv, layer) { 
     22                var sliderDiv = document.createElement("div"); 
     23                sliderDiv.className = "olControlLayerSwitcherLayerDivSlider"; 
     24                layerDiv.appendChild(sliderDiv);     
     25                sliderDiv.style.height="20px"; 
     26                var sliderValue = layer.opacity == null ? 100 : layer.opacity * 100; 
     27                var slider = new Ext.Slider({renderTo: sliderDiv, width: 100, minValue: 0, maxValue: 100, animate: false}); 
     28                slider.on("change", function(slider, newValue) { 
     29                    this.layer.setOpacity(newValue/100); 
     30                }, {layer: layer, control: this});  
     31                slider.on("dragstart", function(slider, e) {  
     32                    this.control.isMouseDown = false;  
     33                }, {control: this});   
     34                if (this.maximizeDiv.style.display != "none") {  
     35                    this.maximizeControl(); 
     36                    slider.setValue(sliderValue); 
     37                    this.minimizeControl(); 
     38                } else { 
     39                    slider.setValue(sliderValue); 
     40                } 
     41            } 
    2142            function init(){ 
    2243                map = new OpenLayers.Map('map', { 
     
    2445                        new OpenLayers.Control.PanZoomBar(), 
    2546                        new OpenLayers.Control.MouseToolbar(), 
    26                         new OpenLayers.Control.LayerSwitcher({'ascending':false}), 
     47                        new OpenLayers.Control.LayerSwitcher({'ascending':false, layerRenderAdditional: layerRenderAdditional}), 
    2748                        new OpenLayers.Control.Permalink(), 
    2849                        new OpenLayers.Control.ScaleLine(), 
  • sandbox/crschmidt/layerswitcher-extjs/lib/OpenLayers/Control/LayerSwitcher.js

    r7380 r7383  
    331331                groupDiv.appendChild(layerDiv); 
    332332                 
    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(); }  
     333                this.layerRenderAdditional(layerDiv, layer);  
    355334            } 
    356335        } 
     
    365344        return this.div; 
    366345    }, 
    367  
     346     
     347    layerRenderAdditional: function(layerDiv, layer) { 
     348    }, 
     349     
    368350    /**  
    369351     * Method: