[mapguide-commits] r8572 - in trunk/Tools/Maestro: Maestro.Editors Maestro.Editors/MapDefinition Maestro.Editors/TileSetDefinition OSGeo.MapGuide.ObjectModel.Tests OSGeo.MapGuide.ObjectModel.Tests/Properties OSGeo.MapGuide.ObjectModel.Tests/Resources OSGeo.MapGuide.ObjectModels OSGeo.MapGuide.ObjectModels/MapDefinition

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Mar 14 07:44:28 PDT 2015


Author: jng
Date: 2015-03-14 07:44:28 -0700 (Sat, 14 Mar 2015)
New Revision: 8572

Added:
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Resources/OldTiledMap.txt
Modified:
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx
   trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Strings.resx
   trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/TileSetSettingsCtrl.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/MapDefinitionTests.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/OSGeo.MapGuide.ObjectModels.Tests.csproj
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.Designer.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.Designer.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.resx
Log:
#2549: Add support for exporting base map sections of a Map Definition to a Tile Set Definition

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -80,6 +80,7 @@
             this.txtTileSet = new System.Windows.Forms.TextBox();
             this.splitter1 = new System.Windows.Forms.Splitter();
             this.propertiesPanel = new System.Windows.Forms.Panel();
+            this.btnConvertToTileSet = new System.Windows.Forms.ToolStripButton();
             this.contentPanel.SuspendLayout();
             this.tabs.SuspendLayout();
             this.TAB_GROUP.SuspendLayout();
@@ -99,14 +100,14 @@
             this.contentPanel.Controls.Add(this.tabs);
             resources.ApplyResources(this.contentPanel, "contentPanel");
             // 
-            // tabControl1
+            // tabs
             // 
             this.tabs.Controls.Add(this.TAB_GROUP);
             this.tabs.Controls.Add(this.TAB_DRAWING_ORDER);
             this.tabs.Controls.Add(this.TAB_BASE_LAYERS);
             this.tabs.Controls.Add(this.TAB_TILE_SET);
-            resources.ApplyResources(this.tabs, "tabControl1");
-            this.tabs.Name = "tabControl1";
+            resources.ApplyResources(this.tabs, "tabs");
+            this.tabs.Name = "tabs";
             this.tabs.SelectedIndex = 0;
             this.tabs.SelectedIndexChanged += new System.EventHandler(this.tabs_SelectedIndexChanged);
             // 
@@ -414,7 +415,8 @@
             this.btnMoveBaseLayerDown,
             this.toolStripSeparator8,
             this.btnBaseLayerGroupToRegular,
-            this.btnInvokeMgCooker});
+            this.btnInvokeMgCooker,
+            this.btnConvertToTileSet});
             resources.ApplyResources(this.toolStrip3, "toolStrip3");
             this.toolStrip3.Name = "toolStrip3";
             // 
@@ -536,6 +538,14 @@
             resources.ApplyResources(this.propertiesPanel, "propertiesPanel");
             this.propertiesPanel.Name = "propertiesPanel";
             // 
+            // btnConvertToTileSet
+            // 
+            this.btnConvertToTileSet.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.btnConvertToTileSet.Image = global::Maestro.Editors.Properties.Resources.grid;
+            resources.ApplyResources(this.btnConvertToTileSet, "btnConvertToTileSet");
+            this.btnConvertToTileSet.Name = "btnConvertToTileSet";
+            this.btnConvertToTileSet.Click += new System.EventHandler(this.btnConvertToTileSet_Click);
+            // 
             // MapLayersSectionCtrl
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -615,5 +625,6 @@
         private System.Windows.Forms.GroupBox groupBox1;
         private System.Windows.Forms.Button btnBrowse;
         private System.Windows.Forms.TextBox txtTileSet;
+        private System.Windows.Forms.ToolStripButton btnConvertToTileSet;
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -181,6 +181,11 @@
                     }
                 }
 
+                btnConvertToTileSet.Visible = (
+                    _edSvc.CurrentConnection.SiteVersion >= new Version(3, 0) &&
+                    _edSvc.CurrentConnection.Capabilities.SupportedResourceTypes.Contains(ResourceTypes.TileSetDefinition.ToString())
+                );
+
                 _map.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnMapPropertyChanged, (eh) => _map.PropertyChanged -= eh);
 
                 trvLayerDrawingOrder.Model = _doLayerModel = new DrawOrderLayerModel(_map);
@@ -2151,5 +2156,19 @@
                     mdf3.TileSetDefinitionID = txtTileSet.Text;
             }
         }
+
+        private void btnConvertToTileSet_Click(object sender, EventArgs e)
+        {
+            using (var picker = new ResourcePicker(_edSvc.CurrentConnection, ResourceTypes.TileSetDefinition.ToString(), ResourcePickerMode.SaveResource))
+            {
+                if (picker.ShowDialog() == DialogResult.OK)
+                {
+                    var tsd = _map.ConvertToTileSet(new Version(3, 0, 0));
+                    _edSvc.CurrentConnection.ResourceService.SaveResourceAs(tsd, picker.ResourceID);
+
+                    MessageBox.Show(string.Format(Maestro.Editors.Strings.SavedTileSet, picker.ResourceID));
+                }
+            }
+        }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx	2015-03-14 14:44:28 UTC (rev 8572)
@@ -165,21 +165,9 @@
   <data name=">>splitter1.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
