[mapguide-commits] r5472 - in sandbox/maestro-3.0: Generated Maestro.Base/Editor Maestro.Base/Services/DragDropHandlers Maestro.Base/Templates Maestro.Base/UI Maestro.Editors/Common Maestro.Editors/MapDefinition Maestro.Editors/Properties Maestro.Editors/WebLayout Maestro.Editors/WebLayout/Commands OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI/Commands OSGeo.MapGuide.MaestroAPI/CoordinateSystem OSGeo.MapGuide.MaestroAPI/Expression OSGeo.MapGuide.MaestroAPI/IO OSGeo.MapGuide.MaestroAPI/Mapping OSGeo.MapGuide.MaestroAPI/ObjectModels OSGeo.MapGuide.MaestroAPI/Services

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Dec 11 04:39:25 EST 2010


Author: jng
Date: 2010-12-11 01:39:24 -0800 (Sat, 11 Dec 2010)
New Revision: 5472

Removed:
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/FileBufferedStreamReader.cs
Modified:
   sandbox/maestro-3.0/Generated/Envelope-1.0.0.designer.cs
   sandbox/maestro-3.0/Generated/LayerDefinition-1.0.0.designer.cs
   sandbox/maestro-3.0/Generated/UnmanagedDataList-1.0.0.designer.cs
   sandbox/maestro-3.0/Maestro.Base/Editor/ResourcePreviewEngine.cs
   sandbox/maestro-3.0/Maestro.Base/Services/DragDropHandlers/ShpFileHandler.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/DrawingSourceItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/DwfLoadProcedureItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/FeatureSourceItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/MapDefinitionItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/PrintLayoutItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/RasterLayerDefinitionItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/SdfLoadProcedureItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/ShpLoadProcedureItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/SymbolDefinitionItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/VectorLayerDefinitionItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/Templates/WebLayoutItemTemplate.cs
   sandbox/maestro-3.0/Maestro.Base/UI/ResourcePropertiesDialog.cs
   sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs
   sandbox/maestro-3.0/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
   sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
   sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.Designer.cs
   sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs
   sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.resx
   sandbox/maestro-3.0/Maestro.Editors/WebLayout/MenuEditorCtrl.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Commands/CommandType.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/ActualCoordinateSystem.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/CoordinateSystemBase.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/DegreeBasedCoordinateSystem.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/FeetBasedCoordinateSystem.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/MeterBasedCoordinateSystem.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Enums.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/ExpressionFeatureReader.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/FdoFunctionNamespace.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/MgFunctionNamespace.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/ReadOnlyRewindableStream.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapSelection.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapGroup.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Envelope.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Geometries.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/MapDefinitionInterfaces.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/UntypedResource.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/PlatformConnectionBase.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IMappingService.cs
Log:
3.0 sandbox changes:
 - Remove unused Maestro API classes
 - Add missing documentation for public APIs
 - #1562: Fix up loose ends in the Web Layout editor

Modified: sandbox/maestro-3.0/Generated/Envelope-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/Envelope-1.0.0.designer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Generated/Envelope-1.0.0.designer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1,4 +1,4 @@
-#pragma warning disable 1591, 0114, 0108
+#pragma warning disable 1591, 0114, 0108, 0472
 // ------------------------------------------------------------------------------
 //  <auto-generated>
 //    Generated by Xsd2Code. Version 3.3.0.33001

Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.0.0.designer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.0.0.designer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1,4 +1,4 @@
-#pragma warning disable 1591, 0114, 0108
+#pragma warning disable 1591, 0114, 0108, 0472
 // ------------------------------------------------------------------------------
 //  <auto-generated>
 //    Generated by Xsd2Code. Version 3.3.0.33001

Modified: sandbox/maestro-3.0/Generated/UnmanagedDataList-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/UnmanagedDataList-1.0.0.designer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Generated/UnmanagedDataList-1.0.0.designer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1,4 +1,4 @@
-#pragma warning disable 1591, 0114, 0108
+#pragma warning disable 1591, 0114, 0108, 0472
 // ------------------------------------------------------------------------------
 //  <auto-generated>
 //    Generated by Xsd2Code. Version 3.3.0.33001

Modified: sandbox/maestro-3.0/Maestro.Base/Editor/ResourcePreviewEngine.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Editor/ResourcePreviewEngine.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Editor/ResourcePreviewEngine.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -30,7 +30,6 @@
 using OSGeo.MapGuide.ObjectModels.WebLayout;
 using OSGeo.MapGuide.MaestroAPI;
 using OSGeo.MapGuide.ObjectModels.ApplicationDefinition;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Editor
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Services/DragDropHandlers/ShpFileHandler.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Services/DragDropHandlers/ShpFileHandler.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Services/DragDropHandlers/ShpFileHandler.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -24,7 +24,6 @@
 using System.IO;
 using ICSharpCode.Core;
 using OSGeo.MapGuide.MaestroAPI.Resource;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Services.DragDropHandlers
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/DrawingSourceItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/DrawingSourceItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/DrawingSourceItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,7 +25,6 @@
 using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/DwfLoadProcedureItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/DwfLoadProcedureItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/DwfLoadProcedureItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -27,7 +27,6 @@
 using OSGeo.MapGuide.ObjectModels;
 using Maestro.Shared.UI;
 using OSGeo.MapGuide.ObjectModels.LoadProcedure;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/FeatureSourceItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/FeatureSourceItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/FeatureSourceItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -26,7 +26,6 @@
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.ObjectModels;
 using Maestro.Editors.Common;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/MapDefinitionItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/MapDefinitionItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/MapDefinitionItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -21,11 +21,10 @@
 using System.Collections.Generic;
 using System.Text;
 using OSGeo.MapGuide.MaestroAPI;
-using OSGeo.MapGuide.MaestroAPI.Services;
-using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.MaestroAPI.Services;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
+using Res = Maestro.Base.Properties.Resources;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/PrintLayoutItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/PrintLayoutItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/PrintLayoutItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,7 +25,6 @@
 using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/RasterLayerDefinitionItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/RasterLayerDefinitionItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/RasterLayerDefinitionItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -24,7 +24,6 @@
 using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/SdfLoadProcedureItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/SdfLoadProcedureItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/SdfLoadProcedureItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -27,7 +27,6 @@
 using OSGeo.MapGuide.ObjectModels;
 using Maestro.Shared.UI;
 using OSGeo.MapGuide.ObjectModels.LoadProcedure;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/ShpLoadProcedureItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/ShpLoadProcedureItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/ShpLoadProcedureItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -27,7 +27,6 @@
 using OSGeo.MapGuide.ObjectModels;
 using Maestro.Shared.UI;
 using OSGeo.MapGuide.ObjectModels.LoadProcedure;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/SymbolDefinitionItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/SymbolDefinitionItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/SymbolDefinitionItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,7 +25,6 @@
 using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/VectorLayerDefinitionItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/VectorLayerDefinitionItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/VectorLayerDefinitionItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -27,7 +27,6 @@
 using OSGeo.MapGuide.ObjectModels;
 using Maestro.Editors.Generic;
 using OSGeo.MapGuide.ObjectModels.LayerDefinition;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Templates/WebLayoutItemTemplate.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Templates/WebLayoutItemTemplate.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/Templates/WebLayoutItemTemplate.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,7 +25,6 @@
 using Res = Maestro.Base.Properties.Resources;
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.ObjectModels;
 
 namespace Maestro.Base.Templates
 {

Modified: sandbox/maestro-3.0/Maestro.Base/UI/ResourcePropertiesDialog.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/UI/ResourcePropertiesDialog.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Base/UI/ResourcePropertiesDialog.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -19,22 +19,21 @@
 #endregion
 using System;
 using System.Collections.Generic;
+using System.Collections.Specialized;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Text;
 using System.Windows.Forms;
+using ICSharpCode.Core;
 using OSGeo.MapGuide.MaestroAPI;
-using OSGeo.MapGuide.ObjectModels.Common;
+using OSGeo.MapGuide.MaestroAPI.Exceptions;
 using OSGeo.MapGuide.MaestroAPI.Resource;
-using System.Collections.Specialized;
+using OSGeo.MapGuide.MaestroAPI.Services;
 using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.MaestroAPI.Exceptions;
-using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.ObjectModels.Common;
 using OSGeo.MapGuide.ObjectModels.FeatureSource;
-using OSGeo.MapGuide.ObjectModels;
-using OSGeo.MapGuide.MaestroAPI.Services;
-using ICSharpCode.Core;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
 
 namespace Maestro.Base.UI
 {

Modified: sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -69,6 +69,43 @@
         }
 
         /// <summary>
+        /// Displays a dialog to select items from an array of items
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="title"></param>
+        /// <param name="prompt"></param>
+        /// <param name="items"></param>
+        /// <param name="displayMember"></param>
+        /// <param name="valueMember"></param>
+        /// <returns></returns>
+        public static T[] SelectItems<T>(string title, string prompt, T[] items, string displayMember, string valueMember) where T : class
+        {
+            var dlg = new GenericItemSelectionDialog();
+            if (!string.IsNullOrEmpty(title))
+                dlg.Text = title;
+            if (!string.IsNullOrEmpty(prompt))
+                dlg.lblPrompt.Text = prompt;
+
+            dlg.lstItems.SelectionMode = SelectionMode.MultiSimple;
+            dlg.lstItems.DataSource = items;
+            if (!string.IsNullOrEmpty(displayMember))
+                dlg.lstItems.DisplayMember = displayMember;
+            if (!string.IsNullOrEmpty(valueMember))
+                dlg.lstItems.ValueMember = valueMember;
+
+            if (dlg.ShowDialog() == DialogResult.OK)
+            {
+                List<T> values = new List<T>();
+                foreach (T item in dlg.lstItems.SelectedItems)
+                {
+                    values.Add(item);
+                }
+                return values.ToArray();
+            }
+            return new T[0];
+        }
+
+        /// <summary>
         /// Displays a dialog to select a string from an array of strings
         /// </summary>
         /// <param name="title"></param>
@@ -92,6 +129,36 @@
             return null;
         }
 
