[mapguide-commits] r8737 - in trunk/Tools/Maestro: Maestro.AddIn.Rest/UI/Methods Maestro.Base/UI Maestro.Editors Maestro.Editors/FeatureSource/Extensions Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor Maestro.Editors/Fusion Maestro.Editors/LayerDefinition/Drawing Maestro.Editors/LayerDefinition/Raster Maestro.Editors/LayerDefinition/Vector Maestro.Editors/LayerDefinition/Vector/GridEditor Maestro.Editors/LayerDefinition/Vector/Scales Maestro.Editors/LoadProcedure Maestro.Editors/MapDefinition Maestro.Editors/Preview Maestro.Editors/TileSetDefinition Maestro.Editors/WebLayout Maestro.Editors/WebLayout/Commands Maestro.MapViewer OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI/Mapping OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_2_0 OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_3_0 OSGeo.MapGuide.ObjectModels/LayerDefinition/v2_4_0

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Aug 10 08:52:45 PDT 2015


Author: jng
Date: 2015-08-10 08:52:45 -0700 (Mon, 10 Aug 2015)
New Revision: 8737

Modified:
   trunk/Tools/Maestro/Maestro.AddIn.Rest/UI/Methods/GetMethodCtrl.cs
   trunk/Tools/Maestro/Maestro.Base/UI/LabelLocalizationDialog.cs
   trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/ExtendedClassSettings.cs
   trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/JoinSettings.cs
   trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Drawing/DrawingLayerSettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Raster/RasterLayerSettingsSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/GridEditor/RuleModel.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LoadProcedure/LoadTargetCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/GroupPropertiesCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/LayerPropertiesCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapTreeModels.cs
   trunk/Tools/Maestro/Maestro.Editors/Preview/MapPreviewDialog.cs
   trunk/Tools/Maestro/Maestro.Editors/ResourceEditorServiceBase.cs
   trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/GroupPropertiesCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/SearchCmdCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutCommandsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutSettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.MapViewer/DefaultToolbar.cs
   trunk/Tools/Maestro/Maestro.MapViewer/Legend.cs
   trunk/Tools/Maestro/Maestro.MapViewer/MapViewer.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_2_0/VectorLayerDefinitionImpl.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_3_0/VectorLayerDefinitionImpl.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v2_4_0/VectorLayerDefinitionImpl.cs
Log:
#2565: More RES code styling fixes.
 - nameof() in place of string literals for property names in assorted data-binding code
 - ?.Invoke() for raising events
 - Collapsing single-line methods/properties to expression-bodied members
 - String interpolation in place of raw string concatenation and/or string.Format() calls

Modified: trunk/Tools/Maestro/Maestro.AddIn.Rest/UI/Methods/GetMethodCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.Rest/UI/Methods/GetMethodCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.AddIn.Rest/UI/Methods/GetMethodCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -1,23 +1,23 @@
-#region Disclaimer / License
-
-// Copyright (C) 2015, Jackie Ng
-// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
+#region Disclaimer / License
+
+// Copyright (C) 2015, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
 #endregion Disclaimer / License
 using System;
 using System.Collections.Generic;
@@ -42,8 +42,8 @@
 
             public ComputedProperty()
             {
-                _alias = "";
-                _expression = "";
+                _alias = string.Empty;
+                _expression = string.Empty;
             }
 
             public string Alias
@@ -54,9 +54,7 @@
                     if (value != _alias)
                     {
                         _alias = value;
-                        var h = this.PropertyChanged;
-                        if (h != null)
-                            h(this, new PropertyChangedEventArgs("Alias")); //NOXLATE
+                        this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Alias)));
                     }
                 }
             }
@@ -68,9 +66,7 @@
                     if (value != _expression)
                     {
                         _expression = value;
-                        var h = this.PropertyChanged;
-                        if (h != null)
-                            h(this, new PropertyChangedEventArgs("Expression")); //NOXLATE
+                        this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Expression)));
                     }
                 }
             }

Modified: trunk/Tools/Maestro/Maestro.Base/UI/LabelLocalizationDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/UI/LabelLocalizationDialog.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Base/UI/LabelLocalizationDialog.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -150,13 +150,8 @@
             return translated;
         }
 
-        private void OnPropertyChanged(string name)
-        {
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new System.ComponentModel.PropertyChangedEventArgs(name));
-        }
+        private void OnPropertyChanged(string name) => this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
 
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        public event PropertyChangedEventHandler PropertyChanged;
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/ExtendedClassSettings.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/ExtendedClassSettings.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/ExtendedClassSettings.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -57,10 +57,7 @@
             ComboBoxBinder.BindSelectedIndexChanged(cmbBaseClass, nameof(cmbBaseClass.SelectedItem), ext, nameof(ext.FeatureClass));
         }
 
-        private void OnExtensionPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnExtensionPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         public void Bind(IEditorService service)
         {

Modified: trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/JoinSettings.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/JoinSettings.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Extensions/JoinSettings.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -183,17 +183,9 @@
             _propertyJoins.ListChanged += new ListChangedEventHandler(OnPropertyJoinListChanged);
         }
 
-        private void OnRelationPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnRelationPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
-        private void OnResourceChanged()
-        {
-            var handler = this.ResourceChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        private void OnResourceChanged() => this.ResourceChanged?.Invoke(this, EventArgs.Empty);
 
         public event EventHandler ResourceChanged;
 

Modified: trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -103,12 +103,7 @@
             }
         }
 
-        private void OnPropertyChanged(string name)
-        {
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new PropertyChangedEventArgs(name));
-        }
+        private void OnPropertyChanged(string name) => this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
 
         public event PropertyChangedEventHandler PropertyChanged;
     }

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -84,7 +84,7 @@
             item.Tag = group;
             PropertyChangedEventHandler groupChange = (s, e) =>
             {
-                if (e.PropertyName == "id") //NOXLATE
+                if (e.PropertyName == nameof(group.id))
                     item.Text = group.id;
             };
             group.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(groupChange, (eh) => group.PropertyChanged -= eh);

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Drawing/DrawingLayerSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Drawing/DrawingLayerSettingsCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Drawing/DrawingLayerSettingsCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -107,10 +107,7 @@
             _dlayer.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnDrawingLayerPropertyChanged, (eh) => _dlayer.PropertyChanged -= eh);
         }
 
-        private void OnDrawingLayerPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnDrawingLayerPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         private void PopulateSheets()
         {
@@ -123,12 +120,7 @@
             }
         }
 
-        private void OnResourceChanged()
-        {
-            var handler = this.ResourceChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        private void OnResourceChanged() => this.ResourceChanged?.Invoke(this, EventArgs.Empty);
 
         public event EventHandler ResourceChanged;
 
@@ -158,10 +150,7 @@
             }
         }
 
-        private bool IsAllLayersChecked()
-        {
-            return chkListDwfLayers.CheckedIndices.Count == chkListDwfLayers.Items.Count;
-        }
+        private bool IsAllLayersChecked() => chkListDwfLayers.CheckedIndices.Count == chkListDwfLayers.Items.Count;
 
         private string GetLayerFilter()
         {
@@ -184,10 +173,7 @@
             }
         }
 
-        private void chkListDwfLayers_ItemCheck(object sender, ItemCheckEventArgs e)
-        {
-            _dlayer.LayerFilter = GetLayerFilter();
-        }
+        private void chkListDwfLayers_ItemCheck(object sender, ItemCheckEventArgs e) => _dlayer.LayerFilter = GetLayerFilter();
 
         private void lnkCheckAll_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
         {
@@ -199,10 +185,7 @@
             _dlayer.LayerFilter = GetLayerFilter();
         }
 
-        private void btnGoToDrawingSource_Click(object sender, EventArgs e)
-        {
-            _service.OpenResource(txtDrawingSource.Text);
-        }
+        private void btnGoToDrawingSource_Click(object sender, EventArgs e) => _service.OpenResource(txtDrawingSource.Text);
 
         private void btnBrowse_Click(object sender, EventArgs e)
         {

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Raster/RasterLayerSettingsSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Raster/RasterLayerSettingsSectionCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Raster/RasterLayerSettingsSectionCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -62,16 +62,13 @@
             _rl = res.SubLayer as IRasterLayerDefinition;
             Debug.Assert(_rl != null);
 
-            TextBoxBinder.BindText(txtFeatureSource, _rl, "ResourceId"); //NOXLATE
-            TextBoxBinder.BindText(txtFeatureClass, _rl, "FeatureName"); //NOXLATE
-            TextBoxBinder.BindText(txtGeometry, _rl, "Geometry"); //NOXLATE
+            TextBoxBinder.BindText(txtFeatureSource, _rl, nameof(_rl.ResourceId));
+            TextBoxBinder.BindText(txtFeatureClass, _rl, nameof(_rl.FeatureName));
+            TextBoxBinder.BindText(txtGeometry, _rl, nameof(_rl.Geometry));
             _rl.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnRasterLayerPropertyChanged, (eh) => _rl.PropertyChanged -= eh);
         }
 