-  <data name="trvLayersGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Fill</value>
-  </data>
-  <data name="trvLayersGroup.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 28</value>
-  </data>
-  <data name="trvLayersGroup.Size" type="System.Drawing.Size, System.Drawing">
-    <value>312, 235</value>
-  </data>
-  <data name="trvLayersGroup.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="trvLayersGroup.Text" xml:space="preserve">
-    <value>treeViewAdv1</value>
-  </data>
+  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>3, 3</value>
+  </metadata>
   <data name=">>trvLayersGroup.Name" xml:space="preserve">
     <value>trvLayersGroup</value>
   </data>
@@ -192,108 +180,6 @@
   <data name=">>trvLayersGroup.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>3, 3</value>
-  </metadata>
-  <data name="btnAddGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnAddGroup.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnAddGroup.ToolTipText" xml:space="preserve">
-    <value>Add a new group</value>
-  </data>
-  <data name="btnRemoveGroup.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnRemoveGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnRemoveGroup.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnRemoveGroup.ToolTipText" xml:space="preserve">
-    <value>Remove selected group</value>
-  </data>
-  <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>6, 25</value>
-  </data>
-  <data name="btnGRPAddLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnGRPAddLayer.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnGRPAddLayer.ToolTipText" xml:space="preserve">
-    <value>Add a new layer</value>
-  </data>
-  <data name="btnGRPRemoveLayer.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnGRPRemoveLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnGRPRemoveLayer.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnGRPRemoveLayer.ToolTipText" xml:space="preserve">
-    <value>Remove selected layer</value>
-  </data>
-  <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
-    <value>6, 25</value>
-  </data>
-  <data name="btnMoveLayerOrGroupUp.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnMoveLayerOrGroupUp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnMoveLayerOrGroupUp.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnMoveLayerOrGroupUp.Text" xml:space="preserve">
-    <value>Move the selected group up the logical order</value>
-  </data>
-  <data name="btnMoveLayerOrGroupDown.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnMoveLayerOrGroupDown.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnMoveLayerOrGroupDown.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnMoveLayerOrGroupDown.Text" xml:space="preserve">
-    <value>Move the selected group down the logical order</value>
-  </data>
-  <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
-    <value>6, 25</value>
-  </data>
-  <data name="btnConvertLayerGroupToBaseGroup.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnConvertLayerGroupToBaseGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnConvertLayerGroupToBaseGroup.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnConvertLayerGroupToBaseGroup.ToolTipText" xml:space="preserve">
-    <value>Convert selected group to a base layer group</value>
-  </data>
-  <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 3</value>
-  </data>
-  <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>312, 25</value>
-  </data>
-  <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="toolStrip1.Text" xml:space="preserve">
-    <value>toolStrip1</value>
-  </data>
   <data name=">>toolStrip1.Name" xml:space="preserve">
     <value>toolStrip1</value>
   </data>
@@ -328,26 +214,14 @@
     <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>TAB_GROUP.Parent" xml:space="preserve">
-    <value>tabControl1</value>
+    <value>tabs</value>
   </data>
   <data name=">>TAB_GROUP.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="trvLayerDrawingOrder.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Fill</value>
-  </data>
-  <data name="trvLayerDrawingOrder.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 28</value>
-  </data>
-  <data name="trvLayerDrawingOrder.Size" type="System.Drawing.Size, System.Drawing">
-    <value>312, 235</value>
-  </data>
-  <data name="trvLayerDrawingOrder.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="trvLayerDrawingOrder.Text" xml:space="preserve">
-    <value>treeViewAdv1</value>
-  </data>
+  <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>3, 3</value>
+  </metadata>
   <data name=">>trvLayerDrawingOrder.Name" xml:space="preserve">
     <value>trvLayerDrawingOrder</value>
   </data>
@@ -360,96 +234,6 @@
   <data name=">>trvLayerDrawingOrder.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>3, 3</value>
-  </metadata>
-  <data name="btnDLAddLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLAddLayer.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLAddLayer.ToolTipText" xml:space="preserve">
-    <value>Add new layer</value>
-  </data>
-  <data name="btnDLRemoveLayer.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDLRemoveLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLRemoveLayer.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLRemoveLayer.ToolTipText" xml:space="preserve">
-    <value>Remove selected layer</value>
-  </data>
-  <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
-    <value>6, 25</value>
-  </data>
-  <data name="btnDLMoveLayerUp.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDLMoveLayerUp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLMoveLayerUp.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLMoveLayerUp.ToolTipText" xml:space="preserve">
-    <value>Move selected layer up</value>
-  </data>
-  <data name="btnDLMoveLayerDown.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDLMoveLayerDown.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLMoveLayerDown.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLMoveLayerDown.ToolTipText" xml:space="preserve">
-    <value>Move selected layer down</value>
-  </data>
-  <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
-    <value>6, 25</value>
-  </data>
-  <data name="btnDLMoveLayerTop.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDLMoveLayerTop.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLMoveLayerTop.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLMoveLayerTop.ToolTipText" xml:space="preserve">
-    <value>Move selected layer to top</value>
-  </data>
-  <data name="btnDLMoveLayerBottom.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDLMoveLayerBottom.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDLMoveLayerBottom.Size" type="System.Drawing.Size, System.Drawing">
-    <value>23, 22</value>
-  </data>
-  <data name="btnDLMoveLayerBottom.ToolTipText" xml:space="preserve">
-    <value>Move selected layer to bottom</value>
-  </data>
-  <data name="toolStrip2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 3</value>
-  </data>
-  <data name="toolStrip2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>312, 25</value>
-  </data>
-  <data name="toolStrip2.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="toolStrip2.Text" xml:space="preserve">
-    <value>toolStrip2</value>
-  </data>
   <data name=">>toolStrip2.Name" xml:space="preserve">
     <value>toolStrip2</value>
   </data>
