[mapguide-commits] r8048 - in trunk/Tools/Maestro: ExtendedModels ExtendedModels/WebLayout-1.1.0 ExtendedModels/WebLayout-2.6.0 ExtendedModels/WebLayout-2.6.0/Properties Generated Maestro Maestro.AddIn.ExtendedObjectModels Maestro.AddIn.ExtendedObjectModels/Editor Maestro.AddIn.ExtendedObjectModels/Templates Maestro.Editors Maestro.Editors/WebLayout OSGeo.MapGuide.ExtendedObjectModels OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI/Capability OSGeo.MapGuide.MaestroAPI/ObjectModels OSGeo.MapGuide.MaestroAPI/Schemas Properties

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Apr 16 06:01:26 PDT 2014


Author: jng
Date: 2014-04-16 06:01:26 -0700 (Wed, 16 Apr 2014)
New Revision: 8048

Added:
   trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/
   trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj
   trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/Properties/
   trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/Properties/AssemblyInfo.cs
   trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/WebLayout3Impl.cs
   trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/WebLayout260ItemTemplate.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Schemas/WebLayout-2.6.0.xsd
Modified:
   trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayout2Impl.cs
   trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayoutValidator.cs
   trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs
   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.Editors/Maestro.Editors.csproj
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.resx
   trunk/Tools/Maestro/Maestro/Maestro.csproj
   trunk/Tools/Maestro/Maestro/Maestro_All.sln
   trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/ModelSetup.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/OSGeo.MapGuide.ExtendedObjectModels.csproj
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayout.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs
   trunk/Tools/Maestro/Properties/GlobalAssemblyInfo.cs
Log:
#2430: Add support for WebLayout v2.6.0

Modified: trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayout2Impl.cs
===================================================================
--- trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayout2Impl.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayout2Impl.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -22,7 +22,9 @@
 using System.Text;
 using OSGeo.MapGuide.ObjectModels.WebLayout;
 
-#if WL240
+#if WL260
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0
+#elif WL240
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_4_0
 #else
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0

Modified: trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayoutValidator.cs
===================================================================
--- trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayoutValidator.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/ExtendedModels/WebLayout-1.1.0/WebLayoutValidator.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -23,7 +23,9 @@
 using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.MaestroAPI.Resource.Validation;
 
-#if WL240
+#if WL260
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0
+#elif WL240
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_4_0
 #else
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0
@@ -33,7 +35,9 @@
     {
         public override ResourceTypeDescriptor SupportedResourceAndVersion
         {
-#if WL240
+#if WL260
+            get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, "2.6.0"); }
+#elif WL240
             get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, "2.4.0"); }
 #else
             get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, "1.1.0"); }


Property changes on: trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0
___________________________________________________________________
Added: svn:ignore
   + obj


Added: trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj
===================================================================
--- trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj	                        (rev 0)
+++ trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>
+    </AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\SDK\bin\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;WL260</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\SDK\bin\</OutputPath>
+    <DefineConstants>TRACE;WL240</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\WebLayout-1.1.0.designer.cs">
+      <Link>WebLayout-1.1.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\OSGeo.MapGuide.MaestroAPI\ObjectModels\WebLayout.cs">
+      <Link>WebLayout.cs</Link>
+    </Compile>
+    <Compile Include="..\..\Properties\GlobalAssemblyInfo.cs">
+      <Link>GlobalAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\..\Properties\SignedAssemblyInfo.cs">
+      <Link>SignedAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\WebLayout-1.1.0\WebLayout2Impl.cs">
+      <Link>WebLayout2Impl.cs</Link>
+    </Compile>
+    <Compile Include="..\WebLayout-1.1.0\WebLayoutValidator.cs">
+      <Link>WebLayoutValidator.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="WebLayout3Impl.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/Properties/AssemblyInfo.cs
===================================================================
--- trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/Properties/AssemblyInfo.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("02A2882D-5FED-4794-9E87-3F988E91B24A")]
\ No newline at end of file

Added: trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/WebLayout3Impl.cs
===================================================================
--- trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/WebLayout3Impl.cs	                        (rev 0)
+++ trunk/Tools/Maestro/ExtendedModels/WebLayout-2.6.0/WebLayout3Impl.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,29 @@
+#region Disclaimer / License
+// Copyright (C) 2014, 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
+using OSGeo.MapGuide.ObjectModels.WebLayout;
+
+#if WL260
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0
+{
+    partial class WebLayoutType : IWebLayout3
+    {
+    }
+}
+#endif

Modified: trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -5,7 +5,9 @@
 //    <NameSpace>OSGeo.MapGuide.ObjectModels.WebLayout</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInitialize
 Fields>False</EnableInitializeFields>
 //  </auto-generated>
 // ------------------------------------------------------------------------------
-#if WL240
+#if WL260
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0 {
+#elif WL240
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_4_0 {
 #else
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0 {
@@ -34,8 +36,25 @@
         
         [EditorBrowsable(EditorBrowsableState.Never)]
         private bool enablePingServerField;
-        
+
+#if WL260
         [EditorBrowsable(EditorBrowsableState.Never)]
+        private string selectionColorField;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private int pointSelectionBufferField;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private string mapImageFormatField;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private string selectionImageFormatField;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private string startupScriptField;
+#endif
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
         private ToolBarType toolBarField;
         
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -105,6 +124,120 @@
                 }
             }
         }