-        private void OnRasterLayerPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnRasterLayerPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         protected override void UnsubscribeEventHandlers()
         {
@@ -203,17 +200,11 @@
             }
         }
 
-        internal string FeatureSourceID
-        {
-            get { return txtFeatureSource.Text; }
-        }
+        internal string FeatureSourceID => txtFeatureSource.Text;
 
         private ClassDefinition _selectedClass;
 
-        internal ClassDefinition GetSelectedClass()
-        {
-            return _selectedClass;
-        }
+        internal ClassDefinition GetSelectedClass() => _selectedClass;
 
         private IFeatureSource _cachedFs;
 
@@ -225,9 +216,6 @@
             return _cachedFs;
         }
 
-        private void btnGoToFeatureSource_Click(object sender, EventArgs e)
-        {
-            _edsvc.OpenResource(txtFeatureSource.Text);
-        }
+        private void btnGoToFeatureSource_Click(object sender, EventArgs e) => _edsvc.OpenResource(txtFeatureSource.Text);
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/GridEditor/RuleModel.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/GridEditor/RuleModel.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/GridEditor/RuleModel.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -98,12 +98,7 @@
             this.Style = preview;
         }
 
-        protected void OnPropertyChanged(string name)
-        {
-            var h = this.PropertyChanged;
-            if (h != null)
-                h(this, new PropertyChangedEventArgs(name));
-        }
+        protected void OnPropertyChanged(string name) => this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
 
         public event PropertyChangedEventHandler PropertyChanged;
 

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -68,18 +68,18 @@
             {
                 _ov = ov;
                 _pdef = pdef;
-                _name = pdef.DisplayName.Replace("&", "");
+                _name = pdef.DisplayName.Replace("&", string.Empty);
             }
 
             [Browsable(false)]
-            public IParameterOverride Override { get { return _ov; } }
+            public IParameterOverride Override => _ov;
 
             [Browsable(false)]
-            public IParameter Definition { get { return _pdef; } }
+            public IParameter Definition => _pdef;
 
-            public string Name { get { return _name; } }
+            public string Name => _name;
 
-            public string Type { get { return _pdef.DataType; } }
+            public string Type => _pdef.DataType;
 
             public string Value
             {
@@ -92,9 +92,7 @@
                     if (value != _ov.ParameterValue)
                     {
                         _ov.ParameterValue = value;
-                        var h = this.PropertyChanged;
-                        if (h != null)
-                            h(this, new PropertyChangedEventArgs("Value"));
+                        this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Value)));
                     }
                 }
             }
@@ -130,10 +128,7 @@
             UpdatePreviewImage();
         }
 
-        public bool UseLayerIconPreview
-        {
-            get { return _mappingSvc != null && _preview != null; }
-        }
+        public bool UseLayerIconPreview =>_mappingSvc != null && _preview != null;
 
         private void UpdatePreviewImage()
         {
@@ -162,10 +157,7 @@
             }
         }
 
-        private void btnClose_Click(object sender, EventArgs e)
-        {
-            this.Close();
-        }
+        private void btnClose_Click(object sender, EventArgs e) => this.Close();
 
         private void RenderPreview(ISymbolInstance symInst, ListViewItem item)
         {
@@ -424,10 +416,7 @@
             }
         }
 
-        private void lnkRefresh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-        {
-            RefreshPreviews(true, true);
-        }
+        private void lnkRefresh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => RefreshPreviews(true, true);
 
         private void btnEditComponent_Click(object sender, EventArgs e)
         {
@@ -648,7 +637,7 @@
                 var item = Maestro.Editors.Common.GenericItemSelectionDialog.SelectItem(null, dt2.ToString(), list.ToArray());
                 if (item != null)
                 {
-                    return "'" + item + "'";
+                    return $"'{item}'";
                 }
                 return null;
             };

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -201,10 +201,7 @@
             }
         }
 
-        private void OnVectorLayerPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnVectorLayerPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         protected override void UnsubscribeEventHandlers()
         {

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -69,7 +69,6 @@
             this.btnSort});
             resources.ApplyResources(this.toolStrip1, "toolStrip1");
             this.toolStrip1.Name = "toolStrip1";
-            this.toolStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.toolStrip1_ItemClicked);
             // 
             // btnAdd
             // 
@@ -126,7 +125,6 @@
             resources.ApplyResources(this.groupBox1, "groupBox1");
             this.groupBox1.Name = "groupBox1";
             this.groupBox1.TabStop = false;
-            this.groupBox1.Enter += new System.EventHandler(this.groupBox1_Enter);
             // 
             // btnKmlElevation
             // 

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -179,16 +179,11 @@
                 }
             }
 
-            internal VectorScaleRange Clone()
-            {
-                return new VectorScaleRange() { Item = this.Item.Clone() };
-            }
+            internal VectorScaleRange Clone() => new VectorScaleRange() { Item = this.Item.Clone() };
 
             private void OnPropertyChanged(string name)
             {
-                var handler = this.PropertyChanged;
-                if (handler != null)
-                    handler(this, new PropertyChangedEventArgs(name));
+                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
             }
 
             public event PropertyChangedEventHandler PropertyChanged;
@@ -212,21 +207,24 @@
                     double maxY = vy.MaxScale.HasValue ? vy.MaxScale.Value : double.MaxValue;
 
                     if (minX == minY)
+                    {
                         if (maxX == maxY)
                             return 0;
                         else
                             return maxX > maxY ? 1 : -1;
+                    }
                     else
+                    {
                         return minX > minY ? 1 : -1;
+                    }
                 }
                 else
+                {
                     return 0;
+                }
             }
 
-            public int Compare(IVectorScaleRange x, IVectorScaleRange y)
-            {
-                return this.Compare((object)x, (object)y);
-            }
+            public int Compare(IVectorScaleRange x, IVectorScaleRange y) => this.Compare((object)x, (object)y);
         }
 
         private void RemoveScaleRange(VectorScaleRange vsc)
@@ -385,13 +383,5 @@
                 }
             }
         }
-
-        private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
-        {
-        }
-
-        private void groupBox1_Enter(object sender, EventArgs e)
-        {
-        }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LoadProcedure/LoadTargetCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LoadProcedure/LoadTargetCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/LoadProcedure/LoadTargetCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -69,10 +69,7 @@
             base.UnsubscribeEventHandlers();
         }
 
-        private void OnLoadProcedurePropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnLoadProcedurePropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         private void btnBrowseRoot_Click(object sender, EventArgs e)
         {
@@ -85,14 +82,8 @@
                 txtLayerRoot.Text = txtTargetRoot.Text;
         }
 
-        private void btnBrowseFeatureRoot_Click(object sender, EventArgs e)
-        {
-            txtFeatureSourceRoot.Text = _service.SelectFolder();
-        }
+        private void btnBrowseFeatureRoot_Click(object sender, EventArgs e) => txtFeatureSourceRoot.Text = _service.SelectFolder();
 
-        private void btnBrowseLayerRoot_Click(object sender, EventArgs e)
-        {
-            txtLayerRoot.Text = _service.SelectFolder();
-        }
+        private void btnBrowseLayerRoot_Click(object sender, EventArgs e) => txtLayerRoot.Text = _service.SelectFolder();
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/GroupPropertiesCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/GroupPropertiesCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/GroupPropertiesCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -88,7 +88,7 @@
                 group.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnGroupChanged, (eh) => group.PropertyChanged -= eh);
 
                 txtName.Text = group.Name;
-                TextBoxBinder.BindText(txtLegendLabel, group, "LegendLabel");
+                TextBoxBinder.BindText(txtLegendLabel, group, nameof(group.LegendLabel));
             }
             finally
             {
@@ -96,12 +96,7 @@
             }
         }
 
-        private void OnGroupChanged(object sender, PropertyChangedEventArgs e)
-        {
-            var handler = this.GroupChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        private void OnGroupChanged(object sender, PropertyChangedEventArgs e) => this.GroupChanged?.Invoke(this, EventArgs.Empty);
 
         private static int GetGroupCount(IMapDefinition map, string name)
         {
@@ -119,7 +114,7 @@
                         count++;
                 }
             }
-            System.Diagnostics.Debug.WriteLine("{0} groups with the name: {1}", count, name);
+            System.Diagnostics.Debug.WriteLine($"{count} groups with the name: {name}");
             return count;
         }
 

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/LayerPropertiesCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/LayerPropertiesCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/LayerPropertiesCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -50,9 +50,9 @@
             layer.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnLayerChanged, (eh) => layer.PropertyChanged -= eh);
             _edSvc = edSvc;
 