@@ -484,7 +268,7 @@
     <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>TAB_DRAWING_ORDER.Parent" xml:space="preserve">
-    <value>tabControl1</value>
+    <value>tabs</value>
   </data>
   <data name=">>TAB_DRAWING_ORDER.ZOrder" xml:space="preserve">
     <value>1</value>
@@ -612,19 +396,19 @@
   <data name="btnInvokeMgCooker.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKlSURBVDhPfZDbS5NxGMe9qr+g27wIgiwqWTnd1GnWdB5i
-        GhiaWooHCr1RYkbim9JwQp5IZLijmjlxBxzLOdvezbm9c+9cHlrloRMJQXSz2C7qwu96q1eHTPrA9+b3
-        PJ/n9/AkHYWo2ni68J69L7NV6Ra0Kb2iJvNIUaWJw5b/T3Ez2ZRGED9rzRPInexG/jgPqfLrqJne3Cus
-        mutm246mqMlRyBu8vVeskyG5T4xSgwZ8bQuyzes4a4miVr8LYdnsXbY9EUG7YiNPy0Ou5grSFVkom3mK
-        Fl8UJWQUHJ0JF8d6IX6g+V5Q0HKcVeKk5j5MTiPakDfGA1+ZgRbLCAbXw+igI6h0R3FB0YHz8kpwpY1I
-        zxwSsFqcMzld3M4ZGtzRBjSYhmDYjmDkdQREIIJqx3tmoyKkK0UQa6S4xB24yWpxOHzJyc6JTRDBCEp1
-        PRCNV0BCvoTEH0HZCzd4Ch6uMdvlyu4gjdefxWqHaeyiVyW+MCrNYxAy1xeoM1FiUCPfHgXXsovLo+XI
-        au7+lpJCHGOVw4hrjMJW/du9evILMpgj8tU3ILTugDMXxSlTGNk9BCpuadrZ9kSGh5XZvQNW1D6eQo62
-        OnbVuh1Ls/6IiRzhWN0TGgShx/S0wcm2J2Kz2fUk6cHk8wU8ks6DkDrQQdhwv/0ZZDItbDYXSNINqVR6
-        jlXiMI8n3G7qVyCwikDgFSiKhsez/Few213wev3w+1cQDK5BrR7rZ7U4KpW2nKZX4fMFD0JRQXipFXi8
-        ASx5aDidXiwuLmN2dn6L1eKoVBNVoTc7zJqLCfH51pif32G8rh7z2ilmiO8zq8X5M2Br6xOMRktC6MAG
-        Pnz8iqVhOUL+NWagP3GAXK7MYAobFEWFXK79uEILC/txHkSnM0z+s5KSfgPO08idmmCwcwAAAABJRU5E
-        rkJggg==
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKmSURBVDhPfZDbT5JxGMe9qr+g27xoa8ta5ShQUNEsFA8N
+        bbNJ6tJpriYX5Rq2nO80FbdKrTRPnDyfgEaUoPIqCLzwIomp5aHDyq2L1oUFN3Xhl97qVeZwfbbvze95
+        Ps/v2RO1H+JCw9GMG9aHCbeUc8JKpUtc/vxppvQZhy3/n6yKmXIuQfwsNvYhZaAWab18xHZcROHo6nZG
+        wUQd27Y/meVkBr+1aDtrWIHoBxLk6NQQaGRIMi7iuCmI4vFNiHKN19n2SIRVPUupGj5S1OcQ152I3LHH
+        kFFBZJNBcIYNOK1tguSO5lt6uuwgq4SJTbkbzSUqkarlQ9ATD5mpHS2LW6imA5DagzjVXY2THVLw6q8h
+        LuGRkNXCHEuu5dWM0eB1laHM0ArdegDtSwEQ3gAKre+YjTIR1yOGRF2PM7yWy6wWhiOQH67pWwXhCyBn
+        uBHi3nzIySnIPQHkvrCD383HBWa7FMVVcPnNiay2l2u1Xr+c2oLUqIWIub5QlYBsnQpp00HwTJs425WH
+        xIq6rzExxAFW2YukyCC6qXuzXUp+RjxzRIHqEkQTG+C8DOKIYQtJjQTyr2iq2PZI2tqUSU3NEyi+N4Rk
+        bWHovHkjxDX/CInJ76GS+zQIYhyjo/pZtj2SyUmrjiQdGBicBFFvZmJFNWHB7ap+KBQaWCyzIEk7Ghoa
+        TrBKGObxkN3u+uX1LsDrfQWXi4bD4f4rTE/Pwun0wOOZh8/nh1rd28xqYVQqbR5NL4CifLtxuXxwuubh
+        cHox56AxM+OEzeaG0WhZZ7UwKlV/wfLKBrOmLSIU5Wd+foveklKYNUOw292fWC3MnwFrax+h15siQntf
+        4/2HL5h70oFljx9uNx05oLNTGc8UliiKWrHZdmJbmZrayexuRkb0g/+sqKjfHiDHnNSUQu0AAAAASUVO
+        RK5CYII=
 </value>
   </data>
   <data name="btnInvokeMgCooker.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