+        /// <summary>
+        /// Displays a dialog to select strings from an array of strings
+        /// </summary>
+        /// <param name="title"></param>
+        /// <param name="prompt"></param>
+        /// <param name="items"></param>
+        /// <returns></returns>
+        public static string[] SelectItems(string title, string prompt, string[] items)
+        {
+            var dlg = new GenericItemSelectionDialog();
+            if (!string.IsNullOrEmpty(title))
+                dlg.Text = title;
+            if (!string.IsNullOrEmpty(prompt))
+                dlg.lblPrompt.Text = prompt;
+
+            dlg.lstItems.SelectionMode = SelectionMode.MultiSimple;
+            dlg.lstItems.DataSource = items;
+
+            if (dlg.ShowDialog() == DialogResult.OK)
+            {
+                List<string> values = new List<string>();
+                foreach (var item in dlg.lstItems.SelectedItems)
+                {
+                    values.Add(item.ToString());
+                }
+                return values.ToArray();
+            }
+            return new string[0];
+        }
+
         private void lstItems_SelectedIndexChanged(object sender, EventArgs e)
         {
             btnOK.Enabled = (lstItems.SelectedItem != null);

Modified: sandbox/maestro-3.0/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -193,8 +193,6 @@
             {
                 //...
                 throw new NotImplementedException();
-
-                this.RefreshModels();
             }
         }
 

Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1570,6 +1570,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Cannot get layers. No map definition specified.
+        /// </summary>
+        internal static string InvokeUrlNoMapDefined {
+            get {
+                return ResourceManager.GetString("InvokeUrlNoMapDefined", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Last Updated: .
         /// </summary>
         internal static string LastUpdated {

Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1064,4 +1064,7 @@
   <data name="ConfirmDeleteResourceData" xml:space="preserve">
     <value>Are you sure you want to delete this resource data?</value>
   </data>
+  <data name="InvokeUrlNoMapDefined" xml:space="preserve">
+    <value>Cannot get layers. No map definition specified</value>
+  </data>
 </root>
\ No newline at end of file

Modified: sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.Designer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.Designer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -31,7 +31,7 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InvokeURLCtrl));
             this.toolStrip1 = new System.Windows.Forms.ToolStrip();
             this.panel1 = new System.Windows.Forms.Panel();
-            this.button1 = new System.Windows.Forms.Button();
+            this.btnBrowseLayers = new System.Windows.Forms.Button();
             this.txtFrame = new System.Windows.Forms.TextBox();
             this.cmbTargetFrame = new System.Windows.Forms.ComboBox();
             this.txtUrl = new System.Windows.Forms.TextBox();
@@ -55,7 +55,7 @@
             // panel1
             // 
             resources.ApplyResources(this.panel1, "panel1");
-            this.panel1.Controls.Add(this.button1);
+            this.panel1.Controls.Add(this.btnBrowseLayers);
             this.panel1.Controls.Add(this.txtFrame);
             this.panel1.Controls.Add(this.cmbTargetFrame);
             this.panel1.Controls.Add(this.txtUrl);
@@ -69,11 +69,12 @@
             this.panel1.Controls.Add(this.label1);
             this.panel1.Name = "panel1";
             // 
-            // button1
+            // btnBrowseLayers
             // 
-            resources.ApplyResources(this.button1, "button1");
-            this.button1.Name = "button1";
-            this.button1.UseVisualStyleBackColor = true;
+            resources.ApplyResources(this.btnBrowseLayers, "btnBrowseLayers");
+            this.btnBrowseLayers.Name = "btnBrowseLayers";
+            this.btnBrowseLayers.UseVisualStyleBackColor = true;
+            this.btnBrowseLayers.Click += new System.EventHandler(this.btnBrowseLayers_Click);
             // 
             // txtFrame
             // 
@@ -165,6 +166,6 @@
         private System.Windows.Forms.TextBox txtFrame;
         private System.Windows.Forms.ComboBox cmbTargetFrame;
         private System.Windows.Forms.TextBox txtUrl;
-        private System.Windows.Forms.Button button1;
+        private System.Windows.Forms.Button btnBrowseLayers;
     }
 }

Modified: sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -26,6 +26,8 @@
 using System.Windows.Forms;
 using OSGeo.MapGuide.ObjectModels.WebLayout;
 using Maestro.Shared.UI;
+using OSGeo.MapGuide.ObjectModels.MapDefinition;
+using Maestro.Editors.Common;
 
 namespace Maestro.Editors.WebLayout.Commands
 {
@@ -100,5 +102,32 @@
         {
             OnResourceChanged();
         }
+
+        private void btnBrowseLayers_Click(object sender, EventArgs e)
+        {
+            var wl = (IWebLayout)_edsvc.GetEditedResource();
+            if (wl.Map == null || string.IsNullOrEmpty(wl.Map.ResourceId))
+            {
+                MessageBox.Show(Properties.Resources.InvokeUrlNoMapDefined);
+                return;
+            }
+
+            var mdf = (IMapDefinition)_edsvc.ResourceService.GetResource(wl.Map.ResourceId);
+            List<string> layers = new List<string>();
+            foreach (var lyr in mdf.MapLayer)
+            {
+                layers.Add(lyr.Name);
+            }
+            var selLayers = GenericItemSelectionDialog.SelectItems(Properties.Resources.SelectLayer, Properties.Resources.SelectLayer, layers.ToArray());
+            if (selLayers.Length > 0)
+            {
+                _cmd.LayerSet.Layer.Clear();
+                foreach (var val in selLayers)
+                {
+                    _cmd.LayerSet.Layer.Add(val);
+                }
+                OnResourceChanged();
+            }
+        }
     }
 }

Modified: sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.resx	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/WebLayout/Commands/InvokeURLCtrl.resx	2010-12-11 09:39:24 UTC (rev 5472)
@@ -118,7 +118,7 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
+    <value>0, 0</value>
   </metadata>
   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
@@ -153,31 +153,31 @@
     <value>True</value>
   </data>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="button1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+  <data name="btnBrowseLayers.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Right</value>
   </data>
-  <data name="button1.Location" type="System.Drawing.Point, System.Drawing">
+  <data name="btnBrowseLayers.Location" type="System.Drawing.Point, System.Drawing">
     <value>261, 264</value>
   </data>
-  <data name="button1.Size" type="System.Drawing.Size, System.Drawing">
+  <data name="btnBrowseLayers.Size" type="System.Drawing.Size, System.Drawing">
     <value>27, 21</value>
   </data>
-  <data name="button1.TabIndex" type="System.Int32, mscorlib">
+  <data name="btnBrowseLayers.TabIndex" type="System.Int32, mscorlib">
     <value>11</value>
   </data>
-  <data name="button1.Text" xml:space="preserve">
+  <data name="btnBrowseLayers.Text" xml:space="preserve">
     <value>...</value>
   </data>
-  <data name="&gt;&gt;button1.Name" xml:space="preserve">
-    <value>button1</value>
+  <data name="&gt;&gt;btnBrowseLayers.Name" xml:space="preserve">
+    <value>btnBrowseLayers</value>
   </data>
-  <data name="&gt;&gt;button1.Type" xml:space="preserve">
+  <data name="&gt;&gt;btnBrowseLayers.Type" xml:space="preserve">
     <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="&gt;&gt;button1.Parent" xml:space="preserve">
+  <data name="&gt;&gt;btnBrowseLayers.Parent" xml:space="preserve">
     <value>panel1</value>
   </data>
-  <data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
+  <data name="&gt;&gt;btnBrowseLayers.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
   <data name="txtFrame.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">