-            TextBoxBinder.BindText(txtResourceId, layer, "ResourceId");
-            TextBoxBinder.BindText(txtName, layer, "Name");
-            TextBoxBinder.BindText(txtLegendLabel, layer, "LegendLabel");
+            TextBoxBinder.BindText(txtResourceId, layer, nameof(layer.ResourceId));
+            TextBoxBinder.BindText(txtName, layer, nameof(layer.Name));
+            TextBoxBinder.BindText(txtLegendLabel, layer, nameof(layer.LegendLabel));
         }
 
         public LayerPropertiesCtrl(IBaseMapLayer layer, IEditorService edSvc)
@@ -61,17 +61,12 @@
             layer.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnLayerChanged, (eh) => layer.PropertyChanged -= eh);
             _edSvc = edSvc;
 
-            TextBoxBinder.BindText(txtResourceId, layer, "ResourceId");
-            TextBoxBinder.BindText(txtName, layer, "Name");
-            TextBoxBinder.BindText(txtLegendLabel, layer, "LegendLabel");
+            TextBoxBinder.BindText(txtResourceId, layer, nameof(layer.ResourceId));
+            TextBoxBinder.BindText(txtName, layer, nameof(layer.Name));
+            TextBoxBinder.BindText(txtLegendLabel, layer, nameof(layer.LegendLabel));
         }
 
-        private void OnLayerChanged(object sender, PropertyChangedEventArgs e)
-        {
-            var handler = this.LayerChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        private void OnLayerChanged(object sender, PropertyChangedEventArgs e) => this.LayerChanged?.Invoke(this, EventArgs.Empty);
 
         private void btnBrowse_Click(object sender, EventArgs e)
         {

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -213,7 +213,7 @@
 
         private void OnMapPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "TileSourceType")
+            if (e.PropertyName == "TileSourceType") //NOXLATE
             {
                 var mdf = _map as IMapDefinition3;
                 if (mdf != null)

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapTreeModels.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapTreeModels.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapTreeModels.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -65,7 +65,7 @@
 
         private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "Name")
+            if (e.PropertyName == nameof(this.Tag.Name))
             {
                 this.Text = this.Tag.Name;
             }
@@ -82,7 +82,7 @@
 
         private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "Name")
+            if (e.PropertyName == nameof(this.Tag.Name))
             {
                 this.Text = this.Tag.Name;
             }
@@ -106,7 +106,7 @@
 
         private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "Name")
+            if (e.PropertyName == nameof(this.Tag.Name))
             {
                 this.Text = this.Tag.Name;
             }
@@ -123,7 +123,7 @@
 
         private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "Name")
+            if (e.PropertyName == nameof(this.Tag.Name))
             {
                 this.Text = this.Tag.Name;
             }

Modified: trunk/Tools/Maestro/Maestro.Editors/Preview/MapPreviewDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Preview/MapPreviewDialog.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/Preview/MapPreviewDialog.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -83,7 +83,7 @@
 
         private void mapViewer_PropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "IsBusy") //NOXLATE
+            if (e.PropertyName == nameof(mapViewer.IsBusy))
             {
                 grpOtherTools.Enabled = !mapViewer.IsBusy;
 

Modified: trunk/Tools/Maestro/Maestro.Editors/ResourceEditorServiceBase.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/ResourceEditorServiceBase.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/ResourceEditorServiceBase.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -145,20 +145,12 @@
         /// </summary>
         /// <param name="sender">The sender.</param>
         /// <param name="e">The <see cref="System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
-        protected void OnResourcePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
-        {
-            MarkDirty();
-        }
+        protected void OnResourcePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) => MarkDirty();
 
         /// <summary>
         /// Called when [dirty state changed].
         /// </summary>
-        protected void OnDirtyStateChanged()
-        {
-            var handler = this.DirtyStateChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        protected void OnDirtyStateChanged() => this.DirtyStateChanged?.Invoke(this, EventArgs.Empty);
 
         /// <summary>
         /// Indicates whether the edited resource has unsaved changes

Modified: trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/GroupPropertiesCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/GroupPropertiesCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/GroupPropertiesCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -70,7 +70,7 @@
                     currentName = newName;
                 };*/
 
-                TextBoxBinder.BindText(txtLegendLabel, group, "LegendLabel");
+                TextBoxBinder.BindText(txtLegendLabel, group, nameof(group.LegendLabel));
             }
             finally
             {
@@ -89,7 +89,7 @@
                 group.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnGroupChanged, (eh) => group.PropertyChanged -= eh);
 
                 txtName.Text = group.Name;
-                TextBoxBinder.BindText(txtLegendLabel, group, "LegendLabel");
+                TextBoxBinder.BindText(txtLegendLabel, group, nameof(group.LegendLabel));
             }
             finally
             {
@@ -97,12 +97,7 @@
             }
         }
 
-        private void OnGroupChanged(object sender, PropertyChangedEventArgs e)
-        {
-            var handler = this.GroupChanged;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
+        private void OnGroupChanged(object sender, PropertyChangedEventArgs e) => this.GroupChanged?.Invoke(this, EventArgs.Empty);
 
         private static int GetGroupCount(ITileSetDefinition map, string name)
         {
@@ -112,7 +107,7 @@
                 if (grp.Name == name)
                     count++;
             }
-            System.Diagnostics.Debug.WriteLine("{0} groups with the name: {1}", count, name);
+            System.Diagnostics.Debug.WriteLine($"{count} groups with the name: {name}"); //NOXLATE
             return count;
         }
 
@@ -128,7 +123,7 @@
                 errorProvider.Clear();
                 string currentName = _el.Name;
                 _el.Name = newName;
-                System.Diagnostics.Debug.WriteLine(string.Format("Updated group name {0} -> {1}", currentName, newName));
+                System.Diagnostics.Debug.WriteLine($"Updated group name {currentName} -> {newName}"); //NOXLATE
             }
             else
             {

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -56,10 +56,10 @@
             Bind(service);
             service.RegisterCustomNotifier(this);
 
-            TextBoxBinder.BindText(txtUrl, invokeUrlCommandType, "URL");
-            TextBoxBinder.BindText(txtFrame, invokeUrlCommandType, "TargetFrame");
-            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, "SelectedItem", invokeUrlCommandType, "Target");
-            CheckBoxBinder.BindChecked(chkDisableIfEmpty, invokeUrlCommandType, "DisableIfSelectionEmpty");
+            TextBoxBinder.BindText(txtUrl, invokeUrlCommandType, nameof(invokeUrlCommandType.URL));
+            TextBoxBinder.BindText(txtFrame, invokeUrlCommandType, nameof(invokeUrlCommandType.TargetFrame));
+            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, nameof(cmbTargetFrame.SelectedItem), invokeUrlCommandType, nameof(invokeUrlCommandType.Target));
+            CheckBoxBinder.BindChecked(chkDisableIfEmpty, invokeUrlCommandType, nameof(invokeUrlCommandType.DisableIfSelectionEmpty));
 
             foreach (var p in invokeUrlCommandType.AdditionalParameter)
             {
@@ -74,10 +74,7 @@
             _cmd = invokeUrlCommandType;
         }
 
-        private void OnAddingNew(object sender, AddingNewEventArgs e)
-        {
-            e.NewObject = _cmd.CreateParameter("", "");
-        }
+        private void OnAddingNew(object sender, AddingNewEventArgs e) => e.NewObject = _cmd.CreateParameter(string.Empty, string.Empty);
 
         private void OnParamsListChanged(object sender, ListChangedEventArgs e)
         {
@@ -100,10 +97,7 @@
             base.UnsubscribeEventHandlers();
         }
 
-        private void OnCommandPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnCommandPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         private void btnBrowseLayers_Click(object sender, EventArgs e)
         {

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/SearchCmdCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/SearchCmdCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/Commands/SearchCmdCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -67,7 +67,7 @@
 
             _wl = (IWebLayout)_edsvc.GetEditedResource();
             var wlMap = _wl.Map;
-            wlMap.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => wlMap.PropertyChanged -= eh);
+            wlMap.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnWebMapLayoutPropertyChanged, (eh) => wlMap.PropertyChanged -= eh);
 
             LoadLayers();
 
@@ -83,13 +83,13 @@
                 }
             }
 
-            TextBoxBinder.BindText(txtFrame, _cmd, "TargetFrame");
-            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, "SelectedItem", _cmd, "Target");
-            TextBoxBinder.BindText(txtLayer, _cmd, "Layer");
-            TextBoxBinder.BindText(txtFilter, _cmd, "Filter");
-            TextBoxBinder.BindText(txtPrompt, _cmd, "Prompt");
+            TextBoxBinder.BindText(txtFrame, _cmd, nameof(_cmd.TargetFrame));
+            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, nameof(cmbTargetFrame.SelectedItem), _cmd, nameof(_cmd.Target));
+            TextBoxBinder.BindText(txtLayer, _cmd, nameof(_cmd.Layer));
+            TextBoxBinder.BindText(txtFilter, _cmd, nameof(_cmd.Filter));
+            TextBoxBinder.BindText(txtPrompt, _cmd, nameof(_cmd.Prompt));
 
