← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 2356: (GIS) Improved GUI: Overlays window.

 

Merge authors:
  Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 2356 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2010-12-13 12:28:11 +0100
message:
  (GIS) Improved GUI: Overlays window.
modified:
  dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties	2010-12-10 21:01:45 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties	2010-12-13 11:26:42 +0000
@@ -234,4 +234,5 @@
 no_coordinates_found				= No coordinates found
 image_resolution					= Resolution
 max									= max
-characters							= characters
\ No newline at end of file
+characters							= characters
+geojson_file						= GeoJSON file
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm	2010-12-10 21:01:45 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm	2010-12-13 11:26:42 +0000
@@ -233,4 +233,5 @@
 var i18n_image_resolution = '$encoder.jsEscape($i18n.getString( 'image_resolution' ) , "'")';
 
 var i18n_max = '$encoder.jsEscape($i18n.getString( 'max' ) , "'")';
-var i18n_characters = '$encoder.jsEscape($i18n.getString( 'characters' ) , "'")';
\ No newline at end of file
+var i18n_characters = '$encoder.jsEscape($i18n.getString( 'characters' ) , "'")';
+var i18n_geojson_file = '$encoder.jsEscape($i18n.getString( 'geojson_file' ) , "'")';
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js	2010-12-13 10:13:59 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js	2010-12-13 11:26:42 +0000
@@ -1518,283 +1518,209 @@
         ]
     });
 