Modified: sandbox/maestro-3.0/Maestro.Editors/WebLayout/MenuEditorCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/WebLayout/MenuEditorCtrl.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/Maestro.Editors/WebLayout/MenuEditorCtrl.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -45,7 +45,7 @@
 
         public override void Bind(IEditorService service)
         {
-            
+            service.RegisterCustomNotifier(this);
         }
 
         protected override void UnsubscribeEventHandlers()
@@ -56,13 +56,15 @@
             base.UnsubscribeEventHandlers();
         }
 
+        private IEditorService _edsvc;
         private IWebLayout _wl;
         private IMenu _rootMenu;
         private MenuTreeModel _model;
 
         public void Bind(IEditorService service, IWebLayout wl, IMenu menu)
         {
-            Bind(service);
+            _edsvc = service;
+            Bind(_edsvc);
             _wl = wl;
             _wl.CommandSet.CustomCommandAdded += OnCustomCommandAdded;
             _wl.CommandSet.CustomCommandRemoved += OnCustomCommandRemoved;
@@ -77,7 +79,7 @@
         {
             var item = _wl.CreateCommandItem(cmd.Name);
             _rootMenu.AddItem(item);
-            _model.Refresh();
+            RefreshModel();
         }
 
         void OnCustomCommandRemoved(ICommand cmd)
@@ -85,7 +87,7 @@
             RemoveCustomCommandEntry(mnuCustom, cmd);
 
             //Might have invalidated (and removed) some menu items, so refresh
-            _model.Refresh();
+            RefreshModel();
         }
 
         void OnCustomCommandAdded(ICommand cmd)
@@ -144,6 +146,7 @@
                 icon = Properties.Resources.question;
 
             ToolStripMenuItem mi = new ToolStripMenuItem(cmd.Name, icon, new EventHandler(OnAddCustomCommand));
+            mi.Text = cmd.Name;
             //Reg property listener
             PropertyChangedEventHandler handler = (sender, e) =>
             {
@@ -184,7 +187,7 @@
                     {
                         _rootMenu.AddItem(ci);
                     }
-                    _model.Refresh();
+                    RefreshModel();
                 }
             }
         }
@@ -214,7 +217,7 @@
                 {
                     _rootMenu.AddItem(ci);
                 }
-                _model.Refresh();
+                RefreshModel();
             }
         }
 
@@ -234,15 +237,20 @@
                 {
                     _rootMenu.AddItem(sep);
                 }
-                _model.Refresh();
             }
             else
             {
                 _rootMenu.AddItem(sep);
-                _model.Refresh();
             }
+            RefreshModel();
         }
 
+        private void RefreshModel()
+        {
+            _model.Refresh();
+            OnResourceChanged();
+        }
+
         private void addFlyout_Click(object sender, EventArgs e)
         {
             var fly = _wl.CreateFlyout(
@@ -263,12 +271,12 @@
                 {
                     _rootMenu.AddItem(fly);
                 }
-                _model.Refresh();
+                RefreshModel();
             }
             else
             {
                 _rootMenu.AddItem(fly);
-                _model.Refresh();
+                RefreshModel();
             }
         }
 
@@ -312,7 +320,7 @@
 
             if (removed > 0)
             {
-                _model.Refresh();
+                RefreshModel();
                 EvaluateCommandState();
             }
         }
@@ -327,7 +335,8 @@
                     var parent = it.Item.Parent ?? _rootMenu;
                     if (parent.MoveUp(it.Item))
                     {
-                        _model.Refresh();
+                        RefreshModel();
+                        RestoreItemSelection(it);
                         EvaluateCommandState();
                     }
                 }
@@ -344,13 +353,34 @@
                     var parent = it.Item.Parent ?? _rootMenu;
                     if (parent.MoveDown(it.Item))
                     {
-                        _model.Refresh();
+                        RefreshModel();
+                        RestoreItemSelection(it);
                         EvaluateCommandState();
                     }
                 }
             }
         }
 