-            NumericBinder.BindValueChanged(numLimit, _cmd, "MatchLimit");
+            NumericBinder.BindValueChanged(numLimit, _cmd, nameof(_cmd.MatchLimit));
 
             UpdateColumns();
             foreach (var col in _cmd.ResultColumns.Column)
@@ -111,7 +111,7 @@
             if (_cls == null)
                 return;
 
-            e.NewObject = _cmd.ResultColumns.CreateColumn("MyProperty", _cls.Properties[0].Name);
+            e.NewObject = _cmd.ResultColumns.CreateColumn("MyProperty", _cls.Properties[0].Name); //NOXLATE
         }
 
         private void OnColumnsChanged(object sender, ListChangedEventArgs e)
@@ -142,7 +142,7 @@
             _cleanup = true;
 
             if (_wl != null && _wl.Map != null)
-                _wl.Map.PropertyChanged -= OnWebLayoutPropertyChanged;
+                _wl.Map.PropertyChanged -= OnWebMapLayoutPropertyChanged;
 
             _columns.AddingNew -= OnAddingNewColumn;
             _columns.ListChanged -= OnColumnsChanged;
@@ -159,9 +159,9 @@
             _layers = new List<IMapLayer>(map.MapLayer);
         }
 
-        private void OnWebLayoutPropertyChanged(object sender, PropertyChangedEventArgs e)
+        private void OnWebMapLayoutPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "ResourceId")
+            if (e.PropertyName == nameof(_wl.Map.ResourceId))
             {
                 LoadLayers();
             }

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutCommandsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutCommandsCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutCommandsCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -519,9 +519,7 @@
 
         private void OnPropertyChanged(string propertyName)
         {
-            var h = this.PropertyChanged;
-            if (h != null)
-                h(this, new PropertyChangedEventArgs(propertyName));
+            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
         }
 
         public event PropertyChangedEventHandler PropertyChanged;

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutSettingsCtrl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutSettingsCtrl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -74,33 +74,33 @@
 
             var wl2 = _wl as IWebLayout2;
             if (wl2 != null)
-                CheckBoxBinder.BindChecked(chkPingServer, wl2, "EnablePingServer");
+                CheckBoxBinder.BindChecked(chkPingServer, wl2, nameof(wl2.EnablePingServer));
             else
                 chkPingServer.Visible = false;
 
-            TextBoxBinder.BindText(numX, _view, "CenterX");
-            TextBoxBinder.BindText(numY, _view, "CenterY");
-            TextBoxBinder.BindText(numScale, _view, "Scale");
+            TextBoxBinder.BindText(numX, _view, nameof(_view.CenterX));
+            TextBoxBinder.BindText(numY, _view, nameof(_view.CenterY));
+            TextBoxBinder.BindText(numScale, _view, nameof(_view.Scale));
 
-            TextBoxBinder.BindText(txtBrowserTitle, _wl, "Title");
-            TextBoxBinder.BindText(txtMapDefinition, _wl.Map, "ResourceId");
-            TextBoxBinder.BindText(txtInitialTaskPaneUrl, _wl.TaskPane, "InitialTask");
+            TextBoxBinder.BindText(txtBrowserTitle, _wl, nameof(_wl.Title));
+            TextBoxBinder.BindText(txtMapDefinition, _wl.Map, nameof(_wl.Map.ResourceId));
+            TextBoxBinder.BindText(txtInitialTaskPaneUrl, _wl.TaskPane, nameof(_wl.TaskPane.InitialTask));
 
-            CheckBoxBinder.BindChecked(chkContextMenu, _wl.ContextMenu, "Visible");
-            CheckBoxBinder.BindChecked(chkLegend, _wl.InformationPane, "LegendVisible");
-            CheckBoxBinder.BindChecked(chkProperties, _wl.InformationPane, "PropertiesVisible");
-            CheckBoxBinder.BindChecked(chkStatusBar, _wl.StatusBar, "Visible");
+            CheckBoxBinder.BindChecked(chkContextMenu, _wl.ContextMenu, nameof(_wl.ContextMenu.Visible));
+            CheckBoxBinder.BindChecked(chkLegend, _wl.InformationPane, nameof(_wl.InformationPane.LegendVisible));
+            CheckBoxBinder.BindChecked(chkProperties, _wl.InformationPane, nameof(_wl.InformationPane.PropertiesVisible));
+            CheckBoxBinder.BindChecked(chkStatusBar, _wl.StatusBar, nameof(_wl.StatusBar.Visible));
 
-            CheckBoxBinder.BindChecked(chkTaskPane, _wl.TaskPane, "Visible");
-            CheckBoxBinder.BindChecked(chkTaskBar, _wl.TaskPane.TaskBar, "Visible");
-            CheckBoxBinder.BindChecked(chkToolbar, _wl.ToolBar, "Visible");
-            CheckBoxBinder.BindChecked(chkZoomControl, _wl.ZoomControl, "Visible");
+            CheckBoxBinder.BindChecked(chkTaskPane, _wl.TaskPane, nameof(_wl.TaskPane.Visible));
+            CheckBoxBinder.BindChecked(chkTaskBar, _wl.TaskPane.TaskBar, nameof(_wl.TaskPane.TaskBar.Visible));
+            CheckBoxBinder.BindChecked(chkToolbar, _wl.ToolBar, nameof(_wl.ToolBar.Visible));
+            CheckBoxBinder.BindChecked(chkZoomControl, _wl.ZoomControl, nameof(_wl.ZoomControl.Visible));
 
-            ComboBoxBinder.BindSelectedIndexChanged(cmbHyperlinkTarget, "SelectedItem", _wl.Map, "HyperlinkTarget");
-            TextBoxBinder.BindText(txtHyperlinkFrame, _wl.Map, "HyperlinkTargetFrame");
+            ComboBoxBinder.BindSelectedIndexChanged(cmbHyperlinkTarget, nameof(cmbHyperlinkTarget.SelectedItem), _wl.Map, nameof(_wl.Map.HyperlinkTarget));
+            TextBoxBinder.BindText(txtHyperlinkFrame, _wl.Map, nameof(_wl.Map.HyperlinkTargetFrame));
 
-            TextBoxBinder.BindText(numInfoPaneWidth, _wl.InformationPane, "Width");
-            TextBoxBinder.BindText(numTaskPaneWidth, _wl.TaskPane, "Width");
+            TextBoxBinder.BindText(numInfoPaneWidth, _wl.InformationPane, nameof(_wl.InformationPane.Width));
+            TextBoxBinder.BindText(numTaskPaneWidth, _wl.TaskPane, nameof(_wl.TaskPane.Width));
 
             _wl.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => _wl.PropertyChanged -= eh);
             _view.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => _view.PropertyChanged -= eh);
@@ -135,7 +135,7 @@
 
                 if (!_edsvc.IsNew)
                 {
-                    txtAjaxViewerUrl.Text = baseUrl + "mapviewerajax/?WEBLAYOUT=" + _edsvc.ResourceID + "&LOCALE=" + _edsvc.PreviewLocale;
+                    txtAjaxViewerUrl.Text = $"{baseUrl}mapviewerajax/?WEBLAYOUT={_edsvc.ResourceID}&LOCALE={_edsvc.PreviewLocale}"; //NOXLATE
                     btnShowInBrowser.Enabled = true;
                 }
                 else
@@ -146,15 +146,9 @@
             catch { }
         }
 
-        private void OnSaved(object sender, EventArgs e)
-        {
-            GeneratePreviewUrl();
-        }
+        private void OnSaved(object sender, EventArgs e) => GeneratePreviewUrl();
 
