[mapguide-commits] r4922 - in sandbox/maestro-2.5: Maestro.Base
Maestro.Base/Commands Maestro.Base/Commands/Conditions
Maestro.Base/Editor Maestro.Base/UI Maestro.Editors
Maestro.Editors/FeatureSource/Providers MaestroAPITests
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri May 21 09:22:47 EDT 2010
Author: jng
Date: 2010-05-21 09:22:47 -0400 (Fri, 21 May 2010)
New Revision: 4922
Added:
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/ActiveEditorConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/CloseableDocumentConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/DebugModeConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/IsConnectedConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/MultipleSelectedItemConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/NotConnectedConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/SelectedItemConditionEvaluator.cs
sandbox/maestro-2.5/Maestro.Editors/FeatureSource/Providers/Rdbms/
Modified:
sandbox/maestro-2.5/Maestro.Base/Editor/EditorContentBase.cs
sandbox/maestro-2.5/Maestro.Base/Editor/IEditorViewContent.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/UI/SiteExplorer.cs
sandbox/maestro-2.5/Maestro.Base/Workbench.cs
sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj
sandbox/maestro-2.5/MaestroAPITests/MaestroAPITests.csproj
Log:
This submission adds a few extra properties to IEditorViewContent and adds a whole bunch of command evaluators for certain scenarios. Now most commands should only appear or be enabled if the command is in a valid state to execute.
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/ActiveEditorConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/ActiveEditorConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/ActiveEditorConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -0,0 +1,65 @@
+#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;
+using Maestro.Base.Editor;
+
+namespace Maestro.Base.Commands.Conditions
+{
+ internal class ActiveEditorConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ var cnt = wb.ActiveDocumentView;
+ var ed = cnt as IEditorViewContent;
+ string prop = condition.Properties["property"];
+ if (!string.IsNullOrEmpty(prop))
+ {
+ prop = prop.ToUpper();
+ switch (prop)
+ {
+ case "CANPREVIEW":
+ return ed != null && ed.CanBePreviewed;
+ case "CANVALIDATE":
+ return ed != null && ed.CanBeValidated;
+ case "CANSAVE":
+ return ed != null && ed.IsDirty;
+ case "CANPROFILE":
+ return ed != null && ed.CanProfile;
+ case "CANEDITASXML":
+ return ed != null && ed.CanEditAsXml;
+ default:
+ return false;
+ }
+ }
+ else //No property, then just see if active doc is an editor
+ {
+ return ed != null;
+ }
+ }
+ return false;
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/CloseableDocumentConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/CloseableDocumentConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/CloseableDocumentConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -0,0 +1,40 @@
+#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.Conditions
+{
+ internal class CloseableDocumentConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ var cnt = wb.ActiveDocumentView;
+ return cnt != null && cnt.AllowUserClose;
+ }
+ return false;
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/DebugModeConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/DebugModeConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/DebugModeConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -0,0 +1,38 @@
+#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.Conditions
+{
+ internal class DebugModeConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+#if DEBUG
+ return true;
+#else
+ return false;
+#endif
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/IsConnectedConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/IsConnectedConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/IsConnectedConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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.Conditions
+{
+ internal class IsConnectedConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ return wb.ActiveSiteExplorer == null;
+ }
+ return false;
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/MultipleSelectedItemConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/MultipleSelectedItemConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/MultipleSelectedItemConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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.Conditions
+{
+ internal class MultipleSelectedItemConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ return wb.ActiveSiteExplorer != null && wb.ActiveSiteExplorer.SelectedItems.Length > 1;
+ }
+ return false;
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/NotConnectedConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/NotConnectedConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/NotConnectedConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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.Conditions
+{
+ internal class NotConnectedConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ return wb.ActiveSiteExplorer != null;
+ }
+ return false;
+ }
+ }
+}
Added: sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/SelectedItemConditionEvaluator.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/SelectedItemConditionEvaluator.cs (rev 0)
+++ sandbox/maestro-2.5/Maestro.Base/Commands/Conditions/SelectedItemConditionEvaluator.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -0,0 +1,51 @@
+#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.Conditions
+{
+ internal class SelectedItemConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object caller, Condition condition)
+ {
+ var wb = Workbench.Instance;
+ if (wb != null)
+ {
+ if (wb.ActiveSiteExplorer != null && wb.ActiveSiteExplorer.SelectedItems.Length == 1)
+ {
+ var ri = wb.ActiveSiteExplorer.SelectedItems[0];
+ string prop = condition.Properties["type"];
+ if (!string.IsNullOrEmpty(prop))
+ {
+ return prop.ToUpper() == ri.ResourceType.ToUpper();
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ }
+}
Modified: sandbox/maestro-2.5/Maestro.Base/Editor/EditorContentBase.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Editor/EditorContentBase.cs 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Editor/EditorContentBase.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -102,5 +102,20 @@
get;
private set;
}
+
+ public virtual bool CanProfile
+ {
+ get { return false; }
+ }
+
+ public virtual bool CanBeValidated
+ {
+ get { return false; }
+ }
+
+ public virtual bool CanEditAsXml
+ {
+ get { return true; }
+ }
}
}
Modified: sandbox/maestro-2.5/Maestro.Base/Editor/IEditorViewContent.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Editor/IEditorViewContent.cs 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Editor/IEditorViewContent.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -39,6 +39,21 @@
IResource Resource { get; }
/// <summary>
+ /// Indicates whether this current resource can be edited with the xml editor
+ /// </summary>
+ bool CanEditAsXml { get; }
+
+ /// <summary>
+ /// Indicates whether this current resource can be profiled
+ /// </summary>
+ bool CanProfile { get; }
+
+ /// <summary>
+ /// Indicates whether this current resource can be validated
+ /// </summary>
+ bool CanBeValidated { get; }
+
+ /// <summary>
/// Indicates whether this current resource can be upgraded.
/// </summary>
bool CanUpgrade { get; }
Modified: sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Editor/XmlEditor.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -108,5 +108,13 @@
get { return editor.XmlContent; }
set { editor.XmlContent = value; }
}
+
+ public override bool CanEditAsXml
+ {
+ get
+ {
+ return false; //We're already in the XML editor!
+ }
+ }
}
}
Modified: sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Maestro.Base.addin 2010-05-21 13:22:47 UTC (rev 4922)
@@ -9,7 +9,15 @@
</Manifest>
<Runtime>
- <Import assembly="../Maestro.Base.dll" />
+ <Import assembly="../Maestro.Base.dll">
+ <ConditionEvaluator name="DebugMode" class="Maestro.Base.Commands.Conditions.DebugModeConditionEvaluator" />
+ <ConditionEvaluator name="IsConnected" class="Maestro.Base.Commands.Conditions.IsConnectedConditionEvaluator" />
+ <ConditionEvaluator name="NotConnected" class="Maestro.Base.Commands.Conditions.NotConnectedConditionEvaluator" />
+ <ConditionEvaluator name="EditorFunction" class="Maestro.Base.Commands.Conditions.ActiveEditorConditionEvaluator" />
+ <ConditionEvaluator name="CanClose" class="Maestro.Base.Commands.Conditions.CloseableDocumentConditionEvaluator" />
+ <ConditionEvaluator name="SelectedItem" class="Maestro.Base.Commands.Conditions.SelectedItemConditionEvaluator" />
+ <ConditionEvaluator name="MultipleSelected" class="Maestro.Base.Commands.Conditions.MultipleSelectedItemConditionEvaluator" />
+ </Import>
</Runtime>
<!-- Main Menu Definition -->
@@ -47,28 +55,30 @@
class="Maestro.Base.Commands.NotImplementedCommand" />
</MenuItem>
<!-- For testing various APIs, disable for releases -->
- <MenuItem id="Menu_Test"
- type="Menu"
- label="Test">
- <MenuItem id="Menu_Test_OpenResource"
- label="Open Resource"
- class="Maestro.Base.Commands.Test.OpenResourceCommand" />
- <MenuItem id="Menu_Test_OpenResourceWithFilter"
- label="Open Resource (with filter)"
- class="Maestro.Base.Commands.Test.OpenResourceWithFilterCommand" />
- <MenuItem id="Menu_Test_OpenFolder"
- label="Open Folder"
- class="Maestro.Base.Commands.Test.OpenFolderCommand" />
- <MenuItem id="Menu_Test_SelectCoordSys"
- label="Select Coordinate System"
- class="Maestro.Base.Commands.Test.OpenCoordinateSystemPickerCommand" />
- <MenuItem id="Menu_Test_OpenSymbolBrowser"
- label="Open Symbol Browser"
- class="Maestro.Base.Commands.Test.OpenSymbolBrowserCommand" />
- <MenuItem id="Menu_Test_SelectFdoProvider"
- label="Select FDO Provider"
- class="Maestro.Base.Commands.Test.SelectFdoProviderCommand" />
- </MenuItem>
+ <Condition action="Exclude" name="DebugMode">
+ <MenuItem id="Menu_Test"
+ type="Menu"
+ label="Test">
+ <MenuItem id="Menu_Test_OpenResource"
+ label="Open Resource"
+ class="Maestro.Base.Commands.Test.OpenResourceCommand" />
+ <MenuItem id="Menu_Test_OpenResourceWithFilter"
+ label="Open Resource (with filter)"
+ class="Maestro.Base.Commands.Test.OpenResourceWithFilterCommand" />
+ <MenuItem id="Menu_Test_OpenFolder"
+ label="Open Folder"
+ class="Maestro.Base.Commands.Test.OpenFolderCommand" />
+ <MenuItem id="Menu_Test_SelectCoordSys"
+ label="Select Coordinate System"
+ class="Maestro.Base.Commands.Test.OpenCoordinateSystemPickerCommand" />
+ <MenuItem id="Menu_Test_OpenSymbolBrowser"
+ label="Open Symbol Browser"
+ class="Maestro.Base.Commands.Test.OpenSymbolBrowserCommand" />
+ <MenuItem id="Menu_Test_SelectFdoProvider"
+ label="Select FDO Provider"
+ class="Maestro.Base.Commands.Test.SelectFdoProviderCommand" />
+ </MenuItem>
+ </Condition>
<!-- -->
<MenuItem id="Menu_Tools"
type="Menu"
@@ -118,186 +128,213 @@
<!-- Toolbar Definition -->
<Path name="/Maestro/Shell/Toolbars/Main">
- <ToolbarItem id="Connect"
- icon="plug__plus"
- label="${res:Menu_File_Connect}"
- tooltip="${res:Menu_File_Connect}"
- class="Maestro.Base.Commands.LoginCommand" />
- <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.SaveResourceCommand" />
- <ToolbarItem id="SaveAs"
- icon="disk__arrow"
- tooltip="${res:Menu_File_SaveResourceAs}"
- class="Maestro.Base.Commands.SaveResourceAsCommand" />
- <ToolbarItem id="Preview"
- icon="document_search_result"
- tooltip="${res:Menu_File_PreviewResource}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="IsConnected">
+ <ToolbarItem id="Connect"
+ icon="plug__plus"
+ label="${res:Menu_File_Connect}"
+ tooltip="${res:Menu_File_Connect}"
+ class="Maestro.Base.Commands.LoginCommand" />
+ </Condition>
+ <Condition action="Disable" name="NotConnected">
+ <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" />
+ </Condition>
+ <Condition action="Disable" name="EditorFunction" property="CanSave">
+ <ToolbarItem id="Save"
+ icon="disk"
+ tooltip="${res:Menu_File_SaveResource}"
+ class="Maestro.Base.Commands.SaveResourceCommand" />
+ <ToolbarItem id="SaveAs"
+ icon="disk__arrow"
+ tooltip="${res:Menu_File_SaveResourceAs}"
+ class="Maestro.Base.Commands.SaveResourceAsCommand" />
+ </Condition>
+ <Condition action="Disable" name="EditorFunction" property="CanPreview">
+ <ToolbarItem id="Preview"
+ icon="document_search_result"
+ tooltip="${res:Menu_File_PreviewResource}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
<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" />
+ <Condition action="Disable" name="EditorFunction" property="CanProfile">
+ <ToolbarItem id="Profile"
+ icon="clock"
+ tooltip="${res:Menu_File_ProfileResource}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
+ <Condition action="Disable" name="EditorFunction" property="CanValidate">
+ <ToolbarItem id="Validate"
+ icon="tick"
+ tooltip="${res:Menu_File_ValidateResource}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
<!--
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" />
+ <Condition action="Disable" name="CanClose">
+ <ToolbarItem id="CloseDocument"
+ tooltip="${res:Menu_File_CloseActiveDocument}"
+ icon="cross"
+ class="Maestro.Base.Commands.CloseActiveDocumentCommand" />
+ </Condition>
-->
</Path>
<!-- Site Explorer Toolbar -->
<Path name="/Maestro/Shell/SiteExplorer/Toolbar">
- <ToolbarItem id="NewItem"
- label="${res:Menu_File_NewResource}"
- icon="document__plus"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <ToolbarItem type="Separator" />
- <ToolbarItem id="DeleteItem"
- icon="cross_script"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <ToolbarItem id="SiteExplorer_Refresh"
- icon="arrow-circle-045-left"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <ToolbarItem id="SiteExplorer_Disconnect"
- icon="plug--minus"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="NotConnected">
+ <ToolbarItem id="NewItem"
+ label="${res:Menu_File_NewResource}"
+ icon="document__plus"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <ToolbarItem type="Separator" />
+ <Condition action="Disable" name="SelectedItem">
+ <ToolbarItem id="DeleteItem"
+ icon="cross_script"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
+ <ToolbarItem id="SiteExplorer_Refresh"
+ icon="arrow-circle-045-left"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <ToolbarItem id="SiteExplorer_Disconnect"
+ icon="plug--minus"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
<!-- Site Explorer Context Menu -->
<Path name="/Maestro/Shell/SiteExplorer/SelectedFolder">
- <MenuItem id="CreatePackage"
- label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Delete"
- label="${res:SiteExplorer_SelectedItem_Delete}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="LoadPackage"
- label="${res:SiteExplorer_SelectedFolder_LoadPackage}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="Copy"
- label="${res:SiteExplorer_SelectedItem_Copy}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Cut"
- label="${res:SiteExplorer_SelectedItem_Cut}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Paste"
- label="${res:SiteExplorer_SelectedFolder_Paste}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="SelectedItem" type="Folder">
+ <MenuItem id="CreatePackage"
+ label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Delete"
+ label="${res:SiteExplorer_SelectedItem_Delete}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="LoadPackage"
+ label="${res:SiteExplorer_SelectedFolder_LoadPackage}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="Copy"
+ label="${res:SiteExplorer_SelectedItem_Copy}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Cut"
+ label="${res:SiteExplorer_SelectedItem_Cut}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Paste"
+ label="${res:SiteExplorer_SelectedFolder_Paste}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
<!-- Site Explorer Context Menu -->
<Path name="/Maestro/Shell/SiteExplorer/SelectedFolders">
- <MenuItem id="CreatePackage"
- label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Delete"
- label="${res:SiteExplorer_SelectedItem_Delete}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="Copy"
- label="${res:SiteExplorer_SelectedItem_Copy}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Cut"
- label="${res:SiteExplorer_SelectedItem_Cut}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="MultipleSelected">
+ <MenuItem id="CreatePackage"
+ label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Delete"
+ label="${res:SiteExplorer_SelectedItem_Delete}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="Copy"
+ label="${res:SiteExplorer_SelectedItem_Copy}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Cut"
+ label="${res:SiteExplorer_SelectedItem_Cut}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
<!-- Site Explorer Context Menu -->
<Path name="/Maestro/Shell/SiteExplorer/SelectedDocument">
- <MenuItem id="Open"
- label="${res:SiteExplorer_SelectedItem_Open}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Rename"
- label="${res:SiteExplorer_SelectedItem_Rename}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Delete"
- label="${res:SiteExplorer_SelectedItem_Delete}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="Copy"
- label="${res:SiteExplorer_SelectedItem_Copy}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Cut"
- label="${res:SiteExplorer_SelectedItem_Cut}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Paste"
- label="${res:SiteExplorer_SelectedFolder_Paste}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="SelectedItem">
+ <MenuItem id="Open"
+ label="${res:SiteExplorer_SelectedItem_Open}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Rename"
+ label="${res:SiteExplorer_SelectedItem_Rename}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Delete"
+ label="${res:SiteExplorer_SelectedItem_Delete}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="Copy"
+ label="${res:SiteExplorer_SelectedItem_Copy}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Cut"
+ label="${res:SiteExplorer_SelectedItem_Cut}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Paste"
+ label="${res:SiteExplorer_SelectedFolder_Paste}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
<!-- Site Explorer Context Menu -->
<Path name="/Maestro/Shell/SiteExplorer/SelectedDocuments">
- <MenuItem id="Open"
- label="${res:SiteExplorer_SelectedItem_Open}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Delete"
- label="${res:SiteExplorer_SelectedItem_Delete}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="Copy"
- label="${res:SiteExplorer_SelectedItem_Copy}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Cut"
- label="${res:SiteExplorer_SelectedItem_Cut}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="MultipleSelected">
+ <MenuItem id="Open"
+ label="${res:SiteExplorer_SelectedItem_Open}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Delete"
+ label="${res:SiteExplorer_SelectedItem_Delete}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="Copy"
+ label="${res:SiteExplorer_SelectedItem_Copy}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Cut"
+ label="${res:SiteExplorer_SelectedItem_Cut}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
<!-- Site Explorer Context Menu -->
<Path name="/Maestro/Shell/SiteExplorer/SelectedMixedResources">
- <MenuItem id="Open"
- label="${res:SiteExplorer_SelectedItem_Open}"
- class="Maestro.Base.Commands.NotImplementedCommand" />s
- <MenuItem id="Delete"
- label="${res:SiteExplorer_SelectedItem_Delete}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="CreatePackage"
- label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem type="Separator" />
- <MenuItem id="Copy"
- label="${res:SiteExplorer_SelectedItem_Copy}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
- <MenuItem id="Cut"
- label="${res:SiteExplorer_SelectedItem_Cut}"
- class="Maestro.Base.Commands.NotImplementedCommand" />
+ <Condition action="Disable" name="MultipleSelected">
+ <MenuItem id="Open"
+ label="${res:SiteExplorer_SelectedItem_Open}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />s
+ <MenuItem id="Delete"
+ label="${res:SiteExplorer_SelectedItem_Delete}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="CreatePackage"
+ label="${res:SiteExplorer_SelectedFolder_CreatePackage}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem type="Separator" />
+ <MenuItem id="Copy"
+ label="${res:SiteExplorer_SelectedItem_Copy}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ <MenuItem id="Cut"
+ label="${res:SiteExplorer_SelectedItem_Cut}"
+ class="Maestro.Base.Commands.NotImplementedCommand" />
+ </Condition>
</Path>
</AddIn>
\ No newline at end of file
Modified: sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Maestro.Base.csproj 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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>
@@ -40,6 +40,13 @@
<ItemGroup>
<Compile Include="Commands\AboutCommand.cs" />
<Compile Include="Commands\CloseActiveDocumentCommand.cs" />
+ <Compile Include="Commands\Conditions\ActiveEditorConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\CloseableDocumentConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\IsConnectedConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\MultipleSelectedItemConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\NotConnectedConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\DebugModeConditionEvaluator.cs" />
+ <Compile Include="Commands\Conditions\SelectedItemConditionEvaluator.cs" />
<Compile Include="Commands\CopyCommand.cs" />
<Compile Include="Commands\CutCommand.cs" />
<Compile Include="Commands\LoginCommand.cs" />
@@ -250,12 +257,15 @@
</EmbeddedResource>
<EmbeddedResource Include="Editor\FeatureSourceEditor.resx">
<DependentUpon>FeatureSourceEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Editor\LayerDefinitionEditor.resx">
<DependentUpon>LayerDefinitionEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Editor\LoadProcedureEditor.resx">
<DependentUpon>LoadProcedureEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Editor\WebLayoutEditor.resx">
<DependentUpon>WebLayoutEditor.cs</DependentUpon>
Modified: sandbox/maestro-2.5/Maestro.Base/UI/SiteExplorer.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/UI/SiteExplorer.cs 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/UI/SiteExplorer.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -41,9 +41,19 @@
public SiteExplorer()
{
InitializeComponent();
+ Application.Idle += new EventHandler(OnIdle);
ndResource.ToolTipProvider = new RepositoryItemToolTipProvider();
}
+ void OnIdle(object sender, EventArgs e)
+ {
+ foreach (var item in tsSiteExplorer.Items)
+ {
+ if (item is IStatusUpdate)
+ ((IStatusUpdate)item).UpdateStatus();
+ }
+ }
+
public string ConnectionName
{
get;
Modified: sandbox/maestro-2.5/Maestro.Base/Workbench.cs
===================================================================
--- sandbox/maestro-2.5/Maestro.Base/Workbench.cs 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Base/Workbench.cs 2010-05-21 13:22:47 UTC (rev 4922)
@@ -341,6 +341,15 @@
if (item is IStatusUpdate)
(item as IStatusUpdate).UpdateStatus();
}
+
+ foreach (ToolStrip ts in _toolstrips.Values)
+ {
+ foreach (ToolStripItem item in ts.Items)
+ {
+ if (item is IStatusUpdate)
+ (item as IStatusUpdate).UpdateStatus();
+ }
+ }
}
}
Modified: sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/Maestro.Editors/Maestro.Editors.csproj 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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>
@@ -417,6 +417,7 @@
</EmbeddedResource>
<EmbeddedResource Include="Common\ResourceDataCtrl.resx">
<DependentUpon>ResourceDataCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Common\SourceDataCtrl.resx">
<DependentUpon>SourceDataCtrl.cs</DependentUpon>
@@ -428,6 +429,7 @@
</EmbeddedResource>
<EmbeddedResource Include="DrawingSource\DrawingSourceEditorCtrl.resx">
<DependentUpon>DrawingSourceEditorCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DrawingSource\SheetSectionControl.resx">
<DependentUpon>SheetSectionControl.cs</DependentUpon>
@@ -471,15 +473,19 @@
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Providers\FileBasedCtrl.resx">
<DependentUpon>FileBasedCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Providers\GenericCtrl.resx">
<DependentUpon>GenericCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Providers\Sdf\SdfFileCtrl.resx">
<DependentUpon>SdfFileCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Providers\Shp\ShpFileCtrl.resx">
<DependentUpon>ShpFileCtrl.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Generic\ResourceDataPanel.resx">
<DependentUpon>ResourceDataPanel.cs</DependentUpon>
@@ -495,6 +501,7 @@
</EmbeddedResource>
<EmbeddedResource Include="Generic\XmlValidationResult.resx">
<DependentUpon>XmlValidationResult.cs</DependentUpon>
+ <SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LayerDefinition\LayerPropertiesSectionCtrl.resx">
<DependentUpon>LayerPropertiesSectionCtrl.cs</DependentUpon>
Modified: sandbox/maestro-2.5/MaestroAPITests/MaestroAPITests.csproj
===================================================================
--- sandbox/maestro-2.5/MaestroAPITests/MaestroAPITests.csproj 2010-05-21 11:16:39 UTC (rev 4921)
+++ sandbox/maestro-2.5/MaestroAPITests/MaestroAPITests.csproj 2010-05-21 13:22:47 UTC (rev 4922)
@@ -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>{351D49A3-2E4A-4EC3-AFC2-D56598F44F51}</ProjectGuid>
<OutputType>Library</OutputType>
@@ -71,6 +71,7 @@
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ <SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
More information about the mapguide-commits
mailing list