+        private void RestoreItemSelection(ItemBase item)
+        {
+            TreeNodeAdv selectedNode = null;
+            foreach (var node in trvMenuItems.AllNodes)
+            {
+                var it = node.Tag as ItemBase;
+                if (it != null)
+                {
+                    if (it.Item == item.Item)
+                    {
+                        selectedNode = node;
+                        break;
+                    }
+                }
+            }
+
+            if (selectedNode != null)
+                trvMenuItems.SelectedNode = selectedNode;
+        }
+
         private void trvMenuItems_ItemDrag(object sender, ItemDragEventArgs e)
         {
             trvMenuItems.DoDragDrop(((TreeNodeAdv[])e.Item)[0], DragDropEffects.All);
@@ -408,7 +438,7 @@
             {
                 _rootMenu.AddItem(item);
             }
-            _model.Refresh();
+            RefreshModel();
         }
 
         private void trvMenuItems_DragOver(object sender, DragEventArgs e)

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Commands/CommandType.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Commands/CommandType.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Commands/CommandType.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -28,6 +28,9 @@
     /// </summary>
     public enum CommandType : int
     {
+        /// <summary>
+        /// Gets a collection of resource content in a single batch
+        /// </summary>
         GetResourceContents
     }
 }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/ActualCoordinateSystem.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/ActualCoordinateSystem.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/ActualCoordinateSystem.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -6,7 +6,7 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.CoordinateSystem
 {
-    public class ActualCoordinateSystem : MeterBasedCoordinateSystem
+    internal class ActualCoordinateSystem : MeterBasedCoordinateSystem
     {
         private Topology.CoordinateSystems.Transformations.ICoordinateTransformation m_transform;
         private const string XY_M = "LOCAL_CS[\"Non-Earth (Meter)\",LOCAL_DATUM[\"Local Datum\",0],UNIT[\"Meter\", 1],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]]";

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/CoordinateSystemBase.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/CoordinateSystemBase.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/CoordinateSystemBase.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -29,7 +29,7 @@
     /// <summary>
     /// Represents a coordinate system instance
     /// </summary>
-    public abstract class CoordinateSystemBase
+    internal abstract class CoordinateSystemBase
     {
         static ICoordinateSystemFactory _csFact;
 
@@ -71,12 +71,11 @@
                 else if (unit is Topology.CoordinateSystems.ILinearUnit)
                     csb = new MeterBasedCoordinateSystem(((Topology.CoordinateSystems.ILinearUnit)unit).MetersPerUnit, ((Topology.CoordinateSystems.ILinearUnit)unit).MetersPerUnit);
             }
-            return csb;
-
-
+            
             if (csb == null)
                 csb = new MeterBasedCoordinateSystem();
 
+            return csb;
         }
 
         public abstract double MetersPerUnitX { get; }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/DegreeBasedCoordinateSystem.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/DegreeBasedCoordinateSystem.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/DegreeBasedCoordinateSystem.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -23,7 +23,7 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.CoordinateSystem
 {
-    public class DegreeBasedCoordinateSystem : MeterBasedCoordinateSystem
+    internal class DegreeBasedCoordinateSystem : MeterBasedCoordinateSystem
     {
         internal DegreeBasedCoordinateSystem()
             : base(10000000 / 90, 10000000 / 90)

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/FeetBasedCoordinateSystem.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/FeetBasedCoordinateSystem.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/FeetBasedCoordinateSystem.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -23,7 +23,7 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.CoordinateSystem
 {
-    public class FeetBasedCoordinateSystem : MeterBasedCoordinateSystem
+    internal class FeetBasedCoordinateSystem : MeterBasedCoordinateSystem
     {
         internal FeetBasedCoordinateSystem()
             : base(0.3048, 0.3048)

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/MeterBasedCoordinateSystem.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/MeterBasedCoordinateSystem.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/CoordinateSystem/MeterBasedCoordinateSystem.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,7 +25,7 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.CoordinateSystem
 {
-    public class MeterBasedCoordinateSystem : CoordinateSystemBase
+    internal class MeterBasedCoordinateSystem : CoordinateSystemBase
     {
         //Dots pr inch
         protected const double DPI = 96;

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Enums.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Enums.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Enums.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -76,12 +76,27 @@
         SymbolLibrary
 	}
 
+    /// <summary>
+    /// Represents a method involving a resource id
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
     public delegate void ResourceEventHandler(object sender, ResourceEventArgs e);
 
+    /// <summary>
+    /// Contains the resource id
+    /// </summary>
     public class ResourceEventArgs : EventArgs
     {
+        /// <summary>
+        /// Constructor
+        /// </summary>
+        /// <param name="resourceID"></param>
         public ResourceEventArgs(string resourceID) { this.ResourceID = resourceID; }
 
+        /// <summary>
+        /// Gets or sets the resource id
+        /// </summary>
         public string ResourceID { get; set; }
     }
 

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/ExpressionFeatureReader.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/ExpressionFeatureReader.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/ExpressionFeatureReader.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -48,6 +48,7 @@
         /// Initializes a new instance of the <see cref="ExpressionFeatureReader"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
+        /// <param name="ci"></param>
         public ExpressionFeatureReader(FeatureSetReader reader, CultureInfo ci)
             : base()
         {

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/FdoFunctionNamespace.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/FdoFunctionNamespace.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/FdoFunctionNamespace.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -22,6 +22,8 @@
 using System.Text;
 using Topology.Geometries;
 
+#pragma warning disable 1591, 0114, 0108
+
 namespace OSGeo.MapGuide.MaestroAPI.Expression
 {
     /// <summary>

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/MgFunctionNamespace.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/MgFunctionNamespace.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Expression/MgFunctionNamespace.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -21,6 +21,8 @@
 using System.Collections.Generic;
 using System.Text;
 
+#pragma warning disable 1591, 0114, 0108
+
 namespace OSGeo.MapGuide.MaestroAPI.Expression
 {
     /// <summary>

Deleted: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/FileBufferedStreamReader.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/FileBufferedStreamReader.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/FileBufferedStreamReader.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1,317 +0,0 @@
-#region Disclaimer / License
-// Copyright (C) 2009, Kenneth Skovhede
-// http://www.hexad.dk, opensource at hexad.dk
-// 
-// 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
-
-using System;
-using System.IO;
-using System.Threading;
-
-namespace OSGeo.MapGuide.MaestroAPI
-{
-	/// <summary>
-	/// Represents a buffered reader that relays stream data, using a file buffer, thus exhausting the source fast.
-	/// </summary>
-	public class FileBufferedStreamReader
-		: Stream, IDisposable
-	{
-		private object m_sync = new object();
-		private System.Threading.AutoResetEvent m_dataReady;
-		private string m_file;
-		private Stream m_source;
-		private Stream m_buffer;
-		private int m_length;
-
-		private Thread m_reader;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="FileBufferedStreamReader"/> class.
-        /// </summary>
-        /// <param name="source">The source.</param>
-        /// <param name="length">The length.</param>
-		public FileBufferedStreamReader(Stream source, int length)
-		{
-			m_source = source;
-			m_length = length;
-			m_dataReady = new AutoResetEvent(false);
-
-			m_file = System.IO.Path.GetTempFileName();
-			m_buffer = File.Open(m_file, FileMode.Create, FileAccess.ReadWrite, FileShare.None);
-			m_reader = new Thread(new ThreadStart(RunReader));
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, gets a value indicating whether the current stream supports reading.
-        /// </summary>
-        /// <value></value>
-        /// <returns>true if the stream supports reading; otherwise, false.
-        /// </returns>
-		public override bool CanRead { get { return true; } }
-        /// <summary>
-        /// When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
-        /// </summary>
-        /// <value></value>
-        /// <returns>true if the stream supports seeking; otherwise, false.
-        /// </returns>
-		public override bool CanSeek { get { return false; } }
-        /// <summary>
-        /// When overridden in a derived class, gets a value indicating whether the current stream supports writing.
-        /// </summary>
-        /// <value></value>
-        /// <returns>true if the stream supports writing; otherwise, false.
-        /// </returns>
-		public override bool CanWrite { get { return false; } }
-
-        /// <summary>
-        /// When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
-        /// </summary>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-		public override void Flush()
-		{
-		}
-
-        /// <summary>
-        /// Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
-        /// </summary>
-		public override void Close()
-		{
-			base.Close ();
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, gets the length in bytes of the stream.
-        /// </summary>
-        /// <value></value>
-        /// <returns>
-        /// A long value representing the length of the stream in bytes.
-        /// </returns>
-        /// <exception cref="T:System.NotSupportedException">
-        /// A class derived from Stream does not support seeking.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override long Length
-		{
-			get
-			{
-				throw new Exception("Cannot read length of non-seekable stream");
-			}
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, gets or sets the position within the current stream.
-        /// </summary>
-        /// <value></value>
-        /// <returns>
-        /// The current position within the stream.
-        /// </returns>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-        /// <exception cref="T:System.NotSupportedException">
-        /// The stream does not support seeking.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override long Position
-		{
-			get
-			{
-				throw new Exception("Cannot get position of non-seekable stream");
-			}
-			set
-			{
-				throw new Exception("Cannot set position of non-seekable stream");
-			}
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, sets the length of the current stream.
-        /// </summary>
-        /// <param name="value">The desired length of the current stream in bytes.</param>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-        /// <exception cref="T:System.NotSupportedException">
-        /// The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override void SetLength(long value)
-		{
-			throw new Exception("Cannot set length of non-seekable stream");
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, sets the position within the current stream.
-        /// </summary>
-        /// <param name="offset">A byte offset relative to the <paramref name="origin"/> parameter.</param>
-        /// <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin"/> indicating the reference point used to obtain the new position.</param>
-        /// <returns>
-        /// The new position within the current stream.
-        /// </returns>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-        /// <exception cref="T:System.NotSupportedException">
-        /// The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override long Seek(long offset, SeekOrigin origin)
-		{
-			throw new Exception("Cannot seek in non-seekable stream");
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
-        /// </summary>
-        /// <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values between <paramref name="offset"/> and (<paramref name="offset"/> + <paramref name="count"/> - 1) replaced by the bytes read from the current source.</param>
-        /// <param name="offset">The zero-based byte offset in <paramref name="buffer"/> at which to begin storing the data read from the current stream.</param>
-        /// <param name="count">The maximum number of bytes to be read from the current stream.</param>
-        /// <returns>
-        /// The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
-        /// </returns>
-        /// <exception cref="T:System.ArgumentException">
-        /// The sum of <paramref name="offset"/> and <paramref name="count"/> is larger than the buffer length.
-        /// </exception>
-        /// <exception cref="T:System.ArgumentNullException">
-        /// 	<paramref name="buffer"/> is null.
-        /// </exception>
-        /// <exception cref="T:System.ArgumentOutOfRangeException">
-        /// 	<paramref name="offset"/> or <paramref name="count"/> is negative.
-        /// </exception>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-        /// <exception cref="T:System.NotSupportedException">
-        /// The stream does not support reading.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override int Read(byte[] buffer, int offset, int count)
-		{
-			do
-			{
-				lock(m_sync)
-				{
-					//If we have enough data, or all avalible data
-					if (m_buffer.Position - m_buffer.Length >= count || !m_reader.IsAlive)
-						return m_buffer.Read(buffer, offset, count);
-				}
-
-				//Block until data is avalible
-				m_dataReady.WaitOne();
-			} while(true);
-		}
-
-        /// <summary>
-        /// When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
-        /// </summary>
-        /// <param name="buffer">An array of bytes. This method copies <paramref name="count"/> bytes from <paramref name="buffer"/> to the current stream.</param>
-        /// <param name="offset">The zero-based byte offset in <paramref name="buffer"/> at which to begin copying bytes to the current stream.</param>
-        /// <param name="count">The number of bytes to be written to the current stream.</param>
-        /// <exception cref="T:System.ArgumentException">
-        /// The sum of <paramref name="offset"/> and <paramref name="count"/> is greater than the buffer length.
-        /// </exception>
-        /// <exception cref="T:System.ArgumentNullException">
-        /// 	<paramref name="buffer"/> is null.
-        /// </exception>
-        /// <exception cref="T:System.ArgumentOutOfRangeException">
-        /// 	<paramref name="offset"/> or <paramref name="count"/> is negative.
-        /// </exception>
-        /// <exception cref="T:System.IO.IOException">
-        /// An I/O error occurs.
-        /// </exception>
-        /// <exception cref="T:System.NotSupportedException">
-        /// The stream does not support writing.
-        /// </exception>
-        /// <exception cref="T:System.ObjectDisposedException">
-        /// Methods were called after the stream was closed.
-        /// </exception>
-		public override void Write(byte[] buffer, int offset, int count)
-		{
-			throw new Exception("Stream is not writeable");
-		}
-
-
-
-
-
-		private void RunReader()
-		{
-			byte[] buffer = new byte[1024];
-			int r = 0;
-			int remain = (m_length <= 0 ? int.MaxValue : m_length) ;
-
-			do
-			{
-				r = m_source.Read(buffer,0, Math.Min(buffer.Length, remain));
-				lock (m_sync)
-				{
-					long prevpos = m_buffer.Position;
-					m_buffer.Position = m_buffer.Length;
-					m_buffer.Write(buffer, 0, r);
-					m_buffer.Position = prevpos;
-					m_dataReady.Set();
-				}
-			} while (r > 0);
-
-			m_source.Close();
-			m_dataReady.Set();
-		}
-
-		#region IDisposable Members
-
-        /// <summary>
-        /// Releases all resources used by the <see cref="T:System.IO.Stream"/>.
-        /// </summary>
-		public void Dispose()
-		{
-			if (m_reader != null)
-				try { m_reader.Abort(); }
-				catch { }
-
-			if (m_source != null)
-				try { m_source.Close(); }
-				catch { }
-
-			if (m_buffer != null)
-				try { m_buffer.Close(); }
-				catch { }
-
-			if (m_file != null)
-				try { File.Delete(m_file); }
-				catch {}
-				
-			m_reader = null;
-			m_source = null;
-			m_buffer = null;
-			m_file = null;
-		}
-
-		#endregion
-	}
-}

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/ReadOnlyRewindableStream.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/ReadOnlyRewindableStream.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/IO/ReadOnlyRewindableStream.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -34,16 +34,25 @@
         /// </summary>
         public abstract void Rewind();
 
+        /// <summary>
+        /// Gets whether this stream supports reading
+        /// </summary>
         public override bool CanRead
         {
             get { return true; }
         }
 
+        /// <summary>
+        /// Gets whether this stream supports seeking
+        /// </summary>
         public override bool CanSeek
         {
             get { return false; }
         }
 
+        /// <summary>
+        /// Gets whether this stream supports writing
+        /// </summary>
         public override bool CanWrite
         {
             get { return false; }
@@ -55,6 +64,9 @@
         /// </summary>
         public abstract bool CanRewind { get; }
 
+        /// <summary>
+        /// Gets or sets the position (not implemented)
+        /// </summary>
         public override long Position
         {
             get
@@ -67,16 +79,32 @@
             }
         }
 
+        /// <summary>
+        /// Seeks to the specified offset in the stream (not implemented)
+        /// </summary>
+        /// <param name="offset"></param>
+        /// <param name="origin"></param>
+        /// <returns></returns>
         public override long Seek(long offset, SeekOrigin origin)
         {
             throw new NotImplementedException();
         }
 
+        /// <summary>
+        /// Sets the length of the stream (not implemented)
+        /// </summary>
+        /// <param name="value"></param>
         public override void SetLength(long value)
         {
             throw new NotImplementedException();
         }
 
+        /// <summary>
+        /// Writes the specified buffer into the stream (not implemented)
+        /// </summary>
+        /// <param name="buffer"></param>
+        /// <param name="offset"></param>
+        /// <param name="count"></param>
         public override void Write(byte[] buffer, int offset, int count)
         {
             throw new NotImplementedException();

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapObservable.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -24,10 +24,26 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.Mapping
 {
+    /// <summary>
+    /// Base class implementation of the <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>
+    /// interface
+    /// </summary>
     public abstract class MapObservable : INotifyPropertyChanged
     {
+        /// <summary>
+        /// Indicates whether property change events will be raised
+        /// </summary>
         protected bool _disableChangeTracking = true;
 
+        /// <summary>
+        /// Set the specified field with the specified value raising
+        /// the <see cref="PropertyChanged"/> event
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="field"></param>
+        /// <param name="value"></param>
+        /// <param name="propertyName"></param>
+        /// <returns></returns>
         protected bool SetField<T>(ref T field, T value, string propertyName)
         {
             if (EqualityComparer<T>.Default.Equals(field, value)) 
@@ -38,6 +54,10 @@
             return true;
         }
 
+        /// <summary>
+        /// Raises the <see cref="PropertyChanged"/> event
+        /// </summary>
+        /// <param name="propertyName"></param>
         protected virtual void OnPropertyChanged(string propertyName)
         {
             if (_disableChangeTracking)
@@ -48,6 +68,9 @@
                 handler(this, new PropertyChangedEventArgs(propertyName));
         }
 
+        /// <summary>
+        /// Occurs when a property changes
+        /// </summary>
         public event PropertyChangedEventHandler PropertyChanged;
     }
 }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapSelection.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapSelection.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/MapSelection.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -6,23 +6,39 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.Mapping
 {
+    /// <summary>
+    /// Represents a map selection
+    /// </summary>
     public class MapSelection : IBinarySerializable, IList<MapSelection.LayerSelection>
     {
         private RuntimeMap _map;
         private List<LayerSelection> _layers;
 
+        /// <summary>
+        /// Constructor
+        /// </summary>
+        /// <param name="map"></param>
         public MapSelection(RuntimeMap map)
         {
             _map = map;
             _layers = new List<LayerSelection>();
         }
 
+        /// <summary>
+        /// Constructor
+        /// </summary>
+        /// <param name="map"></param>
+        /// <param name="xml"></param>
         public MapSelection(RuntimeMap map, string xml)
             : this(map)
         {
             LoadXml(xml);
         }
 
+        /// <summary>
+        /// Initialize this selection from the specified xml string
+        /// </summary>
+        /// <param name="xml"></param>
         public void LoadXml(string xml)
         {
             _layers.Clear();
@@ -79,6 +95,9 @@
             return doc.OuterXml;
         }
 
+        /// <summary>
+        /// Represents a layer selection
+        /// </summary>
         public class LayerSelection : IList<object[]>
         {
             private RuntimeMapLayer m_layer;
@@ -592,6 +611,10 @@
 
         #region ICollection<MapSelection.LayerSelection> Members
 
+        /// <summary>
+        /// Adds the specified layer selection
+        /// </summary>
+        /// <param name="item"></param>
         public void Add(MapSelection.LayerSelection item)
         {
             if (item == null)
@@ -600,22 +623,39 @@
             _layers.Add(item);
         }
 
+        /// <summary>
+        /// Adds the specified layer
+        /// </summary>
+        /// <param name="layer"></param>
         public void Add(RuntimeMapLayer layer)
         {
             if (!Contains(layer))
                 Add(new LayerSelection(layer));
         }
 
+        /// <summary>
+        /// Clears this selction
+        /// </summary>
         public void Clear()
         {
             _layers.Clear();
         }
 
+        /// <summary>
+        /// Gets whether this selection contains the specified layer
+        /// </summary>
+        /// <param name="item"></param>
+        /// <returns></returns>
         public bool Contains(RuntimeMapLayer item)
         {
             return IndexOf(item) >= 0;
         }
 
+        /// <summary>
+        /// Gets whether this selection contains the specified layer selection
+        /// </summary>
+        /// <param name="item"></param>
+        /// <returns></returns>
         public bool Contains(MapSelection.LayerSelection item)
         {
             return IndexOf(item) >= 0;
@@ -626,16 +666,27 @@
             throw new NotImplementedException();
         }
 
+        /// <summary>
+        /// Gets the number of layers in this selection
+        /// </summary>
         public int Count
         {
             get { return _layers.Count; }
         }
 
+        /// <summary>
+        /// Gets whether this is read only
+        /// </summary>
         public bool IsReadOnly
         {
             get { return false; }
         }
 
+        /// <summary>
+        /// Removes the specified layer selection
+        /// </summary>
+        /// <param name="item"></param>
+        /// <returns></returns>
         public bool Remove(MapSelection.LayerSelection item)
         {
             int ix = IndexOf(item);
@@ -650,6 +701,10 @@
 
         #region IEnumerable<LayerSelection> Members
 
+        /// <summary>
+        /// Gets the layer selection enumerator
+        /// </summary>
+        /// <returns></returns>
         public IEnumerator<MapSelection.LayerSelection> GetEnumerator()
         {
             return _layers.GetEnumerator();

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -454,6 +454,9 @@
             }
         }
 
+        /// <summary>
+        /// The name of the map
+        /// </summary>
         protected string _name;
 
         /// <summary>
@@ -466,6 +469,9 @@
             set { SetField(ref _name, value, "Name"); }
         }
 
+        /// <summary>
+        /// The Coordinate System WKT of the map
+        /// </summary>
         protected string _mapSrs;
 
         /// <summary>
@@ -478,6 +484,9 @@
             internal set { SetField(ref _mapSrs, value, "CoordinateSystem"); }
         }
 
+        /// <summary>
+        /// The background color of the map
+        /// </summary>
         protected System.Drawing.Color _bgColor;
 
         /// <summary>
@@ -555,6 +564,10 @@
 
         private double[] _finiteDisplayScales;
 
+        /// <summary>
+        /// Serializes this instance to the specified binary stream
+        /// </summary>
+        /// <param name="s"></param>
         public void Serialize(MgBinarySerializer s)
         {
             if (s.SiteVersion >= SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS1_2))
@@ -678,6 +691,10 @@
             }
         }
 
+        /// <summary>
+        /// Serializes the layer data to the specified binary stream
+        /// </summary>
+        /// <param name="s"></param>
         protected void SerializeLayerData(MgBinarySerializer s)
         {
             s.Write((int)_groups.Count);
@@ -689,6 +706,10 @@
                 t.Serialize(s);
         }
 
+        /// <summary>
+        /// Initializes this instance from the specified binary stream
+        /// </summary>
+        /// <param name="d"></param>
         public void Deserialize(MgBinaryDeserializer d)
         {
             _disableChangeTracking = true;
@@ -1142,11 +1163,18 @@
             changes.Changes.Add(change);
         }
 
+        /// <summary>
+        /// Clears all tracked changes
+        /// </summary>
         protected void ClearChanges()
         {
             m_changeList.Clear();
         }
 
+        /// <summary>
+        /// Called when a group is removed
+        /// </summary>
+        /// <param name="group"></param>
         protected void OnGroupRemoved(RuntimeMapGroup group)
         {
             //???
@@ -1159,6 +1187,10 @@
             TrackChange(group.ObjectId, false, Change.ChangeType.removed, string.Empty);
         }
 
+        /// <summary>
+        /// Called when a group is added
+        /// </summary>
+        /// <param name="group"></param>
         protected void OnGroupAdded(RuntimeMapGroup group)
         {
             //???

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapGroup.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapGroup.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapGroup.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -25,6 +25,9 @@
 
 namespace OSGeo.MapGuide.MaestroAPI.Mapping
 {
+    /// <summary>
+    /// Represents a group of layers in a runtime map
+    /// </summary>
     public class RuntimeMapGroup : MapObservable
     {
         //From MgLayerGroupType
@@ -80,6 +83,9 @@
 
         private bool _visible;
 
+        /// <summary>
+        /// Gets or sets whether this group is visible
+        /// </summary>
         public bool Visible
         {
             get
@@ -94,6 +100,9 @@
 
         private string _group;
 
+        /// <summary>
+        /// Gets or sets the name of the parent group
+        /// </summary>
         public string Group
         {
             get
@@ -106,6 +115,9 @@
             }
         }
 
+        /// <summary>
+        /// Gets the parent runtime map
+        /// </summary>
         public RuntimeMap Parent
         {
             get;
@@ -114,6 +126,9 @@
 
         private string _name;
 
+        /// <summary>
+        /// Gets or sets the name of this group
+        /// </summary>
         public string Name
         {
             get
@@ -128,6 +143,9 @@
 
         private bool _showInLegend;
 
+        /// <summary>
+        /// Gets or sets whether this group is visible in the legend
+        /// </summary>
         public bool ShowInLegend
         {
             get
@@ -142,6 +160,9 @@
 
         private string _legendLabel;
 
+        /// <summary>
+        /// Gets or sets the legend label
+        /// </summary>
         public string LegendLabel
         {
             get
@@ -156,6 +177,9 @@
 
         private bool _expandInLegend;
 
+        /// <summary>
+        /// Gets or sets whether this group is expanded in the legend
+        /// </summary>
         public bool ExpandInLegend
         {
             get
@@ -168,18 +192,28 @@
             }
         }
 
+        /// <summary>
+        /// Gets the group type
+        /// </summary>
         public int Type
         {
             get;
             private set;
         }
 
+        /// <summary>
+        /// Gets the unique identifier for this group
+        /// </summary>
         public string ObjectId
         {
             get;
             private set;
         }
 
+        /// <summary>
+        /// Serializes this instance
+        /// </summary>
+        /// <param name="s"></param>
         public void Serialize(MgBinarySerializer s)
         {
             s.Write(this.Group);
@@ -196,6 +230,10 @@
             s.Write(this.LegendLabel);
         }
 
+        /// <summary>
+        /// Initialize this instance using the specified binary stream
+        /// </summary>
+        /// <param name="d"></param>
         public void Deserialize(MgBinaryDeserializer d)
         {
             this.Group = d.ReadString();
@@ -217,6 +255,10 @@
             this.LegendLabel = d.ReadString();
         }
 
+        /// <summary>
+        /// Raises the <see cref="PropertyChanged"/> event
+        /// </summary>
+        /// <param name="propertyName"></param>
         protected override void OnPropertyChanged(string propertyName)
         {
             if (_disableChangeTracking)

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -374,30 +374,45 @@
             internal set;
         }
 
+        /// <summary>
+        /// Gets the type
+        /// </summary>
         public int Type
         {
             get;
             internal set;
         }
 
+        /// <summary>
+        /// Gets the display order
+        /// </summary>
         public double DisplayOrder
         {
             get;
             internal set;
         }
 
+        /// <summary>
+        /// Gets whether this layer needs to be refreshed
+        /// </summary>
         public bool NeedsRefresh
         {
             get;
             internal set;
         }
 
+        /// <summary>
+        /// Gets whether this layer has tooltips
+        /// </summary>
         public bool HasTooltips
         {
             get;
             internal set;
         }
 
+        /// <summary>
+        /// Gets the schema name
+        /// </summary>
         public string SchemaName
         {
             get
@@ -411,6 +426,10 @@
 
         private double[] _scaleRanges;
 
+        /// <summary>
+        /// Serializes this instance to a binary stream
+        /// </summary>
+        /// <param name="s"></param>
         public void Serialize(MgBinarySerializer s)
         {
             s.Write(this.Group);
@@ -490,6 +509,10 @@
             }
         }
 
+        /// <summary>
+        /// Initializes this instance with the specified binary stream
+        /// </summary>
+        /// <param name="d"></param>
         public void Deserialize(MgBinaryDeserializer d)
         {
             this.Group = d.ReadString();
@@ -669,6 +692,10 @@
             }
         }
 
+        /// <summary>
+        /// Raises the <see cref="PropertyChanged"/> event
+        /// </summary>
+        /// <param name="propertyName"></param>
         protected override void OnPropertyChanged(string propertyName)
         {
             if (_disableChangeTracking)

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -255,11 +255,26 @@
         /// <returns></returns>
         public abstract System.IO.Stream RenderRuntimeMap(string resourceId, double x1, double y1, double x2, double y2, int width, int height, int dpi, string format, bool clip);
 
+        /// <summary>
+        /// Renders a dynamic overlay image of the map
+        /// </summary>
+        /// <param name="map"></param>
+        /// <param name="selection"></param>
+        /// <param name="format"></param>
+        /// <returns></returns>
         public System.IO.Stream RenderDynamicOverlay(RuntimeMap map, MapSelection selection, string format)
         {
             return RenderDynamicOverlay(map, selection, format, true);
         }
 
+        /// <summary>
+        /// Renders a dynamic overlay image of the map
+        /// </summary>
+        /// <param name="map"></param>
+        /// <param name="selection"></param>
+        /// <param name="format"></param>
+        /// <param name="keepSelection"></param>
+        /// <returns></returns>
         public abstract System.IO.Stream RenderDynamicOverlay(RuntimeMap map, MapSelection selection, string format, bool keepSelection);
 
         #endregion

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj	2010-12-11 09:39:24 UTC (rev 5472)
@@ -202,7 +202,6 @@
     <Compile Include="Enums.cs" />
     <Compile Include="Feature\FeatureSetReader.cs" />
     <Compile Include="Feature\FeatureSourceDescription.cs" />
-    <Compile Include="IO\FileBufferedStreamReader.cs" />
     <Compile Include="CoordinateSystem\ICoordinateSystemCatalog.cs" />
     <Compile Include="CrossConnection\ResourceMigrator.cs" />
     <Compile Include="Mapping\MapObservable.cs" />

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -27,6 +27,8 @@
 using System.Collections.Specialized;
 using System.Diagnostics;
 
+#pragma warning disable 1591
+
 namespace OSGeo.MapGuide.ObjectModels.ApplicationDefinition
 {
     /// <summary>
@@ -34,6 +36,9 @@
     /// </summary>
     public interface IApplicationDefinitionWidgetInfoSet
     {
+        /// <summary>
+        /// Gets the widgets
+        /// </summary>
         IEnumerable<IWidgetInfo> WidgetInfo { get; }
     }
 
@@ -42,6 +47,9 @@
     /// </summary>
     public interface IApplicationDefinitionContainerInfoSet
     {
+        /// <summary>
+        /// Gets the containers
+        /// </summary>
         IEnumerable<IApplicationDefinitionContainerInfo> ContainerInfo { get; }
     }
 
@@ -50,6 +58,9 @@
     /// </summary>
     public interface IApplicationDefinitionTemplateInfoSet
     {
+        /// <summary>
+        /// Gets the templates
+        /// </summary>
         IEnumerable<IApplicationDefinitionTemplateInfo> TemplateInfo { get; }
     }
 
@@ -58,28 +69,64 @@
     /// </summary>
     public interface IWidgetInfo
     {
+        /// <summary>
+        /// Gets the type of widget
+        /// </summary>
         string Type { get; }
 
+        /// <summary>
+        /// Gets the localized type of the widget
+        /// </summary>
         string LocalizedType { get; }
 
+        /// <summary>
+        /// Gets the description
+        /// </summary>
         string Description { get; }
 
+        /// <summary>
+        /// Gets the location
+        /// </summary>
         string Location { get; }
 
+        /// <summary>
+        /// Gets the label
+        /// </summary>
         string Label { get; }
 
+        /// <summary>
+        /// Gets the tooltip
+        /// </summary>
         string Tooltip { get; }
 
+        /// <summary>
+        /// Gets the text to display in the status bar
+        /// </summary>
         string StatusText { get; }
 
+        /// <summary>
+        /// Gets the image url
+        /// </summary>
         string ImageUrl { get; }
 
+        /// <summary>
+        /// Gets the image css class
+        /// </summary>
         string ImageClass { get; }
 
+        /// <summary>
+        /// Indicates if this is a UI widget
+        /// </summary>
         bool StandardUi { get; }
 
+        /// <summary>
+        /// Indicates which containers this widget is containable by
+        /// </summary>
         string[] ContainableBy { get; }
 
+        /// <summary>
+        /// Gets the parameters for this widget
+        /// </summary>
         IWidgetParameter[] Parameters { get; }
     }
 
@@ -88,22 +135,49 @@
     /// </summary>
     public interface IWidgetParameter
     {
+        /// <summary>
+        /// Gets the name of the parameter
+        /// </summary>
         string Name { get; }
 
+        /// <summary>
+        /// Gets the description of the parameter
+        /// </summary>
         string Description { get; }
 
+        /// <summary>
+        /// Gets the type of the parameter
+        /// </summary>
         string Type { get; }
 
+        /// <summary>
+        /// Gets the label for this parameter
+        /// </summary>
         string Label { get; }
 
+        /// <summary>
+        /// Gets the minimum allowed value of this parameter
+        /// </summary>
         string Min { get; }
 
+        /// <summary>
+        /// Gets the maximum allowed value of this parameter
+        /// </summary>
         string Max { get; }
 
+        /// <summary>
+        /// Gets the list of allowed value of this parameter
+        /// </summary>
         IAllowedValue[] AllowedValue { get; }
 
+        /// <summary>
+        /// Gets the default value of this parameter
+        /// </summary>
         string DefaultValue { get; }
 
+        /// <summary>
+        /// Gets whether this parameter is mandatory
+        /// </summary>
         bool IsMandatory { get; }
     }
 
@@ -112,8 +186,14 @@
     /// </summary>
     public interface IAllowedValue
     {
+        /// <summary>
+        /// Gets the name of this value
+        /// </summary>
         string Name { get; }
 
+        /// <summary>
+        /// Gets the label of this value
+        /// </summary>
         string Label { get; }
     }
 
@@ -122,12 +202,24 @@
     /// </summary>
     public interface IApplicationDefinitionContainerInfo
     {
+        /// <summary>
+        /// Gets the type of container
+        /// </summary>
         string Type { get; }
 
+        /// <summary>
+        /// Gets the localized type of container
+        /// </summary>
         string LocalizedType { get; }
 
+        /// <summary>
+        /// Gets the description of this container
+        /// </summary>
         string Description { get; }
 
+        /// <summary>
+        /// Gets the preview image url of this container
+        /// </summary>
         string PreviewImageUrl { get; }
     }
 
@@ -136,14 +228,29 @@
     /// </summary>
     public interface IApplicationDefinitionTemplateInfo
     {
+        /// <summary>
+        /// Gets the name of this template
+        /// </summary>
         string Name { get; }
 
+        /// <summary>
+        /// Gets the url location of this template
+        /// </summary>
         string LocationUrl { get; }
 
+        /// <summary>
+        /// Gets the template description
+        /// </summary>
         string Description { get; }
 
+        /// <summary>
+        /// Gets the preview image url of this template
+        /// </summary>
         string PreviewImageUrl { get; }
 
+        /// <summary>
+        /// Gets the panels applicable for this template
+        /// </summary>
         IEnumerable<IApplicationDefinitionPanel> Panels { get; }
     }
 
@@ -152,10 +259,19 @@
     /// </summary>
     public interface IApplicationDefinitionPanel
     {
+        /// <summary>
+        /// Gets the name of this panel
+        /// </summary>
         string Name { get; }
 
+        /// <summary>
+        /// Gets the label of this panel
+        /// </summary>
         string Label { get; }
 
+        /// <summary>
+        /// Gets the description of this panel
+        /// </summary>
         string Description { get; }
     }
 
@@ -334,16 +450,43 @@
         /// </summary>
         IEnumerable<IWidgetSet> WidgetSets { get; }
 
+        /// <summary>
+        /// Creates a widget set
+        /// </summary>
+        /// <param name="mapWidget"></param>
+        /// <returns></returns>
         IWidgetSet CreateWidgetSet(IMapWidget mapWidget);
 
+        /// <summary>
+        /// Adds the specified widget set
+        /// </summary>
+        /// <param name="set"></param>
         void AddWidgetSet(IWidgetSet set);
 
+        /// <summary>
+        /// Removes the specified widget set
+        /// </summary>
+        /// <param name="set"></param>
         void RemoveWidgetSet(IWidgetSet set);
 
+        /// <summary>
+        /// Creates a widget reference
+        /// </summary>
+        /// <param name="name"></param>
+        /// <returns></returns>
         IWidgetItem CreateWidgetReference(string name);
 
+        /// <summary>
+        /// Creates a separator
+        /// </summary>
+        /// <returns></returns>
         ISeparator CreateSeparator();
 
+        /// <summary>
+        /// Create a flyout menu
+        /// </summary>
+        /// <param name="label"></param>
+        /// <returns></returns>
         IFlyoutItem CreateFlyout(string label);
 
         /// <summary>
@@ -367,8 +510,20 @@
         /// <returns></returns>
         IMapGroup AddMapGroup(string id, bool singleTile, string mapDefinitionId, double centerX, double centerY, double scale);
 
+        /// <summary>
+        /// Create a widget from the specified widget information
+        /// </summary>
+        /// <param name="name"></param>
+        /// <param name="widgetInfo"></param>
+        /// <returns></returns>
         IWidget CreateWidget(string name, IWidgetInfo widgetInfo);
 
+        /// <summary>
+        /// Creates a widget reference UI container
+        /// </summary>
+        /// <param name="name"></param>
+        /// <param name="containerInfo"></param>
+        /// <returns></returns>
         IUIItemContainer CreateContainer(string name, IApplicationDefinitionContainerInfo containerInfo);
 
         /// <summary>
@@ -377,11 +532,23 @@
         /// <returns></returns>
         string[] GetAllReferenceableWidgetNames();
 
+        /// <summary>
+        /// Creates a map widget
+        /// </summary>
+        /// <param name="mapId"></param>
+        /// <param name="contextMenuId"></param>
+        /// <returns></returns>
         IMapWidget CreateMapWidget(string mapId, string contextMenuId);
     }
 
+    /// <summary>
+    /// Represents an element that is extensible with arbitrary XML content
+    /// </summary>
     public interface IExtensibleElement
     {
+        /// <summary>
+        /// Gets the extension
+        /// </summary>
         IExtension Extension { get; }
     }
 
@@ -1021,7 +1188,7 @@
     }
 
     /// <summary>
-    /// Represents a widget reference. This is analogous to a <see cref="ICommandItem"/> in Web Layouts
+    /// Represents a widget reference. This is analogous to a command item in a Web Layouts
     /// </summary>
     public interface IWidgetItem : IUIItem
     {

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Envelope.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Envelope.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Envelope.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -91,6 +91,7 @@
         /// Expands this envelope to accomodate the given envelope
         /// </summary>
         /// <param name="env"></param>
+        /// <param name="e1"></param>
         public static void ExpandToInclude(this IEnvelope env, IEnvelope e1)
         {
             Check.NotNull(env, "env");

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Geometries.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Geometries.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/Geometries.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -23,14 +23,30 @@
 
 namespace OSGeo.MapGuide.ObjectModels.Common
 {
+    /// <summary>
+    /// Represents a point in 2 dimensional space
+    /// </summary>
     public interface IPoint2D
     {
+        /// <summary>
+        /// Gets or sets the X coordinate
+        /// </summary>
         double X { get; set; }
+
+        /// <summary>
+        /// Gets or sets the Y coordinate
+        /// </summary>
         double Y { get; set; }
     }
 
+    /// <summary>
+    /// Represents a point in 3 dimensional space
+    /// </summary>
     public interface IPoint3D : IPoint2D
     {
+        /// <summary>
+        /// Gets or sets the Z coordinate
+        /// </summary>
         double Z { get; set; }
     }
 

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/MapDefinitionInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/MapDefinitionInterfaces.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/MapDefinitionInterfaces.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -66,7 +66,7 @@
 
         /// <summary>
         /// Gets or sets the coordinate system. Layers whose coordinate system does
-        /// not match will be re-projecte to this coordinate system when rendering
+        /// not match will be re-projected to this coordinate system when rendering
         /// </summary>
         /// <value>The coordinate system.</value>
         string CoordinateSystem { get; set; }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -879,11 +879,24 @@
             return rel;
         }
 
+        /// <summary>
+        /// Creates a 2d point
+        /// </summary>
+        /// <param name="x"></param>
+        /// <param name="y"></param>
+        /// <returns></returns>
         public static IPoint2D CreatePoint2D(double x, double y)
         {
             return new Point2DImpl() { X = x, Y = y };
         }
 
+        /// <summary>
+        /// Creates a 3d point
+        /// </summary>
+        /// <param name="x"></param>
+        /// <param name="y"></param>
+        /// <param name="z"></param>
+        /// <returns></returns>
         public static IPoint3D CreatePoint3D(double x, double y, double z)
         {
             return new Point3DImpl() { X = x, Y = y, Z = z };

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/UntypedResource.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/UntypedResource.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/UntypedResource.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -50,48 +50,76 @@
             set;
         }
 
+        /// <summary>
+        /// Gets the validating XML schema
+        /// </summary>
         public string ValidatingSchema
         {
             get { return this.ResourceType + "-" + this.ResourceVersion.ToString() + ".xsd"; }
         }
 
+        /// <summary>
+        /// Gets or sets the resource id
+        /// </summary>
         public string ResourceID
         {
             get;
             set;
         }
 
+        /// <summary>
+        /// Gets the resource type
+        /// </summary>
         public ResourceTypes ResourceType
         {
             get;
             private set;
         }
 
+        /// <summary>
+        /// Gets or sets the XML content
+        /// </summary>
         public string XmlContent
         {
             get;
             set;
         }
 
+        /// <summary>
+        /// Gets the XML form of this instance
+        /// </summary>
+        /// <returns></returns>
         public string Serialize()
         {
             return this.XmlContent;
         }
 
+        /// <summary>
+        /// Gets the resource version
+        /// </summary>
         public Version ResourceVersion
         {
             get;
             private set;
         }
 
+        /// <summary>
+        /// Returns a clone of this instance
+        /// </summary>
+        /// <returns></returns>
         public object Clone()
         {
             return this.MemberwiseClone();
         }
 
+        /// <summary>
+        /// Raised when a property changes
+        /// </summary>
         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
 
-
+        /// <summary>
+        /// Gets whether this resource is strongly typed
+        /// </summary>
         public bool IsStronglyTyped
         {
             get { return false; }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -266,14 +266,30 @@
         All,
     }
 
+    /// <summary>
+    /// Represents a result of a command import
+    /// </summary>
     public class ImportedCommandResult
     {
+        /// <summary>
+        /// Gets or sets the original name
+        /// </summary>
         public string OriginalName { get; set; }
 
+        /// <summary>
+        /// Gets or sets the imported name
+        /// </summary>
         public string ImportedName { get; set; }
 
+        /// <summary>
+        /// Gets whether the name was changed when importing
+        /// </summary>
         public bool NameChanged { get { return !this.ImportedName.Equals(this.OriginalName); } }
 
+        /// <summary>
+        /// Gets the string representation
+        /// </summary>
+        /// <returns></returns>
         public override string ToString()
         {
             return string.Format("{0} => {1}", this.OriginalName, this.ImportedName);
@@ -285,9 +301,20 @@
     /// </summary>
     public interface IWebLayout : IResource, INotifyPropertyChanged
     {
+        /// <summary>
+        /// Exports the specified commands to the specified file
+        /// </summary>
+        /// <param name="file"></param>
+        /// <param name="cmdNames"></param>
         void ExportCustomCommands(string file, string[] cmdNames);
 
+        /// <summary>
+        /// Imports commands from the specified file
+        /// </summary>
+        /// <param name="file"></param>
+        /// <returns></returns>
         ImportedCommandResult[] ImportCustomCommands(string file);
+
         /// <summary>
         /// Determines whether the specified command name is referenced in any regions
         /// </summary>

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/PlatformConnectionBase.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/PlatformConnectionBase.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/PlatformConnectionBase.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -1693,12 +1693,32 @@
 
         #region runtime map
 
+        /// <summary>
+        /// Infers the meters per unit value from the specified coordinate system
+        /// </summary>
+        /// <param name="csWkt"></param>
+        /// <param name="units"></param>
+        /// <returns></returns>
         protected virtual double InferMPU(string csWkt, double units)
         {
             var cs = CoordinateSystemBase.Create(csWkt);
             return cs.MetersPerUnitX * units;
         }
 
+        /// <summary>
+        /// Creates a new runtime map instance from an existing map definition. Meters per unit
+        /// is calculated from the Coordinate System WKT of the map definition.
+        /// </summary>
+        /// <remarks>
+        /// Calculation of meters-per-unit may differ between implementations. This may have an adverse
+        /// effect on things such as rendering and measuring depending on the underlying implementation
+        /// 
+        /// If you are certain of the meters-per-unit value required, use the overloaded method that 
+        /// accepts a metersPerUnit parameter.
+        /// </remarks>
+        /// <param name="runtimeMapResourceId"></param>
+        /// <param name="baseMapDefinitionId"></param>
+        /// <returns></returns>
         public RuntimeMap CreateMap(string runtimeMapResourceId, string baseMapDefinitionId)
         {
             var mdf = (IMapDefinition)GetResource(baseMapDefinitionId);
@@ -1706,18 +1726,46 @@
             return CreateMap(runtimeMapResourceId, mdf, mpu);
         }
 
+        /// <summary>
+        /// Creates a new runtime map instance from an existing map definition
+        /// </summary>
+        /// <param name="runtimeMapResourceId"></param>
+        /// <param name="baseMapDefinitionId"></param>
+        /// <param name="metersPerUnit"></param>
+        /// <returns></returns>
         public virtual RuntimeMap CreateMap(string runtimeMapResourceId, string baseMapDefinitionId, double metersPerUnit)
         {
             var mdf = (IMapDefinition)GetResource(baseMapDefinitionId);
             return CreateMap(runtimeMapResourceId, mdf, metersPerUnit);
         }
 
+        /// <summary>
+        /// Creates a new runtime map instance from an existing map definition. Meters per unit
+        /// is calculated from the Coordinate System WKT of the map definition.
+        /// </summary>
+        /// <remarks>
+        /// Calculation of meters-per-unit may differ between implementations. This may have an adverse
+        /// effect on things such as rendering and measuring depending on the underlying implementation
+        /// 
+        /// If you are certain of the meters-per-unit value required, use the overloaded method that 
+        /// accepts a metersPerUnit parameter.
+        /// </remarks>
+        /// <param name="runtimeMapResourceId"></param>
+        /// <param name="mdf"></param>
+        /// <returns></returns>
         public RuntimeMap CreateMap(string runtimeMapResourceId, IMapDefinition mdf)
         {
             var mpu = InferMPU(mdf.CoordinateSystem, 1.0);
             return CreateMap(runtimeMapResourceId, mdf, mpu);
         }
 
+        /// <summary>
+        /// Creates a new runtime map instance from an existing map definition
+        /// </summary>
+        /// <param name="runtimeMapResourceId"></param>
+        /// <param name="mdf"></param>
+        /// <param name="metersPerUnit"></param>
+        /// <returns></returns>
         public virtual RuntimeMap CreateMap(string runtimeMapResourceId, IMapDefinition mdf, double metersPerUnit)
         {
             var map = new RuntimeMap(mdf, metersPerUnit);
@@ -1725,6 +1773,11 @@
             return map;
         }
 
+        /// <summary>
+        /// Opens the specified runtime map
+        /// </summary>
+        /// <param name="runtimeMapResourceId"></param>
+        /// <returns></returns>
         public virtual RuntimeMap OpenMap(string runtimeMapResourceId)
         {
             if (!runtimeMapResourceId.StartsWith("Session:" + this.SessionID + "//") || !runtimeMapResourceId.EndsWith(".Map"))

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IMappingService.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IMappingService.cs	2010-12-10 20:24:11 UTC (rev 5471)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IMappingService.cs	2010-12-11 09:39:24 UTC (rev 5472)
@@ -87,8 +87,23 @@
         /// <returns></returns>
         RuntimeMap OpenMap(string runtimeMapResourceId);
 
+        /// <summary>
+        /// Renders a dynamic overlay image of the map
+        /// </summary>
+        /// <param name="map"></param>
+        /// <param name="selection"></param>
+        /// <param name="format"></param>
+        /// <returns></returns>
         System.IO.Stream RenderDynamicOverlay(RuntimeMap map, MapSelection selection, string format);
 
+        /// <summary>
+        /// Renders a dynamic overlay image of the map
+        /// </summary>
+        /// <param name="map"></param>
+        /// <param name="selection"></param>
+        /// <param name="format"></param>
+        /// <param name="keepSelection"></param>
+        /// <returns></returns>
         System.IO.Stream RenderDynamicOverlay(RuntimeMap map, MapSelection selection, string format, bool keepSelection);
 
         /// <summary>



More information about the mapguide-commits mailing list