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

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Mar 25 05:19:43 PDT 2013


Author: jng
Date: 2013-03-25 05:19:43 -0700 (Mon, 25 Mar 2013)
New Revision: 7413

Modified:
   trunk/Tools/Maestro/Maestro.Editors/Fusion/FlexibleLayoutEditorContext.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.resx
   trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetReferenceCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetSettingsCtrl.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinition.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs
Log:
#2236: Improve the Fusion editor
 - Filter out un-dockable widgets from the widget dropdown when attaching widgets to a toolbar/container.
 - In the Widget Management Dialog, indicate which widgets are dockable (ie. where StandardUi = true in its widgetinfo.xml). Add a small note in the dialog that explains dockability.

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/FlexibleLayoutEditorContext.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/FlexibleLayoutEditorContext.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/FlexibleLayoutEditorContext.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -106,5 +106,39 @@
             }
             return null;
         }
+
+        internal string[] GetDockableWidgetNames(IApplicationDefinition appDef)
+        {
+            //Key the dockable types
+            var dict = new Dictionary<string, IWidgetInfo>();
+            foreach (var winfo in GetAllWidgets())
+            {
+                if (winfo.StandardUi)
+                {
+                    dict[winfo.Type] = winfo;
+                }
+            }
+
+            var result = new List<string>();
+            foreach (var wset in appDef.WidgetSets)
+            {
+                foreach (var wgt in wset.Widgets)
+                {
+                    if (dict.ContainsKey(wgt.Type))
+                        result.Add(wgt.Name);
+                }
+            }
+            return result.ToArray();
+        }
+
+        internal bool IsWidgetDockable(string widgetType)
+        {
+            foreach (var winfo in _widgetSet.WidgetInfo)
+            {
+                if (winfo.Type == widgetType)
+                    return winfo.StandardUi;
+            }
+            return false;
+        }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.Designer.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.Designer.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -31,13 +31,15 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WidgetManagementDialog));
             this.groupBox1 = new System.Windows.Forms.GroupBox();
             this.grdWidgets = new System.Windows.Forms.DataGridView();
-            this.COL_NAME = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.COL_TYPE = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.toolStrip1 = new System.Windows.Forms.ToolStrip();
             this.btnAdd = new System.Windows.Forms.ToolStripButton();
             this.btnDelete = new System.Windows.Forms.ToolStripButton();
             this.groupBox2 = new System.Windows.Forms.GroupBox();
             this.btnClose = new System.Windows.Forms.Button();
+            this.COL_DOCKABLE = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.COL_NAME = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.COL_TYPE = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.lblNonDockableNote = new System.Windows.Forms.Label();
             this.groupBox1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.grdWidgets)).BeginInit();
             this.toolStrip1.SuspendLayout();
@@ -57,6 +59,7 @@
             this.grdWidgets.AllowUserToDeleteRows = false;
             this.grdWidgets.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.grdWidgets.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.COL_DOCKABLE,
             this.COL_NAME,
             this.COL_TYPE});
             resources.ApplyResources(this.grdWidgets, "grdWidgets");
@@ -67,21 +70,6 @@
             this.grdWidgets.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grdWidgets_CellClick);
             this.grdWidgets.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grdWidgets_CellClick);
             // 
-            // COL_NAME
-            // 
-            this.COL_NAME.DataPropertyName = "Name";
-            resources.ApplyResources(this.COL_NAME, "COL_NAME");
-            this.COL_NAME.Name = "COL_NAME";
-            this.COL_NAME.ReadOnly = true;
-            // 
-            // COL_TYPE
-            // 
-            this.COL_TYPE.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
-            this.COL_TYPE.DataPropertyName = "Type";
-            resources.ApplyResources(this.COL_TYPE, "COL_TYPE");
-            this.COL_TYPE.Name = "COL_TYPE";
-            this.COL_TYPE.ReadOnly = true;
-            // 
             // toolStrip1
             // 
             this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -117,11 +105,39 @@
             this.btnClose.UseVisualStyleBackColor = true;
             this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
             // 
+            // COL_DOCKABLE
+            // 
+            this.COL_DOCKABLE.DataPropertyName = "IsDockable";
+            resources.ApplyResources(this.COL_DOCKABLE, "COL_DOCKABLE");
+            this.COL_DOCKABLE.Name = "COL_DOCKABLE";
+            this.COL_DOCKABLE.ReadOnly = true;
+            // 
+            // COL_NAME
+            // 
+            this.COL_NAME.DataPropertyName = "Name";
+            resources.ApplyResources(this.COL_NAME, "COL_NAME");
+            this.COL_NAME.Name = "COL_NAME";
+            this.COL_NAME.ReadOnly = true;
+            // 
+            // COL_TYPE
+            // 
+            this.COL_TYPE.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+            this.COL_TYPE.DataPropertyName = "Type";
+            resources.ApplyResources(this.COL_TYPE, "COL_TYPE");
+            this.COL_TYPE.Name = "COL_TYPE";
+            this.COL_TYPE.ReadOnly = true;
+            // 
+            // lblNonDockableNote
+            // 
+            resources.ApplyResources(this.lblNonDockableNote, "lblNonDockableNote");
+            this.lblNonDockableNote.Name = "lblNonDockableNote";
+            // 
             // WidgetManagementDialog
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             resources.ApplyResources(this, "$this");
             this.ControlBox = false;
