[mapguide-commits] r6311 - in trunk/Tools/Maestro: Maestro.Editors/Fusion Maestro.Editors/Properties OSGeo.MapGuide.MaestroAPI

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Dec 8 07:39:23 EST 2011


Author: jng
Date: 2011-12-08 04:39:23 -0800 (Thu, 08 Dec 2011)
New Revision: 6311

Modified:
   trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.resx
   trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
Log:
Fusion Editor fixes:
 - Fix bad selection color serialization. Fusion (or is it MapGuide?) uses RGBA color strings instead of ARGB
 - #1856: Fix remove button in Maps section of editor. Also employ some smart logic to update the MapWidget reference in case we are removing the one referenced by the MapWidget
 - #1857: Similarly, if we're changing the id of the MapGroup that's referenced by the MapWidget, update its referenced id as well.

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.Designer.cs	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.Designer.cs	2011-12-08 12:39:23 UTC (rev 6311)
@@ -85,6 +85,7 @@
             // 
             resources.ApplyResources(this.txtMapId, "txtMapId");
             this.txtMapId.Name = "txtMapId";
+            this.txtMapId.TextChanged += new System.EventHandler(this.txtMapId_TextChanged);
             // 
             // groupBox1
             // 

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.cs	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.cs	2011-12-08 12:39:23 UTC (rev 6311)
@@ -154,13 +154,15 @@
         private bool _noEvents = true;
         private IApplicationDefinition _appDef;
         private IEditorService _edsvc;
+        private IMapWidget _widget;
 