-    /* Section: map layers */
-	var mapLayerNameTextField=new Ext.form.TextField({id:'maplayername_tf',emptyText:GLOBAL.conf.emptytext,hideLabel:true,width:GLOBAL.conf.combo_width});
-	var mapLayerMapSourceFileComboBox=new Ext.form.ComboBox({id:'maplayermapsourcefile_cb',editable:false,displayField:'name',valueField:'name',emptyText:GLOBAL.conf.emptytext,hideLabel:true,width:GLOBAL.conf.combo_width,minListWidth:GLOBAL.conf.combo_width,triggerAction:'all',mode:'remote',store:GLOBAL.stores.geojsonFiles});
-    
-    function mapOverlayPreview(grid, index) {
-        var record = grid.getStore().getAt(index);
-        var layer = record.get('layer').clone();
-        
-        var wmsOverlayPreviewWindow = new Ext.Window({
-            title: '<span class="panel-title">'+i18n_preview+': ' + record.get("title") + '</span>',
-            width: screen.width * 0.4,
-            height: screen.height * 0.4,
-            layout: 'fit',
-            items: [{
-                xtype: 'gx_mappanel',
-                layers: [layer],
-                extent: record.get('llbbox')
-            }]
-        });
-        wmsOverlayPreviewWindow.show();
-    }
-	
-	var wmsOverlayGrid = new Ext.grid.GridPanel({
-		id: 'wmsoverlay_g',
-		sm: new Ext.grid.RowSelectionModel({
-			singleSelect:true
-		}),
-        columns: [
-            {header: i18n_title, dataIndex: 'title', sortable: true, width: 180},
-            {header: name, dataIndex: 'name', sortable: true, width: 180},
-            {header: i18n_queryable, dataIndex: 'queryable', sortable: true, width: 100},
-            {header: i18n_description, id: 'description', dataIndex: 'abstract'}
-        ],
-        autoExpandColumn: 'description',
-        width: 700,
-        height: screen.height * 0.6,
-        store: GLOBAL.stores.wmsCapabilities,
-        listeners: {
-            'rowdblclick': mapOverlayPreview
-        }
-    });
-	
-	var wmsOverlayWindow = new Ext.Window({
-		id: 'wmsoverlay_w',
-		title: '<span class="panel-title">Geoserver shapefiles</span>',
-		closeAction: 'hide',
-		width: wmsOverlayGrid.width,
-		height: screen.height * 0.4,
-		items: [wmsOverlayGrid],
-		bbar: new Ext.StatusBar({
-			id: 'wmsoverlaywindow_sb',
-			items:
-			[
-				{
-					xtype: 'button',
-					id: 'selectwmsoverlay_b',
-					text: i18n_select,
-					cls: 'aa_med',
-					handler: function() {
-						var selected = Ext.getCmp('wmsoverlay_g').getSelectionModel().getSelected();
-                        if (selected) {
-                            mapLayerPathWMSOverlayTextField.setValue(selected.get('name'));
-                            wmsOverlayWindow.hide();
-                            newMapLayerButton.focus();
-                        }
-					}
-				}
-			]
-		})
-	});
-	
-	var mapLayerPathWMSOverlayTextField = new Ext.form.TextField({
-		id: 'maplayerpathwmsoverlay_tf',
-		emptyText: GLOBAL.conf.emptytext,
-		hideLabel: true,
-        width: GLOBAL.conf.combo_width,
-		listeners: {
-			'focus': {
-				fn: function() {
-                    function show() {
-                        var x = Ext.getCmp('center').x + 15;
-                        var y = Ext.getCmp('center').y + 41;    
-                        wmsOverlayWindow.show();
-                        wmsOverlayWindow.setPosition(x,y);
-                    }
-                    
-                    if (!GLOBAL.stores.wmsCapabilities.isLoaded) {
-                        GLOBAL.stores.wmsCapabilities.load({callback: function() {
-                            show();
-                        }});
-                    }
-                    else {
-                        show();
-                    }
-				}
-			}
-		}
-	});
-	
-	var mapLayerFillColorColorField=new Ext.ux.ColorField({id:'maplayerfillcolor_cf',hideLabel:true,allowBlank:false,width:GLOBAL.conf.combo_width,value:'#FF0000'});
-	var mapLayerFillOpacityComboBox=new Ext.form.ComboBox({id:'maplayerfillopacity_cb',hideLabel:true,editable:true,valueField:'value',displayField:'value',mode:'local',triggerAction:'all',width:GLOBAL.conf.combo_number_width,minListWidth:GLOBAL.conf.combo_number_width,value:0.5,store:new Ext.data.ArrayStore({fields:['value'],data:[[0.0],[0.1],[0.2],[0.3],[0.4],[0.5],[0.6],[0.7],[0.8],[0.9],[1.0]]})});
-	var mapLayerStrokeColorColorField=new Ext.ux.ColorField({id:'maplayerstrokecolor_cf',hideLabel:true,allowBlank:false,width:GLOBAL.conf.combo_width,value:'#222222'});
-	var mapLayerStrokeWidthComboBox=new Ext.form.ComboBox({id:'maplayerstrokewidth_cb',hideLabel:true,editable:true,valueField:'value',displayField:'value',mode:'local',triggerAction:'all',width:GLOBAL.conf.combo_number_width,minListWidth:GLOBAL.conf.combo_number_width,value:2,store:new Ext.data.ArrayStore({fields:['value'],data:[[0],[1],[2],[3],[4]]})});
-	var mapLayerComboBox=new Ext.form.ComboBox({id:'maplayer_cb',typeAhead:true,editable:false,valueField:'id',displayField:'name',mode:'remote',forceSelection:true,triggerAction:'all',emptyText:GLOBAL.conf.emptytext,hideLabel:true,selectOnFocus:true,width:GLOBAL.conf.combo_width,minListWidth:GLOBAL.conf.combo_width,store:GLOBAL.stores.overlay});
-    
-    var deleteMapLayerButton = new Ext.Button({
-        id: 'deletemaplayer_b',
-        text: i18n_delete_overlay,
-        cls: 'window-button',
-        handler: function() {
-            var ml = Ext.getCmp('maplayer_cb').getValue();
-            var mln = Ext.getCmp('maplayer_cb').getRawValue();
-            
-            if (!ml) {
-                Ext.message.msg(false, i18n_please_select_an_overlay);
-                return;
-            }
-            
-            Ext.Ajax.request({
-                url: GLOBAL.conf.path_mapping + 'deleteMapLayer' + GLOBAL.conf.type,
-                method: 'POST',
-                params: {id:ml},
-                success: function(r) {
-                    Ext.message.msg(true, i18n_overlay + ' <span class="x-msg-hl">' + mln + '</span> '+i18n_was_deleted);
-                    GLOBAL.stores.overlay.load();
-                    Ext.getCmp('maplayer_cb').clearValue();
-                }
-            });
-            
-            GLOBAL.vars.map.getLayersByName(mln)[0].destroy();
-        }
-    });
-	
-    var newMapLayerPanel = new Ext.form.FormPanel({
-        id: 'newmaplayer_p',
-        items:
-        [
-            { html: '<div class="panel-fieldlabel-first">' + i18n_display_name + '</div>' }, mapLayerNameTextField,
-            { html: '<div class="panel-fieldlabel">' + i18n_map_source_file + '</div>' }, mapLayerMapSourceFileComboBox, mapLayerPathWMSOverlayTextField,
-            { html: '<div class="panel-fieldlabel">' + i18n_fill_color + '</div>' }, mapLayerFillColorColorField,
-            { html: '<div class="panel-fieldlabel">' + i18n_fill_opacity + '</div>' }, mapLayerFillOpacityComboBox,
-            { html: '<div class="panel-fieldlabel">' + i18n_stroke_color + '</div>' }, mapLayerStrokeColorColorField,
-            { html: '<div class="panel-fieldlabel">' + i18n_stroke_width + '</div>' }, mapLayerStrokeWidthComboBox,
-            {
-				xtype: 'button',
-				id: 'newmaplayer_b',
-				text: 'Register',
-				cls: 'window-button',
-				handler: function() {
-					var mln = Ext.getCmp('maplayername_tf').getRawValue();
-					var mlfc = Ext.getCmp('maplayerfillcolor_cf').getValue();
-					var mlfo = Ext.getCmp('maplayerfillopacity_cb').getRawValue();
-					var mlsc = Ext.getCmp('maplayerstrokecolor_cf').getValue();
-					var mlsw = Ext.getCmp('maplayerstrokewidth_cb').getRawValue();
-					var mlmsf = Ext.getCmp('maplayermapsourcefile_cb').getValue();
-					var mlwmso = Ext.getCmp('maplayerpathwmsoverlay_tf').getValue();
-					
-					if (!mln) {
-						Ext.message.msg(false, i18n_overlay_form_is_not_complete);
-						return;
-					}
-					else if (!mlmsf && !mlwmso) {
-						Ext.message.msg(false, i18n_overlay_form_is_not_complete);
-						return;
-					}
-					
-					if (!GLOBAL.util.validateInputNameLength(mln)) {
-						Ext.message.msg(false, i18n_name + ': ' + i18n_max + ' 25 ' + i18n_characters);
-						return;
-					}
-                    
-                    if (GLOBAL.stores.overlay.find('name', mln) !== -1) {
-                        Ext.message.msg(false, i18n_name + ' <span class="x-msg-hl">' + mln + '</span> ' + i18n_is_already_in_use);
-                        return;
-                    }
-                        
-                    var ms = GLOBAL.vars.mapSourceType.isShapefile() ? mlwmso : mlmsf;
-							
-                    Ext.Ajax.request({
-                        url: GLOBAL.conf.path_mapping + 'addOrUpdateMapLayer' + GLOBAL.conf.type,
-                        method: 'POST',
-                        params: {name: mln, type: 'overlay', mapSource: ms, fillColor: mlfc, fillOpacity: mlfo, strokeColor: mlsc, strokeWidth: mlsw},
-                        success: function(r) {
-                            Ext.message.msg(true, 'The overlay <span class="x-msg-hl">' + mln + '</span> '+i18n_was_registered);
-                            GLOBAL.stores.overlay.load();
-                    
-                            var mapurl = GLOBAL.vars.mapSourceType.isShapefile() ?
-                                GLOBAL.conf.path_geoserver + GLOBAL.conf.wfs + mlwmso + GLOBAL.conf.output : GLOBAL.conf.path_mapping + 'getGeoJsonFromFile.action?name=' + mlmsf;
-                            
-                            GLOBAL.vars.map.addLayer(
-                                new OpenLayers.Layer.Vector(mln, {
-                                    'visibility': false,
-                                    'styleMap': new OpenLayers.StyleMap({
-                                        'default': new OpenLayers.Style(
-                                            OpenLayers.Util.applyDefaults(
-                                                {'fillColor': mlfc, 'fillOpacity': mlfo, 'strokeColor': mlsc, 'strokeWidth': mlsw},
-                                                OpenLayers.Feature.Vector.style['default']
-                                            )
-                                        )
-                                    }),
-                                    'strategies': [new OpenLayers.Strategy.Fixed()],
-                                    'protocol': new OpenLayers.Protocol.HTTP({
-                                        'url': mapurl,
-                                        'format': new OpenLayers.Format.GeoJSON()
-                                    })
-                                })
-                            );
-                            
-                            Ext.getCmp('maplayername_tf').reset();
-                            Ext.getCmp('maplayermapsourcefile_cb').clearValue();
-                            Ext.getCmp('maplayerpathwmsoverlay_tf').reset();
-                        }
-                    });
-				}
-			}
-        ]
-    });
-    
-    var deleteMapLayerPanel = new Ext.form.FormPanel({
-        id: 'deletemaplayer_p',
-        items:
-        [
-            { html: '<div class="panel-fieldlabel-first">' + i18n_overlays + '</div>' }, mapLayerComboBox,
-            deleteMapLayerButton
-        ]
-    });
-
+    /* Section: overlays */
 	var overlaysWindow = new Ext.Window({
         id: 'overlays_w',
         title: '<span id="window-maplayer-title">' + i18n_overlays + '</span>',
 		layout: 'fit',
         closeAction: 'hide',
-		width: 234,
-        items:
-        [
-			{
-                xtype: 'tabpanel',
-                activeTab: 0,
-                deferredRender: false,
-                plain: true,
-                defaults: {layout: 'fit', bodyStyle: 'padding:8px'},
-                listeners: {
-                    tabchange: function(panel, tab)
-                    {
-                        if (tab.id == 'overlay0') {
-							Ext.getCmp('overlays_w').setHeight(390);                        
-                        }
-                        else if (tab.id == 'overlay1') {
-							Ext.getCmp('overlays_w').setHeight(150);
-                        }
+        height: 307,
+		width: GLOBAL.conf.window_width,
+        items: [
+            {
+                xtype: 'form',
+                bodyStyle: 'padding:8px',
+                items: [
+                    {html: '<div class="window-info">Register new overlay</div>'},
+                    {
+                        xtype: 'textfield',
+                        id: 'maplayername_tf',
+                        emptytext: GLOBAL.conf.emptytext,
+                        labelSeparator: GLOBAL.conf.labelseparator,
+                        fieldLabel: i18n_display_name,
+                        width: GLOBAL.conf.combo_width_fieldset,
+                        autoCreate: {tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: '35'}
+                    },
+                    {
+                        xtype: 'combo',
+                        id:'maplayermapsourcefile_cb',
+                        editable: false,
+                        displayField: 'name',
+                        valueField: 'name',
+                        triggerAction: 'all',
+                        mode: 'remote',
+                        emptytext: GLOBAL.conf.emptytext,
+                        labelSeparator: GLOBAL.conf.labelseparator,
+                        fieldLabel: i18n_geojson_file,
+                        width: GLOBAL.conf.combo_width_fieldset,
+                        store:GLOBAL.stores.geojsonFiles
+                    },
+                    {
+                        xtype: 'colorfield',
+                        id: 'maplayerfillcolor_cf',
+                        emptyText: GLOBAL.conf.emptytext,
+                        labelSeparator: GLOBAL.conf.labelseparator,
+                        fieldLabel: i18n_fill_color,
+                        allowBlank: false,
+                        width: GLOBAL.conf.combo_width_fieldset,
+                        value:"#C0C0C0"
+                    },
+                    {
+                        xtype: 'combo',
+                        id: 'maplayerfillopacity_cb',
+                        editable: true,
+                        valueField: 'value',
+                        displayField: 'value',
+                        mode: 'local',
+                        triggerAction: 'all',
+                        fieldLabel: i18n_fill_opacity,
+                        width: GLOBAL.conf.combo_number_width,
+                        minListWidth: GLOBAL.conf.combo_number_width,
+                        value: 0.5,
+                        store: {
+                            xtype: 'arraystore',
+                            fields: ['value'],
+                            data: [[0.0],[0.1],[0.2],[0.3],[0.4],[0.5],[0.6],[0.7],[0.8],[0.9],[1.0]]
+                        }
+                    },
+                    {
+                        xtype: 'colorfield',
+                        id: 'maplayerstrokecolor_cf',
+                        emptyText: GLOBAL.conf.emptytext,
+                        labelSeparator: GLOBAL.conf.labelseparator,
+                        fieldLabel: i18n_stroke_color,
+                        allowBlank: false,
+                        width: GLOBAL.conf.combo_width_fieldset,
+                        value:"#000000"
+                    },
+                    {
+                        xtype: 'combo',
+                        id: 'maplayerstrokewidth_cb',
+                        editable: true,
+                        valueField: 'value',
+                        displayField: 'value',
+                        mode: 'local',
+                        triggerAction: 'all',
+                        fieldLabel: i18n_stroke_width,
+                        width: GLOBAL.conf.combo_number_width,
+                        minListWidth: GLOBAL.conf.combo_number_width,
+                        value: 2,
+                        store: {
+                            xtype: 'arraystore',
+                            fields: ['value'],
+                            data: [[0],[1],[2],[3],[4],[5]]
+                        }
+                    },
+                    {html: '<div class="window-p"></div>'},
+                    {html: '<div class="window-info">Delete overlay</div>'},
+                    {
+                        xtype: 'combo',
+                        id: 'maplayer_cb',
+                        editable:false,
+                        valueField: 'id',
+                        displayField: 'name',
+                        mode: 'remote',
+                        forceSelection: true,
+                        triggerAction: 'all',
+                        emptytext: GLOBAL.conf.emptytext,
+                        labelSeparator: GLOBAL.conf.labelseparator,
+                        fieldLabel: i18n_overlays,
+                        width: GLOBAL.conf.combo_width_fieldset,                
+                        store:GLOBAL.stores.overlay
                     }
-                },
-                items:
-                [
+                ],
+                bbar: [
+                    '->',
                     {
-                        title: '<span class="panel-tab-title">' + i18n_new + '</span>',
-                        id: 'overlay0',
-                        items: [newMapLayerPanel]
+                        xtype: 'button',
+                        id: 'newmaplayer_b',
+                        text: 'Register',
+                        iconCls: 'icon-add',
+                        handler: function() {
+                            var mln = Ext.getCmp('maplayername_tf').getRawValue();
+                            var mlfc = Ext.getCmp('maplayerfillcolor_cf').getValue();
+                            var mlfo = Ext.getCmp('maplayerfillopacity_cb').getRawValue();
+                            var mlsc = Ext.getCmp('maplayerstrokecolor_cf').getValue();
+                            var mlsw = Ext.getCmp('maplayerstrokewidth_cb').getRawValue();
+                            var mlmsf = Ext.getCmp('maplayermapsourcefile_cb').getValue();
+                            
+                            if (!mln || !mlmsf) {
+                                Ext.message.msg(false, i18n_overlay_form_is_not_complete);
+                                return;
+                            }
+                            
+                            if (GLOBAL.stores.overlay.find('name', mln) !== -1) {
+                                Ext.message.msg(false, i18n_name + ' <span class="x-msg-hl">' + mln + '</span> ' + i18n_is_already_in_use);
+                                return;
+                            }
+                                
+                            Ext.Ajax.request({
+                                url: GLOBAL.conf.path_mapping + 'addOrUpdateMapLayer' + GLOBAL.conf.type,
+                                method: 'POST',
+                                params: {name: mln, type: 'overlay', mapSource: mlmsf, fillColor: mlfc, fillOpacity: mlfo, strokeColor: mlsc, strokeWidth: mlsw},
+                                success: function(r) {
+                                    Ext.message.msg(true, 'The overlay <span class="x-msg-hl">' + mln + '</span> ' + i18n_was_registered);
+                                    GLOBAL.stores.overlay.load();
+                            
+                                    GLOBAL.vars.map.addLayer(
+                                        new OpenLayers.Layer.Vector(mln, {
+                                            'visibility': false,
+                                            'styleMap': new OpenLayers.StyleMap({
+                                                'default': new OpenLayers.Style(
+                                                    OpenLayers.Util.applyDefaults(
+                                                        {'fillColor': mlfc, 'fillOpacity': mlfo, 'strokeColor': mlsc, 'strokeWidth': mlsw},
+                                                        OpenLayers.Feature.Vector.style['default']
+                                                    )
+                                                )
+                                            }),
+                                            'strategies': [new OpenLayers.Strategy.Fixed()],
+                                            'protocol': new OpenLayers.Protocol.HTTP({
+                                                'url': GLOBAL.conf.path_mapping + 'getGeoJsonFromFile.action?name=' + mlmsf,
+                                                'format': new OpenLayers.Format.GeoJSON()
+                                            })
+                                        })
+                                    );
+                                    
+                                    Ext.getCmp('maplayername_tf').reset();
+                                    Ext.getCmp('maplayermapsourcefile_cb').clearValue();
+                                }
+                            });
+                        }
                     },
                     {
-                        title: '<span class="panel-tab-title">' + i18n_delete + '</span>',
-                        id: 'overlay1',
-                        items: [deleteMapLayerPanel]
+                        xtype: 'button',
+                        id: 'deletemaplayer_b',
+                        text: i18n_delete,
+                        iconCls: 'icon-remove',
+                        handler: function() {
+                            var ml = Ext.getCmp('maplayer_cb').getValue();
+                            var mln = Ext.getCmp('maplayer_cb').getRawValue();
+                            
+                            if (!ml) {
+                                Ext.message.msg(false, i18n_please_select_an_overlay);
+                                return;
+                            }
+                            
+                            Ext.Ajax.request({
+                                url: GLOBAL.conf.path_mapping + 'deleteMapLayer' + GLOBAL.conf.type,
+                                method: 'POST',
+                                params: {id:ml},
+                                success: function(r) {
+                                    Ext.message.msg(true, i18n_overlay + ' <span class="x-msg-hl">' + mln + '</span> '+i18n_was_deleted);
+                                    GLOBAL.stores.overlay.load();
+                                    Ext.getCmp('maplayer_cb').clearValue();
+                                }
+                            });
+                            
+                            GLOBAL.vars.map.getLayersByName(mln)[0].destroy();
+                        }
                     }
                 ]
             }
-        ],
-		listeners: {
-			show: {
-				fn: function() {
-                    mapLayerMapSourceFileComboBox.show();
-                    mapLayerPathWMSOverlayTextField.hide();
-				}
-			}
-		}
+        ]
     });
-    
+            
+    /* Section: base layers */    
     var mapLayerBaseLayersNameTextField=new Ext.form.TextField({id:'maplayerbaselayersname_tf',emptyText:GLOBAL.conf.emptytext,hideLabel:true,width:GLOBAL.conf.combo_width});
     var mapLayerBaseLayersUrlTextField=new Ext.form.TextField({id:'maplayerbaselayersurl_tf',emptyText:GLOBAL.conf.emptytext,hideLabel:true,width:GLOBAL.conf.combo_width});
     var mapLayerBaseLayersLayerTextField=new Ext.form.TextField({id:'maplayerbaselayerslayer_tf',emptyText:GLOBAL.conf.emptytext,hideLabel:true,width:GLOBAL.conf.combo_width});
@@ -2468,7 +2394,7 @@
 					ctCls: 'aa_med',
 					icon: '../../images/add_small.png',
 					handler: function() {
-                        Ext.getCmp('overlays_w').setPagePosition(Ext.getCmp('east').x - 262, Ext.getCmp('center').y + 50);
+                        Ext.getCmp('overlays_w').setPagePosition(Ext.getCmp('east').x - (GLOBAL.conf.window_width + 15 + 5), Ext.getCmp('center').y + 41);
 						Ext.getCmp('overlays_w').show();
 					}
 				}