+
+#if WL260
+        public string SelectionColor
+        {
+            get
+            {
+                return this.selectionColorField;
+            }
+            set
+            {
+                if (this.selectionColorField != null)
+                {
+                    if ((selectionColorField.Equals(value) != true))
+                    {
+                        this.selectionColorField = value;
+                        this.OnPropertyChanged("SelectionColor");
+                    }
+                }
+                else
+                {
+                    this.selectionColorField = value;
+                    this.OnPropertyChanged("SelectionColor");
+                }
+            }
+        }
+
+        public int PointSelectionBuffer
+        {
+            get
+            {
+                return this.pointSelectionBufferField;
+            }
+            set
+            {
+                if ((pointSelectionBufferField.Equals(value) != true))
+                {
+                    this.pointSelectionBufferField = value;
+                    this.OnPropertyChanged("PointSelectionBuffer");
+                }
+            }
+        }
+
+        public string MapImageFormat
+        {
+            get
+            {
+                return this.mapImageFormatField;
+            }
+            set
+            {
+                if (this.mapImageFormatField != null)
+                {
+                    if ((mapImageFormatField.Equals(value) != true))
+                    {
+                        this.mapImageFormatField = value;
+                        this.OnPropertyChanged("MapImageFormat");
+                    }
+                }
+                else
+                {
+                    this.mapImageFormatField = value;
+                    this.OnPropertyChanged("MapImageFormat");
+                }
+            }
+        }
+
+        public string SelectionImageFormat
+        {
+            get
+            {
+                return this.selectionImageFormatField;
+            }
+            set
+            {
+                if (this.selectionImageFormatField != null)
+                {
+                    if ((selectionImageFormatField.Equals(value) != true))
+                    {
+                        this.selectionImageFormatField = value;
+                        this.OnPropertyChanged("SelectionImageFormat");
+                    }
+                }
+                else
+                {
+                    this.selectionImageFormatField = value;
+                    this.OnPropertyChanged("SelectionImageFormat");
+                }
+            }
+        }
+
+        public string StartupScript
+        {
+            get
+            {
+                return this.startupScriptField;
+            }
+            set
+            {
+                if (this.startupScriptField != null)
+                {
+                    if ((startupScriptField.Equals(value) != true))
+                    {
+                        this.startupScriptField = value;
+                        this.OnPropertyChanged("StartupScript");
+                    }
+                }
+                else
+                {
+                    this.startupScriptField = value;
+                    this.OnPropertyChanged("StartupScript");
+                }
+            }
+        }
+#endif
         
         public ToolBarType ToolBar {
             get {

Modified: trunk/Tools/Maestro/Maestro/Maestro.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro/Maestro.csproj	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro/Maestro.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -275,6 +275,10 @@
       <Link>Schemas\PrintLayout-1.0.0.xsd</Link>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Include="..\OSGeo.MapGuide.MaestroAPI\Schemas\ProfileResult-2.4.0.xsd">
+      <Link>Schemas\ProfileResult-2.4.0.xsd</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Include="..\OSGeo.MapGuide.MaestroAPI\Schemas\RepositoryContent-1.0.0.xsd">
       <Link>Schemas\RepositoryContent-1.0.0.xsd</Link>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -407,6 +411,10 @@
       <Link>Schemas\WebLayout-1.1.0.xsd</Link>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Include="..\OSGeo.MapGuide.MaestroAPI\Schemas\WebLayout-2.6.0.xsd">
+      <Link>Schemas\WebLayout-2.6.0.xsd</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Include="App.config" />
     <None Include="Maestro.sh">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>

Modified: trunk/Tools/Maestro/Maestro/Maestro_All.sln
===================================================================
--- trunk/Tools/Maestro/Maestro/Maestro_All.sln	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro/Maestro_All.sln	2014-04-16 13:01:26 UTC (rev 8048)
@@ -156,6 +156,8 @@
 		.nuget\packages.config = .nuget\packages.config
 	EndProjectSection
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0", "..\ExtendedModels\WebLayout-2.6.0\OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj", "{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -346,6 +348,10 @@
 		{AA5EF530-B95C-4C8F-BE9F-52C225613DF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{AA5EF530-B95C-4C8F-BE9F-52C225613DF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{AA5EF530-B95C-4C8F-BE9F-52C225613DF9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{829D2A4E-7DBC-48AD-9CF9-12ACFBF943A6}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Editor/EditorFactories.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -55,6 +55,21 @@
         }
     }
 
+    internal class WebLayout260EditorFactory : IEditorFactory
+    {
+        public ResourceTypeDescriptor ResourceTypeAndVersion { get; private set; }
+
+        public WebLayout260EditorFactory()
+        {
+            this.ResourceTypeAndVersion = new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, "2.6.0"); //NOXLATE
+        }
+
+        public IEditorViewContent Create()
+        {
+            return new WebLayoutEditor();
+        }
+    }
+
     internal class LayerDefinition110EditorFactory : 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-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Maestro.AddIn.ExtendedObjectModels.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -78,6 +78,7 @@
       <DesignTime>True</DesignTime>
       <DependentUpon>Strings.resx</DependentUpon>
     </Compile>
+    <Compile Include="Templates\WebLayout260ItemTemplate.cs" />
     <Compile Include="Templates\SymbolDefinition240ItemTemplate.cs" />
     <Compile Include="Templates\WatermarkDefinition240ItemTemplate.cs" />
     <Compile Include="Templates\VectorLayer240ItemTemplate.cs" />

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Manifest.addin	2014-04-16 13:01:26 UTC (rev 8048)
@@ -22,6 +22,7 @@
         <Class id="LayerDefinitionEditor130" class="Maestro.AddIn.ExtendedObjectModels.Editor.LayerDefinition130EditorFactory" />
         <Class id="WebLayoutEditor110" class="Maestro.AddIn.ExtendedObjectModels.Editor.WebLayout110EditorFactory" />
         <Class id="WebLayoutEditor240" class="Maestro.AddIn.ExtendedObjectModels.Editor.WebLayout240EditorFactory" />
+        <Class id="WebLayoutEditor260" class="Maestro.AddIn.ExtendedObjectModels.Editor.WebLayout260EditorFactory" />
         <Class id="LayerDefinitionEditor230" class="Maestro.AddIn.ExtendedObjectModels.Editor.LayerDefinition230EditorFactory" />
         <Class id="LayerDefinitionEditor240" class="Maestro.AddIn.ExtendedObjectModels.Editor.LayerDefinition240EditorFactory" />
         <Class id="MapDefinition230" class="Maestro.AddIn.ExtendedObjectModels.Editor.MapDefinition230EditorFactory" />
@@ -53,6 +54,7 @@
         <Class id="SQLiteLoadProcedure" class="Maestro.AddIn.ExtendedObjectModels.Templates.SQLiteLoadProcedureItemTemplate" />
         <Class id="WebLayout110" class="Maestro.AddIn.ExtendedObjectModels.Templates.WebLayout110ItemTemplate" />
         <Class id="WebLayout240" class="Maestro.AddIn.ExtendedObjectModels.Templates.WebLayout240ItemTemplate" />
+        <Class id="WebLayout260" class="Maestro.AddIn.ExtendedObjectModels.Templates.WebLayout260ItemTemplate" />
     </Path>
 
     <!-- Auto-start commands -->

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.Designer.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.17929
+//     Runtime Version:4.0.30319.18444
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -124,7 +124,7 @@
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Autodesk Infrastructure Map Server 2013.
+        ///   Looks up a localized string similar to MapGuide Open Source 2.4 / Autodesk Infrastructure Map Server 2013.
         /// </summary>
         internal static string TPL_CATEGORY_MGOS24 {
             get {
@@ -133,6 +133,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to MapGuide Open Source 2.6 / Autodesk Infrastructure Map Server 2015.
+        /// </summary>
+        internal static string TPL_CATEGORY_MGOS26 {
+            get {
+                return ResourceManager.GetString("TPL_CATEGORY_MGOS26", 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 {
@@ -455,5 +464,23 @@
                 return ResourceManager.GetString("TPL_WL_240_NAME", resourceCulture);
             }
         }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Create a new Web Layout using the v2.6.0 schema.
+        /// </summary>
+        internal static string TPL_WL_260_DESC {
+            get {
+                return ResourceManager.GetString("TPL_WL_260_DESC", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Web Layout (v2.6.0).
+        /// </summary>
+        internal static string TPL_WL_260_NAME {
+            get {
+                return ResourceManager.GetString("TPL_WL_260_NAME", resourceCulture);
+            }
+        }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Strings.resx	2014-04-16 13:01:26 UTC (rev 8048)
@@ -139,8 +139,11 @@
     <value>MapGuide Open Source 2.3 / Autodesk Infrastructure Map Server 2012</value>
   </data>
   <data name="TPL_CATEGORY_MGOS24" xml:space="preserve">
-    <value>Autodesk Infrastructure Map Server 2013</value>
+    <value>MapGuide Open Source 2.4 / Autodesk Infrastructure Map Server 2013</value>
   </data>
+  <data name="TPL_CATEGORY_MGOS26" xml:space="preserve">
+    <value>MapGuide Open Source 2.6 / Autodesk Infrastructure Map Server 2015</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>
@@ -249,4 +252,10 @@
   <data name="TPL_WL_240_NAME" xml:space="preserve">
     <value>Web Layout (v2.4.0)</value>
   </data>
+  <data name="TPL_WL_260_DESC" xml:space="preserve">
+    <value>Create a new Web Layout using the v2.6.0 schema</value>
+  </data>
+  <data name="TPL_WL_260_NAME" xml:space="preserve">
+    <value>Web Layout (v2.6.0)</value>
+  </data>
 </root>
\ No newline at end of file

Added: trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/WebLayout260ItemTemplate.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/WebLayout260ItemTemplate.cs	                        (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.ExtendedObjectModels/Templates/WebLayout260ItemTemplate.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,69 @@
+#region Disclaimer / License
+// Copyright (C) 2014, 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
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Maestro.Base.Templates;
+using Res = Maestro.AddIn.ExtendedObjectModels.Properties.Resources;
+using OSGeo.MapGuide.MaestroAPI;
+using Maestro.Editors.Generic;
+using OSGeo.MapGuide.ObjectModels;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using Maestro.Shared.UI;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+
+namespace Maestro.AddIn.ExtendedObjectModels.Templates
+{
+    internal class WebLayout260ItemTemplate : ItemTemplate
+    {
+        public WebLayout260ItemTemplate()
+        {
+            Category = Strings.TPL_CATEGORY_MGOS26;
+            Icon = Res.application_browser;
+            Description = Strings.TPL_WL_260_DESC;
+            Name = Strings.TPL_WL_260_NAME;
+            ResourceType = ResourceTypes.WebLayout.ToString();
+        }
+
+        public override Version MinimumSiteVersion
+        {
+            get
+            {
+                return new Version(2, 6);
+            }
+        }
+
+        public override IResource CreateItem(string startPoint, IServerConnection conn)
+        {
+            //This is to just ensure we have a functional WebLayout when it's created
+            using (var picker = new ResourcePicker(conn.ResourceService, ResourceTypes.MapDefinition, ResourcePickerMode.OpenResource))
+            {
+                picker.SetStartingPoint(startPoint);
+                if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+                {
+                    var wl = ObjectFactory.CreateWebLayout(conn, new Version(2, 6, 0), string.Empty);
+                    wl.Map.ResourceId = picker.ResourceID;
+                    return wl;
+                }
+            }
+            return null;
+        }
+    }
+}

Modified: trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -1247,6 +1247,12 @@
     </Compile>
     <Compile Include="WebLayout\MenuModel.cs" />
     <Compile Include="WebLayout\NsDoc.cs" />
+    <Compile Include="WebLayout\WebLayout3SettingsCtrl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="WebLayout\WebLayout3SettingsCtrl.Designer.cs">
+      <DependentUpon>WebLayout3SettingsCtrl.cs</DependentUpon>
+    </Compile>
     <Compile Include="WebLayout\WebLayoutCommandsCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -1868,6 +1874,9 @@
       <DependentUpon>MenuEditorCtrl.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
+    <EmbeddedResource Include="WebLayout\WebLayout3SettingsCtrl.resx">
+      <DependentUpon>WebLayout3SettingsCtrl.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="WebLayout\WebLayoutCommandsCtrl.resx">
       <DependentUpon>WebLayoutCommandsCtrl.cs</DependentUpon>
       <SubType>Designer</SubType>

Added: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.Designer.cs	                        (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.Designer.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,208 @@
+namespace Maestro.Editors.WebLayout
+{
+    partial class WebLayout3SettingsCtrl
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.label1 = new System.Windows.Forms.Label();
+            this.txtSelectionColor = new System.Windows.Forms.TextBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.numPointBuffer = new System.Windows.Forms.NumericUpDown();
+            this.label3 = new System.Windows.Forms.Label();
+            this.cmbMapImageFormat = new System.Windows.Forms.ComboBox();
+            this.cmbSelectionImageFormat = new System.Windows.Forms.ComboBox();
+            this.label4 = new System.Windows.Forms.Label();
+            this.label5 = new System.Windows.Forms.Label();
+            this.txtStartupScript = new ICSharpCode.TextEditor.TextEditorControl();
+            this.btnSelectionColor = new System.Windows.Forms.Button();
+            this.colorDialog = new System.Windows.Forms.ColorDialog();
+            this.contentPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numPointBuffer)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // contentPanel
+            // 
+            this.contentPanel.Controls.Add(this.btnSelectionColor);
+            this.contentPanel.Controls.Add(this.txtStartupScript);
+            this.contentPanel.Controls.Add(this.label5);
+            this.contentPanel.Controls.Add(this.cmbSelectionImageFormat);
+            this.contentPanel.Controls.Add(this.label4);
+            this.contentPanel.Controls.Add(this.cmbMapImageFormat);
+            this.contentPanel.Controls.Add(this.label3);
+            this.contentPanel.Controls.Add(this.numPointBuffer);
+            this.contentPanel.Controls.Add(this.label2);
+            this.contentPanel.Controls.Add(this.txtSelectionColor);
+            this.contentPanel.Controls.Add(this.label1);
+            this.contentPanel.Size = new System.Drawing.Size(449, 222);
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(14, 15);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(78, 13);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Selection Color";
+            // 
+            // txtSelectionColor
+            // 
+            this.txtSelectionColor.Location = new System.Drawing.Point(17, 31);
+            this.txtSelectionColor.Name = "txtSelectionColor";
+            this.txtSelectionColor.Size = new System.Drawing.Size(92, 20);
+            this.txtSelectionColor.TabIndex = 1;
+            this.txtSelectionColor.TextChanged += new System.EventHandler(this.txtSelectionColor_TextChanged);
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(14, 61);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(144, 13);
+            this.label2.TabIndex = 2;
+            this.label2.Text = "Point Selection Buffer (pixels)";
+            // 
+            // numPointBuffer
+            // 
+            this.numPointBuffer.Location = new System.Drawing.Point(17, 77);
+            this.numPointBuffer.Name = "numPointBuffer";
+            this.numPointBuffer.Size = new System.Drawing.Size(120, 20);
+            this.numPointBuffer.TabIndex = 3;
+            this.numPointBuffer.ValueChanged += new System.EventHandler(this.numPointBuffer_ValueChanged);
+            // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Location = new System.Drawing.Point(14, 109);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(95, 13);
+            this.label3.TabIndex = 4;
+            this.label3.Text = "Map Image Format";
+            // 
+            // cmbMapImageFormat
+            // 
+            this.cmbMapImageFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbMapImageFormat.FormattingEnabled = true;
+            this.cmbMapImageFormat.Items.AddRange(new object[] {
+            "PNG",
+            "PNG8",
+            "JPG",
+            "GIF"});
+            this.cmbMapImageFormat.Location = new System.Drawing.Point(16, 125);
+            this.cmbMapImageFormat.Name = "cmbMapImageFormat";
+            this.cmbMapImageFormat.Size = new System.Drawing.Size(121, 21);
+            this.cmbMapImageFormat.TabIndex = 5;
+            this.cmbMapImageFormat.SelectedIndexChanged += new System.EventHandler(this.cmbMapImageFormat_SelectedIndexChanged);
+            // 
+            // cmbSelectionImageFormat
+            // 
+            this.cmbSelectionImageFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbSelectionImageFormat.FormattingEnabled = true;
+            this.cmbSelectionImageFormat.Items.AddRange(new object[] {
+            "PNG",
+            "PNG8",
+            "JPG",
+            "GIF"});
+            this.cmbSelectionImageFormat.Location = new System.Drawing.Point(16, 174);
+            this.cmbSelectionImageFormat.Name = "cmbSelectionImageFormat";
+            this.cmbSelectionImageFormat.Size = new System.Drawing.Size(121, 21);
+            this.cmbSelectionImageFormat.TabIndex = 7;
+            this.cmbSelectionImageFormat.SelectedIndexChanged += new System.EventHandler(this.cmbSelectionImageFormat_SelectedIndexChanged);
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Location = new System.Drawing.Point(14, 158);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(118, 13);
+            this.label4.TabIndex = 6;
+            this.label4.Text = "Selection Image Format";
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Location = new System.Drawing.Point(170, 15);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(71, 13);
+            this.label5.TabIndex = 8;
+            this.label5.Text = "Startup Script";
+            // 
+            // txtStartupScript
+            // 
+            this.txtStartupScript.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.txtStartupScript.IsReadOnly = false;
+            this.txtStartupScript.Location = new System.Drawing.Point(173, 31);
+            this.txtStartupScript.Name = "txtStartupScript";
+            this.txtStartupScript.Size = new System.Drawing.Size(259, 164);
+            this.txtStartupScript.TabIndex = 9;
+            this.txtStartupScript.TextChanged += new System.EventHandler(this.txtStartupScript_TextChanged);
+            // 
+            // btnSelectionColor
+            // 
+            this.btnSelectionColor.Location = new System.Drawing.Point(111, 29);
+            this.btnSelectionColor.Name = "btnSelectionColor";
+            this.btnSelectionColor.Size = new System.Drawing.Size(26, 23);
+            this.btnSelectionColor.TabIndex = 10;
+            this.btnSelectionColor.Text = "...";
+            this.btnSelectionColor.UseVisualStyleBackColor = true;
+            this.btnSelectionColor.Click += new System.EventHandler(this.btnSelectionColor_Click);
+            // 
+            // colorDialog
+            // 
+            this.colorDialog.FullOpen = true;
+            // 
+            // WebLayout3SettingsCtrl
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.HeaderText = "Advanced Settings";
+            this.Name = "WebLayout3SettingsCtrl";
+            this.Size = new System.Drawing.Size(449, 249);
+            this.contentPanel.ResumeLayout(false);
+            this.contentPanel.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numPointBuffer)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private ICSharpCode.TextEditor.TextEditorControl txtStartupScript;
+        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.ComboBox cmbSelectionImageFormat;
+        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.ComboBox cmbMapImageFormat;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.NumericUpDown numPointBuffer;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.TextBox txtSelectionColor;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Button btnSelectionColor;
+        private System.Windows.Forms.ColorDialog colorDialog;
+    }
+}

Added: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.cs	                        (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,116 @@
+#region Disclaimer / License
+// Copyright (C) 2014, 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
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.ObjectModels.WebLayout;
+
+namespace Maestro.Editors.WebLayout
+{
+    [ToolboxItem(true)]
+    internal partial class WebLayout3SettingsCtrl : EditorBindableCollapsiblePanel
+    {
+        private IWebLayout3 _wl;
+
+        public WebLayout3SettingsCtrl()
+        {
+            InitializeComponent();
+            txtStartupScript.SetHighlighting("JavaScript");
+        }
+
+        private bool _init = false;
+
+        public override void Bind(IEditorService service)
+        {
+            try
+            {
+                _init = true;
+                _wl = (IWebLayout3)service.GetEditedResource();
+
+                txtSelectionColor.Text = _wl.SelectionColor;
+                numPointBuffer.Value = _wl.PointSelectionBuffer;
+                cmbMapImageFormat.SelectedItem = _wl.MapImageFormat;
+                cmbSelectionImageFormat.SelectedItem = _wl.SelectionImageFormat;
+                txtStartupScript.Text = _wl.StartupScript;
+            }
+            finally
+            {
+                _init = false;
+            }
+        }
+
+        private void btnSelectionColor_Click(object sender, EventArgs e)
+        {
+            if (colorDialog.ShowDialog() == DialogResult.OK)
+            {
+                var color = colorDialog.Color;
+                txtSelectionColor.Text = OSGeo.MapGuide.MaestroAPI.Utility.SerializeHTMLColorRGBA(color, true);
+            }
+        }
+
+        private void numPointBuffer_ValueChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            _wl.PointSelectionBuffer = Convert.ToInt32(numPointBuffer.Value);
+        }
+
+        private void cmbMapImageFormat_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            if (cmbMapImageFormat.SelectedItem != null)
+                _wl.MapImageFormat = cmbMapImageFormat.SelectedItem.ToString();
+        }
+
+        private void cmbSelectionImageFormat_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            if (cmbSelectionImageFormat.SelectedItem != null)
+                _wl.SelectionImageFormat = cmbSelectionImageFormat.SelectedItem.ToString();
+        }
+
+        private void txtSelectionColor_TextChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            _wl.SelectionColor = txtSelectionColor.Text;
+        }
+
+        private void txtStartupScript_TextChanged(object sender, EventArgs e)
+        {
+            if (_init)
+                return;
+
+            _wl.StartupScript = txtStartupScript.Text;
+        }
+    }
+}

Added: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.resx	                        (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayout3SettingsCtrl.resx	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.Designer.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.Designer.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -32,6 +32,7 @@
             this.webLayoutSettingsCtrl = new Maestro.Editors.WebLayout.WebLayoutSettingsCtrl();
             this.webLayoutMenusCtrl = new Maestro.Editors.WebLayout.WebLayoutMenusCtrl();
             this.webLayoutCommandsCtrl = new Maestro.Editors.WebLayout.WebLayoutCommandsCtrl();
+            this.webLayout3SettingsCtrl = new Maestro.Editors.WebLayout.WebLayout3SettingsCtrl();
             this.SuspendLayout();
             // 
             // webLayoutSettingsCtrl
@@ -40,7 +41,6 @@
             resources.ApplyResources(this.webLayoutSettingsCtrl, "webLayoutSettingsCtrl");
             this.webLayoutSettingsCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
             this.webLayoutSettingsCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.webLayoutSettingsCtrl.HeaderText = "General Settings";
             this.webLayoutSettingsCtrl.Name = "webLayoutSettingsCtrl";
             // 
             // webLayoutMenusCtrl
@@ -49,7 +49,6 @@
             resources.ApplyResources(this.webLayoutMenusCtrl, "webLayoutMenusCtrl");
             this.webLayoutMenusCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
             this.webLayoutMenusCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.webLayoutMenusCtrl.HeaderText = "Menus and Toolbars";
             this.webLayoutMenusCtrl.Name = "webLayoutMenusCtrl";
             // 
             // webLayoutCommandsCtrl
@@ -58,15 +57,23 @@
             resources.ApplyResources(this.webLayoutCommandsCtrl, "webLayoutCommandsCtrl");
             this.webLayoutCommandsCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
             this.webLayoutCommandsCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.webLayoutCommandsCtrl.HeaderText = "Commands";
             this.webLayoutCommandsCtrl.Name = "webLayoutCommandsCtrl";
             // 
+            // webLayout3SettingsCtrl
+            // 
+            this.webLayout3SettingsCtrl.ContentBackgroundColor = System.Drawing.SystemColors.Control;
+            resources.ApplyResources(this.webLayout3SettingsCtrl, "webLayout3SettingsCtrl");
+            this.webLayout3SettingsCtrl.HeaderBackgroundColor = System.Drawing.Color.LightSteelBlue;
+            this.webLayout3SettingsCtrl.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold);
+            this.webLayout3SettingsCtrl.Name = "webLayout3SettingsCtrl";
+            // 
             // WebLayoutEditorCtrl
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             resources.ApplyResources(this, "$this");
             this.Controls.Add(this.webLayoutCommandsCtrl);
             this.Controls.Add(this.webLayoutMenusCtrl);
+            this.Controls.Add(this.webLayout3SettingsCtrl);
             this.Controls.Add(this.webLayoutSettingsCtrl);
             this.Name = "WebLayoutEditorCtrl";
             this.ResumeLayout(false);
@@ -78,6 +85,7 @@
         private WebLayoutSettingsCtrl webLayoutSettingsCtrl;
         private WebLayoutMenusCtrl webLayoutMenusCtrl;
         private WebLayoutCommandsCtrl webLayoutCommandsCtrl;
+        private WebLayout3SettingsCtrl webLayout3SettingsCtrl;
 
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -25,6 +25,7 @@
 using System.Text;
 using System.Windows.Forms;
 using Maestro.Shared.UI;
+using OSGeo.MapGuide.ObjectModels.WebLayout;
 
 namespace Maestro.Editors.WebLayout
 {
@@ -52,6 +53,16 @@
             webLayoutSettingsCtrl.Bind(service);
             webLayoutMenusCtrl.Bind(service);
             webLayoutCommandsCtrl.Bind(service);
+            var wl3 = service.GetEditedResource() as IWebLayout3;
+            if (wl3 != null)
+            {
+                webLayout3SettingsCtrl.Bind(service);
+            }
+            else
+            {
+                this.Controls.Remove(webLayout3SettingsCtrl);
+                webLayout3SettingsCtrl.Dispose();
+            }
         }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.resx	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Maestro.Editors/WebLayout/WebLayoutEditorCtrl.resx	2014-04-16 13:01:26 UTC (rev 8048)
@@ -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="webLayoutSettingsCtrl.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="webLayoutSettingsCtrl.HeaderText" xml:space="preserve">
+    <value>General Settings</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="webLayoutSettingsCtrl.Location" type="System.Drawing.Point, System.Drawing">
     <value>0, 0</value>
   </data>
   <data name="webLayoutSettingsCtrl.Size" type="System.Drawing.Size, System.Drawing">
-    <value>524, 455</value>
+    <value>490, 455</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="webLayoutSettingsCtrl.TabIndex" type="System.Int32, mscorlib">
     <value>0</value>
   </data>
@@ -136,22 +139,25 @@
     <value>webLayoutSettingsCtrl</value>
   </data>
   <data name=">>webLayoutSettingsCtrl.Type" xml:space="preserve">
-    <value>Maestro.Editors.WebLayout.WebLayoutSettingsCtrl, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.WebLayout.WebLayoutSettingsCtrl, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>webLayoutSettingsCtrl.Parent" xml:space="preserve">
     <value>$this</value>
   </data>
   <data name=">>webLayoutSettingsCtrl.ZOrder" xml:space="preserve">
-    <value>2</value>
+    <value>3</value>
   </data>
   <data name="webLayoutMenusCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Top</value>
   </data>
+  <data name="webLayoutMenusCtrl.HeaderText" xml:space="preserve">
+    <value>Menus and Toolbars</value>
+  </data>
   <data name="webLayoutMenusCtrl.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 455</value>
+    <value>0, 705</value>
   </data>
   <data name="webLayoutMenusCtrl.Size" type="System.Drawing.Size, System.Drawing">
-    <value>524, 289</value>
+    <value>490, 289</value>
   </data>
   <data name="webLayoutMenusCtrl.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
@@ -160,7 +166,7 @@
     <value>webLayoutMenusCtrl</value>
   </data>
   <data name=">>webLayoutMenusCtrl.Type" xml:space="preserve">
-    <value>Maestro.Editors.WebLayout.WebLayoutMenusCtrl, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.WebLayout.WebLayoutMenusCtrl, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>webLayoutMenusCtrl.Parent" xml:space="preserve">
     <value>$this</value>
@@ -171,11 +177,14 @@
   <data name="webLayoutCommandsCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Top</value>
   </data>
+  <data name="webLayoutCommandsCtrl.HeaderText" xml:space="preserve">
+    <value>Commands</value>
+  </data>
   <data name="webLayoutCommandsCtrl.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 744</value>
+    <value>0, 994</value>
   </data>
   <data name="webLayoutCommandsCtrl.Size" type="System.Drawing.Size, System.Drawing">
-    <value>524, 449</value>
+    <value>490, 449</value>
   </data>
   <data name="webLayoutCommandsCtrl.TabIndex" type="System.Int32, mscorlib">
     <value>2</value>
@@ -184,7 +193,7 @@
     <value>webLayoutCommandsCtrl</value>
   </data>
   <data name=">>webLayoutCommandsCtrl.Type" xml:space="preserve">
-    <value>Maestro.Editors.WebLayout.WebLayoutCommandsCtrl, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.WebLayout.WebLayoutCommandsCtrl, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name=">>webLayoutCommandsCtrl.Parent" xml:space="preserve">
     <value>$this</value>
@@ -192,19 +201,46 @@
   <data name=">>webLayoutCommandsCtrl.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">
+  <data name="webLayout3SettingsCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Top</value>
+  </data>
+  <data name="webLayout3SettingsCtrl.HeaderText" xml:space="preserve">
+    <value>Advanced Settings</value>
+  </data>
+  <data name="webLayout3SettingsCtrl.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 455</value>
+  </data>
+  <data name="webLayout3SettingsCtrl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>490, 250</value>
+  </data>
+  <data name="webLayout3SettingsCtrl.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name=">>webLayout3SettingsCtrl.Name" xml:space="preserve">
+    <value>webLayout3SettingsCtrl</value>
+  </data>
+  <data name=">>webLayout3SettingsCtrl.Type" xml:space="preserve">
+    <value>Maestro.Editors.WebLayout.WebLayout3SettingsCtrl, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+  </data>
+  <data name=">>webLayout3SettingsCtrl.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name=">>webLayout3SettingsCtrl.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <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>524, 500</value>
+    <value>490, 500</value>
   </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>WebLayoutEditorCtrl</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>Maestro.Editors.EditorBase, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+    <value>Maestro.Editors.EditorBase, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/ModelSetup.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/ModelSetup.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/ModelSetup.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -35,6 +35,7 @@
 using Lp220 = OSGeo.MapGuide.ObjectModels.LoadProcedure_2_2_0;
 using WL110 = OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0;
 using WL240 = OSGeo.MapGuide.ObjectModels.WebLayout_2_4_0;
+using WL260 = OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0;
 
 using Sym110 = OSGeo.MapGuide.ObjectModels.SymbolDefinition_1_1_0;
 using Sym240 = OSGeo.MapGuide.ObjectModels.SymbolDefinition_2_4_0;
@@ -158,6 +159,14 @@
                 new ResourceDeserializationCallback(WL240.WebLayoutEntryPoint.Deserialize));
             ObjectFactory.RegisterWebLayoutFactoryMethod(new Version(2, 4, 0), new WebLayoutCreatorFunc(WL240.WebLayoutEntryPoint.CreateDefault));
 
+            //Web Layout 2.6.0
+            ResourceValidatorSet.RegisterValidator(new WL260.WebLayoutValidator());
+            ResourceTypeRegistry.RegisterResource(
+                new ResourceTypeDescriptor(ResourceTypes.WebLayout, "2.6.0"),
+                new ResourceSerializationCallback(WL260.WebLayoutEntryPoint.Serialize),
+                new ResourceDeserializationCallback(WL260.WebLayoutEntryPoint.Deserialize));
+            ObjectFactory.RegisterWebLayoutFactoryMethod(new Version(2, 6, 0), new WebLayoutCreatorFunc(WL260.WebLayoutEntryPoint.CreateDefault));
+
             //Symbol Definition 1.1.0
             ResourceValidatorSet.RegisterValidator(new Sym110.SymbolDefinitionValidator());
             ResourceTypeRegistry.RegisterResource(

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/OSGeo.MapGuide.ExtendedObjectModels.csproj
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/OSGeo.MapGuide.ExtendedObjectModels.csproj	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.ExtendedObjectModels/OSGeo.MapGuide.ExtendedObjectModels.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -128,6 +128,10 @@
       <Project>{BEC17FD3-2ADB-4154-934D-494313C588EE}</Project>
       <Name>OSGeo.MapGuide.ObjectModels.WebLayout-2.4.0</Name>
     </ProjectReference>
+    <ProjectReference Include="..\ExtendedModels\WebLayout-2.6.0\OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0.csproj">
+      <Project>{829d2a4e-7dbc-48ad-9cf9-12acfbf943a6}</Project>
+      <Name>OSGeo.MapGuide.ObjectModels.WebLayout-2.6.0</Name>
+    </ProjectReference>
     <ProjectReference Include="..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
       <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
       <Name>OSGeo.MapGuide.MaestroAPI</Name>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Capability/ConnectionCapabilities.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -147,6 +147,8 @@
         /// <returns></returns>
         protected virtual Version GetMaxWebLayoutVersion()
         {
+            if (_parent.SiteVersion >= new Version(2, 6))
+                return new Version(2, 6, 0);
             if (_parent.SiteVersion >= new Version(2, 4))
                 return new Version(2, 4, 0);
             if (_parent.SiteVersion >= new Version(2, 2))

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj	2014-04-16 13:01:26 UTC (rev 8048)
@@ -456,6 +456,8 @@
     </None>
     <None Include="Schemas\LayerDefinition-1.3.0.xsd">
     </None>
+    <None Include="Schemas\LayerDefinition-2.3.0.xsd" />
+    <None Include="Schemas\LayerDefinition-2.4.0.xsd" />
     <None Include="Schemas\LoadProcedure-1.0.0.xsd">
     </None>
     <None Include="Schemas\LoadProcedure-1.1.0.xsd">
@@ -464,10 +466,13 @@
     </None>
     <None Include="Schemas\MapDefinition-1.0.0.xsd">
     </None>
+    <None Include="Schemas\MapDefinition-2.3.0.xsd" />
+    <None Include="Schemas\MapDefinition-2.4.0.xsd" />
     <None Include="Schemas\PlatformCommon-1.0.0.xsd">
     </None>
     <None Include="Schemas\PrintLayout-1.0.0.xsd">
     </None>
+    <None Include="Schemas\ProfileResult-2.4.0.xsd" />
     <None Include="Schemas\RepositoryContent-1.0.0.xsd">
     </None>
     <None Include="Schemas\RepositoryList-1.0.0.xsd">
@@ -488,6 +493,7 @@
     </None>
     <None Include="Schemas\Role-1.0.0.xsd">
     </None>
+    <None Include="Schemas\RuntimeMap-2.6.0.xsd" />
     <None Include="Schemas\SelectAggregate-1.0.0.xsd">
     </None>
     <None Include="Schemas\Server-1.0.0.xsd">
@@ -512,6 +518,7 @@
     </None>
     <None Include="Schemas\SymbolDefinition-1.1.0.xsd">
     </None>
+    <None Include="Schemas\SymbolDefinition-2.4.0.xsd" />
     <None Include="Schemas\SymbolLibrary-1.0.0.xsd">
     </None>
     <None Include="Schemas\Types-1.0.0.xsd">
@@ -522,10 +529,14 @@
     </None>
     <None Include="Schemas\UserList-1.0.0.xsd">
     </None>
+    <None Include="Schemas\WatermarkDefinition-2.3.0.xsd" />
+    <None Include="Schemas\WatermarkDefinition-2.4.0.xsd" />
     <None Include="Schemas\WebLayout-1.0.0.xsd">
     </None>
     <None Include="Schemas\WebLayout-1.1.0.xsd">
     </None>
+    <None Include="Schemas\WebLayout-2.4.0.xsd" />
+    <None Include="Schemas\WebLayout-2.6.0.xsd" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="ConnectionProviders.xml">

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayout.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayout.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayout.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -29,7 +29,9 @@
 
 #pragma warning disable 1591, 0114, 0108
 
-#if WL240
+#if WL260
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_6_0
+#elif WL240
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_2_4_0
 #elif WL110
 namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0
@@ -42,14 +44,24 @@
         public static IWebLayout CreateDefault(string mapDefinitionId)
         {
             IWebLayout wl = WebLayoutType.CreateDefault(mapDefinitionId);
-#if WL240
+#if WL240 || WL260
             //NOTE: This separator is needed because the AJAX viewer currently assumes the maptip
             //command to be at a certain position (!!!). The seperator ensures the command is at
             //the right position
             wl.ToolBar.AddItem(wl.CreateSeparator());
             wl.CommandSet.AddCommand(wl.CreateBasicCommand("Maptip", Strings.WL_Desc_MapTip, Strings.WL_Desc_MapTip, "icon_maptip", TargetViewerType.All, BasicCommandActionType.MapTip)); //NOXLATE
             wl.ToolBar.AddItem(wl.CreateCommandItem(BasicCommandActionType.MapTip.ToString()));
+            IWebLayout2 wl2 = (IWebLayout2)wl;
+            wl2.EnablePingServer = true;
 #endif
+
+#if WL260
+            IWebLayout3 wl3 = (IWebLayout3)wl;
+            wl3.SelectionColor = "0000FFFF";
+            wl3.PointSelectionBuffer = 2;
+            wl3.MapImageFormat = "PNG";
+            wl3.SelectionImageFormat = "PNG";
+#endif
             return wl;
         }
 
@@ -75,7 +87,9 @@
     {
         internal WebLayoutType() { }
 
-#if WL240
+#if WL260
+        private static readonly Version RES_VERSION = new Version(2, 6, 0);
+#elif WL240
         private static readonly Version RES_VERSION = new Version(2, 4, 0);
 #elif WL110
         private static readonly Version RES_VERSION = new Version(1, 1, 0);
@@ -139,7 +153,9 @@
         [XmlAttribute("noNamespaceSchemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] //NOXLATE
         public string ValidatingSchema
         {
-#if WL240
+#if WL260
+            get { return "WebLayout-2.6.0.xsd"; } //NOXLATE
+#elif WL240
             get { return "WebLayout-2.4.0.xsd"; } //NOXLATE
 #elif WL110
             get { return "WebLayout-1.1.0.xsd"; } //NOXLATE

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/WebLayoutInterfaces.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -503,6 +503,37 @@
     }
 
     /// <summary>
+    /// Web Layout from v2.6.0 schema
+    /// </summary>
+    public interface IWebLayout3 : IWebLayout2
+    {
+        /// <summary>
+        /// Gets or sets the selection color
+        /// </summary>
+        string SelectionColor { get; set; }
+
+        /// <summary>
+        /// Gets or sets the point selection buffer pixel tolerance
+        /// </summary>
+        int PointSelectionBuffer { get; set; }
+
+        /// <summary>
+        /// Gets or sets the map image format
+        /// </summary>
+        string MapImageFormat { get; set; }
+
+        /// <summary>
+        /// Gets or sets the selection image format
+        /// </summary>
+        string SelectionImageFormat { get; set; }
+
+        /// <summary>
+        /// Gets or sets the startup script code
+        /// </summary>
+        string StartupScript { get; set; }
+    }
+
+    /// <summary>
     /// The map referenced in this web layout
     /// </summary>
     public interface IMap : INotifyPropertyChanged

Added: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Schemas/WebLayout-2.6.0.xsd
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Schemas/WebLayout-2.6.0.xsd	                        (rev 0)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Schemas/WebLayout-2.6.0.xsd	2014-04-16 13:01:26 UTC (rev 8048)
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+  <xs:element name="WebLayout" type="WebLayoutType"/>
+  <xs:complexType name="WebLayoutType">
+    <xs:sequence>
+      <xs:element name="Title" type="xs:string"/>
+      <xs:element name="Map" type="MapType"/>
+      <xs:element name="EnablePingServer" type="xs:boolean" minOccurs="0" />
+      <xs:element name="SelectionColor" type="xs:string" minOccurs="0" />
+      <xs:element name="PointSelectionBuffer" type="xs:integer" minOccurs="0" />
+      <xs:element name="MapImageFormat" type="xs:string" minOccurs="0" />
+      <xs:element name="SelectionImageFormat" type="xs:string" minOccurs="0" />
+      <xs:element name="StartupScript" type="xs:string" minOccurs="0" />
+      <xs:element name="ToolBar" type="ToolBarType"/>
+      <xs:element name="InformationPane" type="InformationPaneType"/>
+      <xs:element name="ContextMenu" type="ContextMenuType"/>
+      <xs:element name="TaskPane" type="TaskPaneType"/>
+      <xs:element name="StatusBar" type="StatusBarType"/>
+      <xs:element name="ZoomControl" type="ZoomControlType"/>
+      <xs:element name="CommandSet" type="CommandSetType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResourceReferenceType">
+    <xs:sequence>
+      <xs:element name="ResourceId" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="MapType">
+    <xs:complexContent>
+      <xs:extension base="ResourceReferenceType">
+        <xs:sequence>
+          <xs:element name="InitialView" type="MapViewType" minOccurs="0"/>
+          <xs:element name="HyperlinkTarget" type="TargetType"/>
+          <xs:element name="HyperlinkTargetFrame" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebLayoutControlType">
+    <xs:sequence>
+      <xs:element name="Visible" type="xs:boolean"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="WebLayoutResizableControlType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Width" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ToolBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Button" type="UIItemType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ContextMenuType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="MenuItem" type="UIItemType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="StatusBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ZoomControlType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InformationPaneType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutResizableControlType">
+        <xs:sequence>
+          <xs:element name="LegendVisible" type="xs:boolean"/>
+          <xs:element name="PropertiesVisible" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TaskPaneType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutResizableControlType">
+        <xs:sequence>
+          <xs:element name="TaskBar" type="TaskBarType"/>
+          <xs:element name="InitialTask" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TaskButtonType">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+      <xs:element name="Description" type="xs:string" minOccurs="0"/>
+      <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="TaskBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Home" type="TaskButtonType"/>
+          <xs:element name="Forward" type="TaskButtonType"/>
+          <xs:element name="Back" type="TaskButtonType"/>
+          <xs:element name="Tasks" type="TaskButtonType"/>
+          <xs:element name="MenuButton" type="UIItemType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandSetType">
+    <xs:sequence>
+      <xs:element name="Command" type="CommandType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="MapViewType">
+    <xs:sequence>
+      <xs:element name="CenterX" type="xs:double"/>
+      <xs:element name="CenterY" type="xs:double"/>
+      <xs:element name="Scale" type="xs:double"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="UIItemType">
+    <xs:sequence>
+      <xs:element name="Function" type="UIItemFunctionType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="UIItemFunctionType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Separator"/>
+      <xs:enumeration value="Command"/>
+      <xs:enumeration value="Flyout"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="FlyoutItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType">
+        <xs:sequence>
+          <xs:element name="Label" type="xs:string"/>
+          <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+          <xs:element name="Description" type="xs:string" minOccurs="0"/>
+          <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+          <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+          <xs:element name="SubItem" type="UIItemType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SeparatorItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType">
+        <xs:sequence>
+          <xs:element name="Command" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandType" abstract="true">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Label" type="xs:string"/>
+      <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+      <xs:element name="Description" type="xs:string" minOccurs="0"/>
+      <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="TargetViewer" type="TargetViewerType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="BasicCommandActionType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Pan"/>
+      <xs:enumeration value="PanUp"/>
+      <xs:enumeration value="PanDown"/>
+      <xs:enumeration value="PanRight"/>
+      <xs:enumeration value="PanLeft"/>
+      <xs:enumeration value="Zoom"/>
+      <xs:enumeration value="ZoomIn"/>
+      <xs:enumeration value="ZoomOut"/>
+      <xs:enumeration value="ZoomRectangle"/>
+      <xs:enumeration value="ZoomToSelection"/>
+      <xs:enumeration value="FitToWindow"/>
+      <xs:enumeration value="PreviousView"/>
+      <xs:enumeration value="NextView"/>
+      <xs:enumeration value="RestoreView"/>
+      <xs:enumeration value="Select"/>
+      <xs:enumeration value="SelectRadius"/>
+      <xs:enumeration value="SelectPolygon"/>
+      <xs:enumeration value="ClearSelection"/>
+      <xs:enumeration value="Refresh"/>
+      <xs:enumeration value="CopyMap"/>
+      <xs:enumeration value="About"/>
+      <xs:enumeration value="MapTip"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="BasicCommandType">
+    <xs:complexContent>
+      <xs:extension base="CommandType">
+        <xs:sequence>
+          <xs:element name="Action" type="BasicCommandActionType"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="TargetViewerType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Dwf"/>
+      <xs:enumeration value="Ajax"/>
+      <xs:enumeration value="All"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="CustomCommandType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="CommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TargetedCommandType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="Target" type="TargetType"/>
+          <xs:element name="TargetFrame" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="TargetType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="TaskPane"/>
+      <xs:enumeration value="NewWindow"/>
+      <xs:enumeration value="SpecifiedFrame"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="SearchCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="Layer" type="xs:string"/>
+          <xs:element name="Prompt" type="xs:string"/>
+          <xs:element name="ResultColumns" type="ResultColumnSetType"/>
+          <xs:element name="Filter" type="xs:string" minOccurs="0"/>
+          <xs:element name="MatchLimit" type="xs:integer"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InvokeURLCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="URL" type="xs:string"/>
+          <xs:element name="LayerSet" type="LayerSetType" minOccurs="0"/>
+          <xs:element name="AdditionalParameter" type="ParameterPairType" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="DisableIfSelectionEmpty" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BufferCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SelectWithinCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PrintCommandType">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="PrintLayout" type="ResourceReferenceType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetPrintablePageCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeasureCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ViewOptionsCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="HelpCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="URL" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InvokeScriptCommandType">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="Script" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ParameterPairType">
+    <xs:sequence>
+      <xs:element name="Key" type="xs:string"/>
+      <xs:element name="Value" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="LayerSetType">
+    <xs:sequence>
+      <xs:element name="Layer" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResultColumnType">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Property" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResultColumnSetType">
+    <xs:sequence>
+      <xs:element name="Column" type="ResultColumnType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>

Modified: trunk/Tools/Maestro/Properties/GlobalAssemblyInfo.cs
===================================================================
--- trunk/Tools/Maestro/Properties/GlobalAssemblyInfo.cs	2014-04-16 10:51:09 UTC (rev 8047)
+++ trunk/Tools/Maestro/Properties/GlobalAssemblyInfo.cs	2014-04-16 13:01:26 UTC (rev 8048)
@@ -23,7 +23,7 @@
 
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Open Source Geospatial Foundation")]
-[assembly: AssemblyCopyright("Copyright (c) 2012, Jackie Ng")]
+[assembly: AssemblyCopyright("Copyright (c) 2014, Jackie Ng")]
 
 // Version information for an assembly consists of the following four values:
 //



More information about the mapguide-commits mailing list