@@ -636,6 +420,18 @@
   <data name="btnInvokeMgCooker.Text" xml:space="preserve">
     <value>Start MgCooker</value>
   </data>
+  <data name="btnConvertToTileSet.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnConvertToTileSet.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnConvertToTileSet.Text" xml:space="preserve">
+    <value>Convert to Tile Set</value>
+  </data>
+  <data name="btnConvertToTileSet.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
   <data name="toolStrip3.Location" type="System.Drawing.Point, System.Drawing">
     <value>3, 3</value>
   </data>
@@ -682,29 +478,359 @@
     <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>TAB_BASE_LAYERS.Parent" xml:space="preserve">
-    <value>tabControl1</value>
+    <value>tabs</value>
   </data>
   <data name=">>TAB_BASE_LAYERS.ZOrder" xml:space="preserve">
     <value>2</value>
   </data>
-  <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
+  <data name=">>groupBox1.Name" xml:space="preserve">
+    <value>groupBox1</value>
   </data>
-  <data name="btnBrowse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Right</value>
+  <data name=">>groupBox1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
-    <value>253, 29</value>
+  <data name=">>groupBox1.Parent" xml:space="preserve">
+    <value>TAB_TILE_SET</value>
   </data>
-  <data name="btnBrowse.Size" type="System.Drawing.Size, System.Drawing">
-    <value>25, 23</value>
+  <data name=">>groupBox1.ZOrder" xml:space="preserve">
+    <value>0</value>
   </data>
-  <data name="btnBrowse.TabIndex" type="System.Int32, mscorlib">
+  <data name="TAB_TILE_SET.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 22</value>
+  </data>
+  <data name="TAB_TILE_SET.Size" type="System.Drawing.Size, System.Drawing">
+    <value>318, 266</value>
+  </data>
+  <data name="TAB_TILE_SET.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="TAB_TILE_SET.Text" xml:space="preserve">
+    <value>Linked Tile Set</value>
+  </data>
+  <data name=">>TAB_TILE_SET.Name" xml:space="preserve">
+    <value>TAB_TILE_SET</value>
+  </data>
+  <data name=">>TAB_TILE_SET.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>TAB_TILE_SET.Parent" xml:space="preserve">
+    <value>tabs</value>
+  </data>
+  <data name=">>TAB_TILE_SET.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="tabs.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Left</value>
+  </data>
+  <data name="tabs.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="tabs.Size" type="System.Drawing.Size, System.Drawing">
+    <value>326, 292</value>
+  </data>
+  <data name="tabs.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name=">>tabs.Name" xml:space="preserve">
+    <value>tabs</value>
+  </data>
+  <data name=">>tabs.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>tabs.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>tabs.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>610, 292</value>
+  </data>
+  <data name=">>contentPanel.Name" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>contentPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>contentPanel.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name=">>contentPanel.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="trvLayersGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="trvLayersGroup.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 28</value>
+  </data>
+  <data name="trvLayersGroup.Size" type="System.Drawing.Size, System.Drawing">
+    <value>312, 235</value>
+  </data>
+  <data name="trvLayersGroup.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
   </data>
-  <data name="btnBrowse.Text" xml:space="preserve">
-    <value>...</value>
+  <data name="trvLayersGroup.Text" xml:space="preserve">
+    <value>treeViewAdv1</value>
   </data>