-        private void OnWebLayoutPropertyChanged(object sender, PropertyChangedEventArgs e)
-        {
-            OnResourceChanged();
-        }
+        private void OnWebLayoutPropertyChanged(object sender, PropertyChangedEventArgs e) => OnResourceChanged();
 
         protected override void UnsubscribeEventHandlers()
         {

Modified: trunk/Tools/Maestro/Maestro.MapViewer/DefaultToolbar.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.MapViewer/DefaultToolbar.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.MapViewer/DefaultToolbar.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -20,6 +20,7 @@
 
 #endregion Disclaimer / License
 
+using OSGeo.MapGuide.MaestroAPI;
 using System;
 using System.ComponentModel;
 using System.Text;
@@ -40,37 +41,37 @@
             : base()
         {
             this.GripStyle = ToolStripGripStyle.Visible;
-            this.ZoomIn = new ToolStripButton("", Properties.Resources.zoom_in_fixed, OnZoomIn)
+            this.ZoomIn = new ToolStripButton(string.Empty, Properties.Resources.zoom_in_fixed, OnZoomIn)
             {
                 ToolTipText = Properties.Resources.TextZoomIn,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.ZoomOut = new ToolStripButton("", Properties.Resources.zoom_out_fixed, OnZoomOut)
+            this.ZoomOut = new ToolStripButton(string.Empty, Properties.Resources.zoom_out_fixed, OnZoomOut)
             {
                 ToolTipText = Properties.Resources.TextZoomOut,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.ZoomExtents = new ToolStripButton("", Properties.Resources.zoom_full, OnZoomExtents)
+            this.ZoomExtents = new ToolStripButton(string.Empty, Properties.Resources.zoom_full, OnZoomExtents)
             {
                 ToolTipText = Properties.Resources.TextZoomExtents,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.SelectTool = new ToolStripButton("", Properties.Resources.select_features, OnSelect)
+            this.SelectTool = new ToolStripButton(string.Empty, Properties.Resources.select_features, OnSelect)
             {
                 ToolTipText = Properties.Resources.TextSelect,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.Pan = new ToolStripButton("", Properties.Resources.icon_pan, OnPan)
+            this.Pan = new ToolStripButton(string.Empty, Properties.Resources.icon_pan, OnPan)
             {
                 ToolTipText = Properties.Resources.TextPan,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.ClearSelection = new ToolStripButton("", Properties.Resources.select_clear, OnClearSelection)
+            this.ClearSelection = new ToolStripButton(string.Empty, Properties.Resources.select_clear, OnClearSelection)
             {
                 ToolTipText = Properties.Resources.TextClearSelection,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.RefreshMap = new ToolStripButton("", Properties.Resources.view_refresh, OnRefreshMap)
+            this.RefreshMap = new ToolStripButton(string.Empty, Properties.Resources.view_refresh, OnRefreshMap)
             {
                 ToolTipText = Properties.Resources.TextRefreshMap,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
@@ -80,23 +81,23 @@
                 ToolTipText = Properties.Resources.TextDisableTooltips,
                 DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
             };
-            this.Loading = new ToolStripButton("", Properties.Resources.icon_loading)
+            this.Loading = new ToolStripButton(string.Empty, Properties.Resources.icon_loading)
             {
                 Alignment = ToolStripItemAlignment.Right,
                 ImageScaling = ToolStripItemImageScaling.None,
                 Visible = false
             };
-            this.SelectPolygon = new ToolStripButton("", Properties.Resources.select_polygon, OnSelectPolygon)
+            this.SelectPolygon = new ToolStripButton(string.Empty, Properties.Resources.select_polygon, OnSelectPolygon)
             {
                 ToolTipText = Properties.Resources.TextSelectPolygon,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.SelectRadius = new ToolStripButton("", Properties.Resources.select_radius, OnSelectRadius)
+            this.SelectRadius = new ToolStripButton(string.Empty, Properties.Resources.select_radius, OnSelectRadius)
             {
                 ToolTipText = Properties.Resources.TextSelectRadius,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
             };
-            this.CopyMap = new ToolStripButton("", Properties.Resources.edit_copy, OnCopyMap)
+            this.CopyMap = new ToolStripButton(string.Empty, Properties.Resources.edit_copy, OnCopyMap)
             {
                 ToolTipText = Properties.Resources.TextCopyMap,
                 DisplayStyle = ToolStripItemDisplayStyle.Image
@@ -246,7 +247,7 @@
 
             _viewer.DigitizeCircle((x, y, r) =>
             {
-                _viewer.SelectByWkt(MakeWktCircle(x, y, r), -1);
+                _viewer.SelectByWkt(Utility.MakeWktCircle(x, y, r), -1);
             });
         }
 
@@ -271,7 +272,7 @@
             });
         }
 
-        internal ToolStripButton RefreshMap { get; private set; }
+        internal ToolStripButton RefreshMap { get; }
 
         private void OnRefreshMap(object sender, EventArgs e)
         {
@@ -281,7 +282,7 @@
             _viewer.RefreshMap();
         }
 
-        internal ToolStripButton ToggleTooltips { get; private set; }
+        internal ToolStripButton ToggleTooltips { get; }
 
         private void OnToggleTooltips(object sender, EventArgs e)
         {
@@ -292,7 +293,7 @@
             TooltipStateChanged();
         }
 
-        internal ToolStripButton CopyMap { get; private set; }
+        internal ToolStripButton CopyMap { get; }
 
         private void OnCopyMap(object sender, EventArgs e)
         {
@@ -330,7 +331,7 @@
 
         private void OnViewerPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "IsBusy")
+            if (e.PropertyName == nameof(_viewer.IsBusy))
             {
                 var busy = _viewer.IsBusy;
                 this.ZoomExtents.Enabled = this.ZoomIn.Enabled
@@ -345,21 +346,11 @@
                                          = this.RefreshMap.Enabled = !busy;
                 this.Loading.Visible = busy;
             }
-            else if (e.PropertyName == "ActiveTool" || e.PropertyName == "DigitizingType")
+            else if (e.PropertyName == nameof(_viewer.ActiveTool) || e.PropertyName == nameof(_viewer.DigitizingType))
             {
                 UpdateButtonCheckedState();
             }
         }
-
-        private static string MakeWktPolygon(double x1, double y1, double x2, double y2)
-        {
-            return "POLYGON((" + x1 + " " + y1 + ", " + x2 + " " + y1 + ", " + x2 + " " + y2 + ", " + x1 + " " + y2 + ", " + x1 + " " + y1 + "))";
-        }
-
-        private static string MakeWktCircle(double x, double y, double r)
-        {
-            return "CURVEPOLYGON ((" + (x - r) + " " + y + " (CIRCULARARCSEGMENT (" + x + " " + (y - r) + ", " + (x + r) + " " + y + "), CIRCULARARCSEGMENT (" + x + " " + (y + r) + ", " + (x - r) + " " + y + "))))";
-        }
     }
 
     /// <summary>

Modified: trunk/Tools/Maestro/Maestro.MapViewer/Legend.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.MapViewer/Legend.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.MapViewer/Legend.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -43,14 +43,14 @@
     /// </summary>
     public partial class Legend : UserControl, INotifyPropertyChanged
     {
-        private const string IMG_BROKEN = "lc_broken";
-        private const string IMG_DWF = "lc_dwf";
-        private const string IMG_GROUP = "lc_group";
-        private const string IMG_RASTER = "lc_raster";
-        private const string IMG_SELECT = "lc_select";
-        private const string IMG_THEME = "lc_theme";
-        private const string IMG_UNSELECT = "lc_unselect";
-        private const string IMG_OTHER = "icon_etc";
+        private const string lc_broken = nameof(lc_broken);
+        private const string lc_dwf = nameof(lc_dwf);
+        private const string lc_group = nameof(lc_group);
+        private const string lc_raster = nameof(lc_raster);
+        private const string lc_select = nameof(lc_select);
+        private const string lc_theme = nameof(lc_theme);
+        private const string lc_unselect = nameof(lc_unselect);
+        private const string icon_etc = nameof(icon_etc);
 
         private RuntimeMap _map;
 
@@ -103,7 +103,7 @@
 
         private void OnViewerPropertyChanged(object sender, PropertyChangedEventArgs e)
         {
-            if (e.PropertyName == "IsBusy")
+            if (e.PropertyName == nameof(_viewer.IsBusy))
             {
                 Action<bool> set = (value) => { this.Enabled = value; };
                 if (this.InvokeRequired)
@@ -119,20 +119,11 @@
             _presenter = new LegendControlPresenter(this, _map);
         }
 
-        private void OnMapRefreshing(object sender, EventArgs e)
-        {
-            this.RefreshLegend();
-        }
+        private void OnMapRefreshing(object sender, EventArgs e) => this.RefreshLegend();
 
-        internal bool GetVisibilityFlag(RuntimeMapGroup group)
-        {
-            return this.ShowAllLayersAndGroups;
-        }
+        internal bool GetVisibilityFlag(RuntimeMapGroup group) => this.ShowAllLayersAndGroups;
 
-        internal bool GetVisibilityFlag(RuntimeMapLayer layer)
-        {
-            return layer.IsVisibleAtScale(_map.ViewScale);
-        }
+        internal bool GetVisibilityFlag(RuntimeMapLayer layer) => layer.IsVisibleAtScale(_map.ViewScale);
 
         private LegendControlPresenter _presenter;
 
@@ -173,7 +164,7 @@
                     return;
 
                 _busy = value;
-                Trace.TraceInformation("Legend IsBusy: {0}", this.IsBusy);
+                Trace.TraceInformation($"Legend IsBusy: {this.IsBusy}"); //NOXLATE
                 OnPropertyChanged(nameof(IsBusy));
             }
         }
@@ -183,17 +174,9 @@
         /// </summary>
         public event PropertyChangedEventHandler PropertyChanged;
 
-        private void OnPropertyChanged(string propertyName)
-        {
-            var h = this.PropertyChanged;
-            if (h != null)
-                h(this, new PropertyChangedEventArgs(propertyName));
-        }
+        private void OnPropertyChanged(string propertyName) => this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
 
-        private void bgLegendUpdate_DoWork(object sender, DoWorkEventArgs e)
-        {
-            e.Result = _presenter.CreateNodes();
-        }
+        private void bgLegendUpdate_DoWork(object sender, DoWorkEventArgs e) => e.Result = _presenter.CreateNodes();
 
         private void bgLegendUpdate_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
         {
@@ -214,7 +197,7 @@
             }
             trvLegend.EndUpdate();
             _legendUpdateStopwatch.Stop();
-            Trace.TraceInformation("RefreshLegend: Completed in {0}ms", _legendUpdateStopwatch.ElapsedMilliseconds);
+            Trace.TraceInformation($"RefreshLegend: Completed in {_legendUpdateStopwatch.ElapsedMilliseconds}ms"); //NOXLATE
             _legendUpdateStopwatch.Reset();
         }
 
@@ -252,7 +235,7 @@
         /// <summary>
         /// Gets the selected node of the legend control
         /// </summary>
-        public TreeNode SelectedNode { get { return trvLegend.SelectedNode; } }
+        public TreeNode SelectedNode => trvLegend.SelectedNode;
 
         private static void ClearNodes(TreeNodeCollection nodes)
         {
@@ -268,14 +251,14 @@
         {
             imgLegend.Images.Clear();
 
-            imgLegend.Images.Add(IMG_BROKEN, Properties.Resources.lc_broken);
-            imgLegend.Images.Add(IMG_DWF, Properties.Resources.lc_dwf);
-            imgLegend.Images.Add(IMG_GROUP, Properties.Resources.lc_group);
-            imgLegend.Images.Add(IMG_RASTER, Properties.Resources.lc_raster);
-            imgLegend.Images.Add(IMG_SELECT, Properties.Resources.lc_select);
-            imgLegend.Images.Add(IMG_THEME, Properties.Resources.lc_theme);
-            imgLegend.Images.Add(IMG_UNSELECT, Properties.Resources.lc_unselect);
-            imgLegend.Images.Add(IMG_OTHER, Properties.Resources.icon_etc);
+            imgLegend.Images.Add(lc_broken, Properties.Resources.lc_broken);
+            imgLegend.Images.Add(lc_dwf, Properties.Resources.lc_dwf);
+            imgLegend.Images.Add(lc_group, Properties.Resources.lc_group);
+            imgLegend.Images.Add(lc_raster, Properties.Resources.lc_raster);
+            imgLegend.Images.Add(lc_select, Properties.Resources.lc_select);
+            imgLegend.Images.Add(lc_theme, Properties.Resources.lc_theme);
+            imgLegend.Images.Add(lc_unselect, Properties.Resources.lc_unselect);
+            imgLegend.Images.Add(icon_etc, Properties.Resources.icon_etc);
         }
 
         private double _scale;
@@ -369,16 +352,9 @@
 
         private bool _noUpdate = false;
 
-        internal void OnRequestRefresh()
-        {
-            if (this.Viewer != null)
-                this.Viewer.RefreshMap();
-        }
+        internal void OnRequestRefresh() => this.Viewer?.RefreshMap();
 
-        private void trvLegend_DrawNode(object sender, DrawTreeNodeEventArgs e)
-        {
-            _presenter.DrawNode(e, trvLegend.ShowPlusMinus, trvLegend.Font);
-        }
+        private void trvLegend_DrawNode(object sender, DrawTreeNodeEventArgs e) => _presenter.DrawNode(e, trvLegend.ShowPlusMinus, trvLegend.Font);
 
         private ContextMenuStrip _grpContextMenu;
 
@@ -535,9 +511,7 @@
 
         private void trvLegend_AfterSelect(object sender, TreeViewEventArgs e)
         {
-            var h = this.NodeSelected;
-            if (h != null)
-                h(this, e.Node);
+            this.NodeSelected?.Invoke(this, e.Node);
         }
 
         /// <summary>
@@ -559,16 +533,8 @@
         /// <param name="x"></param>
         /// <param name="y"></param>
         /// <returns></returns>
-        public TreeNode GetNodeAt(int x, int y)
-        {
-            return trvLegend.GetNodeAt(x, y);
-        }
+        public TreeNode GetNodeAt(int x, int y) => trvLegend.GetNodeAt(x, y);
 
-        private void trvLegend_ItemDrag(object sender, ItemDragEventArgs e)
-        {
-            var h = this.ItemDrag;
-            if (h != null)
-                h(this, e);
-        }
+        private void trvLegend_ItemDrag(object sender, ItemDragEventArgs e) => this.ItemDrag?.Invoke(this, e);
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.MapViewer/MapViewer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.MapViewer/MapViewer.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/Maestro.MapViewer/MapViewer.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -2081,12 +2081,7 @@
                 OnPropertyChanged(nameof(ZoomOutFactor));
             }
         }
-
-        private static string MakeWktPolygon(double x1, double y1, double x2, double y2)
-        {
-            return "POLYGON((" + x1 + " " + y1 + ", " + x2 + " " + y1 + ", " + x2 + " " + y2 + ", " + x1 + " " + y2 + ", " + x1 + " " + y1 + "))";
-        }
-
+        
         private int? _lastTooltipX;
         private int? _lastTooltipY;
 
@@ -2115,7 +2110,7 @@
             var pt2 = ScreenToMapUnits(x + this.PointPixelBuffer, y + this.PointPixelBuffer);
             //Unlike mg-desktop, this is actually easy API-wise
             var res = _map.QueryMapFeatures(
-                MakeWktPolygon(pt1.X, pt1.Y, pt2.X, pt2.Y),
+                Utility.MakeWktPolygon(pt1.X, pt1.Y, pt2.X, pt2.Y),
                 1,
                 false,
                 "INTERSECTS",
@@ -2151,7 +2146,7 @@
         {
             foreach (var prop in cls.Properties)
             {
-                if (prop.Type == OSGeo.MapGuide.MaestroAPI.Schema.PropertyDefinitionType.Raster)
+                if (prop.Type == PropertyDefinitionType.Raster)
                     return true;
             }
             return false;
@@ -2168,7 +2163,7 @@
         /// Gets the current buffered image
         /// </summary>
         /// <returns></returns>
-        public System.Drawing.Image GetCurrentImage()
+        public Image GetCurrentImage()
         {
             var bmp = new Bitmap(this.Width, this.Height);
             this.DrawToBitmap(bmp, this.ClientRectangle);
@@ -2178,10 +2173,7 @@
         /// <summary>
         /// Copies the image of the current map to the clipboard
         /// </summary>
-        public void CopyMap()
-        {
-            Clipboard.SetImage(this.GetCurrentImage());
-        }
+        public void CopyMap() => Clipboard.SetImage(this.GetCurrentImage());
 
         /// <summary>
         /// Selects features from all selectable layers that intersects the given geometry
@@ -2199,10 +2191,10 @@
             var sw = new Stopwatch();
             sw.Start();
 #endif
-            _map.QueryMapFeatures(wkt, maxFeatures, true, "INTERSECTS", CreateQueryOptionsForSelection());
+            _map.QueryMapFeatures(wkt, maxFeatures, true, "INTERSECTS", CreateQueryOptionsForSelection()); //NOXLATE
 #if TRACE
             sw.Stop();
-            Trace.TraceInformation("Selection processing completed in {0}ms", sw.ElapsedMilliseconds);
+            Trace.TraceInformation($"Selection processing completed in {sw.ElapsedMilliseconds}ms"); //NOXLATE
 #endif
 
             RenderSelection(true); //This is either async or queued up. Either way do this before firing off selection changed
@@ -2320,8 +2312,8 @@
 
             delayRenderTimer.Stop();
             delayRenderTimer.Start();
-            Trace.TraceInformation("Postponed delay render");
-            Trace.TraceInformation("Mouse delta: " + e.Delta + " (" + (e.Delta > 0 ? "Zoom in" : "Zoom out") + ")");
+            Trace.TraceInformation("Postponed delay render"); //NOXLATE
+            Trace.TraceInformation($"Mouse delta: {e.Delta} ({(e.Delta > 0 ? "Zoom in" : "Zoom out")})"); //NOXLATE
             //Negative delta = zoom out, Positive delta = zoom in
             //deltas are in units of 120, so treat each multiple of 120 as a "zoom unit"
 
@@ -2349,7 +2341,7 @@
                 Invalidate();
             }
 
-            Trace.TraceInformation("Delta units is: " + mouseWheelDelta);
+            Trace.TraceInformation($"Delta units is: {mouseWheelDelta}"); //NOXLATE
 
             //Completely ripped the number crunching here from the AJAX viewer with no sense of shame whatsoever :)
             delayRenderScale = GetNewScale(_map.ViewScale, mouseWheelDelta.Value);
@@ -2377,7 +2369,7 @@
             mouseWheelSx = (float)(w / (double)this.Width);
             mouseWheelSy = (float)(h / (double)this.Height);
 
-            Trace.TraceInformation("Paint transform (tx: " + mouseWheelTx + ", ty: " + mouseWheelTy + ", sx: " + mouseWheelSx + ", sy: " + mouseWheelSy + ")");
+            Trace.TraceInformation($"Paint transform (tx: {mouseWheelTx}, ty: {mouseWheelTy}, sx: {mouseWheelSx}, sy: {mouseWheelSy})"); //NOXLATE
         }
 
         private static double GetMetersPerPixel(int dpi)
@@ -2424,8 +2416,8 @@
 
         private void OnDelayRender(object sender, System.Timers.ElapsedEventArgs e)
         {
-            Trace.TraceInformation("Delay rendering");
-            Trace.TraceInformation("Set new map coordinates to (" + delayRenderViewCenter.Value.X + ", " + delayRenderViewCenter.Value.Y + " at " + delayRenderScale.Value + ")");
+            Trace.TraceInformation("Delay rendering"); //NOXLATE
+            Trace.TraceInformation($"Set new map coordinates to ({delayRenderViewCenter.Value.X }, {delayRenderViewCenter.Value.Y} at {delayRenderScale.Value})"); //NOXLATE
             ResetMouseWheelPaintTransforms();
             MethodInvoker action = () => { ZoomToView(delayRenderViewCenter.Value.X, delayRenderViewCenter.Value.Y, delayRenderScale.Value, true); };
             if (this.InvokeRequired)
@@ -2443,7 +2435,7 @@
             mouseWheelTx = null;
             mouseWheelTy = null;
             mouseWheelDelta = 0;
-            Trace.TraceInformation("Mouse wheel paint transform reset");
+            Trace.TraceInformation("Mouse wheel paint transform reset"); //NOXLATE
         }
 
         private void HandleMouseClick(MouseEventArgs e)
@@ -2538,7 +2530,7 @@
                                 Math.Max(mapPt1.X, mapPt2.X),
                                 Math.Max(mapPt1.Y, mapPt2.Y));
 
-                            SelectByWkt(MakeWktPolygon(env.MinX, env.MinY, env.MaxX, env.MaxY), 1);
+                            SelectByWkt(Utility.MakeWktPolygon(env.MinX, env.MinY, env.MaxX, env.MaxY), 1);
                         }
                         break;
                     case MapActiveTool.ZoomIn:
@@ -2570,20 +2562,20 @@
             if (e.Button == MouseButtons.Left)
             {
                 dragStart = e.Location;
-                Trace.TraceInformation("Drag started at (" + dragStart.X + ", " + dragStart.Y + ")");
+                Trace.TraceInformation($"Drag started at ({dragStart.X}, {dragStart.Y})"); //NOXLATE
 
                 switch (this.ActiveTool)
                 {
                     case MapActiveTool.Pan:
-                        Trace.TraceInformation("START PANNING");
+                        Trace.TraceInformation("START PANNING"); //NOXLATE
                         break;
 
                     case MapActiveTool.Select:
-                        Trace.TraceInformation("START SELECT");
+                        Trace.TraceInformation("START SELECT"); //NOXLATE
                         break;
 
                     case MapActiveTool.ZoomIn:
-                        Trace.TraceInformation("START ZOOM");
+                        Trace.TraceInformation("START ZOOM"); //NOXLATE
                         break;
                 }
             }
@@ -2741,7 +2733,7 @@
                             double mdy = coord.Y - pt.Y;
 
                             ZoomToView(coord.X, coord.Y, _map.ViewScale, true);
-                            Trace.TraceInformation("END PANNING");
+                            Trace.TraceInformation("END PANNING"); //NOXLATE
                         }
                         break;
                     case MapActiveTool.Select:
