[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