Changeset 5531


Ignore:
Timestamp:
28/07/09 13:39:54 (10 years ago)
Author:
pnorton
Message:

Modified the initial selection code in the layer controller and added the style specific display options.

Location:
cowsclient/branches/qesdi/cowsclient
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • cowsclient/branches/qesdi/cowsclient/public/js/layerControl.js

    r5522 r5531  
    7171                format: 'image/png',  
    7272                version: '1.3.0',  
    73                 layers:'tmp',  
    7473                CRS: 'CRS:84',  
    7574                transparent: 'true',  
    7675                styles: 'grid',  
    77                 cmap: 'jet',  
    7876                time:'1905-01-15T00:00:00.0' }; 
    7977         
  • cowsclient/branches/qesdi/cowsclient/public/js/layerDimensions.js

    r5505 r5531  
    1414    this.events = new OpenLayers.Events(this, null, this.EVENTS_RAISED); 
    1515     
    16     this._dimEventHandlers = {}; 
     16    this._handler  = null; 
    1717     
    1818} 
     
    4040    _clearForm: function(){ 
    4141         
    42         removeEventHandlersFromLookup(this._dimEventHandlers); 
    43         this._dimEventHandlers = {}; 
     42        if (this._handler != null) { 
     43                removeHTMLEventListener(this._form.getElementsByTagName('fieldset')[0], 'change', this._handler) 
     44                this._handler = null; 
     45        } 
    4446         
    4547        this._form.innerHTML = ""; 
     
    7779        this._form.appendChild(fs); 
    7880         
    79         this._dimEventHandlers = addHandlerToFormElements(this._form, 'change',  
    80                                                  this.onSelectionChange, this); 
     81        this._handler = addHTMLEventListener(fs, 'change', this._onSelectionChange, this);         
    8182         
    8283    }, 
     
    8586     *  
    8687     */ 
    87     onSelectionChange: function (e) { 
     88    _onSelectionChange: function (e) { 
    8889        param = e.target.id.substr(7); 
    8990 
  • cowsclient/branches/qesdi/cowsclient/public/js/layerDisplayOptions.js

    r5522 r5531  
    3131    this.currentWMCLayer = null; 
    3232    this.currentOLLayer = null; 
    33     this._handlerLookup = {}; 
     33    this._handler = null; 
    3434} 
    3535 
     
    5454            var param = e.target.id.substr(7); 
    5555            var value = e.target.value; 
     56             
     57            if (e.target.type == "checkbox") { 
     58                value = (e.target.checked) ? 'True' : 'False'; 
     59            } 
     60             
    5661            this.events.triggerEvent('LAYER_DISPLAY_CHANGED', {param:param,  
    5762                                                               value:value}); 
     
    6368         */ 
    6469        _onLayerStyleChanged: function(style) { 
    65           console.log("_onLayerStyleChanged not implemented!!");   
     70          this._buildDisplayControls(this.currentWMCLayer); 
    6671        }, 
    6772         
     
    7075          */ 
    7176        _onCurrentLayerChanged: function(e) { 
    72                 console.log("Current layer changed to layer name = " + e.olLayer.name); 
    7377            this._clearForm(); 
    74             console.log("cleared form, this._form.innerHTML.length = " + this._form.innerHTML.length); 
    75              
    76              
    7778             
    7879            this.currentWMCLayer = e.wmcLayer; 
     
    8182            if (e.wmcLayer != null && e.olLayer != null) { 
    8283                this._buildDisplayControls(e.wmcLayer); 
    83                 console.log("built form, this._form.innerHTML.length = " + this._form.innerHTML.length); 
    8484            } 
    8585             
     
    104104        _clearForm: function(){ 
    105105             
    106             removeEventHandlersFromLookup(this._handlerLookup); 
    107             this._handlerLookup = {}; 
     106            if (this._handler != null) { 
     107                removeHTMLEventListener(this._form.getElementsByTagName('fieldset')[0], 'change', this._handler) 
     108                this._handler = null; 
     109            } 
    108110             
    109111            this._form.innerHTML = ""; 
     
    116118        _buildDisplayOptions: function(displayOptions) { 
    117119             
     120                this._clearForm(); 
    118121                 
    119122            var fs = document.createElement('fieldset'); 
     
    137140             
    138141            this._form.appendChild(fs); 
    139              
    140             this._handlerLookup = addHandlerToFormElements(this._form, 'change', 
    141                                                 this._onSelectionChange, this); 
     142            this._handler = addHTMLEventListener(fs, 'change', this._onSelectionChange, this); 
    142143        }, 
    143144         
     
    152153            for (var i=0; i< optionsList.length; i++) { 
    153154                var opt = optionsList[i]; 
    154                  
     155 
    155156                if (opt.type == 'select') { 
    156157                    div.appendChild(this._buildDisplayOptionSelect(opt)); 
     
    160161                } 
    161162                else if (opt.type == 'bool') { 
    162                     console.log("bool opt type found!"); 
     163                        div.appendChild(this._buildDisplayOptionBool(opt)); 
    163164                } 
    164165            } 
     
    170171            var title = this._getDisplayOptionTitle(opt); 
    171172             
    172             var defaultVal = this._getCurrentLayerProperty(opt.name); 
     173            var defaultVal =  this._getDefaultValue(opt); 
    173174            select = buildSelectBox(opt.name , opt.options, opt.options, defaultVal); 
    174175             
     
    186187            input.type = 'text'; 
    187188             
     189            input.value = this._getDefaultValue(opt); 
     190            var div = buildLabelInputDiv(title, input, 'displayOptionItem'); 
     191            return div; 
     192        }, 
     193         
     194        _buildDisplayOptionBool: function(opt) { 
     195             
     196            var title = this._getDisplayOptionTitle(opt); 
     197             
     198            var input = document.createElement('input'); 
     199            input.id = 'select_' + opt.name; 
     200            input.name = 'select_' + opt.name; 
     201            input.type = 'checkbox'; 
     202            input.onClick = ""; 
     203             
     204            var defaultVal = this._getDefaultValue(opt); 
     205            if (defaultVal.toUpperCase() == "TRUE") { 
     206                input.checked = true; 
     207            } 
     208                         
     209            var div = buildLabelInputDiv(title, input, 'displayOptionItem'); 
     210            return div; 
     211        }, 
     212         
     213        _getDefaultValue: function(opt) { 
    188214            val = this._getCurrentLayerProperty(opt.name); 
     215             
    189216            if (val == null){ 
    190                 val = ''; 
    191             } 
    192              
    193             input.value = val; 
    194             var div = buildLabelInputDiv(title, input, 'displayOptionItem') 
    195             return div 
     217                if (opt.defaultVal == undefined || opt.defaultVal == null ) { 
     218                        val = ''; 
     219                } 
     220                else { 
     221                        val = opt.defaultVal; 
     222                } 
     223            } 
     224             
     225            return val; 
    196226        }, 
    197227         
  • cowsclient/branches/qesdi/cowsclient/public/js/legendContainer.js

    r5502 r5531  
    2323                         
    2424                } else { 
    25                  
    2625                        var url = e.layer.getFullRequestString({ 
    2726                                        REQUEST: 'GetLegend', 
  • cowsclient/branches/qesdi/cowsclient/public/js/mapControl.js

    r5484 r5531  
    6262                ); 
    6363 
     64//          var lyrBaseClear = new OpenLayers.Layer.Image( 
     65//                      "None", 
     66//                      '../layout/images/clear.gif', 
     67//                      new OpenLayers.Bounds(-180,-90,180,90), 
     68//                      new OpenLayers.Size(8, 8), 
     69//                      {isBaseLayer: true} 
     70//              ); 
     71//          this.baseLayer = lyrBaseClear; 
     72             
     73             
    6474            this.map.addLayer(this.baseLayer); 
    6575            this.map.setLayerIndex(this.baseLayer, 0); 
     
    7585                this.map.zoomToExtent(this.maxExtent);   
    7686                 
     87                this.map.zoom = 0; 
     88                 
    7789                // force the resolution to be set, this is needed so that layers added 
    7890                // retain the correct bounds. 
     91                console.log("this.map.maxExtent: bottom=" + this.map.maxExtent.bottom +" left=" + this.map.maxExtent.left + " top=" + this.map.maxExtent.top + " right="+ this.map.maxExtent.right); 
     92                console.log("this.map.zoom = " + this.map.zoom); 
    7993                this.map.resolution = this.map.getResolutionForZoom(this.map.zoom); 
     94                console.log("this.map.resolution = " + this.map.resolution); 
    8095             
    8196                // Enter selection mode 
  • cowsclient/branches/qesdi/cowsclient/public/layout/control.css

    r5267 r5531  
    33*/ 
    44 
     5#datasets_column { 
     6    width:30%; 
     7} 
     8 
     9#layer_column { 
     10    width:25%; 
     11} 
     12 
     13#properties_column { 
     14    width:45%; 
     15} 
    516 
    617table.controlTable { 
    7     width: 95%; 
    818    border-collapse: collapse; 
    919} 
    1020td.controlPanel { 
    1121    border: 1px solid #222277; 
    12     width: 33%; 
    1322    padding: 6px; 
    1423} 
     
    2130div.controlContent { 
    2231    vertical-align: top; 
    23     height: 240px; 
     32    height: 250px; 
    2433    overflow: auto; 
    2534    font-size: 12px; 
  • cowsclient/branches/qesdi/cowsclient/templates/wmsviz.html

    r5522 r5531  
    5757<script src="$g.server/js/layerList.js"></script> 
    5858 
     59<link rel="stylesheet" type="text/css" href="$g.server/layout/bottom_controls.css" /> 
     60 
    5961<!-- The layer properties stuff --> 
    6062 
     
    142144} 
    143145     
    144      
     146<!--! Help Icons --> 
     147<span py:def="helpIcon(value, elementType = 'div')"> 
     148      <span> 
     149         <a href="javascript:;" title="Toggle help" onclick="toggleDiv(1,'$value','shown','hidden','$elementType'); return false;"> 
     150         <img src="$g.helpIcon" alt="Toggle help" class="helpicon"/></a> 
     151      </span> 
     152</span>     
    145153 
    146154</script> 
     
    213221 
    214222        <table class="controlTable"> 
     223            <col id="datasets_column"/> 
     224        <col id="layer_column"/> 
     225        <col id="properties_column"/> 
     226                  
    215227                <tr class="controlHeadings"> 
    216228                <th>Dataset  <span py:replace="helpIcon('dataset_help')"/>  
    217229                </th>  
    218                 <th>Layer <span py:replace="helpIcon('layer_help')"/></th> 
    219                 <th>Properties</th>     
     230                <th> Layer <span py:replace="helpIcon('layer_help')"/></th> 
     231                <th> Properties</th>     
    220232                </tr> 
    221233                <tr> 
Note: See TracChangeset for help on using the changeset viewer.