@@ -2753,7 +2745,7 @@
                                 Math.Min(mapPt.Y, mapDragPt.Y),
                                 Math.Max(mapPt.X, mapDragPt.X),
                                 Math.Max(mapPt.Y, mapDragPt.Y));
-                            SelectByWkt(MakeWktPolygon(env.MinX, env.MinY, env.MaxX, env.MaxY), -1);
+                            SelectByWkt(Utility.MakeWktPolygon(env.MinX, env.MinY, env.MaxX, env.MaxY), -1);
                         }
                         break;
                     case MapActiveTool.ZoomIn:
@@ -2782,12 +2774,7 @@
             }
         }
 
-        private void OnMouseMapPositionChanged(double x, double y)
-        {
-            var handler = this.MouseMapPositionChanged;
-            if (handler != null)
-                handler(this, new MapPointEventArgs(x, y));
-        }
+        private void OnMouseMapPositionChanged(double x, double y) => this.MouseMapPositionChanged.Invoke(this, new MapPointEventArgs(x, y));
 
         /// <summary>
         /// Raised when the map cursor position has changed
@@ -2868,10 +2855,7 @@
         /// <param name="x">The x.</param>
         /// <param name="y">The y.</param>
         /// <returns></returns>
-        public PointF ScreenToMapUnits(double x, double y)
-        {
-            return ScreenToMapUnits(x, y, false);
-        }
+        public PointF ScreenToMapUnits(double x, double y) => ScreenToMapUnits(x, y, false);
 
         private PointF ScreenToMapUnits(double x, double y, bool allowOutsideWindow)
         {
@@ -2902,12 +2886,7 @@
         /// <param name="name">The name.</param>
         protected void OnPropertyChanged(string name)
         {
-            Action action = () =>
-            {
-                var handler = this.PropertyChanged;
-                if (handler != null)
-                    handler(this, new PropertyChangedEventArgs(name));
-            };
+            Action action = () => this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
             if (this.InvokeRequired)
                 this.Invoke(action);
             else
@@ -2917,7 +2896,7 @@
         /// <summary>
         /// Gets whether this viewer has a loaded map
         /// </summary>
-        public bool HasLoadedMap { get { return _map != null; } }
+        public bool HasLoadedMap => _map != null;
 
         private bool? _hasTiledLayers;
 

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -86,9 +86,7 @@
             if (_disableChangeTracking)
                 return;
 
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new PropertyChangedEventArgs(propertyName));
+            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
         }
 
         /// <summary>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -54,6 +54,27 @@
     public static class Utility
     {
         /// <summary>
+        /// Creates the polygon WKT for the given bounding box
+        /// </summary>
+        /// <param name="x1"></param>
+        /// <param name="y1"></param>
+        /// <param name="x2"></param>
+        /// <param name="y2"></param>
+        /// <returns></returns>
+        public static string MakeWktPolygon(double x1, double y1, double x2, double y2)
+            => $"POLYGON(({x1} {y1}, {x2} {y1}, {x2} {y2}, {x1} {y2}, {x1} {y1}))"; //NOXLATE
+
+        /// <summary>
+        /// Creates the WKT for the given circle
+        /// </summary>
+        /// <param name="x"></param>
+        /// <param name="y"></param>
+        /// <param name="r"></param>
+        /// <returns></returns>
+        public static string MakeWktCircle(double x, double y, double r)
+            => $"CURVEPOLYGON (({(x - r)} {y} (CIRCULARARCSEGMENT ({x} {(y - r)}, {(x + r)} {y}), CIRCULARARCSEGMENT ({x} {(y + r)}, {(x - r)} {y}))))"; //NOXLATE
+
+        /// <summary>
         /// The exception data key that hints that an <see cref="T:System.Exception"/> thrown is related to XML content errors
         /// </summary>
         public const string XML_EXCEPTION_KEY = "XmlError"; //NOXLATE
@@ -63,20 +84,14 @@
         /// </summary>
         /// <param name="ex"></param>
         /// <returns></returns>
-        public static bool IsDbXmlError(Exception ex)
-        {
-            return ex.Message.Contains("MgDbXmlException") || ex.Message.Contains("MgXmlParserException"); //NOXLATE
-        }
+        public static bool IsDbXmlError(Exception ex) => ex.Message.Contains("MgDbXmlException") || ex.Message.Contains("MgXmlParserException"); //NOXLATE
 
         /// <summary>
         /// Gets whether the given exception has original xml content attached
         /// </summary>
         /// <param name="ex"></param>
         /// <returns></returns>
-        public static bool HasOriginalXml(Exception ex)
-        {
-            return ex.Data[XML_EXCEPTION_KEY] != null;
-        }
+        public static bool HasOriginalXml(Exception ex) => ex.Data[XML_EXCEPTION_KEY] != null;
 
         //Americans NEVER obey nationalization when outputting decimal values, so the rest of the world always have to work around their bugs :(
         private static System.Globalization.CultureInfo m_enCI = new System.Globalization.CultureInfo("en-US"); //NOXLATE
@@ -127,11 +142,7 @@
         /// </summary>
         /// <param name="sResult"></param>
         /// <returns></returns>
-        public static bool IsSuccessfulConnectionTestResult(string sResult)
-        {
-            //LocalNativeConnection returns this string, so I'm assuming this is the "success" result
-            return (sResult == "No errors" || sResult.ToLower() == "true"); //NOXLATE
-        }
+        public static bool IsSuccessfulConnectionTestResult(string sResult) => (sResult == "No errors" || sResult.ToLower() == "true"); //NOXLATE
 
         /// <summary>
         /// Parses a color in HTML notation (ea. #ffaabbff)
@@ -273,30 +284,21 @@
         /// </summary>
         /// <param name="digit">The string value</param>
         /// <returns>The parsed value</returns>
-        public static float ParseDigit(string digit)
-        {
-            return (float)double.Parse(digit, m_enCI);
-        }
+        public static float ParseDigit(string digit) => (float)double.Parse(digit, m_enCI);
 
         /// <summary>
         /// Turns a decimal value into a string representation in EN-US format
         /// </summary>
         /// <param name="digit">The value to encode</param>
         /// <returns>The encoded value</returns>
-        public static string SerializeDigit(float digit)
-        {
-            return digit.ToString(m_enCI);
-        }
+        public static string SerializeDigit(float digit) => digit.ToString(m_enCI);
 
         /// <summary>
         /// Turns a decimal value into a string representation in EN-US format
         /// </summary>
         /// <param name="digit">The value to encode</param>
         /// <returns>The encoded value</returns>
-        public static string SerializeDigit(double digit)
-        {
-            return digit.ToString(m_enCI);
-        }
+        public static string SerializeDigit(double digit) => digit.ToString(m_enCI);
 
         /// <summary>
         /// Copies the content of a stream into another stream.
@@ -304,10 +306,7 @@
         /// </summary>
         /// <param name="source">The source stream</param>
         /// <param name="target">The target stream</param>
-        public static void CopyStream(System.IO.Stream source, System.IO.Stream target)
-        {
-            CopyStream(source, target, true);
-        }
+        public static void CopyStream(System.IO.Stream source, System.IO.Stream target) => CopyStream(source, target, true);
 
         /// <summary>
         /// Copies the content of a stream into another stream.
@@ -592,26 +591,17 @@
         /// <summary>
         /// Returns a type used to define an unknown column type in a feature reader
         /// </summary>
-        public static Type UnmappedType
-        {
-            get { return typeof(UnmappedDataType); }
-        }
+        public static Type UnmappedType => typeof(UnmappedDataType);
 
         /// <summary>
         /// Returns a type used to define a raster column in a feature reader
         /// </summary>
-        public static Type RasterType
-        {
-            get { return typeof(System.Drawing.Bitmap); }
-        }
+        public static Type RasterType => typeof(System.Drawing.Bitmap);
 
         /// <summary>
         /// Returns the type used to define a geometry column in a feature reader
         /// </summary>
-        public static Type GeometryType
-        {
-            get { return typeof(IGeometry); }
-        }
+        public static Type GeometryType => typeof(IGeometry);
 
         /// <summary>
         /// This method tries to extract the html content of a WebException.
@@ -697,7 +687,7 @@
                 return string.Format("{0} bytes", size); //NOXLATE
         }
 