+  <data name=">>trvLayersGroup.Name" xml:space="preserve">
+    <value>trvLayersGroup</value>
+  </data>
+  <data name=">>trvLayersGroup.Type" xml:space="preserve">
+    <value>Aga.Controls.Tree.TreeViewAdv, Aga.Controls, Version=1.7.0.0, Culture=neutral, PublicKeyToken=fcc90fbf924463a3</value>
+  </data>
+  <data name=">>trvLayersGroup.Parent" xml:space="preserve">
+    <value>TAB_GROUP</value>
+  </data>
+  <data name=">>trvLayersGroup.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>3, 3</value>
+  </metadata>
+  <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>312, 25</value>
+  </data>
+  <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="toolStrip1.Text" xml:space="preserve">
+    <value>toolStrip1</value>
+  </data>
+  <data name=">>toolStrip1.Name" xml:space="preserve">
+    <value>toolStrip1</value>
+  </data>
+  <data name=">>toolStrip1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>toolStrip1.Parent" xml:space="preserve">
+    <value>TAB_GROUP</value>
+  </data>
+  <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="btnAddGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnAddGroup.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnAddGroup.ToolTipText" xml:space="preserve">
+    <value>Add a new group</value>
+  </data>
+  <data name="btnRemoveGroup.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnRemoveGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnRemoveGroup.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnRemoveGroup.ToolTipText" xml:space="preserve">
+    <value>Remove selected group</value>
+  </data>
+  <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnGRPAddLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnGRPAddLayer.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnGRPAddLayer.ToolTipText" xml:space="preserve">
+    <value>Add a new layer</value>
+  </data>
+  <data name="btnGRPRemoveLayer.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnGRPRemoveLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnGRPRemoveLayer.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnGRPRemoveLayer.ToolTipText" xml:space="preserve">
+    <value>Remove selected layer</value>
+  </data>
+  <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnMoveLayerOrGroupUp.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnMoveLayerOrGroupUp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnMoveLayerOrGroupUp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnMoveLayerOrGroupUp.Text" xml:space="preserve">
+    <value>Move the selected group up the logical order</value>
+  </data>
+  <data name="btnMoveLayerOrGroupDown.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnMoveLayerOrGroupDown.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnMoveLayerOrGroupDown.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnMoveLayerOrGroupDown.Text" xml:space="preserve">
+    <value>Move the selected group down the logical order</value>
+  </data>
+  <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnConvertLayerGroupToBaseGroup.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnConvertLayerGroupToBaseGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnConvertLayerGroupToBaseGroup.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnConvertLayerGroupToBaseGroup.ToolTipText" xml:space="preserve">
+    <value>Convert selected group to a base layer group</value>
+  </data>
+  <data name="trvLayerDrawingOrder.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="trvLayerDrawingOrder.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 28</value>
+  </data>
+  <data name="trvLayerDrawingOrder.Size" type="System.Drawing.Size, System.Drawing">
+    <value>312, 235</value>
+  </data>
+  <data name="trvLayerDrawingOrder.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="trvLayerDrawingOrder.Text" xml:space="preserve">
+    <value>treeViewAdv1</value>
+  </data>
+  <data name=">>trvLayerDrawingOrder.Name" xml:space="preserve">
+    <value>trvLayerDrawingOrder</value>
+  </data>
+  <data name=">>trvLayerDrawingOrder.Type" xml:space="preserve">
+    <value>Aga.Controls.Tree.TreeViewAdv, Aga.Controls, Version=1.7.0.0, Culture=neutral, PublicKeyToken=fcc90fbf924463a3</value>
+  </data>
+  <data name=">>trvLayerDrawingOrder.Parent" xml:space="preserve">
+    <value>TAB_DRAWING_ORDER</value>
+  </data>
+  <data name=">>trvLayerDrawingOrder.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>3, 3</value>
+  </metadata>
+  <data name="toolStrip2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="toolStrip2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>312, 25</value>
+  </data>
+  <data name="toolStrip2.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="toolStrip2.Text" xml:space="preserve">
+    <value>toolStrip2</value>
+  </data>
+  <data name=">>toolStrip2.Name" xml:space="preserve">
+    <value>toolStrip2</value>
+  </data>
+  <data name=">>toolStrip2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>toolStrip2.Parent" xml:space="preserve">
+    <value>TAB_DRAWING_ORDER</value>
+  </data>
+  <data name=">>toolStrip2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="btnDLAddLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLAddLayer.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLAddLayer.ToolTipText" xml:space="preserve">
+    <value>Add new layer</value>
+  </data>
+  <data name="btnDLRemoveLayer.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDLRemoveLayer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLRemoveLayer.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLRemoveLayer.ToolTipText" xml:space="preserve">
+    <value>Remove selected layer</value>
+  </data>
+  <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnDLMoveLayerUp.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDLMoveLayerUp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLMoveLayerUp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLMoveLayerUp.ToolTipText" xml:space="preserve">
+    <value>Move selected layer up</value>
+  </data>
+  <data name="btnDLMoveLayerDown.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDLMoveLayerDown.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLMoveLayerDown.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLMoveLayerDown.ToolTipText" xml:space="preserve">
+    <value>Move selected layer down</value>
+  </data>
+  <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnDLMoveLayerTop.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDLMoveLayerTop.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLMoveLayerTop.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLMoveLayerTop.ToolTipText" xml:space="preserve">
+    <value>Move selected layer to top</value>
+  </data>
+  <data name="btnDLMoveLayerBottom.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDLMoveLayerBottom.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDLMoveLayerBottom.Size" type="System.Drawing.Size, System.Drawing">
+    <value>23, 22</value>
+  </data>
+  <data name="btnDLMoveLayerBottom.ToolTipText" xml:space="preserve">
+    <value>Move selected layer to bottom</value>
+  </data>
+  <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
+  </data>
   <data name=">>btnBrowse.Name" xml:space="preserve">
     <value>btnBrowse</value>
   </data>
@@ -717,18 +843,6 @@
   <data name=">>btnBrowse.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="txtTileSet.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="txtTileSet.Location" type="System.Drawing.Point, System.Drawing">
-    <value>16, 31</value>
-  </data>
-  <data name="txtTileSet.Size" type="System.Drawing.Size, System.Drawing">
-    <value>231, 20</value>
-  </data>
-  <data name="txtTileSet.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
   <data name=">>txtTileSet.Name" xml:space="preserve">
     <value>txtTileSet</value>
   </data>
@@ -765,69 +879,57 @@
   <data name=">>groupBox1.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="TAB_TILE_SET.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 22</value>
+  <data name="btnBrowse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Right</value>
   </data>
-  <data name="TAB_TILE_SET.Size" type="System.Drawing.Size, System.Drawing">
-    <value>318, 266</value>
+  <data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
+    <value>253, 29</value>
   </data>
-  <data name="TAB_TILE_SET.TabIndex" type="System.Int32, mscorlib">
-    <value>3</value>
+  <data name="btnBrowse.Size" type="System.Drawing.Size, System.Drawing">
+    <value>25, 23</value>
   </data>
-  <data name="TAB_TILE_SET.Text" xml:space="preserve">
-    <value>Linked Tile Set</value>
+  <data name="btnBrowse.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
   </data>
-  <data name=">>TAB_TILE_SET.Name" xml:space="preserve">
-    <value>TAB_TILE_SET</value>
+  <data name="btnBrowse.Text" xml:space="preserve">
+    <value>...</value>
   </data>