-        public MapCtrl(IApplicationDefinition appDef, IMapGroup group, IEditorService edService) : this() 
+        public MapCtrl(IApplicationDefinition appDef, IMapGroup group, IEditorService edService, IMapWidget widget) : this() 
         {
             _edsvc = edService;
             _edsvc.RegisterCustomNotifier(this);
             _appDef = appDef;
             _group = group;
+            _widget = widget;
 
             foreach (var map in group.Map)
             {
@@ -276,7 +278,7 @@
             var selColor = _map.GetValue("SelectionColor");
 
             if (!string.IsNullOrEmpty(selColor))
-                cmbSelectionColor.CurrentColor = Utility.ParseHTMLColor(selColor.Substring(2)); //Strip the "0x" part
+                cmbSelectionColor.CurrentColor = Utility.ParseHTMLColorRGBA(selColor.Substring(2)); //Strip the "0x" part
             
             if (!string.IsNullOrEmpty(selOverlay))
             {
@@ -287,7 +289,7 @@
 
             cmbSelectionColor.SelectedIndexChanged += (s, e) => 
             {
-                _map.SetValue("SelectionColor", "0x" + Utility.SerializeHTMLColor(cmbSelectionColor.CurrentColor, true));
+                _map.SetValue("SelectionColor", "0x" + Utility.SerializeHTMLColorRGBA(cmbSelectionColor.CurrentColor, true));
                 OnResourceChanged();
             };
             chkSelectionAsOverlay.CheckedChanged += (s, e) => 
@@ -593,5 +595,11 @@
         }
 
         public event EventHandler ResourceChanged;
+
+        private void txtMapId_TextChanged(object sender, EventArgs e)
+        {
+            if (_widget != null)
+                _widget.MapId = txtMapId.Text;
+        }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.resx	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/MapCtrl.resx	2011-12-08 12:39:23 UTC (rev 6311)
@@ -121,6 +121,10 @@
   <data name="label1.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
     <value>14, 22</value>
@@ -146,7 +150,6 @@
   <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
     <value>2</value>
   </data>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="txtMapId.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
   </data>
@@ -174,114 +177,12 @@
   <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
   </data>
-  <data name="&gt;&gt;chkOverride.Name" xml:space="preserve">
-    <value>chkOverride</value>
-  </data>
-  <data name="&gt;&gt;chkOverride.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkOverride.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;chkOverride.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="&gt;&gt;txtViewScale.Name" xml:space="preserve">
-    <value>txtViewScale</value>
-  </data>
-  <data name="&gt;&gt;txtViewScale.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;txtViewScale.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;txtViewScale.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="&gt;&gt;txtViewY.Name" xml:space="preserve">
-    <value>txtViewY</value>
-  </data>
-  <data name="&gt;&gt;txtViewY.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;txtViewY.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;txtViewY.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="&gt;&gt;txtViewX.Name" xml:space="preserve">
-    <value>txtViewX</value>
-  </data>
-  <data name="&gt;&gt;txtViewX.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;txtViewX.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;txtViewX.ZOrder" xml:space="preserve">
-    <value>3</value>
-  </data>
-  <data name="&gt;&gt;label4.Name" xml:space="preserve">
-    <value>label4</value>
-  </data>
-  <data name="&gt;&gt;label4.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;label4.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
-    <value>4</value>
-  </data>
-  <data name="&gt;&gt;label3.Name" xml:space="preserve">
-    <value>label3</value>
-  </data>
-  <data name="&gt;&gt;label3.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;label3.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
-    <value>5</value>
-  </data>
-  <data name="&gt;&gt;label2.Name" xml:space="preserve">
-    <value>label2</value>
-  </data>
-  <data name="&gt;&gt;label2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;label2.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
-    <value>6</value>
-  </data>
-  <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>17, 75</value>
-  </data>
-  <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>449, 56</value>
-  </data>
-  <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
-    <value>2</value>
-  </data>
-  <data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
-    <value>groupBox2</value>
-  </data>
-  <data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
-    <value>4</value>
-  </data>
   <data name="chkOverride.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkOverride.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkOverride.Location" type="System.Drawing.Point, System.Drawing">
     <value>6, 0</value>
   </data>
@@ -372,6 +273,9 @@
   <data name="label4.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
     <value>272, 26</value>
   </data>
@@ -399,6 +303,9 @@
   <data name="label3.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
     <value>148, 26</value>
   </data>
@@ -426,6 +333,9 @@
   <data name="label2.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
     <value>21, 26</value>
   </data>
@@ -450,9 +360,33 @@
   <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
     <value>6</value>
   </data>
+  <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>17, 75</value>
+  </data>
+  <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>449, 56</value>
+  </data>
+  <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
+    <value>groupBox1</value>
+  </data>
+  <data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
+    <value>groupBox2</value>
+  </data>
+  <data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
   <data name="label5.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="label5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
     <value>14, 51</value>
   </data>
@@ -504,6 +438,9 @@
   <data name="btnBrowseMdf.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Right</value>
   </data>
+  <data name="btnBrowseMdf.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="btnBrowseMdf.Location" type="System.Drawing.Point, System.Drawing">
     <value>437, 46</value>
   </data>
@@ -531,6 +468,9 @@
   <data name="chkSingleTiled.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkSingleTiled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkSingleTiled.Location" type="System.Drawing.Point, System.Drawing">
     <value>234, 139</value>
   </data>
@@ -558,6 +498,9 @@
   <data name="lblSelColor.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="lblSelColor.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="lblSelColor.Location" type="System.Drawing.Point, System.Drawing">
     <value>17, 140</value>
   </data>
@@ -585,6 +528,9 @@
   <data name="chkSelectionAsOverlay.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkSelectionAsOverlay.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkSelectionAsOverlay.Location" type="System.Drawing.Point, System.Drawing">
     <value>327, 139</value>
   </data>
@@ -609,11 +555,20 @@
   <data name="&gt;&gt;chkSelectionAsOverlay.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
+  <data name="cmbSelectionColor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>107, 137</value>
+  </data>
+  <data name="cmbSelectionColor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>121, 21</value>
+  </data>
+  <data name="cmbSelectionColor.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
   <data name="&gt;&gt;cmbSelectionColor.Name" xml:space="preserve">
     <value>cmbSelectionColor</value>
   </data>
   <data name="&gt;&gt;cmbSelectionColor.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=4.0.0.6216, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+    <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=4.0.0.6282, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
   <data name="&gt;&gt;cmbSelectionColor.Parent" xml:space="preserve">
     <value>groupBox2</value>
@@ -645,33 +600,15 @@
   <data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
-  <data name="cmbSelectionColor.Location" type="System.Drawing.Point, System.Drawing">
-    <value>107, 137</value>
-  </data>
-  <data name="cmbSelectionColor.Size" type="System.Drawing.Size, System.Drawing">
-    <value>121, 21</value>
-  </data>
-  <data name="cmbSelectionColor.TabIndex" type="System.Int32, mscorlib">
-    <value>10</value>
-  </data>
-  <data name="&gt;&gt;cmbSelectionColor.Name" xml:space="preserve">
-    <value>cmbSelectionColor</value>
-  </data>
-  <data name="&gt;&gt;cmbSelectionColor.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=4.0.0.6216, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
-  </data>
-  <data name="&gt;&gt;cmbSelectionColor.Parent" xml:space="preserve">
-    <value>groupBox2</value>
-  </data>
-  <data name="&gt;&gt;cmbSelectionColor.ZOrder" xml:space="preserve">
-    <value>3</value>
-  </data>
   <data name="grpCms.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Bottom, Left, Right</value>
   </data>
   <data name="chkOsmMapnik.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkOsmMapnik.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkOsmMapnik.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 19</value>
   </data>
@@ -780,279 +717,6 @@
   <data name="&gt;&gt;groupBox6.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="&gt;&gt;chkGoogTerrain.Name" xml:space="preserve">
-    <value>chkGoogTerrain</value>
-  </data>
-  <data name="&gt;&gt;chkGoogTerrain.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkGoogTerrain.Parent" xml:space="preserve">
-    <value>groupBox5</value>
-  </data>
-  <data name="&gt;&gt;chkGoogTerrain.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="&gt;&gt;chkGoogStreets.Name" xml:space="preserve">
-    <value>chkGoogStreets</value>
-  </data>
-  <data name="&gt;&gt;chkGoogStreets.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkGoogStreets.Parent" xml:space="preserve">
-    <value>groupBox5</value>
-  </data>
-  <data name="&gt;&gt;chkGoogStreets.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="&gt;&gt;chkGoogSatellite.Name" xml:space="preserve">
-    <value>chkGoogSatellite</value>
-  </data>
-  <data name="&gt;&gt;chkGoogSatellite.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkGoogSatellite.Parent" xml:space="preserve">
-    <value>groupBox5</value>
-  </data>
-  <data name="&gt;&gt;chkGoogSatellite.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="&gt;&gt;chkGoogHybrid.Name" xml:space="preserve">
-    <value>chkGoogHybrid</value>
-  </data>
-  <data name="&gt;&gt;chkGoogHybrid.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkGoogHybrid.Parent" xml:space="preserve">
-    <value>groupBox5</value>
-  </data>
-  <data name="&gt;&gt;chkGoogHybrid.ZOrder" xml:space="preserve">
-    <value>3</value>
-  </data>
-  <data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
-    <value>132, 30</value>
-  </data>
-  <data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
-    <value>114, 114</value>
-  </data>
-  <data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
-    <value>15</value>
-  </data>
-  <data name="groupBox5.Text" xml:space="preserve">
-    <value>Google Maps V3</value>
-  </data>
-  <data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
-    <value>groupBox5</value>
-  </data>
-  <data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="&gt;&gt;chkBingStreets.Name" xml:space="preserve">
-    <value>chkBingStreets</value>
-  </data>
-  <data name="&gt;&gt;chkBingStreets.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkBingStreets.Parent" xml:space="preserve">
-    <value>groupBox4</value>
-  </data>
-  <data name="&gt;&gt;chkBingStreets.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="&gt;&gt;chkBingSatellite.Name" xml:space="preserve">
-    <value>chkBingSatellite</value>
-  </data>
-  <data name="&gt;&gt;chkBingSatellite.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkBingSatellite.Parent" xml:space="preserve">
-    <value>groupBox4</value>
-  </data>
-  <data name="&gt;&gt;chkBingSatellite.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="&gt;&gt;chkBingHybrid.Name" xml:space="preserve">
-    <value>chkBingHybrid</value>
-  </data>
-  <data name="&gt;&gt;chkBingHybrid.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkBingHybrid.Parent" xml:space="preserve">
-    <value>groupBox4</value>
-  </data>
-  <data name="&gt;&gt;chkBingHybrid.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
-    <value>23, 30</value>
-  </data>
-  <data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
-    <value>99, 114</value>
-  </data>
-  <data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
-    <value>14</value>
-  </data>
-  <data name="groupBox4.Text" xml:space="preserve">
-    <value>Bing Maps</value>
-  </data>
-  <data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
-    <value>groupBox4</value>
-  </data>
-  <data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="&gt;&gt;chkYahooStreets.Name" xml:space="preserve">
-    <value>chkYahooStreets</value>
-  </data>
-  <data name="&gt;&gt;chkYahooStreets.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkYahooStreets.Parent" xml:space="preserve">
-    <value>groupBox3</value>
-  </data>
-  <data name="&gt;&gt;chkYahooStreets.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="&gt;&gt;chkYahooSatellite.Name" xml:space="preserve">
-    <value>chkYahooSatellite</value>
-  </data>
-  <data name="&gt;&gt;chkYahooSatellite.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkYahooSatellite.Parent" xml:space="preserve">
-    <value>groupBox3</value>
-  </data>
-  <data name="&gt;&gt;chkYahooSatellite.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="&gt;&gt;chkYahooHybrid.Name" xml:space="preserve">
-    <value>chkYahooHybrid</value>
-  </data>
-  <data name="&gt;&gt;chkYahooHybrid.Type" xml:space="preserve">
-    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;chkYahooHybrid.Parent" xml:space="preserve">
-    <value>groupBox3</value>
-  </data>
-  <data name="&gt;&gt;chkYahooHybrid.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
-    <value>252, 30</value>
-  </data>
-  <data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
-    <value>103, 114</value>
-  </data>
-  <data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
-    <value>13</value>
-  </data>
-  <data name="groupBox3.Text" xml:space="preserve">
-    <value>Yahoo! Maps</value>
-  </data>
-  <data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
-    <value>groupBox3</value>
-  </data>
-  <data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
-    <value>3</value>
-  </data>
-  <data name="txtYahooApiKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="txtYahooApiKey.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="txtYahooApiKey.Location" type="System.Drawing.Point, System.Drawing">
-    <value>23, 182</value>
-  </data>
-  <data name="txtYahooApiKey.Multiline" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="txtYahooApiKey.Size" type="System.Drawing.Size, System.Drawing">
-    <value>442, 36</value>
-  </data>
-  <data name="txtYahooApiKey.TabIndex" type="System.Int32, mscorlib">
-    <value>12</value>
-  </data>
-  <data name="&gt;&gt;txtYahooApiKey.Name" xml:space="preserve">
-    <value>txtYahooApiKey</value>
-  </data>
-  <data name="&gt;&gt;txtYahooApiKey.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;txtYahooApiKey.Parent" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;txtYahooApiKey.ZOrder" xml:space="preserve">
-    <value>4</value>
-  </data>
-  <data name="label7.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
-    <value>20, 166</value>
-  </data>
-  <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
-    <value>243, 13</value>
-  </data>
-  <data name="label7.TabIndex" type="System.Int32, mscorlib">
-    <value>10</value>
-  </data>
-  <data name="label7.Text" xml:space="preserve">
-    <value>Yahoo Maps API Key (Required for Yahoo Layers)</value>
-  </data>
-  <data name="&gt;&gt;label7.Name" xml:space="preserve">
-    <value>label7</value>
-  </data>
-  <data name="&gt;&gt;label7.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;label7.Parent" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
-    <value>5</value>
-  </data>
-  <data name="grpCms.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 185</value>
-  </data>
-  <data name="grpCms.Size" type="System.Drawing.Size, System.Drawing">
-    <value>486, 238</value>
-  </data>
-  <data name="grpCms.TabIndex" type="System.Int32, mscorlib">
-    <value>13</value>
-  </data>
-  <data name="grpCms.Text" xml:space="preserve">
-    <value>Commercial Map Service Layers (Check the ones you want available)</value>
-  </data>
-  <data name="&gt;&gt;grpCms.Name" xml:space="preserve">
-    <value>grpCms</value>
-  </data>
-  <data name="&gt;&gt;grpCms.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name="&gt;&gt;grpCms.Parent" xml:space="preserve">
-    <value>$this</value>
-  </data>
-  <data name="&gt;&gt;grpCms.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
   <data name="chkGoogTerrain.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
@@ -1086,6 +750,9 @@
   <data name="chkGoogStreets.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkGoogStreets.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkGoogStreets.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 19</value>
   </data>
@@ -1113,6 +780,9 @@
   <data name="chkGoogSatellite.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkGoogSatellite.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkGoogSatellite.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 43</value>
   </data>
@@ -1140,6 +810,9 @@
   <data name="chkGoogHybrid.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkGoogHybrid.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkGoogHybrid.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 66</value>
   </data>
@@ -1164,9 +837,36 @@
   <data name="&gt;&gt;chkGoogHybrid.ZOrder" xml:space="preserve">
     <value>3</value>
   </data>
+  <data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
+    <value>132, 30</value>
+  </data>
+  <data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 114</value>
+  </data>
+  <data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
+    <value>15</value>
+  </data>
+  <data name="groupBox5.Text" xml:space="preserve">
+    <value>Google Maps V3</value>
+  </data>
+  <data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
+    <value>groupBox5</value>
+  </data>
+  <data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
   <data name="chkBingStreets.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkBingStreets.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkBingStreets.Location" type="System.Drawing.Point, System.Drawing">
     <value>13, 19</value>
   </data>
@@ -1194,6 +894,9 @@
   <data name="chkBingSatellite.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkBingSatellite.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkBingSatellite.Location" type="System.Drawing.Point, System.Drawing">
     <value>13, 43</value>
   </data>
@@ -1221,6 +924,9 @@
   <data name="chkBingHybrid.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkBingHybrid.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkBingHybrid.Location" type="System.Drawing.Point, System.Drawing">
     <value>13, 66</value>
   </data>
@@ -1245,9 +951,36 @@
   <data name="&gt;&gt;chkBingHybrid.ZOrder" xml:space="preserve">
     <value>2</value>
   </data>
+  <data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
+    <value>23, 30</value>
+  </data>
+  <data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>99, 114</value>
+  </data>
+  <data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
+    <value>14</value>
+  </data>
+  <data name="groupBox4.Text" xml:space="preserve">
+    <value>Bing Maps</value>
+  </data>
+  <data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
+    <value>groupBox4</value>
+  </data>
+  <data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
   <data name="chkYahooStreets.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkYahooStreets.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkYahooStreets.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 19</value>
   </data>
@@ -1275,6 +1008,9 @@
   <data name="chkYahooSatellite.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkYahooSatellite.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkYahooSatellite.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 43</value>
   </data>
@@ -1302,6 +1038,9 @@
   <data name="chkYahooHybrid.AutoSize" type="System.Boolean, mscorlib">
     <value>True</value>
   </data>
+  <data name="chkYahooHybrid.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
   <data name="chkYahooHybrid.Location" type="System.Drawing.Point, System.Drawing">
     <value>11, 66</value>
   </data>
@@ -1326,6 +1065,114 @@
   <data name="&gt;&gt;chkYahooHybrid.ZOrder" xml:space="preserve">
     <value>2</value>
   </data>
+  <data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>252, 30</value>
+  </data>
+  <data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 114</value>
+  </data>
+  <data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="groupBox3.Text" xml:space="preserve">
+    <value>Yahoo! Maps</value>
+  </data>
+  <data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
+    <value>groupBox3</value>
+  </data>
+  <data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="txtYahooApiKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
+  </data>
+  <data name="txtYahooApiKey.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="txtYahooApiKey.Location" type="System.Drawing.Point, System.Drawing">
+    <value>23, 182</value>
+  </data>
+  <data name="txtYahooApiKey.Multiline" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="txtYahooApiKey.Size" type="System.Drawing.Size, System.Drawing">
+    <value>442, 36</value>
+  </data>
+  <data name="txtYahooApiKey.TabIndex" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;txtYahooApiKey.Name" xml:space="preserve">
+    <value>txtYahooApiKey</value>
+  </data>
+  <data name="&gt;&gt;txtYahooApiKey.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;txtYahooApiKey.Parent" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;txtYahooApiKey.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="label7.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+    <value>20, 166</value>
+  </data>
+  <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>243, 13</value>
+  </data>
+  <data name="label7.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="label7.Text" xml:space="preserve">
+    <value>Yahoo Maps API Key (Required for Yahoo Layers)</value>
+  </data>
+  <data name="&gt;&gt;label7.Name" xml:space="preserve">
+    <value>label7</value>
+  </data>
+  <data name="&gt;&gt;label7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;label7.Parent" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="grpCms.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 185</value>
+  </data>
+  <data name="grpCms.Size" type="System.Drawing.Size, System.Drawing">
+    <value>486, 238</value>
+  </data>
+  <data name="grpCms.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="grpCms.Text" xml:space="preserve">
+    <value>Commercial Map Service Layers (Check the ones you want available)</value>
+  </data>
+  <data name="&gt;&gt;grpCms.Name" xml:space="preserve">
+    <value>grpCms</value>
+  </data>
+  <data name="&gt;&gt;grpCms.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;grpCms.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;grpCms.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/MapSettingsCtrl.cs	2011-12-08 12:39:23 UTC (rev 6311)
@@ -103,13 +103,22 @@
 
         private void lstMaps_SelectedIndexChanged(object sender, EventArgs e)
         {
+            btnRemoveMap.Enabled = false;
             var grp = this.SelectedGroup;
             if (grp != null)
             {
                 propertiesPanel.Controls.Clear();
-                var mapCtrl = new MapCtrl(_flexLayout, grp, _edsvc);
+                IMapWidget widget = null;
+
+                var mapWidget = _flexLayout.GetFirstWidgetSet().MapWidget;
+                //We're editing the one used by the map widget
+                if (grp.id == mapWidget.MapId)
+                    widget = mapWidget;
+
+                var mapCtrl = new MapCtrl(_flexLayout, grp, _edsvc, widget);
                 mapCtrl.Dock = DockStyle.Fill;
                 propertiesPanel.Controls.Add(mapCtrl);
+                btnRemoveMap.Enabled = true;
             }
         }
 
@@ -120,9 +129,50 @@
                 var item = lstMaps.SelectedItems[0];
                 var group = (IMapGroup)item.Tag;
 
-                _flexLayout.MapSet.RemoveGroup(group);
-                lstMaps.Items.Remove(item);
-                OnResourceChanged();
+                var mapWidget = _flexLayout.GetFirstWidgetSet().MapWidget;
+                //The map group we removed is being referenced by the map widget
+                if (group.id == mapWidget.MapId)
+                {
+                    if (_flexLayout.MapSet.MapGroupCount >= 2)
+                    {
+                        if (_flexLayout.MapSet.MapGroupCount == 2)
+                        {
+                            _flexLayout.MapSet.RemoveGroup(group);
+                            lstMaps.Items.Remove(item);
+
+                            mapWidget.MapId = _flexLayout.MapSet.GetGroupAt(0).id;
+                            MessageBox.Show(string.Format(Properties.Resources.MapUpdatedToUseGroup, mapWidget.MapId));
+                            OnResourceChanged();
+                        }
+                        else if (_flexLayout.MapSet.MapGroupCount > 2)
+                        {
+                            List<string> mapGroupIds = new List<string>();
+                            for (int i = 0; i < _flexLayout.MapSet.MapGroupCount; i++)
+                            {
+                                mapGroupIds.Add(_flexLayout.MapSet.GetGroupAt(i).id);
+                            }
+
+                            mapGroupIds.Remove(group.id); //Remove the one to be removed from the list
+
+                            string id = GenericItemSelectionDialog.SelectItem(Properties.Resources.PromptSelectMap, Properties.Resources.PromptUpdateMapWidgetReference, mapGroupIds.ToArray());
+                            if (id != null) //A replacement has been selected, now we can remove
+                            {
+                                _flexLayout.MapSet.RemoveGroup(group);
+                                lstMaps.Items.Remove(item);
+
+                                mapWidget.MapId = id;
+
+                                OnResourceChanged();
+                            }
+                        }
+                    }
+                }
+                else
+                {
+                    _flexLayout.MapSet.RemoveGroup(group);
+                    lstMaps.Items.Remove(item);
+                    OnResourceChanged();
+                }
             }
         }
 