-        private static Regex EncRegExp = new System.Text.RegularExpressions.Regex(@"(\-x[0-2a-fA-F][0-9a-fA-F]\-)|(\-dot\-)|(\-colon\-)", System.Text.RegularExpressions.RegexOptions.Compiled);
+        private static Regex EncRegExp = new Regex(@"(\-x[0-2a-fA-F][0-9a-fA-F]\-)|(\-dot\-)|(\-colon\-)", System.Text.RegularExpressions.RegexOptions.Compiled);
 
         private static Regex TokenRegex = new Regex("^x[0-9a-fA-F][0-9a-fA-F]", RegexOptions.Compiled);
 
@@ -898,28 +888,36 @@
         /// </summary>
         /// <param name="item">The xml item to examine</param>
         /// <returns>A list with all found elements</returns>
-        public static List<KeyValuePair<System.Xml.XmlNode, string>> GetResourceIdPointers(System.Xml.XmlNode item)
+        public static List<KeyValuePair<XmlNode, string>> GetResourceIdPointers(System.Xml.XmlNode item)
         {
-            Queue<System.Xml.XmlNode> lst = new Queue<System.Xml.XmlNode>();
-            List<KeyValuePair<System.Xml.XmlNode, string>> res = new List<KeyValuePair<System.Xml.XmlNode, string>>();
+            var lst = new Queue<XmlNode>();
+            var res = new List<KeyValuePair<XmlNode, string>>();
 
             lst.Enqueue(item);
 
             while (lst.Count > 0)
             {
-                System.Xml.XmlNode n = lst.Dequeue();
+                XmlNode n = lst.Dequeue();
 
-                foreach (System.Xml.XmlNode nx in n.ChildNodes)
-                    if (nx.NodeType == System.Xml.XmlNodeType.Element)
+                foreach (XmlNode nx in n.ChildNodes)
+                {
+                    if (nx.NodeType == XmlNodeType.Element)
                         lst.Enqueue(nx);
+                }
 
                 if (n.Name == "ResourceId") //NOXLATE
-                    res.Add(new KeyValuePair<System.Xml.XmlNode, string>(n, n.InnerXml));
+                {
+                    res.Add(new KeyValuePair<XmlNode, string>(n, n.InnerXml));
+                }
 
                 if (n.Attributes != null)
-                    foreach (System.Xml.XmlAttribute a in n.Attributes)
+                {
+                    foreach (XmlAttribute a in n.Attributes)
+                    {
                         if (a.Name == "ResourceId") //NOXLATE
-                            res.Add(new KeyValuePair<System.Xml.XmlNode, string>(a, a.Value));
+                            res.Add(new KeyValuePair<XmlNode, string>(a, a.Value));
+                    }
+                }
             }
 
             return res;
@@ -1279,10 +1277,7 @@
         /// </summary>
         /// <param name="str"></param>
         /// <returns></returns>
-        public static string FdoStringifiyLiteral(string str)
-        {
-            return "'" + str + "'"; //NOXLATE
-        }
+        public static string FdoStringifiyLiteral(string str) => $"'{str}'"; //NOXLATE
 
         /// <summary>
         /// Returns the list of known FDO stylization expression functions
@@ -1576,28 +1571,20 @@
         }
 
         public static ISimpleSymbolDefinition CreateSimpleSymbol(IServerConnection conn, string name, string description)