+            this.Controls.Add(this.lblNonDockableNote);
             this.Controls.Add(this.btnClose);
             this.Controls.Add(this.groupBox2);
             this.Controls.Add(this.groupBox1);
@@ -132,6 +148,7 @@
             this.toolStrip1.ResumeLayout(false);
             this.toolStrip1.PerformLayout();
             this.ResumeLayout(false);
+            this.PerformLayout();
 
         }
 
@@ -144,8 +161,10 @@
         private System.Windows.Forms.ToolStripButton btnAdd;
         private System.Windows.Forms.ToolStripButton btnDelete;
         private System.Windows.Forms.DataGridView grdWidgets;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn COL_DOCKABLE;
         private System.Windows.Forms.DataGridViewTextBoxColumn COL_NAME;
         private System.Windows.Forms.DataGridViewTextBoxColumn COL_TYPE;
+        private System.Windows.Forms.Label lblNonDockableNote;
 
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -42,6 +42,8 @@
 
             public string Label { get; set; }
 
+            public bool IsDockable { get; set; }
+
             public IWidget Widget { get; set; }
         }
 
@@ -86,9 +88,12 @@
             {
                 Name = widget.Name,
                 Type = widget.Type,
-                Widget = widget
+                Widget = widget,
+                IsDockable = true
             };
 
