[mapguide-commits] r8487 - in trunk/Tools/Maestro: Maestro.AddIn.ExtendedObjectModels Maestro.AddIn.ExtendedObjectModels/Editor Maestro.AddIn.ExtendedObjectModels/Templates Maestro.Editors/Diff Maestro.Editors/MapDefinition OSGeo.MapGuide.MaestroAPI/Capability OSGeo.MapGuide.ObjectModels/MapDefinition OSGeo.MapGuide.ObjectModels/MapDefinition/v3_0_0

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Dec 29 09:47:28 PST 2014


Author: jng
Date: 2014-12-29 09:47:28 -0800 (Mon, 29 Dec 2014)
New Revision: 8487

Added:
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition300ItemTemplate.cs
Modified:
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Maestro.AddIn.ExtendedObjectModels.csproj
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition230ItemTemplate.cs
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition240ItemTemplate.cs
   trunk/Tools/Maestro/Maestro.Editors/Diff/TextDiffView.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.resx
   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/MapDefinition/MapSettingsSectionCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/v3_0_0/MapDefinitionImpl.cs
Log:
#2515: Add editor support for v3.0.0 Map Definition resources.

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -183,6 +183,22 @@
         }
     }
 
+    internal class MapDefinition300EditorFactory : IEditorFactory
+    {
+        public ResourceTypeDescriptor ResourceTypeAndVersion { get; private set; }
+
+        public MapDefinition300EditorFactory()
+        {
+            this.ResourceTypeAndVersion = new ResourceTypeDescriptor(ResourceTypes.MapDefinition.ToString(), "3.0.0"); //NOXLATE
+        }
+
+        public IEditorViewContent Create()
+        {
+            //Use the same 1.0.0 editor for now
+            return new MapDefinitionEditor();
+        }
+    }
+
     internal class WatermarkDefinition230EditorFactory : IEditorFactory
     {
         public ResourceTypeDescriptor ResourceTypeAndVersion { get; private set; }

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Maestro.AddIn.ExtendedObjectModels.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Maestro.AddIn.ExtendedObjectModels.csproj	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Maestro.AddIn.ExtendedObjectModels.csproj	2014-12-29 17:47:28 UTC (rev 8487)
@@ -78,6 +78,7 @@
       <DesignTime>True</DesignTime>
       <DependentUpon>Strings.resx</DependentUpon>
     </Compile>
+    <Compile Include="Templates\MapDefinition300ItemTemplate.cs" />
     <Compile Include="Templates\WebLayout260ItemTemplate.cs" />
     <Compile Include="Templates\SymbolDefinition240ItemTemplate.cs" />
     <Compile Include="Templates\WatermarkDefinition240ItemTemplate.cs" />

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin	2014-12-29 17:47:28 UTC (rev 8487)
@@ -27,6 +27,7 @@
         <Class id="LayerDefinitionEditor240" class="Maestro.AddIn.ExtendedObjectModels.Editor.LayerDefinition240EditorFactory" />
         <Class id="MapDefinition230" class="Maestro.AddIn.ExtendedObjectModels.Editor.MapDefinition230EditorFactory" />
         <Class id="MapDefinition240" class="Maestro.AddIn.ExtendedObjectModels.Editor.MapDefinition240EditorFactory" />
+        <Class id="MapDefinition300" class="Maestro.AddIn.ExtendedObjectModels.Editor.MapDefinition300EditorFactory" />
         <Class id="SymbolDefinition110" class="Maestro.AddIn.ExtendedObjectModels.Editor.SymbolDefinition110EditorFactory" />
         <Class id="SymbolDefinition240" class="Maestro.AddIn.ExtendedObjectModels.Editor.SymbolDefinition240EditorFactory" />
         <Class id="WatermarkDefinition230" class="Maestro.AddIn.ExtendedObjectModels.Editor.WatermarkDefinition230EditorFactory" />

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -142,6 +142,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to MapGuide Open Source 3.0 / Autodesk Infrastructure Map Server 2016.
+        /// </summary>
+        internal static string TPL_CATEGORY_MGOS30 {
+            get {
+                return ResourceManager.GetString("TPL_CATEGORY_MGOS30", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Create a new Compound Symbol Definition using the v2.4.0 schema.
         /// </summary>
         internal static string TPL_CSD_240_DESC {
@@ -232,6 +241,24 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Create a new Map Definition using the v3.0.0 schema.
+        /// </summary>
+        internal static string TPL_MDF_300_DESC {
+            get {
+                return ResourceManager.GetString("TPL_MDF_300_DESC", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Map Definition (v3.0.0).
+        /// </summary>
+        internal static string TPL_MDF_300_NAME {
+            get {
+                return ResourceManager.GetString("TPL_MDF_300_NAME", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Create a new Simple Symbol Definition using the v2.4.0 schema.
         /// </summary>
         internal static string TPL_SSD_240_DESC {

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx	2014-12-29 17:47:28 UTC (rev 8487)
@@ -144,6 +144,9 @@
   <data name="TPL_CATEGORY_MGOS26" xml:space="preserve">
     <value>MapGuide Open Source 2.6 / Autodesk Infrastructure Map Server 2015</value>
   </data>
+  <data name="TPL_CATEGORY_MGOS30" xml:space="preserve">
+    <value>MapGuide Open Source 3.0 / Autodesk Infrastructure Map Server 2016</value>
+  </data>
   <data name="TPL_CSD_240_DESC" xml:space="preserve">
     <value>Create a new Compound Symbol Definition using the v2.4.0 schema</value>
   </data>
@@ -174,6 +177,12 @@
   <data name="TPL_MDF_240_NAME" xml:space="preserve">
     <value>Map Definition (v2.4.0)</value>
   </data>
+  <data name="TPL_MDF_300_DESC" xml:space="preserve">
+    <value>Create a new Map Definition using the v3.0.0 schema</value>
+  </data>
+  <data name="TPL_MDF_300_NAME" xml:space="preserve">
+    <value>Map Definition (v3.0.0)</value>
+  </data>
   <data name="TPL_SSD_240_DESC" xml:space="preserve">
     <value>Create a new Simple Symbol Definition using the v2.4.0 schema</value>
   </data>

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition230ItemTemplate.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition230ItemTemplate.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition230ItemTemplate.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -36,7 +36,7 @@
             Icon = Res.map;
             Description = Strings.TPL_MDF_230_DESC;
             Name = Strings.TPL_MDF_230_NAME;
-            ResourceType = ResourceTypes.LayerDefinition.ToString();
+            ResourceType = ResourceTypes.MapDefinition.ToString();
         }
 
         public override Version MinimumSiteVersion

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition240ItemTemplate.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition240ItemTemplate.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition240ItemTemplate.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -36,7 +36,7 @@
             Icon = Res.map;
             Description = Strings.TPL_MDF_240_DESC;
             Name = Strings.TPL_MDF_240_NAME;
-            ResourceType = ResourceTypes.LayerDefinition.ToString();
+            ResourceType = ResourceTypes.MapDefinition.ToString();
         }
 
         public override Version MinimumSiteVersion

Added: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition300ItemTemplate.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition300ItemTemplate.cs	                        (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/MapDefinition300ItemTemplate.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -0,0 +1,55 @@
+#region Disclaimer / License
+
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#endregion Disclaimer / License
+
+using Maestro.Base.Templates;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels;
+using System;
+using Res = Maestro.AddIn.ExtendedObjectModels.Properties.Resources;
+
+namespace Maestro.AddIn.ExtendedObjectModels.Templates
+{
+    internal class MapDefinition300ItemTemplate : ItemTemplate
+    {
+        public MapDefinition300ItemTemplate()
+        {
+            Category = Strings.TPL_CATEGORY_MGOS30;
+            Icon = Res.map;
+            Description = Strings.TPL_MDF_300_DESC;
+            Name = Strings.TPL_MDF_300_NAME;
+            ResourceType = ResourceTypes.MapDefinition.ToString();
+        }
+
+        public override Version MinimumSiteVersion
+        {
+            get
+            {
+                return new Version(3, 0);
+            }
+        }
+
+        public override IResource CreateItem(string startPoint, OSGeo.MapGuide.MaestroAPI.IServerConnection conn)
+        {
+            return ObjectFactory.CreateMapDefinition(new Version(3, 0, 0), string.Empty);
+        }
+    }
+}
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/Diff/TextDiffView.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Diff/TextDiffView.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/Diff/TextDiffView.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -161,7 +161,7 @@
 
         private void Results_Load(object sender, System.EventArgs e)
         {
-            Results_Resize(sender, e);
+            lvSource_Resize(sender, e);
         }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.Designer.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.Designer.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -39,7 +39,6 @@
             resources.ApplyResources(this.mapSettingsCtrl, "mapSettingsCtrl");
             this.mapSettingsCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
             this.mapSettingsCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.mapSettingsCtrl.HeaderText = "Map Settings";
             this.mapSettingsCtrl.Name = "mapSettingsCtrl";
             // 
             // mapLayersCtrl
@@ -48,7 +47,6 @@
             resources.ApplyResources(this.mapLayersCtrl, "mapLayersCtrl");
             this.mapLayersCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
             this.mapLayersCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.mapLayersCtrl.HeaderText = "Layers";
             this.mapLayersCtrl.Name = "mapLayersCtrl";
             // 
             // MapDefinitionEditorCtrl

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.resx	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapDefinitionEditorCtrl.resx	2014-12-29 17:47:28 UTC (rev 8487)
@@ -112,23 +112,26 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="mapSettingsCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Top</value>
   </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="mapSettingsCtrl.HeaderText" xml:space="preserve">
+    <value>Map Settings</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="mapSettingsCtrl.Location" type="System.Drawing.Point, System.Drawing">
     <value>0, 0</value>
   </data>
   <data name="mapSettingsCtrl.Size" type="System.Drawing.Size, System.Drawing">
-    <value>572, 206</value>
+    <value>555, 224</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="mapSettingsCtrl.TabIndex" type="System.Int32, mscorlib">
     <value>0</value>
   </data>
@@ -136,7 +139,7 @@
     <value>mapSettingsCtrl</value>
   </data>
   <data name=">>mapSettingsCtrl.Type" xml:space="preserve">
-    <value>Maestro.Editors.MapDefinition.MapSettingsSectionCtrl, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.MapDefinition.MapSettingsSectionCtrl, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>mapSettingsCtrl.Parent" xml:space="preserve">
     <value>$this</value>
@@ -147,11 +150,14 @@
   <data name="mapLayersCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Top</value>
   </data>
+  <data name="mapLayersCtrl.HeaderText" xml:space="preserve">
+    <value>Layers</value>
+  </data>
   <data name="mapLayersCtrl.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 206</value>
+    <value>0, 224</value>
   </data>
   <data name="mapLayersCtrl.Size" type="System.Drawing.Size, System.Drawing">
-    <value>572, 319</value>
+    <value>555, 319</value>
   </data>
   <data name="mapLayersCtrl.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
@@ -160,7 +166,7 @@
     <value>mapLayersCtrl</value>
   </data>
   <data name=">>mapLayersCtrl.Type" xml:space="preserve">
-    <value>Maestro.Editors.MapDefinition.MapLayersSectionCtrl, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.MapDefinition.MapLayersSectionCtrl, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>mapLayersCtrl.Parent" xml:space="preserve">
     <value>$this</value>
@@ -168,19 +174,19 @@
   <data name=">>mapLayersCtrl.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
   <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
   <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
-    <value>572, 500</value>
+    <value>555, 500</value>
   </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>MapDefinitionEditorCtrl</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>Maestro.Editors.EditorBase, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.EditorBase, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.Designer.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -29,7 +29,7 @@
         private void InitializeComponent()
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MapLayersSectionCtrl));
-            this.tabControl1 = new System.Windows.Forms.TabControl();
+            this.tabs = new System.Windows.Forms.TabControl();
             this.TAB_GROUP = new System.Windows.Forms.TabPage();
             this.trvLayersGroup = new Aga.Controls.Tree.TreeViewAdv();
             this.NODE_GROUP_ICON = new Aga.Controls.Tree.NodeControls.NodeIcon();
@@ -74,34 +74,41 @@
             this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
             this.btnBaseLayerGroupToRegular = new System.Windows.Forms.ToolStripButton();
             this.btnInvokeMgCooker = new System.Windows.Forms.ToolStripButton();
+            this.TAB_TILE_SET = new System.Windows.Forms.TabPage();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.btnBrowse = new System.Windows.Forms.Button();
+            this.txtTileSet = new System.Windows.Forms.TextBox();
             this.splitter1 = new System.Windows.Forms.Splitter();
             this.propertiesPanel = new System.Windows.Forms.Panel();
             this.contentPanel.SuspendLayout();
-            this.tabControl1.SuspendLayout();
+            this.tabs.SuspendLayout();
             this.TAB_GROUP.SuspendLayout();
             this.toolStrip1.SuspendLayout();
             this.TAB_DRAWING_ORDER.SuspendLayout();
             this.toolStrip2.SuspendLayout();
             this.TAB_BASE_LAYERS.SuspendLayout();
             this.toolStrip3.SuspendLayout();
+            this.TAB_TILE_SET.SuspendLayout();
+            this.groupBox1.SuspendLayout();
             this.SuspendLayout();
             // 
             // contentPanel
             // 
             this.contentPanel.Controls.Add(this.propertiesPanel);
             this.contentPanel.Controls.Add(this.splitter1);
-            this.contentPanel.Controls.Add(this.tabControl1);
+            this.contentPanel.Controls.Add(this.tabs);
             resources.ApplyResources(this.contentPanel, "contentPanel");
             // 
             // tabControl1
             // 
-            this.tabControl1.Controls.Add(this.TAB_GROUP);
-            this.tabControl1.Controls.Add(this.TAB_DRAWING_ORDER);
-            this.tabControl1.Controls.Add(this.TAB_BASE_LAYERS);
-            resources.ApplyResources(this.tabControl1, "tabControl1");
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
+            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";
+            this.tabs.SelectedIndex = 0;
+            this.tabs.SelectedIndexChanged += new System.EventHandler(this.tabs_SelectedIndexChanged);
             // 
             // TAB_GROUP
             // 
@@ -489,6 +496,35 @@
             this.btnInvokeMgCooker.Name = "btnInvokeMgCooker";
             this.btnInvokeMgCooker.Click += new System.EventHandler(this.btnInvokeMgCooker_Click);
             // 
+            // TAB_TILE_SET
+            // 
+            this.TAB_TILE_SET.Controls.Add(this.groupBox1);
+            resources.ApplyResources(this.TAB_TILE_SET, "TAB_TILE_SET");
+            this.TAB_TILE_SET.Name = "TAB_TILE_SET";
+            this.TAB_TILE_SET.UseVisualStyleBackColor = true;
+            // 
+            // groupBox1
+            // 
+            resources.ApplyResources(this.groupBox1, "groupBox1");
+            this.groupBox1.Controls.Add(this.btnBrowse);
+            this.groupBox1.Controls.Add(this.txtTileSet);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.TabStop = false;
+            // 
+            // btnBrowse
+            // 
+            resources.ApplyResources(this.btnBrowse, "btnBrowse");
+            this.btnBrowse.Name = "btnBrowse";
+            this.btnBrowse.UseVisualStyleBackColor = true;
+            this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
+            // 
+            // txtTileSet
+            // 
+            resources.ApplyResources(this.txtTileSet, "txtTileSet");
+            this.txtTileSet.Name = "txtTileSet";
+            this.txtTileSet.ReadOnly = true;
+            this.txtTileSet.TextChanged += new System.EventHandler(this.txtTileSet_TextChanged);
+            // 
             // splitter1
             // 
             resources.ApplyResources(this.splitter1, "splitter1");
@@ -506,7 +542,7 @@
             resources.ApplyResources(this, "$this");
             this.Name = "MapLayersSectionCtrl";
             this.contentPanel.ResumeLayout(false);
-            this.tabControl1.ResumeLayout(false);
+            this.tabs.ResumeLayout(false);
             this.TAB_GROUP.ResumeLayout(false);
             this.TAB_GROUP.PerformLayout();
             this.toolStrip1.ResumeLayout(false);
@@ -519,13 +555,16 @@
             this.TAB_BASE_LAYERS.PerformLayout();
             this.toolStrip3.ResumeLayout(false);
             this.toolStrip3.PerformLayout();
+            this.TAB_TILE_SET.ResumeLayout(false);
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
             this.ResumeLayout(false);
 
         }
 
         #endregion
 
-        private System.Windows.Forms.TabControl tabControl1;
+        private System.Windows.Forms.TabControl tabs;
         private System.Windows.Forms.TabPage TAB_GROUP;
         private System.Windows.Forms.TabPage TAB_DRAWING_ORDER;
         private System.Windows.Forms.ToolStrip toolStrip1;
@@ -572,5 +611,9 @@
         private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
         private System.Windows.Forms.ToolStripButton btnBaseLayerGroupToRegular;
         private System.Windows.Forms.ToolStripButton btnInvokeMgCooker;
+        private System.Windows.Forms.TabPage TAB_TILE_SET;
+        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.Button btnBrowse;
+        private System.Windows.Forms.TextBox txtTileSet;
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -142,17 +142,95 @@
         private TiledLayerModel _tiledLayerModel;
         private IEditorService _edSvc;
 
+        private bool _init = false;
+
         public override void Bind(IEditorService service)
         {
-            _edSvc = service;
-            _edSvc.RegisterCustomNotifier(this);
-            _map = (IMapDefinition)service.GetEditedResource();
+            try
+            {
+                _init = true;
+                _edSvc = service;
+                _edSvc.RegisterCustomNotifier(this);
+                _map = (IMapDefinition)service.GetEditedResource();
 
-            trvLayerDrawingOrder.Model = _doLayerModel = new DrawOrderLayerModel(_map);
-            trvLayersGroup.Model = _grpLayerModel = new GroupedLayerModel(_map);
+                var mdf3 = _map as IMapDefinition3;
+                if (mdf3 == null)
+                {
+                    tabs.TabPages.Remove(TAB_TILE_SET);
+                }
+                else
+                {
+                    tabs.TabPages.Remove(TAB_BASE_LAYERS);
+                    tabs.TabPages.Remove(TAB_TILE_SET);
+                    if (mdf3.TileSourceType == TileSourceType.Inline)
+                    {
+                        tabs.TabPages.Add(TAB_BASE_LAYERS);
+                        InitInlineModel();
+                    }
+                    else if (mdf3.TileSourceType == TileSourceType.External)
+                    {
+                        tabs.TabPages.Add(TAB_TILE_SET);
+                        InitExternalModel();
+                    }
+                }
+
+                _map.PropertyChanged += WeakEventHandler.Wrap<PropertyChangedEventHandler>(OnMapPropertyChanged, (eh) => _map.PropertyChanged -= eh);
+
+                trvLayerDrawingOrder.Model = _doLayerModel = new DrawOrderLayerModel(_map);
+                trvLayersGroup.Model = _grpLayerModel = new GroupedLayerModel(_map);
+                
+            }
+            finally
+            {
+                _init = false;
+            }
+        }
+
+        private void InitExternalModel()
+        {
+            propertiesPanel.Controls.Clear();
+            var mdf3 = _map as IMapDefinition3;
+            if (mdf3 != null)
+                txtTileSet.Text = mdf3.TileSetDefinitionID;
+        }
+
+        private void InitInlineModel()
+        {
             trvBaseLayers.Model = _tiledLayerModel = new TiledLayerModel(_map);
         }
 
+        private void OnMapPropertyChanged(object sender, PropertyChangedEventArgs e)
+        {
+            if (e.PropertyName == "TileSourceType")
+            {
+                var mdf = _map as IMapDefinition3;
+                if (mdf != null)
+                {
+                    tabs.TabPages.Remove(TAB_BASE_LAYERS);
+                    tabs.TabPages.Remove(TAB_TILE_SET);
+                    switch (mdf.TileSourceType)
+                    {
+                        case TileSourceType.External:
+                            {
+                                tabs.TabPages.Add(TAB_TILE_SET);
+                                int idx = tabs.TabPages.IndexOf(TAB_TILE_SET);
+                                tabs.SelectedIndex = idx;
+                                InitExternalModel();
+                            }
+                            break;
+                        case TileSourceType.Inline:
+                            {
+                                tabs.TabPages.Add(TAB_BASE_LAYERS);
+                                int idx = tabs.TabPages.IndexOf(TAB_BASE_LAYERS);
+                                tabs.SelectedIndex = idx;
+                                InitInlineModel();
+                            }
+                            break;
+                    }
+                }
+            }
+        }
+
         private void RefreshModels()
         {
             _doLayerModel.Invalidate();
@@ -735,7 +813,7 @@
             {
                 MessageBox.Show(string.Join(Environment.NewLine, messages.ToArray()));
                 this.RefreshModels();
-                tabControl1.SelectedIndex = 2; //Switch to Base Layer Groups
+                tabs.SelectedIndex = 2; //Switch to Base Layer Groups
             }
         }
 
@@ -782,7 +860,7 @@
             {
                 MessageBox.Show(string.Join(Environment.NewLine, messages.ToArray()));
                 this.RefreshModels();
-                tabControl1.SelectedIndex = 0; //Switch to Layer Groups
+                tabs.SelectedIndex = 0; //Switch to Layer Groups
             }
         }
 
@@ -1914,11 +1992,11 @@
                               "--" + TileRunParameters.MAPDEFINITIONS + "=" + _edSvc.ResourceID);
         }
 
-        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
+        private void tabs_SelectedIndexChanged(object sender, EventArgs e)
         {
             if (_activeLayer != null)
             {
-                switch (tabControl1.SelectedIndex)
+                switch (tabs.SelectedIndex)
                 {
                     case 0: //Logical
                         RestoreLayerSelection(_activeLayer);
@@ -2029,5 +2107,29 @@
                 OnMultipleItemsSelected(trvLayersGroup.SelectedNodes);
             }
         }
+
+        private void btnBrowse_Click(object sender, EventArgs e)
+        {
+            using (var picker = new ResourcePicker(_edSvc.CurrentConnection, ResourceTypes.TileSetDefinition.ToString(), ResourcePickerMode.OpenResource))
+            {
+                if (picker.ShowDialog() == DialogResult.OK )
+                {
+                    txtTileSet.Text = picker.ResourceID;
+                }
+            }
+        }
+
+        private void txtTileSet_TextChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            if (ResourceIdentifier.Validate(txtTileSet.Text))
+            {
+                var mdf3 = _map as IMapDefinition3;
+                if (mdf3 != null)
+                    mdf3.TileSetDefinitionID = txtTileSet.Text;
+            }
+        }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapLayersSectionCtrl.resx	2014-12-29 17:47:28 UTC (rev 8487)
@@ -195,204 +195,6 @@
   <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="TAB_GROUP.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 22</value>
-  </data>
-  <data name="TAB_GROUP.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
-    <value>3, 3, 3, 3</value>
-  </data>
-  <data name="TAB_GROUP.Size" type="System.Drawing.Size, System.Drawing">
-    <value>318, 266</value>
-  </data>
-  <data name="TAB_GROUP.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="TAB_GROUP.Text" xml:space="preserve">
-    <value>Layers by Group</value>
-  </data>
-  <data name=">>TAB_GROUP.Name" xml:space="preserve">
-    <value>TAB_GROUP</value>
-  </data>
-  <data name=">>TAB_GROUP.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_GROUP.Parent" xml:space="preserve">
-    <value>tabControl1</value>
-  </data>
-  <data name=">>TAB_GROUP.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=">>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>
-  <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="TAB_DRAWING_ORDER.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 22</value>
-  </data>
-  <data name="TAB_DRAWING_ORDER.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
-    <value>3, 3, 3, 3</value>
-  </data>
-  <data name="TAB_DRAWING_ORDER.Size" type="System.Drawing.Size, System.Drawing">
-    <value>318, 266</value>
-  </data>
-  <data name="TAB_DRAWING_ORDER.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="TAB_DRAWING_ORDER.Text" xml:space="preserve">
-    <value>Layers by Drawing Order</value>
-  </data>
-  <data name=">>TAB_DRAWING_ORDER.Name" xml:space="preserve">
-    <value>TAB_DRAWING_ORDER</value>
-  </data>
-  <data name=">>TAB_DRAWING_ORDER.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_DRAWING_ORDER.Parent" xml:space="preserve">
-    <value>tabControl1</value>
-  </data>
-  <data name=">>TAB_DRAWING_ORDER.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <metadata name="toolStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>3, 3</value>
-  </metadata>
-  <data name=">>trvBaseLayers.Name" xml:space="preserve">
-    <value>trvBaseLayers</value>
-  </data>
-  <data name=">>trvBaseLayers.Type" xml:space="preserve">
-    <value>Aga.Controls.Tree.TreeViewAdv, Aga.Controls, Version=1.7.0.0, Culture=neutral, PublicKeyToken=fcc90fbf924463a3</value>
-  </data>
-  <data name=">>trvBaseLayers.Parent" xml:space="preserve">
-    <value>TAB_BASE_LAYERS</value>
-  </data>
-  <data name=">>trvBaseLayers.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name=">>toolStrip3.Name" xml:space="preserve">
-    <value>toolStrip3</value>
-  </data>
-  <data name=">>toolStrip3.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=">>toolStrip3.Parent" xml:space="preserve">
-    <value>TAB_BASE_LAYERS</value>
-  </data>
-  <data name=">>toolStrip3.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="TAB_BASE_LAYERS.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 22</value>
-  </data>
-  <data name="TAB_BASE_LAYERS.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
-    <value>3, 3, 3, 3</value>
-  </data>
-  <data name="TAB_BASE_LAYERS.Size" type="System.Drawing.Size, System.Drawing">
-    <value>318, 266</value>
-  </data>
-  <data name="TAB_BASE_LAYERS.TabIndex" type="System.Int32, mscorlib">
-    <value>2</value>
-  </data>
-  <data name="TAB_BASE_LAYERS.Text" xml:space="preserve">
-    <value>Base Layer Groups</value>
-  </data>
-  <data name=">>TAB_BASE_LAYERS.Name" xml:space="preserve">
-    <value>TAB_BASE_LAYERS</value>
-  </data>
-  <data name=">>TAB_BASE_LAYERS.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_BASE_LAYERS.Parent" xml:space="preserve">
-    <value>tabControl1</value>
-  </data>
-  <data name=">>TAB_BASE_LAYERS.ZOrder" xml:space="preserve">
-    <value>2</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">
-    <value>0</value>
-  </data>
-  <data name=">>tabControl1.Name" xml:space="preserve">
-    <value>tabControl1</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>
-  <data name=">>tabControl1.Parent" xml:space="preserve">
-    <value>contentPanel</value>
-  </data>
-  <data name=">>tabControl1.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="btnAddGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
     <value>Magenta</value>
   </data>
@@ -480,6 +282,57 @@
   <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>
+  <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="TAB_GROUP.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 22</value>
+  </data>
+  <data name="TAB_GROUP.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TAB_GROUP.Size" type="System.Drawing.Size, System.Drawing">
+    <value>318, 266</value>
+  </data>
+  <data name="TAB_GROUP.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="TAB_GROUP.Text" xml:space="preserve">
+    <value>Layers by Group</value>
+  </data>
+  <data name=">>TAB_GROUP.Name" xml:space="preserve">
+    <value>TAB_GROUP</value>
+  </data>
+  <data name=">>TAB_GROUP.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_GROUP.Parent" xml:space="preserve">
+    <value>tabControl1</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>
@@ -510,30 +363,6 @@
   <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>
@@ -609,6 +438,57 @@
   <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>
+  <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="TAB_DRAWING_ORDER.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 22</value>
+  </data>
+  <data name="TAB_DRAWING_ORDER.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TAB_DRAWING_ORDER.Size" type="System.Drawing.Size, System.Drawing">
+    <value>318, 266</value>
+  </data>
+  <data name="TAB_DRAWING_ORDER.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TAB_DRAWING_ORDER.Text" xml:space="preserve">
+    <value>Layers by Drawing Order</value>
+  </data>
+  <data name=">>TAB_DRAWING_ORDER.Name" xml:space="preserve">
+    <value>TAB_DRAWING_ORDER</value>
+  </data>
+  <data name=">>TAB_DRAWING_ORDER.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_DRAWING_ORDER.Parent" xml:space="preserve">
+    <value>tabControl1</value>
+  </data>
+  <data name=">>TAB_DRAWING_ORDER.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
   <data name="trvBaseLayers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Fill</value>
   </data>
@@ -639,30 +519,6 @@
   <metadata name="toolStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>3, 3</value>
   </metadata>
-  <data name="toolStrip3.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 3</value>
-  </data>
-  <data name="toolStrip3.Size" type="System.Drawing.Size, System.Drawing">
-    <value>312, 25</value>
-  </data>
-  <data name="toolStrip3.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="toolStrip3.Text" xml:space="preserve">
-    <value>toolStrip3</value>
-  </data>
-  <data name=">>toolStrip3.Name" xml:space="preserve">
-    <value>toolStrip3</value>
-  </data>
-  <data name=">>toolStrip3.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=">>toolStrip3.Parent" xml:space="preserve">
-    <value>TAB_BASE_LAYERS</value>
-  </data>
-  <data name=">>toolStrip3.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
   <data name="btnNewBaseLayerGroup.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
     <value>Magenta</value>
   </data>
@@ -756,19 +612,19 @@
   <data name="btnInvokeMgCooker.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKnSURBVDhPfZDdT5JhGIc9qr+g0zxoa8ta5ShQUJEsFD8a
-        2maTtInzYzU5yRq2nO9wGROXZpljBsiHpjgBaQ4FFVCRDwFJNEvNsi23WiflBqsDf/RabzKH69p+J89z
-        X/dzP3fSYfAqjCfzb089zrijmGU3KOZ5da96CgQmGnX9fwrr7XV0gvgpHBsAZ/AhcvuZSO29ikr9+m5+
-        uaWFKjucgrrpfOYT4W7hsAzJnXwUmzRgaUXIGlvGaUsUQuM2uCXmW1R5IuzGF+EcLRMczSWkKTNRYngO
-        kS+KImcUtGEzzuvawb/f9y0vT3SUUuKkch4k0yUNyNExwVKlQ2SR4+nyDpoCEQhcUZxTNuFsrwAMaS3S
-        MrrYlBbnVLaE0WwIgKGoQY35GUzvI5C/iYAIRlDh+EBOVIA0FQ98jRQXGJ3XKS0OjSU+3jywDiIUQfFw
-        G3j9ZRA7pyH2R1Ay7gJTycQVcjqOrBJ0ZkcmpR2kVrIQEvt2IBjTgUtun63OQJFJjVx7FAzLNi4qSpFZ
-        3/I1JYU4QikH4d80cu+OvNutdn5GOrlElvoauNZN0CaiOGHeQVYbgbIbfY1UeSLd3Yqs9i4rhI/0yFZX
-        xC6Pr8fo4z9ivOnvsaqOAAjCCL3e4KDKE7Fap0acTjcGh6bQIrWBkDrQJJnEvcaXkMm0mJychdPpQmtr
-        6xlKiUMeHnO5vL+CwSUEg6/h9Qbgdi/8Eez2WXg8fvj9iwiFwlCpNB2UFkepVJcGAkvw+UL78XpD8HgX
-        4fYEMe8OYGbGg7m5BZjNE2uUFkep1JWvvt0kx5xLiM8XJl9eQ39VNWxa/V6jLUqLs9dgY+MTRkctCQkE
-        V/Bx6wvme3qx6g+T3/ElNpDLFenkRdjtdq+Qi6TiXLHZ/sWxn6Ehw8BfKynpNzkbyqNO5mj5AAAAAElF
-        TkSuQmCC
+        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==
 </value>
   </data>
   <data name="btnInvokeMgCooker.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
@@ -780,6 +636,198 @@
   <data name="btnInvokeMgCooker.Text" xml:space="preserve">
     <value>Start MgCooker</value>
   </data>
+  <data name="toolStrip3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="toolStrip3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>312, 25</value>
+  </data>
+  <data name="toolStrip3.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="toolStrip3.Text" xml:space="preserve">
+    <value>toolStrip3</value>
+  </data>
+  <data name=">>toolStrip3.Name" xml:space="preserve">
+    <value>toolStrip3</value>
+  </data>
+  <data name=">>toolStrip3.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=">>toolStrip3.Parent" xml:space="preserve">
+    <value>TAB_BASE_LAYERS</value>
+  </data>
+  <data name=">>toolStrip3.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TAB_BASE_LAYERS.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 22</value>
+  </data>
+  <data name="TAB_BASE_LAYERS.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TAB_BASE_LAYERS.Size" type="System.Drawing.Size, System.Drawing">
+    <value>318, 266</value>
+  </data>
+  <data name="TAB_BASE_LAYERS.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="TAB_BASE_LAYERS.Text" xml:space="preserve">
+    <value>Base Layer Groups</value>
+  </data>
+  <data name=">>TAB_BASE_LAYERS.Name" xml:space="preserve">
+    <value>TAB_BASE_LAYERS</value>
+  </data>
+  <data name=">>TAB_BASE_LAYERS.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_BASE_LAYERS.Parent" xml:space="preserve">
+    <value>tabControl1</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>
+  <data name="btnBrowse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Right</value>
+  </data>
+  <data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
+    <value>253, 29</value>
+  </data>
+  <data name="btnBrowse.Size" type="System.Drawing.Size, System.Drawing">
+    <value>25, 23</value>
+  </data>
+  <data name="btnBrowse.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="btnBrowse.Text" xml:space="preserve">
+    <value>...</value>
+  </data>
+  <data name=">>btnBrowse.Name" xml:space="preserve">
+    <value>btnBrowse</value>
+  </data>
+  <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=">>btnBrowse.Parent" xml:space="preserve">
+    <value>groupBox1</value>
+  </data>
+  <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>
+  <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=">>txtTileSet.Parent" xml:space="preserve">
+    <value>groupBox1</value>
+  </data>
+  <data name=">>txtTileSet.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 13</value>
+  </data>
+  <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>288, 72</value>
+  </data>
+  <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="groupBox1.Text" xml:space="preserve">
+    <value>Tile Set</value>
+  </data>
+  <data name=">>groupBox1.Name" xml:space="preserve">
+    <value>groupBox1</value>
+  </data>
+  <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=">>groupBox1.Parent" xml:space="preserve">
+    <value>TAB_TILE_SET</value>
+  </data>
+  <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>
+  <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>tabControl1</value>
+  </data>
+  <data name=">>TAB_TILE_SET.ZOrder" xml:space="preserve">
+    <value>3</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">
+    <value>0</value>
+  </data>
+  <data name=">>tabControl1.Name" xml:space="preserve">
+    <value>tabControl1</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>
+  <data name=">>tabControl1.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>tabControl1.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>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -1003,6 +1051,6 @@
     <value>MapLayersSectionCtrl</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.Designer.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.Designer.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -48,12 +48,18 @@
             this.txtCoordinateSystem = new System.Windows.Forms.TextBox();
             this.btnPickCs = new System.Windows.Forms.Button();
             this.cmbBackgroundColor = new Maestro.Editors.Common.ColorComboBox();
+            this.pnlTileSource = new System.Windows.Forms.Panel();
+            this.rdExternal = new System.Windows.Forms.RadioButton();
+            this.rdInline = new System.Windows.Forms.RadioButton();
+            this.label10 = new System.Windows.Forms.Label();
             this.contentPanel.SuspendLayout();
             this.groupBox2.SuspendLayout();
+            this.pnlTileSource.SuspendLayout();
             this.SuspendLayout();
             // 
             // contentPanel
             // 
+            this.contentPanel.Controls.Add(this.pnlTileSource);
             this.contentPanel.Controls.Add(this.cmbBackgroundColor);
             this.contentPanel.Controls.Add(this.btnPickCs);
             this.contentPanel.Controls.Add(this.txtCoordinateSystem);
@@ -183,16 +189,46 @@
             resources.ApplyResources(this.cmbBackgroundColor, "cmbBackgroundColor");
             this.cmbBackgroundColor.Name = "cmbBackgroundColor";
             // 
+            // pnlTileSource
+            // 
+            this.pnlTileSource.Controls.Add(this.rdExternal);
+            this.pnlTileSource.Controls.Add(this.rdInline);
+            this.pnlTileSource.Controls.Add(this.label10);
+            resources.ApplyResources(this.pnlTileSource, "pnlTileSource");
+            this.pnlTileSource.Name = "pnlTileSource";
+            // 
+            // rdExternal
+            // 
+            resources.ApplyResources(this.rdExternal, "rdExternal");
+            this.rdExternal.Name = "rdExternal";
+            this.rdExternal.UseVisualStyleBackColor = true;
+            this.rdExternal.CheckedChanged += new System.EventHandler(this.rdExternal_CheckedChanged);
+            // 
+            // rdInline
+            // 
+            resources.ApplyResources(this.rdInline, "rdInline");
+            this.rdInline.Checked = true;
+            this.rdInline.Name = "rdInline";
+            this.rdInline.TabStop = true;
+            this.rdInline.UseVisualStyleBackColor = true;
+            this.rdInline.CheckedChanged += new System.EventHandler(this.rdInline_CheckedChanged);
+            // 
+            // label10
+            // 
+            resources.ApplyResources(this.label10, "label10");
+            this.label10.Name = "label10";
+            // 
             // MapSettingsSectionCtrl
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
-            this.HeaderText = "Map Settings";
+            resources.ApplyResources(this, "$this");
             this.Name = "MapSettingsSectionCtrl";
-            resources.ApplyResources(this, "$this");
             this.contentPanel.ResumeLayout(false);
             this.contentPanel.PerformLayout();
             this.groupBox2.ResumeLayout(false);
             this.groupBox2.PerformLayout();
+            this.pnlTileSource.ResumeLayout(false);
+            this.pnlTileSource.PerformLayout();
             this.ResumeLayout(false);
 
         }
@@ -218,5 +254,9 @@
         private System.Windows.Forms.Label label9;
         private System.Windows.Forms.Button btnPickCs;
         private Maestro.Editors.Common.ColorComboBox cmbBackgroundColor;
+        private System.Windows.Forms.Panel pnlTileSource;
+        private System.Windows.Forms.RadioButton rdExternal;
+        private System.Windows.Forms.RadioButton rdInline;
+        private System.Windows.Forms.Label label10;
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -56,6 +56,24 @@
             _service.RegisterCustomNotifier(this);
             _map = (IMapDefinition)service.GetEditedResource();
 
+            var mdf3 = _map as IMapDefinition3;
+            if (mdf3 == null)
+            {
+                pnlTileSource.Visible = false;
+            }
+            else
+            {
+                switch(mdf3.TileSourceType)
+                {
+                    case TileSourceType.External:
+                        rdExternal.Checked = true;
+                        break;
+                    case TileSourceType.Inline:
+                        rdInline.Checked = true;
+                        break;
+                }
+            }
+
             var bmeta = new Binding("Text", _map, "Metadata");
             bmeta.Parse += (sender, e) =>
             {
@@ -229,5 +247,29 @@
                 }
             }
         }
+
+        private void rdInline_CheckedChanged(object sender, EventArgs e)
+        {
+            var mdf3 = _map as IMapDefinition3;
+            if (mdf3 != null)
+            {
+                if (rdInline.Checked)
+                    mdf3.TileSourceType = TileSourceType.Inline;
+                else
+                    mdf3.TileSourceType = TileSourceType.External;
+            }
+        }
+
+        private void rdExternal_CheckedChanged(object sender, EventArgs e)
+        {
+            var mdf3 = _map as IMapDefinition3;
+            if (mdf3 != null)
+            {
+                if (rdExternal.Checked)
+                    mdf3.TileSourceType = TileSourceType.External;
+                else
+                    mdf3.TileSourceType = TileSourceType.Inline;
+            }
+        }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.resx	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/Maestro.Editors/MapDefinition/MapSettingsSectionCtrl.resx	2014-12-29 17:47:28 UTC (rev 8487)
@@ -112,19 +112,128 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="rdExternal.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="rdExternal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="rdExternal.Location" type="System.Drawing.Point, System.Drawing">
+    <value>201, 6</value>
+  </data>
+  <data name="rdExternal.Size" type="System.Drawing.Size, System.Drawing">
+    <value>63, 17</value>
+  </data>
+  <data name="rdExternal.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="rdExternal.Text" xml:space="preserve">
+    <value>External</value>
+  </data>
+  <data name=">>rdExternal.Name" xml:space="preserve">
+    <value>rdExternal</value>
+  </data>
+  <data name=">>rdExternal.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>rdExternal.Parent" xml:space="preserve">
+    <value>pnlTileSource</value>
+  </data>
+  <data name=">>rdExternal.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="rdInline.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="rdInline.Location" type="System.Drawing.Point, System.Drawing">
+    <value>143, 6</value>
+  </data>
+  <data name="rdInline.Size" type="System.Drawing.Size, System.Drawing">
+    <value>50, 17</value>
+  </data>
+  <data name="rdInline.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="rdInline.Text" xml:space="preserve">
+    <value>Inline</value>
+  </data>
+  <data name=">>rdInline.Name" xml:space="preserve">
+    <value>rdInline</value>
+  </data>
+  <data name=">>rdInline.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>rdInline.Parent" xml:space="preserve">
+    <value>pnlTileSource</value>
+  </data>
+  <data name=">>rdInline.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="label10.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label10.Location" type="System.Drawing.Point, System.Drawing">
+    <value>18, 8</value>
+  </data>
+  <data name="label10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>61, 13</value>
+  </data>
+  <data name="label10.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="label10.Text" xml:space="preserve">
+    <value>Tile Source</value>
+  </data>
+  <data name=">>label10.Name" xml:space="preserve">
+    <value>label10</value>
+  </data>
+  <data name=">>label10.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label10.Parent" xml:space="preserve">
+    <value>pnlTileSource</value>
+  </data>
+  <data name=">>label10.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="pnlTileSource.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Bottom</value>
+  </data>
+  <data name="pnlTileSource.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 171</value>
+  </data>
+  <data name="pnlTileSource.Size" type="System.Drawing.Size, System.Drawing">
+    <value>561, 30</value>
+  </data>
+  <data name="pnlTileSource.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name=">>pnlTileSource.Name" xml:space="preserve">
+    <value>pnlTileSource</value>
+  </data>
+  <data name=">>pnlTileSource.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=">>pnlTileSource.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>pnlTileSource.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
   <data name="cmbBackgroundColor.Location" type="System.Drawing.Point, System.Drawing">
     <value>143, 58</value>
   </data>
   <data name="cmbBackgroundColor.Size" type="System.Drawing.Size, System.Drawing">
     <value>121, 21</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="cmbBackgroundColor.TabIndex" type="System.Int32, mscorlib">
     <value>9</value>
   </data>
@@ -132,15 +241,14 @@
     <value>cmbBackgroundColor</value>
   </data>
   <data name=">>cmbBackgroundColor.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>cmbBackgroundColor.Parent" xml:space="preserve">
     <value>contentPanel</value>
   </data>
   <data name=">>cmbBackgroundColor.ZOrder" xml:space="preserve">
-    <value>0</value>
+    <value>1</value>
   </data>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="btnPickCs.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Right</value>
   </data>
@@ -160,13 +268,13 @@
     <value>btnPickCs</value>
   </data>
   <data name=">>btnPickCs.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>btnPickCs.Parent" xml:space="preserve">
     <value>contentPanel</value>
   </data>
   <data name=">>btnPickCs.ZOrder" xml:space="preserve">
-    <value>1</value>
+    <value>2</value>
   </data>
   <data name="txtCoordinateSystem.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
@@ -184,13 +292,13 @@
     <value>txtCoordinateSystem</value>
   </data>
   <data name=">>txtCoordinateSystem.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtCoordinateSystem.Parent" xml:space="preserve">
     <value>contentPanel</value>
   </data>
   <data name=">>txtCoordinateSystem.ZOrder" xml:space="preserve">
-    <value>2</value>
+    <value>3</value>
   </data>
   <data name="txtDescription.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
@@ -208,17 +316,269 @@
     <value>txtDescription</value>
   </data>
   <data name=">>txtDescription.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtDescription.Parent" xml:space="preserve">
     <value>contentPanel</value>
   </data>
   <data name=">>txtDescription.ZOrder" xml:space="preserve">
-    <value>3</value>
+    <value>4</value>
   </data>
   <data name="groupBox2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
   </data>
+  <data name=">>btnSetZoom.Name" xml:space="preserve">
+    <value>btnSetZoom</value>
+  </data>
+  <data name=">>btnSetZoom.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=">>btnSetZoom.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>btnSetZoom.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name=">>txtUpperY.Name" xml:space="preserve">
+    <value>txtUpperY</value>
+  </data>
+  <data name=">>txtUpperY.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=">>txtUpperY.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>txtUpperY.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name=">>label8.Name" xml:space="preserve">
+    <value>label8</value>
+  </data>
+  <data name=">>label8.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label8.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label8.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name=">>txtUpperX.Name" xml:space="preserve">
+    <value>txtUpperX</value>
+  </data>
+  <data name=">>txtUpperX.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=">>txtUpperX.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>txtUpperX.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name=">>label7.Name" xml:space="preserve">
+    <value>label7</value>
+  </data>
+  <data name=">>label7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label7.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label7.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name=">>txtLowerY.Name" xml:space="preserve">
+    <value>txtLowerY</value>
+  </data>
+  <data name=">>txtLowerY.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=">>txtLowerY.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>txtLowerY.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name=">>label6.Name" xml:space="preserve">
+    <value>label6</value>
+  </data>
+  <data name=">>label6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label6.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label6.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name=">>txtLowerX.Name" xml:space="preserve">
+    <value>txtLowerX</value>
+  </data>
+  <data name=">>txtLowerX.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=">>txtLowerX.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>txtLowerX.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name=">>label5.Name" xml:space="preserve">
+    <value>label5</value>
+  </data>
+  <data name=">>label5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label5.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label5.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name=">>label4.Name" xml:space="preserve">
+    <value>label4</value>
+  </data>
+  <data name=">>label4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label4.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label4.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name=">>label9.Name" xml:space="preserve">
+    <value>label9</value>
+  </data>
+  <data name=">>label9.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label9.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>label9.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>20, 85</value>
+  </data>
+  <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>528, 80</value>
+  </data>
+  <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="groupBox2.Text" xml:space="preserve">
+    <value>Initial map view</value>
+  </data>
+  <data name=">>groupBox2.Name" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name=">>groupBox2.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=">>groupBox2.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>groupBox2.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>17, 61</value>
+  </data>
+  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>92, 13</value>
+  </data>
+  <data name="label3.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="label3.Text" xml:space="preserve">
+    <value>Background Color</value>
+  </data>
+  <data name=">>label3.Name" xml:space="preserve">
+    <value>label3</value>
+  </data>
+  <data name=">>label3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label3.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>label3.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>17, 35</value>
+  </data>
+  <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>95, 13</value>
+  </data>
+  <data name="label2.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="label2.Text" xml:space="preserve">
+    <value>Coordinate System</value>
+  </data>
+  <data name=">>label2.Name" xml:space="preserve">
+    <value>label2</value>
+  </data>
+  <data name=">>label2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label2.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>label2.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>17, 9</value>
+  </data>
+  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>60, 13</value>
+  </data>
+  <data name="label1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="label1.Text" xml:space="preserve">
+    <value>Description</value>
+  </data>
+  <data name=">>label1.Name" xml:space="preserve">
+    <value>label1</value>
+  </data>
+  <data name=">>label1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>label1.Parent" xml:space="preserve">
+    <value>contentPanel</value>
+  </data>
+  <data name=">>label1.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>561, 201</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="btnSetZoom.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
     <value>NoControl</value>
   </data>
@@ -238,7 +598,7 @@
     <value>btnSetZoom</value>
   </data>
   <data name=">>btnSetZoom.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>btnSetZoom.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -259,7 +619,7 @@
     <value>txtUpperY</value>
   </data>
   <data name=">>txtUpperY.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtUpperY.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -286,7 +646,7 @@
     <value>label8</value>
   </data>
   <data name=">>label8.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label8.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -307,7 +667,7 @@
     <value>txtUpperX</value>
   </data>
   <data name=">>txtUpperX.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtUpperX.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -334,7 +694,7 @@
     <value>label7</value>
   </data>
   <data name=">>label7.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label7.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -355,7 +715,7 @@
     <value>txtLowerY</value>
   </data>
   <data name=">>txtLowerY.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtLowerY.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -382,7 +742,7 @@
     <value>label6</value>
   </data>
   <data name=">>label6.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label6.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -403,7 +763,7 @@
     <value>txtLowerX</value>
   </data>
   <data name=">>txtLowerX.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>txtLowerX.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -430,7 +790,7 @@
     <value>label5</value>
   </data>
   <data name=">>label5.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label5.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -457,7 +817,7 @@
     <value>label4</value>
   </data>
   <data name=">>label4.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label4.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -484,7 +844,7 @@
     <value>label9</value>
   </data>
   <data name=">>label9.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>label9.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -492,136 +852,19 @@
   <data name=">>label9.ZOrder" xml:space="preserve">
     <value>10</value>
   </data>
-  <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>20, 85</value>
-  </data>
-  <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>528, 80</value>
-  </data>
-  <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
-    <value>4</value>
-  </data>
-  <data name="groupBox2.Text" xml:space="preserve">
-    <value>Initial map view</value>
-  </data>
-  <data name=">>groupBox2.Name" xml:space="preserve">
-    <value>groupBox2</value>
-  </data>
-  <data name=">>groupBox2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>groupBox2.Parent" xml:space="preserve">
-    <value>contentPanel</value>
-  </data>
-  <data name=">>groupBox2.ZOrder" xml:space="preserve">
-    <value>4</value>
-  </data>
-  <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
+  </metadata>
+  <data name="$this.HeaderText" xml:space="preserve">
+    <value>Map Settings</value>
   </data>
-  <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
-    <value>17, 61</value>
-  </data>
-  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
-    <value>92, 13</value>
-  </data>
-  <data name="label3.TabIndex" type="System.Int32, mscorlib">
-    <value>2</value>
-  </data>
-  <data name="label3.Text" xml:space="preserve">
-    <value>Background Color</value>
-  </data>
-  <data name=">>label3.Name" xml:space="preserve">
-    <value>label3</value>
-  </data>
-  <data name=">>label3.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label3.Parent" xml:space="preserve">
-    <value>contentPanel</value>
-  </data>
-  <data name=">>label3.ZOrder" xml:space="preserve">
-    <value>5</value>
-  </data>
-  <data name="label2.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>17, 35</value>
-  </data>
-  <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>95, 13</value>
-  </data>
-  <data name="label2.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="label2.Text" xml:space="preserve">
-    <value>Coordinate System</value>
-  </data>
-  <data name=">>label2.Name" xml:space="preserve">
-    <value>label2</value>
-  </data>
-  <data name=">>label2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label2.Parent" xml:space="preserve">
-    <value>contentPanel</value>
-  </data>
-  <data name=">>label2.ZOrder" xml:space="preserve">
-    <value>6</value>
-  </data>
-  <data name="label1.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>17, 9</value>
-  </data>
-  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>60, 13</value>
-  </data>
-  <data name="label1.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="label1.Text" xml:space="preserve">
-    <value>Description</value>
-  </data>
-  <data name=">>label1.Name" xml:space="preserve">
-    <value>label1</value>
-  </data>
-  <data name=">>label1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label1.Parent" xml:space="preserve">
-    <value>contentPanel</value>
-  </data>
-  <data name=">>label1.ZOrder" xml:space="preserve">
-    <value>7</value>
-  </data>
-  <data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
-    <value>561, 179</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=2.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>
-  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
   <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
-    <value>561, 206</value>
+    <value>561, 228</value>
   </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>MapSettingsSectionCtrl</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -348,6 +348,8 @@
                     types.Add(ResourceTypes.ApplicationDefinition.ToString());
                 if (ver >= new Version(2, 3))
                     types.Add(ResourceTypes.WatermarkDefinition.ToString());
+                if (ver >= new Version(3, 0))
+                    types.Add(ResourceTypes.TileSetDefinition.ToString());
 
                 //When new types are introduced to MapGuide and we wish to add such support, put the new types here
                 return types.OrderBy(x => x).ToArray();

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/MapDefinitionInterfaces.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -291,9 +291,9 @@
         string TileSetDefinitionID { get; set; }
 
         /// <summary>
-        /// Gets the type of tile source
+        /// Gets or sets the type of tile source
         /// </summary>
-        TileSourceType TileSourceType { get; }
+        TileSourceType TileSourceType { get; set; }
     }
 
     /// <summary>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/v3_0_0/MapDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/v3_0_0/MapDefinitionImpl.cs	2014-12-29 16:35:04 UTC (rev 8486)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ObjectModels/MapDefinition/v3_0_0/MapDefinitionImpl.cs	2014-12-29 17:47:28 UTC (rev 8487)
@@ -144,6 +144,36 @@
                 else
                     return TileSourceType.None;
             }