Modified: trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs	2011-12-08 12:39:23 UTC (rev 6311)
@@ -1980,6 +1980,15 @@
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Map widget has been updated to use the map group: {0}.
+        /// </summary>
+        internal static string MapUpdatedToUseGroup {
+            get {
+                return ResourceManager.GetString("MapUpdatedToUseGroup", resourceCulture);
+            }
+        }
+        
         internal static System.Drawing.Bitmap marker {
             get {
                 object obj = ResourceManager.GetObject("marker", resourceCulture);
@@ -2423,6 +2432,24 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Select Map.
+        /// </summary>
+        internal static string PromptSelectMap {
+            get {
+                return ResourceManager.GetString("PromptSelectMap", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Update Map Widget to point to.
+        /// </summary>
+        internal static string PromptUpdateMapWidgetReference {
+            get {
+                return ResourceManager.GetString("PromptUpdateMapWidgetReference", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Use Office 2010 Drivers? (these are 64-bit compatible).
         /// </summary>
         internal static string PromptUseOffice2010Drivers {

Modified: trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx	2011-12-08 12:39:23 UTC (rev 6311)
@@ -1307,4 +1307,13 @@
   <data name="ConfirmGoogleScaleList" xml:space="preserve">
     <value>Are you sure you want to use a Google-compatible Scale List? This will overwrite your existing scale ranges and will only line up with commercial layers in Fusion if your Map's Coordinate System is WGS84.PseudoMercator</value>
   </data>
+  <data name="MapUpdatedToUseGroup" xml:space="preserve">
+    <value>Map widget has been updated to use the map group: {0}</value>
+  </data>
+  <data name="PromptSelectMap" xml:space="preserve">
+    <value>Select Map</value>
+  </data>
+  <data name="PromptUpdateMapWidgetReference" xml:space="preserve">
+    <value>Update Map Widget to point to</value>
+  </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2011-12-08 11:22:21 UTC (rev 6310)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2011-12-08 12:39:23 UTC (rev 6311)
@@ -107,8 +107,36 @@
 				throw new Exception("Bad HTML color: \"" + color + "\"");
 		}
 
+        /// <summary>
+        /// Parses a color in HTML notation (ea. #ffaabbff)
+        /// </summary>
+        /// <param name="color">The HTML representation of the color</param>
+        /// <returns>The .Net color structure that matches the color</returns>
+        public static Color ParseHTMLColorRGBA(string color)
+        {
+            if (color.Length == 8)
+            {
+                int r = int.Parse(color.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
+                int g = int.Parse(color.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
+                int b = int.Parse(color.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
+                int a = int.Parse(color.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);
+
+                return Color.FromArgb(a, r, g, b);
+            }
+            else if (color.Length == 6)
+            {
+                int r = int.Parse(color.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
+                int g = int.Parse(color.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
+                int b = int.Parse(color.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
+
+                return Color.FromArgb(r, g, b);
+            }
+            else
+                throw new Exception("Bad HTML color: \"" + color + "\"");
+        }
+
 		/// <summary>
-		/// Returns the HTML representation of an .Net color structure
+		/// Returns the HTML ARGB representation of an .Net color structure
 		/// </summary>
 		/// <param name="color">The color to encode</param>
 		/// <param name="includeAlpha">A flag indicating if the color structures alpha value should be included</param>
@@ -124,6 +152,23 @@
 			return res;
 		}
 
+        /// <summary>
+        /// Returns the HTML RGBA representation of an .Net color structure
+        /// </summary>
+        /// <param name="color">The color to encode</param>
+        /// <param name="includeAlpha">A flag indicating if the color structures alpha value should be included</param>
+        /// <returns>The HTML representation of the color structure</returns>
+        public static string SerializeHTMLColorRGBA(Color color, bool includeAlpha)
+        {
+            string res = "";
+            res += color.R.ToString("x02");
+            res += color.G.ToString("x02");
+            res += color.B.ToString("x02");
+            if (includeAlpha)
+                res += color.A.ToString("x02");
+            return res;
+        }
+
 		/// <summary>
 		/// Parses a string with a decimal value in EN-US format
 		/// </summary>



More information about the mapguide-commits mailing list