[mapguide-commits] r4882 - in sandbox/maestro-2.5: Generated
Maestro.Base Maestro.Base/Commands Maestro.Base/Editor
Maestro.Base/Properties Maestro.Base/Resources
Maestro.Base/Services Maestro.Base/UI Maestro.Editors
Maestro.Shared.UI OSGeo.MapGuide.MaestroAPI/ObjectModels
Thirdparty/TreeViewAdv/Aga.Controls
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri May 14 09:40:14 EDT 2010
Author: jng
Date: 2010-05-14 09:40:11 -0400 (Fri, 14 May 2010)
New Revision: 4882
Added:
sandbox/maestro-2.5/Maestro.Base/Commands/CloseActiveDocumentCommand.cs
sandbox/maestro-2.5/Maestro.Base/Resources/cross.png
sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.Designer.cs
sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.cs
sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.resx
Modified:
sandbox/maestro-2.5/Generated/ApplicationDefinition-1.0.0.designer.cs
sandbox/maestro-2.5/Generated/FeatureSource-1.0.0.designer.cs
sandbox/maestro-2.5/Generated/LayerDefinition-1.0.0.designer.cs
sandbox/maestro-2.5/Generated/LayerDefinition-1.1.0.designer.cs
sandbox/maestro-2.5/Generated/LayerDefinition-1.2.0.designer.cs
sandbox/maestro-2.5/Generated/LayerDefinition-1.3.0.designer.cs
sandbox/maestro-2.5/Generated/PlatformCommon-1.0.0.designer.cs
sandbox/maestro-2.5/Generated/SymbolDefinition-1.0.0.designer.cs
sandbox/maestro-2.5/Generated/SymbolDefinition-1.1.0.designer.cs
sandbox/maestro-2.5/Maestro.Base/Commands/LoginCommand.cs
sandbox/maestro-2.5/Maestro.Base/Commands/StartupCommand.cs
sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs
sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin
sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj
sandbox/maestro-2.5/Maestro.Base/Properties/Resources.Designer.cs
sandbox/maestro-2.5/Maestro.Base/Properties/Resources.resx
sandbox/maestro-2.5/Maestro.Base/Services/OpenResourceManager.cs
sandbox/maestro-2.5/Maestro.Base/Services/UrlLauncher.cs
sandbox/maestro-2.5/Maestro.Base/TabFactory.cs
sandbox/maestro-2.5/Maestro.Base/Workbench.cs
sandbox/maestro-2.5/Maestro.Base/ZonedContainer.cs
sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj
sandbox/maestro-2.5/Maestro.Shared.UI/CollapsiblePanel.designer.cs
sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/ResourceItems.cs
sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/readme.txt
sandbox/maestro-2.5/Thirdparty/TreeViewAdv/Aga.Controls/Aga.Controls.csproj
Log:
This submission includes the following changes:
- Change the ExtendedData property from all generated classes to XmlElement[] to ensure they were being deserialized properly. readme.txt has been updated to document this change, should we ever regenerate this code.
- Added missing XmlIgnore attributes which were causing deserialization crashes in Mono.
- Workaround a nasty Mono bug where closing a tab in a tab control that has a selected tab causes rendering bugs/crashes
- Added a close active document command which is a fallback should my custom tab close button solution doesn't pan out, so far it does so this command is disabled.
- Disabled embedded browser in Mono, it is just too much trouble than its worth. All urls opened will use the system default web browser.
- Added a welcome screen, which is shown on successful login.
Modified: sandbox/maestro-2.5/Generated/ApplicationDefinition-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/ApplicationDefinition-1.0.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/ApplicationDefinition-1.0.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1095,7 +1095,7 @@
public partial class CustomContentType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1103,11 +1103,11 @@
/// CustomContentType class constructor
/// </summary>
public CustomContentType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/FeatureSource-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/FeatureSource-1.0.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/FeatureSource-1.0.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -635,7 +635,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -643,11 +643,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/LayerDefinition-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/LayerDefinition-1.0.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/LayerDefinition-1.0.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -736,7 +736,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -744,11 +744,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/LayerDefinition-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/LayerDefinition-1.1.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/LayerDefinition-1.1.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1433,7 +1433,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1441,11 +1441,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/LayerDefinition-1.2.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/LayerDefinition-1.2.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/LayerDefinition-1.2.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1433,7 +1433,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1441,11 +1441,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/LayerDefinition-1.3.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/LayerDefinition-1.3.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/LayerDefinition-1.3.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1433,7 +1433,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1441,11 +1441,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/PlatformCommon-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/PlatformCommon-1.0.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/PlatformCommon-1.0.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -22,7 +22,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -30,11 +30,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/SymbolDefinition-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/SymbolDefinition-1.0.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/SymbolDefinition-1.0.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1437,7 +1437,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1445,11 +1445,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Modified: sandbox/maestro-2.5/Generated/SymbolDefinition-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-2.5/Generated/SymbolDefinition-1.1.0.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Generated/SymbolDefinition-1.1.0.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1437,7 +1437,7 @@
public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged {
[EditorBrowsable(EditorBrowsableState.Never)]
- private BindingList<System.Xml.XmlElement> anyField;
+ private System.Xml.XmlElement[] anyField;
private static System.Xml.Serialization.XmlSerializer serializer;
@@ -1445,11 +1445,11 @@
/// ExtendedDataType class constructor
/// </summary>
public ExtendedDataType() {
- this.anyField = new BindingList<System.Xml.XmlElement>();
+ this.anyField = new System.Xml.XmlElement[0];
}
[System.Xml.Serialization.XmlAnyElementAttribute()]
- public BindingList<System.Xml.XmlElement> Any {
+ public System.Xml.XmlElement[] Any {
get {
return this.anyField;
}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/CloseActiveDocumentCommand.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/CloseActiveDocumentCommand.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/CloseActiveDocumentCommand.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -0,0 +1,39 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+
+namespace Maestro.Base.Commands
+{
+ internal class CloseActiveDocumentCommand : AbstractMenuCommand
+ {
+ public override void Run()
+ {
+ var wb = Workbench.Instance;
+ var cnt = wb.ActiveDocumentView;
+ if (cnt != null && cnt.AllowUserClose)
+ {
+ cnt.Close();
+ }
+ }
+ }
+}
Modified: sandbox/maestro-2.5/Maestro.Base/Commands/LoginCommand.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/LoginCommand.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/LoginCommand.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -25,6 +25,7 @@
using ICSharpCode.Core.Services;
using Maestro.Base.Services;
using System.Diagnostics;
+using Maestro.Base.UI;
namespace Maestro.Base.Commands
{
@@ -43,6 +44,10 @@
LoggingService.Info("Connection created: " + conn.DisplayName);
mgr.AddConnection(conn.DisplayName, conn);
+
+ //Show the welcome screen
+ var vmgr = ServiceRegistry.GetService<ViewContentManager>();
+ vmgr.ShowContent<WelcomeScreen>();
}
}
}
Modified: sandbox/maestro-2.5/Maestro.Base/Commands/StartupCommand.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/StartupCommand.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/StartupCommand.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -49,10 +49,6 @@
//Show messages
mgr.OpenContent<MessageViewer>(ViewRegion.Bottom);
-
- //Show maestro home page
- var launcher = ServiceRegistry.GetService<UrlLauncher>();
- launcher.OpenUrlEmbedded("http://trac.osgeo.org/mapguide/wiki/maestro", false);
new LoginCommand().Run();
};
Modified: sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -48,7 +48,7 @@
protected override void Bind(OSGeo.MapGuide.MaestroAPI.Resource.IResource value)
{
var stream = value.CurrentConnection.ResourceService.SerializeObject(value);
- using (var reader = new StreamReader(stream))
+ using (var reader = new StreamReader(stream, Encoding.UTF8, true))
{
_editor.XmlContent = reader.ReadToEnd();
}
Modified: sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin 2010-05-14 13:40:11 UTC (rev 4882)
@@ -89,6 +89,7 @@
<!-- Singleton view content -->
<Path name="/Maestro/Shell/SingleViewContent">
<Class id="MessageViewer" class="Maestro.Base.UI.MessageViewer" />
+ <Class id="WelcomeScreen" class="Maestro.Base.UI.WelcomeScreen" />
</Path>
<!-- Toolbar Definition -->
@@ -96,40 +97,64 @@
<ToolbarItem id="Connect"
icon="plug__plus"
label="${res:Menu_File_Connect}"
+ tooltip="${res:Menu_File_Connect}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="NewItem"
icon="document__plus"
label="${res:Menu_File_NewResource}"
+ tooltip="${res:Menu_File_NewResource}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem type="Separator" />
<ToolbarItem id="CopyItem"
icon="document_copy"
+ tooltip="${res:Menu_Edit_Copy}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="CutItem"
icon="scissors_blue"
+ tooltip="${res:Menu_Edit_Cut}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="PasteItem"
icon="clipboard_paste"
+ tooltip="${res:Menu_Edit_Paste}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem type="Separator" />
<ToolbarItem id="Save"
icon="disk"
+ tooltip="${res:Menu_File_SaveResource}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="SaveAs"
icon="disk__arrow"
+ tooltip="${res:Menu_File_SaveResourceAs}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="Preview"
icon="document_search_result"
+ tooltip="${res:Menu_File_PreviewResource}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="XmlEdit"
icon="document_code"
+ tooltip="${res:Menu_File_EditResourceWithXml}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="Profile"
icon="clock"
+ tooltip="${res:Menu_File_ProfileResource}"
class="Maestro.Base.Commands.NotImplementedCommand" />
<ToolbarItem id="Validate"
icon="tick"
+ tooltip="${res:Menu_File_ValidateResource}"
class="Maestro.Base.Commands.NotImplementedCommand" />
+ <!--
+ Only needed if our custom drawn close buttons don't appear on document
+ tabs (I'm looking at you Mono). So far this isn't the case.
+
+ This command is a fallback in case there are problems.
+ -->
+ <!--
+ <ToolbarItem type="Separator" />
+ <ToolbarItem id="CloseDocument"
+ tooltip="${res:Menu_File_CloseActiveDocument}"
+ icon="cross"
+ class="Maestro.Base.Commands.CloseActiveDocumentCommand" />
+ -->
</Path>
<!-- Site Explorer Toolbar -->
Modified: sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj 2010-05-14 13:40:11 UTC (rev 4882)
@@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
+ <ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F1E2F468-5030-4DBA-968C-9620284AFAA1}</ProjectGuid>
<OutputType>Library</OutputType>
@@ -43,6 +43,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Commands\AboutCommand.cs" />
+ <Compile Include="Commands\CloseActiveDocumentCommand.cs" />
<Compile Include="Commands\CopyCommand.cs" />
<Compile Include="Commands\CutCommand.cs" />
<Compile Include="Commands\LoginCommand.cs" />
@@ -135,6 +136,12 @@
<DependentUpon>SiteExplorer.cs</DependentUpon>
</Compile>
<Compile Include="TabFactory.cs" />
+ <Compile Include="UI\WelcomeScreen.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="UI\WelcomeScreen.Designer.cs">
+ <DependentUpon>WelcomeScreen.cs</DependentUpon>
+ </Compile>
<Compile Include="ViewContentBase.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -157,6 +164,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="Maestro.Base.addin" />
+ <None Include="Resources\cross.png" />
<None Include="Resources\blueprints.png" />
<None Include="Resources\folder-horizontal.png" />
<None Include="Resources\document.png" />
@@ -201,12 +209,15 @@
<ItemGroup>
<EmbeddedResource Include="Editor\EditorContentBase.resx">
<DependentUpon>EditorContentBase.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Editor\WebLayoutEditor.resx">
<DependentUpon>WebLayoutEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Editor\XmlEditor.resx">
<DependentUpon>XmlEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
@@ -223,14 +234,20 @@
</EmbeddedResource>
<EmbeddedResource Include="UI\MessageViewer.resx">
<DependentUpon>MessageViewer.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="UI\NewResourceDialog.resx">
<DependentUpon>NewResourceDialog.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="UI\SiteExplorer.resx">
<DependentUpon>SiteExplorer.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
+ <EmbeddedResource Include="UI\WelcomeScreen.resx">
+ <DependentUpon>WelcomeScreen.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
<EmbeddedResource Include="Workbench.resx">
<DependentUpon>Workbench.cs</DependentUpon>
<SubType>Designer</SubType>
Modified: sandbox/maestro-2.5/Maestro.Base/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Properties/Resources.Designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Properties/Resources.Designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -202,6 +202,22 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Getting Started.
+ /// </summary>
+ internal static string Content_Welcome {
+ get {
+ return ResourceManager.GetString("Content_Welcome", resourceCulture);
+ }
+ }
+
+ internal static System.Drawing.Bitmap cross {
+ get {
+ object obj = ResourceManager.GetObject("cross", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap cross_circle {
get {
object obj = ResourceManager.GetObject("cross-circle", resourceCulture);
@@ -410,6 +426,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Close Active Document.
+ /// </summary>
+ internal static string Menu_File_CloseActiveDocument {
+ get {
+ return ResourceManager.GetString("Menu_File_CloseActiveDocument", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Connect.
/// </summary>
internal static string Menu_File_Connect {
@@ -428,6 +453,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Edit Resource with XML Editor.
+ /// </summary>
+ internal static string Menu_File_EditResourceWithXml {
+ get {
+ return ResourceManager.GetString("Menu_File_EditResourceWithXml", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Login.
/// </summary>
internal static string Menu_File_Login {
@@ -446,6 +480,24 @@
}
/// <summary>
+ /// Looks up a localized string similar to Preview Resource.
+ /// </summary>
+ internal static string Menu_File_PreviewResource {
+ get {
+ return ResourceManager.GetString("Menu_File_PreviewResource", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Profile Resource.
+ /// </summary>
+ internal static string Menu_File_ProfileResource {
+ get {
+ return ResourceManager.GetString("Menu_File_ProfileResource", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Quit.
/// </summary>
internal static string Menu_File_Quit {
@@ -455,6 +507,33 @@
}
/// <summary>
+ /// Looks up a localized string similar to Save Resource.
+ /// </summary>
+ internal static string Menu_File_SaveResource {
+ get {
+ return ResourceManager.GetString("Menu_File_SaveResource", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Save Resource As.
+ /// </summary>
+ internal static string Menu_File_SaveResourceAs {
+ get {
+ return ResourceManager.GetString("Menu_File_SaveResourceAs", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Validate Resource.
+ /// </summary>
+ internal static string Menu_File_ValidateResource {
+ get {
+ return ResourceManager.GetString("Menu_File_ValidateResource", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Help.
/// </summary>
internal static string Menu_Help {
Modified: sandbox/maestro-2.5/Maestro.Base/Properties/Resources.resx
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Properties/Resources.resx 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Properties/Resources.resx 2010-05-14 13:40:11 UTC (rev 4882)
@@ -367,4 +367,31 @@
<data name="SiteExplorer_SelectedItem_Rename" xml:space="preserve">
<value>Rename</value>
</data>
+ <data name="Content_Welcome" xml:space="preserve">
+ <value>Getting Started</value>
+ </data>
+ <data name="cross" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Menu_File_CloseActiveDocument" xml:space="preserve">
+ <value>Close Active Document</value>
+ </data>
+ <data name="Menu_File_EditResourceWithXml" xml:space="preserve">
+ <value>Edit Resource with XML Editor</value>
+ </data>
+ <data name="Menu_File_PreviewResource" xml:space="preserve">
+ <value>Preview Resource</value>
+ </data>
+ <data name="Menu_File_ProfileResource" xml:space="preserve">
+ <value>Profile Resource</value>
+ </data>
+ <data name="Menu_File_SaveResource" xml:space="preserve">
+ <value>Save Resource</value>
+ </data>
+ <data name="Menu_File_SaveResourceAs" xml:space="preserve">
+ <value>Save Resource As</value>
+ </data>
+ <data name="Menu_File_ValidateResource" xml:space="preserve">
+ <value>Validate Resource</value>
+ </data>
</root>
\ No newline at end of file
Added: sandbox/maestro-2.5/Maestro.Base/Resources/cross.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-2.5/Maestro.Base/Resources/cross.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: sandbox/maestro-2.5/Maestro.Base/Services/OpenResourceManager.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Services/OpenResourceManager.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Services/OpenResourceManager.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -47,8 +47,18 @@
if (!_openItems.ContainsKey(item.ResourceId))
{
var svc = ServiceRegistry.GetService<ViewContentManager>();
+ IResource res = null;
+ try
+ {
+ res = (IResource)conn.ResourceService.GetResource(item.ResourceId);
+ }
+ catch (Exception ex)
+ {
+ MessageService.ShowError(ex);
+ return;
+ }
+
var ed = svc.OpenContent<XmlEditor>(ViewRegion.Document);
- IResource res = (IResource)conn.ResourceService.GetResource(item.ResourceId);
ed.Resource = res;
_openItems[item.ResourceId] = ed;
ed.ViewContentClosing += (sender, e) =>
Modified: sandbox/maestro-2.5/Maestro.Base/Services/UrlLauncher.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Services/UrlLauncher.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Services/UrlLauncher.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -23,6 +23,7 @@
using ICSharpCode.Core;
using System.Diagnostics;
using Maestro.Base.UI;
+using OSGeo.MapGuide.MaestroAPI;
namespace Maestro.Base.Services
{
@@ -34,9 +35,10 @@
LoggingService.Info(Properties.Resources.Service_Init_Url_Launcher);
}
- private bool CanUseEmbeddedWebBrowser
+ public bool CanUseEmbeddedWebBrowser
{
- get { return Environment.OSVersion.Platform != PlatformID.MacOSX; } //There's no embedded wb for Mono on Mac (or so I'm told)
+ //Mono's web browser is too unwieldy
+ get { return Platform.IsWindows; }
}
/// <summary>
Modified: sandbox/maestro-2.5/Maestro.Base/TabFactory.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/TabFactory.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/TabFactory.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -81,7 +81,34 @@
var tabs = page.Parent as TabControl;
if (tabs != null && tabs.TabPages.Contains(page))
{
+ int idx = -1;
+
+ //HACK: Mono (2.4) will chuck a hissy fit if we remove
+ //a tab from a TabControl that has a selected tab so we
+ //have to null the selected tab, but this cause weird
+ //visual effects once the tab is removed, so we record
+ //the selected index, so we can assign the one beside it
+ //to be the selected tab after removal.
+ if (tabs.SelectedTab == page)
+ {
+ idx = tabs.SelectedIndex;
+ tabs.SelectedTab = null;
+ }
tabs.TabPages.Remove(page);
+
+ if (idx > 0)
+ {
+ idx--;
+ tabs.SelectedIndex = idx;
+ }
+ else
+ {
+ //Set to first tab if available.
+ if (tabs.TabCount > 0)
+ {
+ tabs.SelectedIndex = 0;
+ }
+ }
}
};
}
Added: sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.Designer.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.Designer.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.Designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -0,0 +1,175 @@
+namespace Maestro.Base.UI
+{
+ partial class WelcomeScreen
+ {
+ /// <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()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WelcomeScreen));
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.linkLabel1 = new System.Windows.Forms.LinkLabel();
+ this.linkLabel2 = new System.Windows.Forms.LinkLabel();
+ this.linkLabel3 = new System.Windows.Forms.LinkLabel();
+ this.linkLabel4 = new System.Windows.Forms.LinkLabel();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // panel1
+ //
+ this.panel1.BackColor = System.Drawing.Color.White;
+ this.panel1.Controls.Add(this.label2);
+ this.panel1.Controls.Add(this.label1);
+ this.panel1.Controls.Add(this.pictureBox1);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
+ this.panel1.Location = new System.Drawing.Point(0, 0);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(603, 80);
+ this.panel1.TabIndex = 0;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label2.Location = new System.Drawing.Point(99, 55);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(96, 16);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "Getting Started";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label1.Location = new System.Drawing.Point(96, 11);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(251, 35);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "MapGuide Maestro";
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+ this.pictureBox1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.pictureBox1.Location = new System.Drawing.Point(0, 0);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(80, 80);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox1.TabIndex = 1;
+ this.pictureBox1.TabStop = false;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label3.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.label3.Location = new System.Drawing.Point(20, 104);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(131, 19);
+ this.label3.TabIndex = 1;
+ this.label3.Text = "Common Actions";
+ //
+ // linkLabel1
+ //
+ this.linkLabel1.AutoSize = true;
+ this.linkLabel1.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.linkLabel1.Location = new System.Drawing.Point(56, 174);
+ this.linkLabel1.Name = "linkLabel1";
+ this.linkLabel1.Size = new System.Drawing.Size(139, 16);
+ this.linkLabel1.TabIndex = 2;
+ this.linkLabel1.TabStop = true;
+ this.linkLabel1.Text = "Create a new resource";
+ //
+ // linkLabel2
+ //
+ this.linkLabel2.AutoSize = true;
+ this.linkLabel2.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.linkLabel2.Location = new System.Drawing.Point(56, 228);
+ this.linkLabel2.Name = "linkLabel2";
+ this.linkLabel2.Size = new System.Drawing.Size(97, 16);
+ this.linkLabel2.TabIndex = 3;
+ this.linkLabel2.TabStop = true;
+ this.linkLabel2.Text = "Load a Package";
+ //
+ // linkLabel3
+ //
+ this.linkLabel3.AutoSize = true;
+ this.linkLabel3.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.linkLabel3.Location = new System.Drawing.Point(56, 257);
+ this.linkLabel3.Name = "linkLabel3";
+ this.linkLabel3.Size = new System.Drawing.Size(108, 16);
+ this.linkLabel3.TabIndex = 4;
+ this.linkLabel3.TabStop = true;
+ this.linkLabel3.Text = "Create a Package";
+ //
+ // linkLabel4
+ //
+ this.linkLabel4.AutoSize = true;
+ this.linkLabel4.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.linkLabel4.Location = new System.Drawing.Point(56, 144);
+ this.linkLabel4.Name = "linkLabel4";
+ this.linkLabel4.Size = new System.Drawing.Size(174, 16);
+ this.linkLabel4.TabIndex = 5;
+ this.linkLabel4.TabStop = true;
+ this.linkLabel4.Text = "Load data into this repository";
+ //
+ // WelcomeScreen
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.linkLabel4);
+ this.Controls.Add(this.linkLabel3);
+ this.Controls.Add(this.linkLabel2);
+ this.Controls.Add(this.linkLabel1);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.panel1);
+ this.Name = "WelcomeScreen";
+ this.Size = new System.Drawing.Size(603, 418);
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.LinkLabel linkLabel1;
+ private System.Windows.Forms.LinkLabel linkLabel2;
+ private System.Windows.Forms.LinkLabel linkLabel3;
+ private System.Windows.Forms.LinkLabel linkLabel4;
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -0,0 +1,46 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Maestro.Base.UI
+{
+ public partial class WelcomeScreen : SingletonViewContent
+ {
+ public WelcomeScreen()
+ {
+ InitializeComponent();
+ this.Title = Properties.Resources.Content_Welcome;
+ }
+
+ public override ViewRegion DefaultRegion
+ {
+ get
+ {
+ return ViewRegion.Document;
+ }
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.resx
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.resx (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/UI/WelcomeScreen.resx 2010-05-14 13:40:11 UTC (rev 4882)
@@ -0,0 +1,997 @@
+<?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=2.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>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ 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
+</value>
+ </data>
+</root>
\ No newline at end of file
Modified: sandbox/maestro-2.5/Maestro.Base/Workbench.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Workbench.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/Workbench.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -277,6 +277,14 @@
}
/// <summary>
+ /// Gets the active view in the document region
+ /// </summary>
+ public IViewContent ActiveDocumentView
+ {
+ get { return contentPanel.ActiveDocumentView; }
+ }
+
+ /// <summary>
/// Gets the active site explorer
/// </summary>
public ISiteExplorer ActiveSiteExplorer
Modified: sandbox/maestro-2.5/Maestro.Base/ZonedContainer.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/ZonedContainer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Base/ZonedContainer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -26,6 +26,7 @@
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using Maestro.Base.Services;
+using OSGeo.MapGuide.MaestroAPI;
namespace Maestro.Base
{
@@ -38,11 +39,25 @@
InitializeComponent();
}
+ public IViewContent ActiveDocumentView
+ {
+ get
+ {
+ if (documentTabs.TabCount == 0)
+ return null;
+
+ var page = documentTabs.SelectedTab;
+ var cnt = (IViewContent)page.Tag;
+ return cnt;
+ }
+ }
+
public event ViewContentActivateEventHandler ViewActivated;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
+
CheckContainerStatus();
var mgr = ServiceRegistry.GetService<ViewContentManager>();
@@ -109,8 +124,8 @@
{
TabControl tab = (TabControl)sender;
//The tag specifies whether the user can manually close this tab
+ var page = tab.TabPages[e.Index];
- var page = tab.TabPages[e.Index];
bool draw = (page.Tag != null && ((IViewContent)page.Tag).AllowUserClose);
try
@@ -128,7 +143,7 @@
e.Graphics.FillRectangle(new SolidBrush(SystemColors.ControlLightLight), tabRect);
e.Graphics.DrawString(title, f, TitleBrush, new Point(r.X, r.Y));
-
+
if (draw)
{
//Close Image to draw
@@ -141,23 +156,27 @@
private void ZoneMouseClick(object sender, MouseEventArgs e)
{
- TabControl tc = (TabControl)sender;
- Point p = e.Location;
- int _tabWidth = 0;
- _tabWidth = tc.GetTabRect(tc.SelectedIndex).Width - (_imgHitArea.X);
- Rectangle r = tc.GetTabRect(tc.SelectedIndex);
- r.Offset(_tabWidth, _imgHitArea.Y);
- r.Width = 16;
- r.Height = 16;
- if (r.Contains(p))
+ try
{
- TabPage page = (TabPage)tc.TabPages[tc.SelectedIndex];
- //The tag specifies whether the user can manually close this tab
- if (page.Tag != null && ((IViewContent)page.Tag).AllowUserClose)
+ TabControl tc = (TabControl)sender;
+ Point p = e.Location;
+ int _tabWidth = 0;
+ _tabWidth = tc.GetTabRect(tc.SelectedIndex).Width - (_imgHitArea.X);
+ Rectangle r = tc.GetTabRect(tc.SelectedIndex);
+ r.Offset(_tabWidth, _imgHitArea.Y);
+ r.Width = 16;
+ r.Height = 16;
+ if (r.Contains(p))
{
- ((IViewContent)page.Tag).Close();
+ TabPage page = (TabPage)tc.TabPages[tc.SelectedIndex];
+ //The tag specifies whether the user can manually close this tab
+ if (page.Tag != null && ((IViewContent)page.Tag).AllowUserClose)
+ {
+ ((IViewContent)page.Tag).Close();
+ }
}
- }
+ }
+ catch { }
}
private void OnViewActivated(IViewContent content)
Modified: sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj 2010-05-14 13:40:11 UTC (rev 4882)
@@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
+ <ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5AD2CDBA-952E-4148-98A1-31D2E0D540D5}</ProjectGuid>
<OutputType>Library</OutputType>
@@ -160,58 +160,76 @@
<ItemGroup>
<EmbeddedResource Include="FeatureSource\CoordSysOverrideCtrl.resx">
<DependentUpon>CoordSysOverrideCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\ExtensionsCtrl.resx">
<DependentUpon>ExtensionsCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Extensions\JoinSettings.resx">
<DependentUpon>JoinSettings.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\FeatureSourceEditorCtrl.resx">
<DependentUpon>FeatureSourceEditorCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Generic\ResourceDataCtrl.resx">
<DependentUpon>ResourceDataCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Generic\ResourcePicker.resx">
<DependentUpon>ResourcePicker.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Generic\XmlEditorCtrl.resx">
<DependentUpon>XmlEditorCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoadProcedure\InputFilesCtrl.resx">
<DependentUpon>InputFilesCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoadProcedure\LoadProcedureEditorCtrl.resx">
<DependentUpon>LoadProcedureEditorCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoadProcedure\LoadTargetCtrl.resx">
<DependentUpon>LoadTargetCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoadProcedure\SdfTransformationCtrl.resx">
<DependentUpon>SdfTransformationCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoadProcedure\ShpTransformationCtrl.resx">
<DependentUpon>ShpTransformationCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="WebLayout\CustomCommandPropertyCtrl.resx">
<DependentUpon>CustomCommandPropertyCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="WebLayout\WebLayoutCommandsCtrl.resx">
<DependentUpon>WebLayoutCommandsCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="WebLayout\WebLayoutEditorCtrl.resx">
<DependentUpon>WebLayoutEditorCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="WebLayout\WebLayoutMenusCtrl.resx">
<DependentUpon>WebLayoutMenusCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="WebLayout\WebLayoutSettingsCtrl.resx">
<DependentUpon>WebLayoutSettingsCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
Modified: sandbox/maestro-2.5/Maestro.Shared.UI/CollapsiblePanel.designer.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Shared.UI/CollapsiblePanel.designer.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Maestro.Shared.UI/CollapsiblePanel.designer.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -52,6 +52,7 @@
//
this.btnExpand.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnExpand.BackgroundImage = global::Maestro.Shared.UI.Properties.Resources.plus_white;
+ this.btnExpand.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btnExpand.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnExpand.Location = new System.Drawing.Point(430, 5);
this.btnExpand.Name = "btnExpand";
@@ -64,6 +65,7 @@
//
this.btnCollapse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnCollapse.BackgroundImage = global::Maestro.Shared.UI.Properties.Resources.minus_white;
+ this.btnCollapse.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btnCollapse.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnCollapse.Location = new System.Drawing.Point(408, 5);
this.btnCollapse.Name = "btnCollapse";
Modified: sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/ResourceItems.cs
===================================================================
--- sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/ResourceItems.cs 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/ResourceItems.cs 2010-05-14 13:40:11 UTC (rev 4882)
@@ -21,6 +21,7 @@
using System.Collections.Generic;
using System.Text;
using OSGeo.MapGuide.MaestroAPI.Resource;
+using System.Xml.Serialization;
namespace OSGeo.MapGuide.ObjectModels.Common
{
@@ -43,6 +44,7 @@
partial class ResourceList
{
+ [XmlIgnore]
public IEnumerable<IRepositoryItem> Children
{
get
@@ -57,25 +59,31 @@
partial class ResourceListResourceDocument : IRepositoryItem
{
+ [XmlIgnore]
public string Name
{
get { return ResourceIdentifier.GetName(this.ResourceId); }
}
+ [XmlIgnore]
public string ResourceType { get { return ResourceIdentifier.GetExtension(this.ResourceId); } }
+ [XmlIgnore]
public bool IsFolder { get { return false; } }
}
partial class ResourceListResourceFolder : IRepositoryItem
{
+ [XmlIgnore]
public string Name
{
get { return ResourceIdentifier.GetName(this.ResourceId); }
}
+ [XmlIgnore]
public string ResourceType { get { return "Folder"; } }
+ [XmlIgnore]
public bool IsFolder { get { return true; } }
}
}
Modified: sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/readme.txt
===================================================================
--- sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/readme.txt 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/OSGeo.MapGuide.MaestroAPI/ObjectModels/readme.txt 2010-05-14 13:40:11 UTC (rev 4882)
@@ -1 +1,14 @@
-Running generate.bat will cause redundant generation of the following classes:
\ No newline at end of file
+Running generate.bat will cause redundant generation of the following classes:
+
+Also any schemas with ExtendedData elements will have to be changed. Anything attributed
+with XmlAnyElementAttribute is usually a BindingList<T> (the default list I've chosen for
+generating classes). BindingList<T> is not compatible for XML serialization, so these have
+to be changed from:
+
+BindingList<XmlElement>
+
+to:
+
+XmlElement[]
+
+A simple search for XmlAnyElementAttribute will reveal the bits of code that need to change.
\ No newline at end of file
Modified: sandbox/maestro-2.5/Thirdparty/TreeViewAdv/Aga.Controls/Aga.Controls.csproj
===================================================================
--- sandbox/maestro-2.5/Thirdparty/TreeViewAdv/Aga.Controls/Aga.Controls.csproj 2010-05-14 09:44:44 UTC (rev 4881)
+++ sandbox/maestro-2.5/Thirdparty/TreeViewAdv/Aga.Controls/Aga.Controls.csproj 2010-05-14 13:40:11 UTC (rev 4882)
@@ -2,7 +2,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
+ <ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E73BB233-D88B-44A7-A98F-D71EE158381D}</ProjectGuid>
<OutputType>Library</OutputType>
@@ -202,6 +202,7 @@
</EmbeddedResource>
<EmbeddedResource Include="Tree\TreeViewAdv.resx">
<DependentUpon>TreeViewAdv.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
More information about the mapguide-commits
mailing list