-  <data name=">>TAB_TILE_SET.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>btnBrowse.Name" xml:space="preserve">
+    <value>btnBrowse</value>
   </data>
-  <data name=">>TAB_TILE_SET.Parent" xml:space="preserve">
-    <value>tabControl1</value>
+  <data name=">>btnBrowse.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>TAB_TILE_SET.ZOrder" xml:space="preserve">
-    <value>3</value>
+  <data name=">>btnBrowse.Parent" xml:space="preserve">
+    <value>groupBox1</value>
   </data>
-  <data name="tabControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Left</value>
-  </data>
-  <data name="tabControl1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 0</value>
-  </data>
-  <data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>326, 292</value>
-  </data>
-  <data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
+  <data name=">>btnBrowse.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name=">>tabControl1.Name" xml:space="preserve">
-    <value>tabControl1</value>
+  <data name="txtTileSet.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
   </data>
-  <data name=">>tabControl1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name="txtTileSet.Location" type="System.Drawing.Point, System.Drawing">
+    <value>16, 31</value>
   </data>
-  <data name=">>tabControl1.Parent" xml:space="preserve">
-    <value>contentPanel</value>
+  <data name="txtTileSet.Size" type="System.Drawing.Size, System.Drawing">
+    <value>231, 20</value>
   </data>
-  <data name=">>tabControl1.ZOrder" xml:space="preserve">
-    <value>2</value>
+  <data name="txtTileSet.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
   </data>
-  <data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
-    <value>610, 292</value>
+  <data name=">>txtTileSet.Name" xml:space="preserve">
+    <value>txtTileSet</value>
   </data>
-  <data name=">>contentPanel.Name" xml:space="preserve">
-    <value>contentPanel</value>
+  <data name=">>txtTileSet.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>contentPanel.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>txtTileSet.Parent" xml:space="preserve">
+    <value>groupBox1</value>
   </data>
-  <data name=">>contentPanel.Parent" xml:space="preserve">
-    <value>$this</value>
+  <data name=">>txtTileSet.ZOrder" xml:space="preserve">
+    <value>1</value>
   </data>
-  <data name=">>contentPanel.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -1047,6 +1149,12 @@
   <data name=">>btnInvokeMgCooker.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