+            set
+            {
+                var oldType = ((IMapDefinition3)this).TileSourceType;
+
+                switch(value)
+                {
+                    case TileSourceType.External:
+                        {
+                            ((IMapDefinition)this).RemoveBaseMap();
+                            if (this.TileSetSource == null)
+                                this.TileSetSource = new MapDefinitionTypeTileSetSource();   
+                        }
+                        break;
+                    case TileSourceType.Inline:
+                        {
+                            this.TileSetSource = null;
+                            if (this.BaseMapDefinition == null)
+                                ((IMapDefinition)this).InitBaseMap();
+                        }
+                        break;
+                    default:
+                        {
+                            this.TileSetSource = null;
+                            ((IMapDefinition)this).RemoveBaseMap();
+                        }
+                        break;
+                }
+                if (oldType != value)
+                    OnPropertyChanged("TileSourceType");
+            }
         }
 
         private static readonly Version RES_VERSION = new Version(3, 0, 0);
@@ -481,12 +511,14 @@
                     FiniteDisplayScale = new System.ComponentModel.BindingList<double>()
                 };
             }
-            this.TileSetSource = null;
+            if (this.TileSetSource != null)
+                this.TileSetSource = null;
         }
 
         void IMapDefinition.RemoveBaseMap()
         {
-            this.BaseMapDefinition = null;
+            if (this.BaseMapDefinition != null)
+                this.BaseMapDefinition = null;
         }
 
         [XmlIgnore]



More information about the mapguide-commits mailing list