+            item.IsDockable = _context.IsWidgetDockable(widget.Type);
+
             widget.PropertyChanged += (s, e) =>
             {
                 if (e.PropertyName == "Name") //NOXLATE

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.resx	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetManagementDialog.resx	2013-03-25 12:19:43 UTC (rev 7413)
@@ -112,22 +112,32 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Bottom, Left, Right</value>
   </data>
-  <metadata name="COL_NAME.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="COL_DOCKABLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <data name="COL_DOCKABLE.HeaderText" xml:space="preserve">
+    <value>Dockable</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="COL_DOCKABLE.Width" type="System.Int32, mscorlib">
+    <value>80</value>
+  </data>
+  <metadata name="COL_NAME.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <data name="COL_NAME.HeaderText" xml:space="preserve">
     <value>Name</value>
   </data>
-  <metadata name="COL_TYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="COL_TYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
   <data name="COL_TYPE.HeaderText" xml:space="preserve">
@@ -136,14 +146,13 @@
   <data name="grdWidgets.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Fill</value>
   </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="grdWidgets.Location" type="System.Drawing.Point, System.Drawing">
     <value>3, 41</value>
   </data>
   <data name="grdWidgets.Size" type="System.Drawing.Size, System.Drawing">
     <value>300, 371</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="grdWidgets.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
   </data>
@@ -151,7 +160,7 @@
     <value>grdWidgets</value>
   </data>
   <data name=">>grdWidgets.Type" xml:space="preserve">
-    <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>grdWidgets.Parent" xml:space="preserve">
     <value>groupBox1</value>
@@ -159,7 +168,7 @@
   <data name=">>grdWidgets.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>3, 16</value>
   </metadata>
   <data name="btnAdd.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
@@ -199,7 +208,7 @@
     <value>toolStrip1</value>
   </data>
   <data name=">>toolStrip1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>toolStrip1.Parent" xml:space="preserve">
     <value>groupBox1</value>
@@ -223,13 +232,13 @@
     <value>groupBox1</value>
   </data>
   <data name=">>groupBox1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>groupBox1.Parent" xml:space="preserve">
     <value>$this</value>
   </data>
   <data name=">>groupBox1.ZOrder" xml:space="preserve">
-    <value>2</value>
+    <value>3</value>
   </data>
   <data name="groupBox2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Bottom, Right</value>
@@ -250,13 +259,13 @@
     <value>groupBox2</value>
   </data>
   <data name=">>groupBox2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>groupBox2.Parent" xml:space="preserve">
     <value>$this</value>
   </data>
   <data name=">>groupBox2.ZOrder" xml:space="preserve">
-    <value>1</value>
+    <value>2</value>
   </data>
   <data name="btnClose.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Bottom, Right</value>
@@ -277,15 +286,42 @@
     <value>btnClose</value>
   </data>
   <data name=">>btnClose.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>btnClose.Parent" xml:space="preserve">
     <value>$this</value>
   </data>
   <data name=">>btnClose.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="lblNonDockableNote.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="lblNonDockableNote.Location" type="System.Drawing.Point, System.Drawing">
+    <value>13, 439</value>
+  </data>
+  <data name="lblNonDockableNote.Size" type="System.Drawing.Size, System.Drawing">
+    <value>333, 13</value>
+  </data>
+  <data name="lblNonDockableNote.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="lblNonDockableNote.Text" xml:space="preserve">
+    <value>NOTE: Non-dockable widgets cannot be added to a toolbar or menu.</value>
+  </data>
+  <data name=">>lblNonDockableNote.Name" xml:space="preserve">
+    <value>lblNonDockableNote</value>
+  </data>
+  <data name=">>lblNonDockableNote.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>lblNonDockableNote.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name=">>lblNonDockableNote.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
   <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
@@ -297,34 +333,40 @@
   <data name="$this.Text" xml:space="preserve">
     <value>Widget Management</value>
   </data>
+  <data name=">>btnAdd.Name" xml:space="preserve">
+    <value>btnAdd</value>
+  </data>
+  <data name=">>btnAdd.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>btnDelete.Name" xml:space="preserve">
+    <value>btnDelete</value>
+  </data>
+  <data name=">>btnDelete.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>COL_DOCKABLE.Name" xml:space="preserve">
+    <value>COL_DOCKABLE</value>
+  </data>
+  <data name=">>COL_DOCKABLE.Type" xml:space="preserve">
+    <value>System.Windows.Forms.DataGridViewCheckBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
   <data name=">>COL_NAME.Name" xml:space="preserve">
     <value>COL_NAME</value>
   </data>
   <data name=">>COL_NAME.Type" xml:space="preserve">
-    <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>COL_TYPE.Name" xml:space="preserve">
     <value>COL_TYPE</value>
   </data>
   <data name=">>COL_TYPE.Type" xml:space="preserve">
-    <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>btnAdd.Name" xml:space="preserve">
-    <value>btnAdd</value>
-  </data>
-  <data name=">>btnAdd.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>btnDelete.Name" xml:space="preserve">
-    <value>btnDelete</value>
-  </data>
-  <data name=">>btnDelete.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>WidgetManagementDialog</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetReferenceCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetReferenceCtrl.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetReferenceCtrl.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -25,6 +25,7 @@
 using System.Text;
 using System.Windows.Forms;
 using OSGeo.MapGuide.ObjectModels.ApplicationDefinition;
+using OSGeo.MapGuide.MaestroAPI.Services;
 
 namespace Maestro.Editors.Fusion
 {
@@ -38,6 +39,8 @@
 
         private IWidgetItem _widgetRef;
         private IApplicationDefinition _flexLayout;
+        private IFusionService _fsvc;
+        private FlexibleLayoutEditorContext _context;
         private bool _init = true;
 
         public WidgetReferenceCtrl(IWidgetItem item, IEditorService edsvc)
@@ -45,7 +48,9 @@
         {
             _widgetRef = item;
             _flexLayout = (IApplicationDefinition)edsvc.GetEditedResource();
-            cmbWidgetRefs.DataSource = _flexLayout.GetAllReferenceableWidgetNames();
+            _fsvc = (IFusionService)edsvc.GetService((int)ServiceType.Fusion);
+            _context = new FlexibleLayoutEditorContext(_fsvc);
+            cmbWidgetRefs.DataSource = _context.GetDockableWidgetNames(_flexLayout);
 
             cmbWidgetRefs.SelectedItem = item.Widget;
             _init = false;

Modified: trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetSettingsCtrl.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/Maestro.Editors/Fusion/WidgetSettingsCtrl.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -128,7 +128,7 @@
             var cnt = this.SelectedContainer;
             if (cnt != null)
             {
-                string[] widgets = _flexLayout.GetAllReferenceableWidgetNames();
+                string[] widgets = _context.GetDockableWidgetNames(_flexLayout);
                 string widget = GenericItemSelectionDialog.SelectItem(
                     Strings.AddWidgetReference,
                     Strings.SelectWidget,
@@ -146,7 +146,7 @@
                 var menu = this.SelectedNode.Tag as IMenu;
                 if (menu != null)
                 {
-                    string[] widgets = _flexLayout.GetAllReferenceableWidgetNames();
+                    string[] widgets = _context.GetDockableWidgetNames(_flexLayout);
                     string widget = GenericItemSelectionDialog.SelectItem(
                         Strings.AddWidgetReference,
                         Strings.SelectWidget,

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinition.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinition.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinition.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -55,21 +55,6 @@
 
         private static readonly Version RES_VERSION = new Version(1, 0, 0);
 
-        public string[] GetAllReferenceableWidgetNames()
-        {
-            List<string> names = new List<string>();
-
-            foreach (var ws in this.WidgetSets)
-            {
-                foreach (var wgt in ws.Widgets)
-                {
-                    names.Add(wgt.Name);
-                }
-            }
-
-            return names.ToArray();
-        }
-
         public IMapWidget CreateMapWidget(string mapId, string contextMenuId)
         {
             var map = new MapWidgetType()

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs	2013-03-25 07:53:59 UTC (rev 7412)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ApplicationDefinitionInterfaces.cs	2013-03-25 12:19:43 UTC (rev 7413)
@@ -527,12 +527,6 @@
         IUIItemContainer CreateContainer(string name, IApplicationDefinitionContainerInfo containerInfo);
 
         /// <summary>
-        /// Gets an array of the names of widgets that can be referenced from a toolbar or menu
-        /// </summary>
-        /// <returns></returns>
-        string[] GetAllReferenceableWidgetNames();
-
-        /// <summary>
         /// Creates a map widget
         /// </summary>
         /// <param name="mapId"></param>



More information about the mapguide-commits mailing list