+  <data name=">>btnConvertToTileSet.Name" xml:space="preserve">
+    <value>btnConvertToTileSet</value>
+  </data>
+  <data name=">>btnConvertToTileSet.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>MapLayersSectionCtrl</value>
   </data>

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -2549,6 +2549,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Saved tile set to: {0}.
+        /// </summary>
+        internal static string SavedTileSet {
+            get {
+                return ResourceManager.GetString("SavedTileSet", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to You must save this map first before you can run MgCooker.
         /// </summary>
         internal static string SaveMapBeforeTiling {

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2015-03-14 14:44:28 UTC (rev 8572)
@@ -1715,4 +1715,7 @@
   <data name="SymbolExported" xml:space="preserve">
     <value>Symbol exported to: {0}</value>
   </data>
+  <data name="SavedTileSet" xml:space="preserve">
+    <value>Saved tile set to: {0}</value>
+  </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/TileSetSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/TileSetSettingsCtrl.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/Maestro.Editors/TileSetDefinition/TileSetSettingsCtrl.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -113,7 +113,7 @@
             if (_tsd.TileStoreParameters.TileProvider == "Default") //NOXLATE
                 coordinateSystem = _tsd.GetDefaultCoordinateSystem();
             else
-                coordinateSystem = _service.CurrentConnection.CoordinateSystemCatalog.FindCoordSys("LL84").WKT;
+                coordinateSystem = _service.CurrentConnection.CoordinateSystemCatalog.FindCoordSys("WGS84.PseudoMercator").WKT; //NOXLATE
 
             var diag = new ExtentCalculationDialog(_service.CurrentConnection, coordinateSystem, CollectLayerIds);
             if (diag.ShowDialog() == DialogResult.OK)

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/MapDefinitionTests.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/MapDefinitionTests.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/MapDefinitionTests.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -23,6 +23,7 @@
 using NUnit.Framework;
 using OSGeo.MapGuide.ObjectModels;
 using OSGeo.MapGuide.ObjectModels.MapDefinition;
+using OSGeo.MapGuide.ObjectModels.TileSetDefinition;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -73,5 +74,59 @@
             Assert.AreEqual(TileSourceType.External, mdf.TileSourceType);
             Assert.AreEqual("Library://UnitTests/TileSets/Sheboygan.TileSetDefinition", mdf.TileSetDefinitionID);
         }
+
+        [Test]
+        public void ConvertToTileSetTest()
+        {
+            var res = ObjectFactory.DeserializeXml(Properties.Resources.OldTiledMap);
+            Assert.IsInstanceOf<IMapDefinition>(res);
+            var mdf = (IMapDefinition)res;
+
+            var tsd = mdf.ConvertToTileSet(new Version(3, 0, 0));
+
+            Assert.AreEqual(mdf.CoordinateSystem, tsd.GetDefaultCoordinateSystem());
+            Assert.AreEqual(mdf.Extents.MinX, tsd.Extents.MinX);
+            Assert.AreEqual(mdf.Extents.MinY, tsd.Extents.MinY);
+            Assert.AreEqual(mdf.Extents.MaxX, tsd.Extents.MaxX);
+            Assert.AreEqual(mdf.Extents.MaxY, tsd.Extents.MaxY);
+
+            Assert.AreEqual(mdf.BaseMap.BaseMapLayerGroups.Count(), tsd.GroupCount);
+
+            var origGroups = mdf.BaseMap.BaseMapLayerGroups.ToArray();
+            var tsdGroups = tsd.BaseMapLayerGroups.ToArray();
+
+            Assert.AreEqual(origGroups.Length, tsdGroups.Length);
+            for (int i = 0; i < origGroups.Length; i++)
+            {
+                var oriGroup = origGroups[i];
+                var tsdGroup = tsdGroups[i];
+
+                Assert.AreEqual(oriGroup.ExpandInLegend, tsdGroup.ExpandInLegend);
+                Assert.AreEqual(oriGroup.LegendLabel, tsdGroup.LegendLabel);
+                Assert.AreEqual(oriGroup.Name, tsdGroup.Name);
+                Assert.AreEqual(oriGroup.ShowInLegend, tsdGroup.ShowInLegend);
+                Assert.AreEqual(oriGroup.Visible, tsdGroup.Visible);
+
+                Assert.AreEqual(oriGroup.BaseMapLayer.Count(), tsdGroup.BaseMapLayer.Count());
+
+                var oriLayers = oriGroup.BaseMapLayer.ToArray();
+                var tsdLayers = tsdGroup.BaseMapLayer.ToArray();
+
+                Assert.AreEqual(oriLayers.Length, tsdLayers.Length);
+
+                for (int j = 0; j < oriLayers.Length; j++)
+                {
+                    var oriLayer = oriLayers[j];
+                    var tsdLayer = tsdLayers[j];
+
+                    Assert.AreEqual(oriLayer.ExpandInLegend, tsdLayer.ExpandInLegend);
+                    Assert.AreEqual(oriLayer.LegendLabel, tsdLayer.LegendLabel);
+                    Assert.AreEqual(oriLayer.Name, tsdLayer.Name);
+                    Assert.AreEqual(oriLayer.ResourceId, tsdLayer.ResourceId);
+                    Assert.AreEqual(oriLayer.Selectable, tsdLayer.Selectable);
+                    Assert.AreEqual(oriLayer.ShowInLegend, tsdLayer.ShowInLegend);
+                }
+            }
+        }
     }
 }

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/OSGeo.MapGuide.ObjectModels.Tests.csproj
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/OSGeo.MapGuide.ObjectModels.Tests.csproj	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/OSGeo.MapGuide.ObjectModels.Tests.csproj	2015-03-14 14:44:28 UTC (rev 8572)
@@ -136,6 +136,9 @@
       <Install>true</Install>
     </BootstrapperPackage>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\OldTiledMap.txt" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.Designer.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.Designer.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -145,6 +145,29 @@
         ///      <Name>TileHeight</Name>
         ///      <Value>256</Value> [rest of string was truncated]";.
         /// </summary>
+        internal static string OldTiledMap {
+            get {
+                return ResourceManager.GetString("OldTiledMap", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to <?xml version="1.0" encoding="UTF-8"?>
+        ///<TileSetDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="TileSetDefinition-3.0.0.xsd">
+        ///  <TileStoreParameters>
+        ///    <TileProvider>Default</TileProvider>
+        ///    <Parameter>
+        ///      <Name>TilePath</Name>
+        ///      <Value>%MG_TILE_CACHE_PATH%</Value>
+        ///    </Parameter>
+        ///    <Parameter>
+        ///      <Name>TileWidth</Name>
+        ///      <Value>256</Value>
+        ///    </Parameter>
+        ///    <Parameter>
+        ///      <Name>TileHeight</Name>
+        ///      <Value>256</Value> [rest of string was truncated]";.
+        /// </summary>
         internal static string UT_BaseMap {
             get {
                 return ResourceManager.GetString("UT_BaseMap", resourceCulture);

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.resx	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Properties/Resources.resx	2015-03-14 14:44:28 UTC (rev 8572)
@@ -119,18 +119,21 @@
   </resheader>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="AppDef_1_0_0" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\AppDef-1.0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+    <value>..\Resources\AppDef-1.0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
   </data>
   <data name="DrawingSource_1_0_0" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\DrawingSource_1_0_0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+    <value>..\Resources\DrawingSource_1_0_0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
   </data>
   <data name="FeatureSource_1_0_0" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\FeatureSource-1.0.0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+    <value>..\Resources\FeatureSource-1.0.0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
   </data>
+  <data name="OldTiledMap" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\OldTiledMap.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+  </data>
   <data name="UT_BaseMap" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\UT_BaseMap.tsd;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+    <value>..\Resources\UT_BaseMap.tsd;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
   </data>
   <data name="UT_LinkedTileSet" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\UT_LinkedTileSet.mdf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+    <value>..\Resources\UT_LinkedTileSet.mdf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
   </data>
 </root>
\ No newline at end of file

Added: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Resources/OldTiledMap.txt
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Resources/OldTiledMap.txt	                        (rev 0)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModel.Tests/Resources/OldTiledMap.txt	2015-03-14 14:44:28 UTC (rev 8572)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<MapDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2.4.0" xsi:noNamespaceSchemaLocation="MapDefinition-2.4.0.xsd">
+  <Name>Sheboygan Tiled Map</Name>
+  <CoordinateSystem>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==> +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</CoordinateSystem>
+  <Extents>
+    <MinX>-87.764986990962839</MinX>
+    <MaxX>-87.695521510899724</MaxX>
+    <MinY>43.691398128787782</MinY>
+    <MaxY>43.797520000480347</MaxY>
+  </Extents>
+  <BackgroundColor>ffcdbd9c</BackgroundColor>
+  <BaseMapDefinition>
+    <FiniteDisplayScale>1000</FiniteDisplayScale>
+    <FiniteDisplayScale>1930.69773</FiniteDisplayScale>
+    <FiniteDisplayScale>3727.59372</FiniteDisplayScale>
+    <FiniteDisplayScale>7196.85673</FiniteDisplayScale>
+    <FiniteDisplayScale>13894.95494</FiniteDisplayScale>
+    <FiniteDisplayScale>26826.95795</FiniteDisplayScale>
+    <FiniteDisplayScale>51794.74679</FiniteDisplayScale>
+    <FiniteDisplayScale>100000</FiniteDisplayScale>
+    <BaseMapLayerGroup>
+      <Name>Base Layer Group</Name>
+      <Visible>true</Visible>
+      <ShowInLegend>true</ShowInLegend>
+      <ExpandInLegend>true</ExpandInLegend>
+      <LegendLabel>Tiled Layers</LegendLabel>
+      <BaseMapLayer>
+        <Name>Roads</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Roads.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Roads</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>Districts</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Districts.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Districts</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>Buildings</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Buildings.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Buildings</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>Parcels</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition</ResourceId>
+        <Selectable>true</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Parcels</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>Islands</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Islands.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Islands</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>Hydrography</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/Hydrography.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>Hydrography</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+      <BaseMapLayer>
+        <Name>CityLimits</Name>
+        <ResourceId>Library://Samples/Sheboygan/Layers/CityLimits.LayerDefinition</ResourceId>
+        <Selectable>false</Selectable>
+        <ShowInLegend>true</ShowInLegend>
+        <LegendLabel>CityLimits</LegendLabel>
+        <ExpandInLegend>true</ExpandInLegend>
+      </BaseMapLayer>
+    </BaseMapLayerGroup>
+  </BaseMapDefinition>
+  <Watermarks />
+</MapDefinition>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -29,6 +29,7 @@
 using System.Drawing;
 using System.Linq;
 using System.Text;
+using OSGeo.MapGuide.ObjectModels;
 
 namespace OSGeo.MapGuide.ObjectModels.MapDefinition
 {
@@ -633,6 +634,49 @@
                     yield return layer;
             }
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="map"></param>
+        /// <returns></returns>
+        public static ITileSetDefinition ConvertToTileSet(this IMapDefinition map, Version schemaVersion)
+        {
+            Check.ArgumentNotNull(map, "map"); //NOXLATE
+
+            var tsd = ObjectFactory.CreateTileSetDefinition(schemaVersion, map.Extents.Clone());
+
+            var baseMap = map.BaseMap;
+            if (baseMap == null)
+                throw new InvalidOperationException(Strings.MapDefinitionHasNoBaseMapSection);
+
+            //Clear any existing default groups created
+            foreach(var grp in tsd.BaseMapLayerGroups.ToArray())
+            {
+                tsd.RemoveBaseLayerGroup(grp);
+            }
+            tsd.SetDefaultProviderParameters(300, 300, map.CoordinateSystem, baseMap.FiniteDisplayScale.ToArray());
+
+            foreach (var grp in baseMap.BaseMapLayerGroups)
+            {
+                var tsdGroup = tsd.AddBaseLayerGroup(grp.Name);
+                tsdGroup.ExpandInLegend = grp.ExpandInLegend;
+                tsdGroup.LegendLabel = grp.LegendLabel;
+                tsdGroup.ShowInLegend = grp.ShowInLegend;
+                tsdGroup.Visible = grp.Visible;
+
+                foreach (var layer in grp.BaseMapLayer)
+                {
+                    var tsdLayer = tsdGroup.AddLayer(layer.Name, layer.ResourceId);
+                    tsdLayer.ExpandInLegend = layer.ExpandInLegend;
+                    tsdLayer.LegendLabel = layer.LegendLabel;
+                    tsdLayer.Selectable = layer.Selectable;
+                    tsdLayer.ShowInLegend = layer.ShowInLegend;
+                }
+            }
+
+            return tsd;
+        }
     }
 
     /// <summary>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.Designer.cs	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.Designer.cs	2015-03-14 14:44:28 UTC (rev 8572)
@@ -459,6 +459,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Map Definition has no base map section.
+        /// </summary>
+        internal static string MapDefinitionHasNoBaseMapSection {
+            get {
+                return ResourceManager.GetString("MapDefinitionHasNoBaseMapSection", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Not a folder resource id: {0}.
         /// </summary>
         internal static string NotAFolder {

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.resx
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.resx	2015-03-11 16:01:17 UTC (rev 8571)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/Strings.resx	2015-03-14 14:44:28 UTC (rev 8572)
@@ -2724,4 +2724,7 @@
   <data name="ParameterNotApplicableForTileProvider" xml:space="preserve">
     <value>Parameter {0} is not applicable for tile provider {1}</value>
   </data>
+  <data name="MapDefinitionHasNoBaseMapSection" xml:space="preserve">
+    <value>Map Definition has no base map section</value>
+  </data>
 </root>
\ No newline at end of file



More information about the mapguide-commits mailing list