-        {
-            return ObjectFactory.CreateSimpleSymbol(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.SymbolDefinition.ToString()), name, description);
-        }
-
+            => ObjectFactory.CreateSimpleSymbol(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.SymbolDefinition.ToString()), name, description);
+        
         public static IMapDefinition CreateMapDefinition(IServerConnection conn, string name)
-        {
-            return ObjectFactory.CreateMapDefinition(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.MapDefinition.ToString()), name);
-        }
-
+            => ObjectFactory.CreateMapDefinition(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.MapDefinition.ToString()), name);
+        
         public static IMapDefinition CreateMapDefinition(IServerConnection conn, string name, string csWkt, ObjectModels.Common.IEnvelope extent)
-        {
-            return ObjectFactory.CreateMapDefinition(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.MapDefinition.ToString()),
+            => ObjectFactory.CreateMapDefinition(conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.MapDefinition.ToString()),
                                                      name,
                                                      csWkt,
                                                      extent);
-        }
 
         public static ILayerDefinition CreateDefaultLayer(IServerConnection conn, LayerType layerType)
-        {
-            return ObjectFactory.CreateDefaultLayer(layerType, conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.LayerDefinition.ToString()));
-        }
-
+            => ObjectFactory.CreateDefaultLayer(layerType, conn.Capabilities.GetMaxSupportedResourceVersion(ResourceTypes.LayerDefinition.ToString()));
+        
         public static IApplicationDefinition CreateFlexibleLayout(IServerConnection conn, string templateName)
         {
             Check.ThatPreconditionIsMet(Array.IndexOf(conn.Capabilities.SupportedServices, (int)ServiceType.Fusion) >= 0, "Required Fusion service not supported on this connection");

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_2_0/VectorLayerDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_2_0/VectorLayerDefinitionImpl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_2_0/VectorLayerDefinitionImpl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -2293,9 +2293,7 @@
 
         private void OnPropertyChanged(string name)
         {
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new PropertyChangedEventArgs(name));
+            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
         }
     }
 

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_3_0/VectorLayerDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_3_0/VectorLayerDefinitionImpl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v1_3_0/VectorLayerDefinitionImpl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -2294,9 +2294,7 @@
 
         private void OnPropertyChanged(string name)
         {
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new PropertyChangedEventArgs(name));
+            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
         }
     }
 

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v2_4_0/VectorLayerDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v2_4_0/VectorLayerDefinitionImpl.cs	2015-08-10 14:57:50 UTC (rev 8736)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/LayerDefinition/v2_4_0/VectorLayerDefinitionImpl.cs	2015-08-10 15:52:45 UTC (rev 8737)
@@ -2296,9 +2296,7 @@
 
         private void OnPropertyChanged(string name)
         {
-            var handler = this.PropertyChanged;
-            if (handler != null)
-                handler(this, new PropertyChangedEventArgs(name));
+            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
         }
     }
 



More information about the mapguide-commits mailing list