[mapguide-commits] r8148 - in trunk/Tools/Maestro: Maestro.Editors Maestro.Editors/LayerDefinition/Vector/Scales Maestro.Editors/Properties Maestro.Editors/Resources OSGeo.MapGuide.MaestroAPI/ObjectModels

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri May 23 03:40:58 PDT 2014


Author: jng
Date: 2014-05-23 03:40:58 -0700 (Fri, 23 May 2014)
New Revision: 8148

Added:
   trunk/Tools/Maestro/Maestro.Editors/Resources/information.png
   trunk/Tools/Maestro/Maestro.Editors/Resources/layer-select.png
   trunk/Tools/Maestro/Maestro.Editors/Resources/layer-shape.png
   trunk/Tools/Maestro/Maestro.Editors/Resources/layer-small.png
Removed:
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.resx
Modified:
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.resx
   trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj
   trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx
   trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Strings.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs
Log:
#2450: Improve the Composite Symbolization dialog
 * Move the inline Symbol Definition editor out to a separate dialog window
 * Show the Symbol Name in addition to the Symbol Component type
 * Add pre-defined inline symbol components that can be added to the symbol components list
    * Solid Fill
    * Solid Line
    * Point
    * Point Text Label
    * Line Text Label
    * Polygon Text Label
 * Move the parameter override property grid to between the component list and the preview image
 * Update the parameter override property grid to
    * Show the display name of any symbol parameter override
    * Add a toolbar button that can show the full parameter definition for a selected parameter override

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -32,8 +32,11 @@
         public EditorTemplateForm()
         {
             InitializeComponent();
+            this.ManualSizeManagement = false;
         }
 
+        public bool ManualSizeManagement { get; set; }
+
         public void RefreshSize()
         {
             if (ItemPanel.Controls.Count > 0 && ItemPanel.Controls[0] as UserControl != null)
@@ -46,7 +49,8 @@
 
         private void EditorTemplateForm_Load(object sender, EventArgs e)
         {
-            RefreshSize();
+            if (!this.ManualSizeManagement)
+                RefreshSize();
         }
 
         private void OKBtn_Click(object sender, EventArgs e)
@@ -54,5 +58,11 @@
             this.DialogResult = DialogResult.OK;
             this.Close();
         }
+
+        private void CancelBtn_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+            this.Close();
+        }
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -49,6 +49,7 @@
             this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
             this.CancelBtn.Name = "CancelBtn";
             this.CancelBtn.UseVisualStyleBackColor = true;
+            this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
             // 
             // OKBtn
             // 
@@ -64,9 +65,9 @@
             // 
             // EditorTemplateForm
             // 
-            resources.ApplyResources(this, "$this");
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             this.CancelButton = this.CancelBtn;
+            resources.ApplyResources(this, "$this");
             this.Controls.Add(this.ItemPanel);
             this.Controls.Add(this.ButtonPanel);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx	2014-05-23 10:40:58 UTC (rev 8148)
@@ -112,23 +112,23 @@
     <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="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top</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="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
     <value>160, 8</value>
   </data>
   <data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
     <value>64, 24</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="CancelBtn.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
   </data>
@@ -139,7 +139,7 @@
     <value>CancelBtn</value>
   </data>
   <data name=">>CancelBtn.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=">>CancelBtn.Parent" xml:space="preserve">
     <value>ButtonPanel</value>
@@ -166,7 +166,7 @@
     <value>OKBtn</value>
   </data>
   <data name=">>OKBtn.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=">>OKBtn.Parent" xml:space="preserve">
     <value>ButtonPanel</value>
@@ -190,7 +190,7 @@
     <value>ButtonPanel</value>
   </data>
   <data name=">>ButtonPanel.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>ButtonPanel.Parent" xml:space="preserve">
     <value>$this</value>
@@ -214,7 +214,7 @@
     <value>ItemPanel</value>
   </data>
   <data name=">>ItemPanel.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>ItemPanel.Parent" xml:space="preserve">
     <value>$this</value>
@@ -222,12 +222,9 @@
   <data name=">>ItemPanel.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.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
-    <value>6, 13</value>
-  </data>
   <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
     <value>297, 273</value>
   </data>
@@ -241,6 +238,6 @@
     <value>EditorTemplateForm</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

Deleted: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.Designer.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.Designer.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -1,141 +0,0 @@
-namespace Maestro.Editors.LayerDefinition.Vector.Scales
-{
-    partial class SymbolInstanceSettingsCtrl
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SymbolInstanceSettingsCtrl));
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.grdOverrides = new System.Windows.Forms.DataGridView();
-            this.toolStrip1 = new System.Windows.Forms.ToolStrip();
-            this.btnAdd = new System.Windows.Forms.ToolStripDropDownButton();
-            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
-            this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.btnEdit = new System.Windows.Forms.ToolStripButton();
-            this.btnDelete = new System.Windows.Forms.ToolStripButton();
-            this.grpSettings = new System.Windows.Forms.GroupBox();
-            this.groupBox1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.grdOverrides)).BeginInit();
-            this.toolStrip1.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // groupBox1
-            // 
-            resources.ApplyResources(this.groupBox1, "groupBox1");
-            this.groupBox1.Controls.Add(this.grdOverrides);
-            this.groupBox1.Controls.Add(this.toolStrip1);
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.TabStop = false;
-            // 
-            // grdOverrides
-            // 
-            this.grdOverrides.AllowUserToAddRows = false;
-            this.grdOverrides.AllowUserToDeleteRows = false;
-            this.grdOverrides.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            resources.ApplyResources(this.grdOverrides, "grdOverrides");
-            this.grdOverrides.Name = "grdOverrides";
-            this.grdOverrides.SelectionChanged += new System.EventHandler(this.grdOverrides_SelectionChanged);
-            // 
-            // toolStrip1
-            // 
-            this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
-            this.btnAdd,
-            this.btnEdit,
-            this.btnDelete});
-            resources.ApplyResources(this.toolStrip1, "toolStrip1");
-            this.toolStrip1.Name = "toolStrip1";
-            // 
-            // btnAdd
-            // 
-            this.btnAdd.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
-            this.toolStripSeparator1,
-            this.refreshToolStripMenuItem});
-            this.btnAdd.Image = global::Maestro.Editors.Properties.Resources.plus_circle;
-            resources.ApplyResources(this.btnAdd, "btnAdd");
-            this.btnAdd.Name = "btnAdd";
-            // 
-            // toolStripSeparator1
-            // 
-            this.toolStripSeparator1.Name = "toolStripSeparator1";
-            resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
-            // 
-            // refreshToolStripMenuItem
-            // 
-            this.refreshToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.arrow_circle_135;
-            this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem";
-            resources.ApplyResources(this.refreshToolStripMenuItem, "refreshToolStripMenuItem");
-            this.refreshToolStripMenuItem.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click);
-            // 
-            // btnEdit
-            // 
-            resources.ApplyResources(this.btnEdit, "btnEdit");
-            this.btnEdit.Image = global::Maestro.Editors.Properties.Resources.document__pencil;
-            this.btnEdit.Name = "btnEdit";
-            this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
-            // 
-            // btnDelete
-            // 
-            resources.ApplyResources(this.btnDelete, "btnDelete");
-            this.btnDelete.Image = global::Maestro.Editors.Properties.Resources.cross_script;
-            this.btnDelete.Name = "btnDelete";
-            this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
-            // 
-            // grpSettings
-            // 
-            resources.ApplyResources(this.grpSettings, "grpSettings");
-            this.grpSettings.Name = "grpSettings";
-            this.grpSettings.TabStop = false;
-            // 
-            // SymbolInstanceSettingsCtrl
-            // 
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
-            this.Controls.Add(this.grpSettings);
-            this.Controls.Add(this.groupBox1);
-            this.Name = "SymbolInstanceSettingsCtrl";
-            resources.ApplyResources(this, "$this");
-            this.groupBox1.ResumeLayout(false);
-            this.groupBox1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.grdOverrides)).EndInit();
-            this.toolStrip1.ResumeLayout(false);
-            this.toolStrip1.PerformLayout();
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.GroupBox groupBox1;
-        private System.Windows.Forms.DataGridView grdOverrides;
-        private System.Windows.Forms.ToolStrip toolStrip1;
-        private System.Windows.Forms.GroupBox grpSettings;
-        private System.Windows.Forms.ToolStripButton btnEdit;
-        private System.Windows.Forms.ToolStripButton btnDelete;
-        private System.Windows.Forms.ToolStripDropDownButton btnAdd;
-        private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem;
-        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
-    }
-}

Deleted: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -1,201 +0,0 @@
-#region Disclaimer / License
-// Copyright (C) 2011, Jackie Ng
-// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
-// 
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-// 
-#endregion
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using OSGeo.MapGuide.ObjectModels.SymbolDefinition;
-using OSGeo.MapGuide.MaestroAPI;
-
-namespace Maestro.Editors.LayerDefinition.Vector.Scales
-{
-    using SymbolInstanceEditors;
-    using OSGeo.MapGuide.MaestroAPI.Services;
-    using OSGeo.MapGuide.ObjectModels.LayerDefinition;
-    using OSGeo.MapGuide.MaestroAPI.Schema;
-    using Maestro.Editors.SymbolDefinition;
-
-    [ToolboxItem(false)]
-    internal partial class SymbolInstanceSettingsCtrl : UserControl
-    {
-        public SymbolInstanceSettingsCtrl()
-        {
-            InitializeComponent();
-            grdOverrides.DataSource = _params;
-        }
-
-        private BindingList<IParameterOverride> _params = new BindingList<IParameterOverride>();
-        private ISymbolInstance _symRef;
-        private IEditorService _edSvc;
-
-        private ClassDefinition _cls;
-        private string _provider;
-        private string _featureSourceId;
-
-        public void SetContent(ISymbolInstance symRef, IEditorService edSvc, ClassDefinition cls, string provider, string featureSourceId)
-        {
-            _symRef = symRef;
-            _edSvc = edSvc;
-
-            _cls = cls;
-            _provider = provider;
-            _featureSourceId = featureSourceId;
-
-            _params.Clear();
-            //Add existing overrides
-            foreach (var p in symRef.ParameterOverrides.Override)
-            {
-                _params.Add(p);
-            }
-            //Now add available parameters
-            PopulateAvailableParameters();
-            grpSettings.Controls.Clear();
-            Control c = CreateEditor(symRef, edSvc.ResourceService);
-            c.Dock = DockStyle.Fill;
-            grpSettings.Controls.Add(c);
-        }
-
-        private void PopulateAvailableParameters()
-        {
-            btnAdd.DropDown.Items.Clear();
-            if (_symRef.Reference.Type == SymbolInstanceType.Reference)
-            {
-                var sym = (ISymbolDefinitionBase)_edSvc.ResourceService.GetResource(((ISymbolInstanceReferenceLibrary)_symRef.Reference).ResourceId);
-                PopulateParameterList(sym);
-            }
-            else if (_symRef.Reference.Type == SymbolInstanceType.Inline)
-            {
-                var inline = (ISymbolInstanceReferenceInline)_symRef.Reference;
-                PopulateParameterList(inline.SymbolDefinition);
-            }
-            else
-            {
-                throw new Exception();
-            }
-        }
-
-        private void PopulateParameterList(ISymbolDefinitionBase sym)
-        {
-            foreach (var p in sym.GetParameters())
-            {
-                var param = p;
-                var btn = new ToolStripButton(p.Name, null, (s, e) =>
-                {
-                    AddParameterOverride(sym, param);
-                });
-                btnAdd.DropDown.Items.Insert(0, btn);
-            }
-            btnAdd.DropDown.Items.Add(toolStripSeparator1);
-            btnAdd.DropDown.Items.Add(refreshToolStripMenuItem);
-        }
-
-        private void AddParameterOverride(ISymbolDefinitionBase sym, IParameter param)
-        {
-            foreach (var p in _params)
-            {
-                if (p.ParameterIdentifier == param.Name)
-                {
-                    MessageBox.Show(Strings.ParameterOverrideExists);
-                    return;
-                }
-            }
-
-            var ov = _symRef.ParameterOverrides.CreateParameterOverride(sym.Name, param.Name);
-            ov.SymbolName = sym.Name;
-
-            _params.Add(ov);
-            _symRef.ParameterOverrides.AddOverride(ov);
-            this.RaiseDirty();
-        }
-
-        private void RaiseDirty()
-        {
-            var handler = this.Dirty;
-            if (handler != null)
-                handler(this, EventArgs.Empty);
-        }
-
-        public event EventHandler Dirty;
-
-        private Control CreateEditor(ISymbolInstance symRef, IResourceService resSvc)
-        {
-            Check.NotNull(symRef, "symRef"); //NOXLATE
-            if (symRef.Reference.Type == SymbolInstanceType.Reference)
-            {
-                return new ReferenceCtrl((ISymbolInstanceReferenceLibrary)symRef.Reference, resSvc);
-            }
-            else
-            {
-                var inline = (ISymbolInstanceReferenceInline)symRef.Reference;
-                var symEditor = new SymbolEditorService(_edSvc, inline.SymbolDefinition);
-                if (inline.SymbolDefinition.Type == SymbolDefinitionType.Simple)
-                {
-                    var sed = new SimpleSymbolDefinitionEditorCtrl();
-                    sed.Bind(symEditor);
-                    return sed;
-                }
-                else
-                {
-                    var sed = new CompoundSymbolDefinitionEditorCtrl();
-                    sed.Bind(symEditor);
-                    return sed;
-                }
-            }
-        }
-
-        private void btnEdit_Click(object sender, EventArgs e)
-        {
-            if (grdOverrides.SelectedRows.Count == 1)
-            {
-                var ov = (IParameterOverride)grdOverrides.SelectedRows[0].DataBoundItem;
-                string expr = _edSvc.EditExpression(ov.ParameterValue, _cls, _provider, _featureSourceId, true);
-                if (expr != null)
-                {
-                    ov.ParameterValue = expr;
-                    this.RaiseDirty();
-                }
-            }
-        }
-
-        private void btnDelete_Click(object sender, EventArgs e)
-        {
-            if (grdOverrides.SelectedRows.Count == 1)
-            {
-                var ov = (IParameterOverride)grdOverrides.SelectedRows[0].DataBoundItem;
-                _params.Remove(ov);
-                _symRef.ParameterOverrides.RemoveOverride(ov);
-                this.RaiseDirty();
-            }
-        }
-
-        private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            PopulateAvailableParameters();
-        }
-
-        private void grdOverrides_SelectionChanged(object sender, EventArgs e)
-        {
-            btnEdit.Enabled = btnDelete.Enabled = (grdOverrides.SelectedRows.Count == 1);
-        }
-    }
-}

Deleted: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.resx	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstanceSettingsCtrl.resx	2014-05-23 10:40:58 UTC (rev 8148)
@@ -1,312 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="grdOverrides.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" />
-  <data name="grdOverrides.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 41</value>
-  </data>
-  <data name="grdOverrides.Size" type="System.Drawing.Size, System.Drawing">
-    <value>557, 112</value>
-  </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="grdOverrides.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name=">>grdOverrides.Name" xml:space="preserve">
-    <value>grdOverrides</value>
-  </data>
-  <data name=">>grdOverrides.Type" xml:space="preserve">
-    <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>grdOverrides.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name=">>grdOverrides.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">
-    <value>3, 16</value>
-  </metadata>
-  <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>110, 6</value>
-  </data>
-  <data name="refreshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
-    <value>113, 22</value>
-  </data>
-  <data name="refreshToolStripMenuItem.Text" xml:space="preserve">
-    <value>Refresh</value>
-  </data>
-  <data name="btnAdd.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnAdd.Size" type="System.Drawing.Size, System.Drawing">
-    <value>58, 22</value>
-  </data>
-  <data name="btnAdd.Text" xml:space="preserve">
-    <value>Add</value>
-  </data>
-  <data name="btnEdit.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnEdit.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>79, 22</value>
-  </data>
-  <data name="btnEdit.Text" xml:space="preserve">
-    <value>Edit Value</value>
-  </data>
-  <data name="btnDelete.Enabled" type="System.Boolean, mscorlib">
-    <value>False</value>
-  </data>
-  <data name="btnDelete.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
-    <value>Magenta</value>
-  </data>
-  <data name="btnDelete.Size" type="System.Drawing.Size, System.Drawing">
-    <value>60, 22</value>
-  </data>
-  <data name="btnDelete.Text" xml:space="preserve">
-    <value>Delete</value>
-  </data>
-  <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>3, 16</value>
-  </data>
-  <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>557, 25</value>
-  </data>
-  <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="toolStrip1.Text" xml:space="preserve">
-    <value>toolStrip1</value>
-  </data>
-  <data name=">>toolStrip1.Name" xml:space="preserve">
-    <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>
-  </data>
-  <data name=">>toolStrip1.Parent" xml:space="preserve">
-    <value>groupBox1</value>
-  </data>
-  <data name=">>toolStrip1.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 4</value>
-  </data>
-  <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>563, 156</value>
-  </data>
-  <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="groupBox1.Text" xml:space="preserve">
-    <value>Parameter Overrides</value>
-  </data>
-  <data name=">>groupBox1.Name" xml:space="preserve">
-    <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>
-  </data>
-  <data name=">>groupBox1.Parent" xml:space="preserve">
-    <value>$this</value>
-  </data>
-  <data name=">>groupBox1.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="grpSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Bottom, Left, Right</value>
-  </data>
-  <data name="grpSettings.Location" type="System.Drawing.Point, System.Drawing">
-    <value>4, 167</value>
-  </data>
-  <data name="grpSettings.Size" type="System.Drawing.Size, System.Drawing">
-    <value>563, 251</value>
-  </data>
-  <data name="grpSettings.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="grpSettings.Text" xml:space="preserve">
-    <value>Settings</value>
-  </data>
-  <data name=">>grpSettings.Name" xml:space="preserve">
-    <value>grpSettings</value>
-  </data>
-  <data name=">>grpSettings.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=">>grpSettings.Parent" xml:space="preserve">
-    <value>$this</value>
-  </data>
-  <data name=">>grpSettings.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>
-  <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
-    <value>570, 421</value>
-  </data>
-  <data name=">>btnAdd.Name" xml:space="preserve">
-    <value>btnAdd</value>
-  </data>
-  <data name=">>btnAdd.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>toolStripSeparator1.Name" xml:space="preserve">
-    <value>toolStripSeparator1</value>
-  </data>
-  <data name=">>toolStripSeparator1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>refreshToolStripMenuItem.Name" xml:space="preserve">
-    <value>refreshToolStripMenuItem</value>
-  </data>
-  <data name=">>refreshToolStripMenuItem.Type" xml:space="preserve">
-    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>btnEdit.Name" xml:space="preserve">
-    <value>btnEdit</value>
-  </data>
-  <data name=">>btnEdit.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>SymbolInstanceSettingsCtrl</value>
-  </data>
-  <data name=">>$this.Type" xml:space="preserve">
-    <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-</root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.Designer.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.Designer.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -31,27 +31,46 @@
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SymbolInstancesDialog));
             this.btnClose = new System.Windows.Forms.Button();
-            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.grpComponents = new System.Windows.Forms.GroupBox();
             this.lstInstances = new System.Windows.Forms.ListView();
             this.imgPreviews = new System.Windows.Forms.ImageList(this.components);
             this.toolStrip1 = new System.Windows.Forms.ToolStrip();
             this.btnAdd = new System.Windows.Forms.ToolStripDropDownButton();
             this.referenceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.inlineCompoundSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.inlineSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.solidFillToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.lineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
             this.inlineSimpleSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.inlineCompoundSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.textLabelPointToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.textLabelLineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.textLabelPolygonToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.pointToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.btnDelete = new System.Windows.Forms.ToolStripButton();
-            this.groupBox2 = new System.Windows.Forms.GroupBox();
+            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+            this.btnEditComponent = new System.Windows.Forms.ToolStripButton();
+            this.grpProperties = new System.Windows.Forms.GroupBox();
+            this.grdOverrides = new System.Windows.Forms.DataGridView();
+            this.toolStrip2 = new System.Windows.Forms.ToolStrip();
+            this.btnAddProperty = new System.Windows.Forms.ToolStripDropDownButton();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.btnEditProperty = new System.Windows.Forms.ToolStripButton();
+            this.btnDeleteProperty = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.btnPropertyInfo = new System.Windows.Forms.ToolStripButton();
+            this.grpPreview = new System.Windows.Forms.GroupBox();
+            this.lnkRefresh = new System.Windows.Forms.LinkLabel();
             this.symPreview = new System.Windows.Forms.PictureBox();
-            this.btnRefresh = new System.Windows.Forms.Button();
             this.btnEditInstanceProperties = new System.Windows.Forms.Button();
             this.btnEditAsXml = new System.Windows.Forms.Button();
-            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
-            this.splitContainer1.Panel1.SuspendLayout();
-            this.splitContainer1.SuspendLayout();
-            this.groupBox1.SuspendLayout();
+            this.grpComponents.SuspendLayout();
             this.toolStrip1.SuspendLayout();
-            this.groupBox2.SuspendLayout();
+            this.grpProperties.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdOverrides)).BeginInit();
+            this.toolStrip2.SuspendLayout();
+            this.grpPreview.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.symPreview)).BeginInit();
             this.SuspendLayout();
             // 
@@ -62,25 +81,14 @@
             this.btnClose.UseVisualStyleBackColor = true;
             this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
             // 
-            // splitContainer1
+            // grpComponents
             // 
-            resources.ApplyResources(this.splitContainer1, "splitContainer1");
-            this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
-            this.splitContainer1.Name = "splitContainer1";
+            resources.ApplyResources(this.grpComponents, "grpComponents");
+            this.grpComponents.Controls.Add(this.lstInstances);
+            this.grpComponents.Controls.Add(this.toolStrip1);
+            this.grpComponents.Name = "grpComponents";
+            this.grpComponents.TabStop = false;
             // 
-            // splitContainer1.Panel1
-            // 
-            this.splitContainer1.Panel1.Controls.Add(this.groupBox1);
-            this.splitContainer1.Panel1.Controls.Add(this.groupBox2);
-            // 
-            // groupBox1
-            // 
-            this.groupBox1.Controls.Add(this.lstInstances);
-            this.groupBox1.Controls.Add(this.toolStrip1);
-            resources.ApplyResources(this.groupBox1, "groupBox1");
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.TabStop = false;
-            // 
             // lstInstances
             // 
             resources.ApplyResources(this.lstInstances, "lstInstances");
@@ -103,7 +111,9 @@
             // 
             this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.btnAdd,
-            this.btnDelete});
+            this.btnDelete,
+            this.toolStripSeparator2,
+            this.btnEditComponent});
             resources.ApplyResources(this.toolStrip1, "toolStrip1");
             this.toolStrip1.Name = "toolStrip1";
             // 
@@ -111,8 +121,8 @@
             // 
             this.btnAdd.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.referenceToolStripMenuItem,
-            this.inlineSimpleSymbolToolStripMenuItem,
-            this.inlineCompoundSymbolToolStripMenuItem});
+            this.inlineCompoundSymbolToolStripMenuItem,
+            this.inlineSymbolToolStripMenuItem});
             this.btnAdd.Image = global::Maestro.Editors.Properties.Resources.plus_circle;
             resources.ApplyResources(this.btnAdd, "btnAdd");
             this.btnAdd.Name = "btnAdd";
@@ -124,6 +134,47 @@
             resources.ApplyResources(this.referenceToolStripMenuItem, "referenceToolStripMenuItem");
             this.referenceToolStripMenuItem.Click += new System.EventHandler(this.referenceToolStripMenuItem_Click);
             // 
+            // inlineCompoundSymbolToolStripMenuItem
+            // 
+            this.inlineCompoundSymbolToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.marker;
+            this.inlineCompoundSymbolToolStripMenuItem.Name = "inlineCompoundSymbolToolStripMenuItem";
+            resources.ApplyResources(this.inlineCompoundSymbolToolStripMenuItem, "inlineCompoundSymbolToolStripMenuItem");
+            this.inlineCompoundSymbolToolStripMenuItem.Click += new System.EventHandler(this.inlineCompoundSymbolToolStripMenuItem_Click);
+            // 
+            // inlineSymbolToolStripMenuItem
+            // 
+            this.inlineSymbolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.solidFillToolStripMenuItem,
+            this.lineToolStripMenuItem,
+            this.pointToolStripMenuItem,
+            this.textLabelPointToolStripMenuItem,
+            this.textLabelLineToolStripMenuItem,
+            this.textLabelPolygonToolStripMenuItem,
+            this.toolStripSeparator4,
+            this.inlineSimpleSymbolToolStripMenuItem});
+            this.inlineSymbolToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.marker;
+            this.inlineSymbolToolStripMenuItem.Name = "inlineSymbolToolStripMenuItem";
+            resources.ApplyResources(this.inlineSymbolToolStripMenuItem, "inlineSymbolToolStripMenuItem");
+            // 
+            // solidFillToolStripMenuItem
+            // 
+            this.solidFillToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.layer_shape;
+            this.solidFillToolStripMenuItem.Name = "solidFillToolStripMenuItem";
+            resources.ApplyResources(this.solidFillToolStripMenuItem, "solidFillToolStripMenuItem");
+            this.solidFillToolStripMenuItem.Click += new System.EventHandler(this.solidFillToolStripMenuItem_Click);
+            // 
+            // lineToolStripMenuItem
+            // 
+            this.lineToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.layer_shape_line;
+            this.lineToolStripMenuItem.Name = "lineToolStripMenuItem";
+            resources.ApplyResources(this.lineToolStripMenuItem, "lineToolStripMenuItem");
+            this.lineToolStripMenuItem.Click += new System.EventHandler(this.lineToolStripMenuItem_Click);
+            // 
+            // toolStripSeparator4
+            // 
+            this.toolStripSeparator4.Name = "toolStripSeparator4";
+            resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
+            // 
             // inlineSimpleSymbolToolStripMenuItem
             // 
             this.inlineSimpleSymbolToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.marker;
@@ -131,13 +182,34 @@
             resources.ApplyResources(this.inlineSimpleSymbolToolStripMenuItem, "inlineSimpleSymbolToolStripMenuItem");
             this.inlineSimpleSymbolToolStripMenuItem.Click += new System.EventHandler(this.inlineSimpleSymbolToolStripMenuItem_Click);
             // 
-            // inlineCompoundSymbolToolStripMenuItem
+            // textLabelPointToolStripMenuItem
             // 
-            this.inlineCompoundSymbolToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.marker;
-            this.inlineCompoundSymbolToolStripMenuItem.Name = "inlineCompoundSymbolToolStripMenuItem";
-            resources.ApplyResources(this.inlineCompoundSymbolToolStripMenuItem, "inlineCompoundSymbolToolStripMenuItem");
-            this.inlineCompoundSymbolToolStripMenuItem.Click += new System.EventHandler(this.inlineCompoundSymbolToolStripMenuItem_Click);
+            this.textLabelPointToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.edit;
+            this.textLabelPointToolStripMenuItem.Name = "textLabelPointToolStripMenuItem";
+            resources.ApplyResources(this.textLabelPointToolStripMenuItem, "textLabelPointToolStripMenuItem");
+            this.textLabelPointToolStripMenuItem.Click += new System.EventHandler(this.textLabelPointToolStripMenuItem_Click);
             // 
+            // textLabelLineToolStripMenuItem
+            // 
+            this.textLabelLineToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.edit;
+            this.textLabelLineToolStripMenuItem.Name = "textLabelLineToolStripMenuItem";
+            resources.ApplyResources(this.textLabelLineToolStripMenuItem, "textLabelLineToolStripMenuItem");
+            this.textLabelLineToolStripMenuItem.Click += new System.EventHandler(this.textLabelLineToolStripMenuItem_Click);
+            // 
+            // textLabelPolygonToolStripMenuItem
+            // 
+            this.textLabelPolygonToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.edit;
+            this.textLabelPolygonToolStripMenuItem.Name = "textLabelPolygonToolStripMenuItem";
+            resources.ApplyResources(this.textLabelPolygonToolStripMenuItem, "textLabelPolygonToolStripMenuItem");
+            this.textLabelPolygonToolStripMenuItem.Click += new System.EventHandler(this.textLabelPolygonToolStripMenuItem_Click);
+            // 
+            // pointToolStripMenuItem
+            // 
+            this.pointToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.layer_small;
+            this.pointToolStripMenuItem.Name = "pointToolStripMenuItem";
+            resources.ApplyResources(this.pointToolStripMenuItem, "pointToolStripMenuItem");
+            this.pointToolStripMenuItem.Click += new System.EventHandler(this.pointToolStripMenuItem_Click);
+            // 
             // btnDelete
             // 
             this.btnDelete.Image = global::Maestro.Editors.Properties.Resources.cross_script;
@@ -145,13 +217,107 @@
             this.btnDelete.Name = "btnDelete";
             this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
             // 
-            // groupBox2
+            // toolStripSeparator2
             // 
-            this.groupBox2.Controls.Add(this.symPreview);
-            resources.ApplyResources(this.groupBox2, "groupBox2");
-            this.groupBox2.Name = "groupBox2";
-            this.groupBox2.TabStop = false;
+            this.toolStripSeparator2.Name = "toolStripSeparator2";
+            resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
             // 
+            // btnEditComponent
+            // 
+            resources.ApplyResources(this.btnEditComponent, "btnEditComponent");
+            this.btnEditComponent.Image = global::Maestro.Editors.Properties.Resources.document__pencil;
+            this.btnEditComponent.Name = "btnEditComponent";
+            this.btnEditComponent.Click += new System.EventHandler(this.btnEditComponent_Click);
+            // 
+            // grpProperties
+            // 
+            resources.ApplyResources(this.grpProperties, "grpProperties");
+            this.grpProperties.Controls.Add(this.grdOverrides);
+            this.grpProperties.Controls.Add(this.toolStrip2);
+            this.grpProperties.Name = "grpProperties";
+            this.grpProperties.TabStop = false;
+            // 
+            // grdOverrides
+            // 
+            this.grdOverrides.AllowUserToAddRows = false;
+            this.grdOverrides.AllowUserToDeleteRows = false;
+            this.grdOverrides.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            resources.ApplyResources(this.grdOverrides, "grdOverrides");
+            this.grdOverrides.Name = "grdOverrides";
+            this.grdOverrides.SelectionChanged += new System.EventHandler(this.grdOverrides_SelectionChanged);
+            // 
+            // toolStrip2
+            // 
+            this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.btnAddProperty,
+            this.btnEditProperty,
+            this.btnDeleteProperty,
+            this.toolStripSeparator3,
+            this.btnPropertyInfo});
+            resources.ApplyResources(this.toolStrip2, "toolStrip2");
+            this.toolStrip2.Name = "toolStrip2";
+            // 
+            // btnAddProperty
+            // 
+            this.btnAddProperty.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripSeparator1,
+            this.refreshToolStripMenuItem});
+            this.btnAddProperty.Image = global::Maestro.Editors.Properties.Resources.plus_circle;
+            resources.ApplyResources(this.btnAddProperty, "btnAddProperty");
+            this.btnAddProperty.Name = "btnAddProperty";
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+            // 
+            // refreshToolStripMenuItem
+            // 
+            this.refreshToolStripMenuItem.Image = global::Maestro.Editors.Properties.Resources.arrow_circle_135;
+            this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem";
+            resources.ApplyResources(this.refreshToolStripMenuItem, "refreshToolStripMenuItem");
+            // 
+            // btnEditProperty
+            // 
+            resources.ApplyResources(this.btnEditProperty, "btnEditProperty");
+            this.btnEditProperty.Image = global::Maestro.Editors.Properties.Resources.document__pencil;
+            this.btnEditProperty.Name = "btnEditProperty";
+            this.btnEditProperty.Click += new System.EventHandler(this.btnEdit_Click);
+            // 
+            // btnDeleteProperty
+            // 
+            resources.ApplyResources(this.btnDeleteProperty, "btnDeleteProperty");
+            this.btnDeleteProperty.Image = global::Maestro.Editors.Properties.Resources.cross_script;
+            this.btnDeleteProperty.Name = "btnDeleteProperty";
+            this.btnDeleteProperty.Click += new System.EventHandler(this.btnDeleteProperty_Click);
+            // 
+            // toolStripSeparator3
+            // 
+            this.toolStripSeparator3.Name = "toolStripSeparator3";
+            resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
+            // 
+            // btnPropertyInfo
+            // 
+            resources.ApplyResources(this.btnPropertyInfo, "btnPropertyInfo");
+            this.btnPropertyInfo.Image = global::Maestro.Editors.Properties.Resources.information;
+            this.btnPropertyInfo.Name = "btnPropertyInfo";
+            this.btnPropertyInfo.Click += new System.EventHandler(this.btnPropertyInfo_Click);
+            // 
+            // grpPreview
+            // 
+            resources.ApplyResources(this.grpPreview, "grpPreview");
+            this.grpPreview.Controls.Add(this.lnkRefresh);
+            this.grpPreview.Controls.Add(this.symPreview);
+            this.grpPreview.Name = "grpPreview";
+            this.grpPreview.TabStop = false;
+            // 
+            // lnkRefresh
+            // 
+            resources.ApplyResources(this.lnkRefresh, "lnkRefresh");
+            this.lnkRefresh.Name = "lnkRefresh";
+            this.lnkRefresh.TabStop = true;
+            this.lnkRefresh.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkRefresh_LinkClicked);
+            // 
             // symPreview
             // 
             resources.ApplyResources(this.symPreview, "symPreview");
@@ -159,13 +325,6 @@
             this.symPreview.TabStop = false;
             this.symPreview.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
             // 
-            // btnRefresh
-            // 
-            resources.ApplyResources(this.btnRefresh, "btnRefresh");
-            this.btnRefresh.Name = "btnRefresh";
-            this.btnRefresh.UseVisualStyleBackColor = true;
-            this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
-            // 
             // btnEditInstanceProperties
             // 
             resources.ApplyResources(this.btnEditInstanceProperties, "btnEditInstanceProperties");
@@ -185,20 +344,24 @@
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             resources.ApplyResources(this, "$this");
             this.ControlBox = false;
+            this.Controls.Add(this.grpProperties);
+            this.Controls.Add(this.grpPreview);
             this.Controls.Add(this.btnEditAsXml);
             this.Controls.Add(this.btnEditInstanceProperties);
-            this.Controls.Add(this.btnRefresh);
-            this.Controls.Add(this.splitContainer1);
+            this.Controls.Add(this.grpComponents);
             this.Controls.Add(this.btnClose);
             this.Name = "SymbolInstancesDialog";
-            this.splitContainer1.Panel1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
-            this.splitContainer1.ResumeLayout(false);
-            this.groupBox1.ResumeLayout(false);
-            this.groupBox1.PerformLayout();
+            this.grpComponents.ResumeLayout(false);
+            this.grpComponents.PerformLayout();
             this.toolStrip1.ResumeLayout(false);
             this.toolStrip1.PerformLayout();
-            this.groupBox2.ResumeLayout(false);
+            this.grpProperties.ResumeLayout(false);
+            this.grpProperties.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdOverrides)).EndInit();
+            this.toolStrip2.ResumeLayout(false);
+            this.toolStrip2.PerformLayout();
+            this.grpPreview.ResumeLayout(false);
+            this.grpPreview.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.symPreview)).EndInit();
             this.ResumeLayout(false);
 
@@ -207,20 +370,39 @@
         #endregion
 
         private System.Windows.Forms.Button btnClose;
-        private System.Windows.Forms.SplitContainer splitContainer1;
-        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.GroupBox grpComponents;
         private System.Windows.Forms.ListView lstInstances;
         private System.Windows.Forms.ToolStrip toolStrip1;
         private System.Windows.Forms.ToolStripDropDownButton btnAdd;
         private System.Windows.Forms.ToolStripMenuItem referenceToolStripMenuItem;
-        private System.Windows.Forms.ToolStripMenuItem inlineSimpleSymbolToolStripMenuItem;
         private System.Windows.Forms.ToolStripMenuItem inlineCompoundSymbolToolStripMenuItem;
         private System.Windows.Forms.ToolStripButton btnDelete;
         private System.Windows.Forms.ImageList imgPreviews;
-        private System.Windows.Forms.GroupBox groupBox2;
+        private System.Windows.Forms.GroupBox grpPreview;
         private System.Windows.Forms.PictureBox symPreview;
-        private System.Windows.Forms.Button btnRefresh;
         private System.Windows.Forms.Button btnEditInstanceProperties;
         private System.Windows.Forms.Button btnEditAsXml;
+        private System.Windows.Forms.LinkLabel lnkRefresh;
+        private System.Windows.Forms.GroupBox grpProperties;
+        private System.Windows.Forms.DataGridView grdOverrides;
+        private System.Windows.Forms.ToolStrip toolStrip2;
+        private System.Windows.Forms.ToolStripDropDownButton btnAddProperty;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem;
+        private System.Windows.Forms.ToolStripButton btnEditProperty;
+        private System.Windows.Forms.ToolStripButton btnDeleteProperty;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
+        private System.Windows.Forms.ToolStripButton btnEditComponent;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
+        private System.Windows.Forms.ToolStripButton btnPropertyInfo;
+        private System.Windows.Forms.ToolStripMenuItem inlineSymbolToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem solidFillToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem lineToolStripMenuItem;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
+        private System.Windows.Forms.ToolStripMenuItem inlineSimpleSymbolToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem textLabelPointToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem textLabelLineToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem textLabelPolygonToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem pointToolStripMenuItem;
     }
 }
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -50,10 +50,54 @@
 
         private IMappingService _mappingSvc;
         private ILayerStylePreviewable _preview;
+        private BindingList<ParameterModel> _params = new BindingList<ParameterModel>();
 
+        class ParameterModel : INotifyPropertyChanged
+        {
+            private IParameterOverride _ov;
+            private IParameter _pdef;
+
+            public ParameterModel(IParameterOverride ov, IParameter pdef)
+            {
+                _ov = ov;
+                _pdef = pdef;
+            }
+
+            [Browsable(false)]
+            public IParameterOverride Override { get { return _ov; } }
+
+            [Browsable(false)]
+            public IParameter Definition { get { return _pdef; } }
+
+            public string Name { get { return _pdef.DisplayName; } }
+
+            public string Type { get { return _pdef.DataType; } }
+
+            public string Value
+            {
+                get
+                {
+                    return _ov.ParameterValue;
+                }
+                set
+                {
+                    if (value != _ov.ParameterValue)
+                    {
+                        _ov.ParameterValue = value;
+                        var h = this.PropertyChanged;
+                        if (h != null)
+                            h(this, new PropertyChangedEventArgs("Value"));
+                    }
+                }
+            }
+
+            public event PropertyChangedEventHandler PropertyChanged;
+        }
+
         public SymbolInstancesDialog(IEditorService edSvc, ICompositeSymbolization comp, ClassDefinition cls, string provider, string featureSourceId, ILayerStylePreviewable prev)
         {
             InitializeComponent();
+            grdOverrides.DataSource = _params;
             _edSvc = edSvc;
             _comp = comp;
 
@@ -182,10 +226,12 @@
         {
             var li = new ListViewItem();
             li.Tag = symRef;
+
+            var sym = GetSymbolDefinition(symRef);
             if (li.ImageIndex == 0)
-                li.Text = ((ISymbolInstanceReferenceLibrary)symRef.Reference).ResourceId;
+                li.Text = sym.Name + " (" + ((ISymbolInstanceReferenceLibrary)symRef.Reference).ResourceId + ")";
             else
-                li.Text = Strings.InlineSymbolDefinition;
+                li.Text = sym.Name + " (" + Strings.InlineSymbolDefinition + ")";
 
             lstInstances.Items.Add(li);
             if (add)
@@ -196,7 +242,6 @@
 
         private void referenceToolStripMenuItem_Click(object sender, EventArgs e)
         {
-            splitContainer1.Panel2.Controls.Clear();
             using (var picker = new ResourcePicker(_edSvc.ResourceService, ResourceTypes.SymbolDefinition, ResourcePickerMode.OpenResource))
             {
                 if (picker.ShowDialog() == DialogResult.OK)
@@ -255,19 +300,45 @@
             {
                 var it = lstInstances.SelectedItems[0];
                 ISymbolInstance symRef = (ISymbolInstance)it.Tag;
-                var c = new SymbolInstanceSettingsCtrl();
-                c.SetContent(symRef, _edSvc, _cls, _provider, _featureSourceId);
-                c.Dock = DockStyle.Fill;
-                splitContainer1.Panel2.Controls.Clear();
-                splitContainer1.Panel2.Controls.Add(c);
+                _params.Clear();
+
+                ISymbolDefinitionBase sym = GetSymbolDefinition(symRef);
+
+                //Add existing overrides
+                foreach (var p in symRef.ParameterOverrides.Override)
+                {
+                    IParameter pdef = sym.GetParameter(p.ParameterIdentifier);
+                    var model = new ParameterModel(p, pdef);
+                    _params.Add(model);
+                }
+                //Now add available parameters
+                PopulateAvailableParameters(symRef, sym);
+
                 btnEditInstanceProperties.Enabled = true;
+                btnEditComponent.Enabled = true;
             }
             else
             {
                 btnEditInstanceProperties.Enabled = false;
+                btnEditComponent.Enabled = false;
             }
         }
 
+        private ISymbolDefinitionBase GetSymbolDefinition(ISymbolInstance symRef)
+        {
+            ISymbolDefinitionBase sym = null;
+            if (symRef.Reference.Type == SymbolInstanceType.Reference)
+            {
+                sym = (ISymbolDefinitionBase)_edSvc.ResourceService.GetResource(((ISymbolInstanceReferenceLibrary)symRef.Reference).ResourceId);
+            }
+            else if (symRef.Reference.Type == SymbolInstanceType.Inline)
+            {
+                var inline = (ISymbolInstanceReferenceInline)symRef.Reference;
+                sym = inline.SymbolDefinition;
+            }
+            return sym;
+        }
+
         private void btnRefresh_Click(object sender, EventArgs e)
         {
             RefreshPreviews(true, true);
@@ -322,5 +393,238 @@
                 }
             }
         }
+
+        private void lnkRefresh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            RefreshPreviews(true, true);
+        }
+
+        private void btnEditComponent_Click(object sender, EventArgs e)
+        {
+            var it = lstInstances.SelectedItems[0];
+            ISymbolInstance symRef = (ISymbolInstance)it.Tag;
+            var c = CreateSymbolDefinitionEditor(symRef, _edSvc.ResourceService);
+            c.Dock = DockStyle.Fill;
+            using (var ed = new EditorTemplateForm())
+            {
+                ed.Text = Strings.EditSymbolDefinition;
+                ed.ItemPanel.Controls.Add(c);
+                ed.ManualSizeManagement = true;
+                ed.Width = 800;
+                ed.Height = 600;
+                if (ed.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+                {
+                    _edSvc.HasChanged();
+                }
+            }
+        }
+
+        private void PopulateAvailableParameters(ISymbolInstance symRef, ISymbolDefinitionBase symbol)
+        {
+            btnAddProperty.DropDown.Items.Clear();
+            PopulateParameterList(symRef, symbol);
+        }
+
+        private void PopulateParameterList(ISymbolInstance symRef, ISymbolDefinitionBase sym)
+        {
+            foreach (var p in sym.GetParameters())
+            {
+                var param = p;
+                var btn = new ToolStripButton(p.Name, null, (s, e) =>
+                {
+                    AddParameterOverride(symRef, sym, param);
+                });
+                btn.ToolTipText = p.Description;
+                btnAddProperty.DropDown.Items.Insert(0, btn);
+            }
+            btnAddProperty.DropDown.Items.Add(toolStripSeparator1);
+            btnAddProperty.DropDown.Items.Add(refreshToolStripMenuItem);
+        }
+
+        private void AddParameterOverride(ISymbolInstance symRef, ISymbolDefinitionBase sym, IParameter param)
+        {
+            foreach (var p in _params)
+            {
+                if (p.Override.ParameterIdentifier == param.Name)
+                {
+                    MessageBox.Show(Strings.ParameterOverrideExists);
+                    return;
+                }
+            }
+
+            var ov = symRef.ParameterOverrides.CreateParameterOverride(sym.Name, param.Name);
+            ov.SymbolName = sym.Name;
+            ov.ParameterValue = param.DefaultValue;
+
+            var model = new ParameterModel(ov, param);
+            _params.Add(model);
+            symRef.ParameterOverrides.AddOverride(ov);
+            _edSvc.HasChanged();
+        }
+
+        private void btnEdit_Click(object sender, EventArgs e)
+        {
+            if (grdOverrides.SelectedRows.Count == 1)
+            {
+                var ov = (ParameterModel)grdOverrides.SelectedRows[0].DataBoundItem;
+                string expr = _edSvc.EditExpression(ov.Value, _cls, _provider, _featureSourceId, true);
+                if (expr != null)
+                {
+                    ov.Value = expr;
+                    _edSvc.HasChanged();
+                }
+            }
+        }
+
+        private void btnDeleteProperty_Click(object sender, EventArgs e)
+        {
+            if (grdOverrides.SelectedRows.Count == 1 && lstInstances.SelectedItems.Count == 1)
+            {
+                var it = lstInstances.SelectedItems[0];
+                ISymbolInstance symRef = (ISymbolInstance)it.Tag;
+                var ov = (ParameterModel)grdOverrides.SelectedRows[0].DataBoundItem;
+                _params.Remove(ov);
+                symRef.ParameterOverrides.RemoveOverride(ov.Override);
+                _edSvc.HasChanged();
+            }
+        }
+
+        private void btnPropertyInfo_Click(object sender, EventArgs e)
+        {
+            if (grdOverrides.SelectedRows.Count == 1)
+            {
+                var ov = (ParameterModel)grdOverrides.SelectedRows[0].DataBoundItem;
+                string text = string.Format(Strings.PropertyInfo,
+                    Environment.NewLine,
+                    ov.Definition.Name,
+                    ov.Definition.Identifier,
+                    ov.Definition.Description,
+                    ov.Definition.DataType,
+                    ov.Definition.DefaultValue);
+                MessageBox.Show(text);
+            }
+        }
+
+        private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            if (lstInstances.SelectedItems.Count == 1)
+            {
+                var it = lstInstances.SelectedItems[0];
+                ISymbolInstance symRef = (ISymbolInstance)it.Tag;
+                PopulateAvailableParameters(symRef, GetSymbolDefinition(symRef));
+            }
+        }
+
+        private void grdOverrides_SelectionChanged(object sender, EventArgs e)
+        {
+            btnPropertyInfo.Enabled = btnEditProperty.Enabled = btnDeleteProperty.Enabled = (grdOverrides.SelectedRows.Count == 1);
+        }
+
+        private Control CreateSymbolDefinitionEditor(ISymbolInstance symRef, IResourceService resSvc)
+        {
+            Check.NotNull(symRef, "symRef"); //NOXLATE
+            if (symRef.Reference.Type == SymbolInstanceType.Reference)
+            {
+                return new ReferenceCtrl((ISymbolInstanceReferenceLibrary)symRef.Reference, resSvc);
+            }
+            else
+            {
+                var inline = (ISymbolInstanceReferenceInline)symRef.Reference;
+                var symEditor = new SymbolEditorService(_edSvc, inline.SymbolDefinition);
+                if (inline.SymbolDefinition.Type == SymbolDefinitionType.Simple)
+                {
+                    var sed = new SimpleSymbolDefinitionEditorCtrl();
+                    sed.Bind(symEditor);
+                    return sed;
+                }
+                else
+                {
+                    var sed = new CompoundSymbolDefinitionEditorCtrl();
+                    sed.Bind(symEditor);
+                    return sed;
+                }
+            }
+        }
+
+        private void solidFillToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimpleSolidFill(_edSvc.GetEditedResource().CurrentConnection,
+                                                           vl.SymbolDefinitionVersion);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
+
+        private void lineToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimpleSolidLine(_edSvc.GetEditedResource().CurrentConnection,
+                                                           vl.SymbolDefinitionVersion);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
+
+        private void textLabelPointToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimpleLabel(_edSvc.GetEditedResource().CurrentConnection,
+                                                       vl.SymbolDefinitionVersion, 
+                                                       GeometryContextType.Point);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
+
+        private void textLabelLineToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimpleLabel(_edSvc.GetEditedResource().CurrentConnection,
+                                                       vl.SymbolDefinitionVersion,
+                                                       GeometryContextType.LineString);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
+
+        private void textLabelPolygonToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimpleLabel(_edSvc.GetEditedResource().CurrentConnection,
+                                                       vl.SymbolDefinitionVersion,
+                                                       GeometryContextType.Polygon);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
+
+        private void pointToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            var res = (ILayerDefinition)_edSvc.GetEditedResource();
+            var vl = (IVectorLayerDefinition)res.SubLayer;
+            if (vl.SymbolDefinitionVersion == null)
+                throw new InvalidOperationException(Strings.ErrorLayerDefnitionDoesNotSupportCompositeSymbolization);
+            var ssym = ObjectFactory.CreateSimplePoint(_edSvc.GetEditedResource().CurrentConnection,
+                                                       vl.SymbolDefinitionVersion);
+
+            var instance = _comp.CreateInlineSimpleSymbol(ssym);
+            AddInstance(instance, true);
+        }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.resx	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Scales/SymbolInstancesDialog.resx	2014-05-23 10:40:58 UTC (rev 8148)
@@ -123,7 +123,7 @@
   </data>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
-    <value>895, 527</value>
+    <value>355, 527</value>
   </data>
   <data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
     <value>75, 23</value>
@@ -145,14 +145,11 @@
     <value>$this</value>
   </data>
   <data name=">>btnClose.ZOrder" xml:space="preserve">
-    <value>4</value>
+    <value>5</value>
   </data>
-  <data name="splitContainer1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Bottom, Left, Right</value>
+  <data name="grpComponents.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
   </data>
-  <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>12, 12</value>
-  </data>
   <data name="lstInstances.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Fill</value>
   </data>
@@ -166,7 +163,7 @@
     <value>3, 41</value>
   </data>
   <data name="lstInstances.Size" type="System.Drawing.Size, System.Drawing">
-    <value>243, 307</value>
+    <value>412, 82</value>
   </data>
   <data name="lstInstances.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
@@ -178,7 +175,7 @@
     <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name=">>lstInstances.Parent" xml:space="preserve">
-    <value>groupBox1</value>
+    <value>grpComponents</value>
   </data>
   <data name=">>lstInstances.ZOrder" xml:space="preserve">
     <value>0</value>
@@ -192,17 +189,62 @@
   <data name="referenceToolStripMenuItem.Text" xml:space="preserve">
     <value>Reference</value>
   </data>
-  <data name="inlineSimpleSymbolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+  <data name="inlineCompoundSymbolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>210, 22</value>
   </data>
+  <data name="inlineCompoundSymbolToolStripMenuItem.Text" xml:space="preserve">
+    <value>Inline Compound Symbol</value>
+  </data>
+  <data name="solidFillToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="solidFillToolStripMenuItem.Text" xml:space="preserve">
+    <value>Solid Fill</value>
+  </data>
+  <data name="lineToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="lineToolStripMenuItem.Text" xml:space="preserve">
+    <value>Line</value>
+  </data>
+  <data name="pointToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="pointToolStripMenuItem.Text" xml:space="preserve">
+    <value>Point</value>
+  </data>
+  <data name="textLabelPointToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="textLabelPointToolStripMenuItem.Text" xml:space="preserve">
+    <value>Text Label (Point)</value>
+  </data>
+  <data name="textLabelLineToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="textLabelLineToolStripMenuItem.Text" xml:space="preserve">
+    <value>Text Label (Line)</value>
+  </data>
+  <data name="textLabelPolygonToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="textLabelPolygonToolStripMenuItem.Text" xml:space="preserve">
+    <value>Text Label (Polygon)</value>
+  </data>
+  <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 6</value>
+  </data>
+  <data name="inlineSimpleSymbolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
   <data name="inlineSimpleSymbolToolStripMenuItem.Text" xml:space="preserve">
-    <value>Inline Simple Symbol</value>
+    <value>Empty Default Symbol</value>
   </data>
-  <data name="inlineCompoundSymbolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+  <data name="inlineSymbolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>210, 22</value>
   </data>
-  <data name="inlineCompoundSymbolToolStripMenuItem.Text" xml:space="preserve">
-    <value>Inline Compound Symbol</value>
+  <data name="inlineSymbolToolStripMenuItem.Text" xml:space="preserve">
+    <value>Inline Simple Symbol</value>
   </data>
   <data name="btnAdd.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
     <value>Magenta</value>
@@ -222,11 +264,26 @@
   <data name="btnDelete.Text" xml:space="preserve">
     <value>Delete</value>
   </data>
+  <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnEditComponent.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnEditComponent.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnEditComponent.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 22</value>
+  </data>
+  <data name="btnEditComponent.Text" xml:space="preserve">
+    <value>Edit Component</value>
+  </data>
   <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
     <value>3, 16</value>
   </data>
   <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>243, 25</value>
+    <value>412, 25</value>
   </data>
   <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
     <value>0</value>
@@ -241,166 +298,307 @@
     <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>
+    <value>grpComponents</value>
   </data>
   <data name=">>toolStrip1.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
-  <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Fill</value>
+  <data name="grpComponents.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 12</value>
   </data>
-  <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 0</value>
+  <data name="grpComponents.Size" type="System.Drawing.Size, System.Drawing">
+    <value>418, 126</value>
   </data>
-  <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>249, 351</value>
-  </data>
-  <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+  <data name="grpComponents.TabIndex" type="System.Int32, mscorlib">
     <value>0</value>
   </data>
-  <data name="groupBox1.Text" xml:space="preserve">
-    <value>Instances</value>
+  <data name="grpComponents.Text" xml:space="preserve">
+    <value>Symbolization Components</value>
   </data>
-  <data name=">>groupBox1.Name" xml:space="preserve">
-    <value>groupBox1</value>
+  <data name=">>grpComponents.Name" xml:space="preserve">
+    <value>grpComponents</value>
   </data>
-  <data name=">>groupBox1.Type" xml:space="preserve">
+  <data name=">>grpComponents.Type" xml:space="preserve">
     <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>splitContainer1.Panel1</value>
+  <data name=">>grpComponents.Parent" xml:space="preserve">
+    <value>$this</value>
   </data>
-  <data name=">>groupBox1.ZOrder" xml:space="preserve">
-    <value>0</value>
+  <data name=">>grpComponents.ZOrder" xml:space="preserve">
+    <value>4</value>
   </data>
-  <data name="symPreview.Location" type="System.Drawing.Point, System.Drawing">
-    <value>76, 29</value>
+  <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>242, 17</value>
+  </metadata>
+  <data name="grpProperties.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Bottom, Left, Right</value>
   </data>
-  <data name="symPreview.Size" type="System.Drawing.Size, System.Drawing">
-    <value>100, 100</value>
+  <data name=">>grdOverrides.Name" xml:space="preserve">
+    <value>grdOverrides</value>
   </data>
-  <data name="symPreview.TabIndex" type="System.Int32, mscorlib">
+  <data name=">>grdOverrides.Type" xml:space="preserve">
+    <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>grdOverrides.Parent" xml:space="preserve">
+    <value>grpProperties</value>
+  </data>
+  <data name=">>grdOverrides.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name=">>symPreview.Name" xml:space="preserve">
-    <value>symPreview</value>
+  <data name=">>toolStrip2.Name" xml:space="preserve">
+    <value>toolStrip2</value>
   </data>
-  <data name=">>symPreview.Type" xml:space="preserve">
-    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>toolStrip2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>symPreview.Parent" xml:space="preserve">
-    <value>groupBox2</value>
+  <data name=">>toolStrip2.Parent" xml:space="preserve">
+    <value>grpProperties</value>
   </data>
-  <data name=">>symPreview.ZOrder" xml:space="preserve">
+  <data name=">>toolStrip2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="grpProperties.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 141</value>
+  </data>
+  <data name="grpProperties.Size" type="System.Drawing.Size, System.Drawing">
+    <value>418, 305</value>
+  </data>
+  <data name="grpProperties.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="grpProperties.Text" xml:space="preserve">
+    <value>Symbolization Component Properties</value>
+  </data>
+  <data name=">>grpProperties.Name" xml:space="preserve">
+    <value>grpProperties</value>
+  </data>
+  <data name=">>grpProperties.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>grpProperties.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name=">>grpProperties.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Bottom</value>
+  <data name="grdOverrides.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
   </data>
-  <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 351</value>
+  <data name="grdOverrides.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 41</value>
   </data>
-  <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>249, 144</value>
+  <data name="grdOverrides.Size" type="System.Drawing.Size, System.Drawing">
+    <value>412, 261</value>
   </data>
-  <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
+  <data name="grdOverrides.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
   </data>
-  <data name="groupBox2.Text" xml:space="preserve">
-    <value>Preview</value>
+  <data name=">>grdOverrides.Name" xml:space="preserve">
+    <value>grdOverrides</value>
   </data>
-  <data name=">>groupBox2.Name" xml:space="preserve">
-    <value>groupBox2</value>
+  <data name=">>grdOverrides.Type" xml:space="preserve">
+    <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>groupBox2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>grdOverrides.Parent" xml:space="preserve">
+    <value>grpProperties</value>
   </data>
-  <data name=">>groupBox2.Parent" xml:space="preserve">
-    <value>splitContainer1.Panel1</value>
+  <data name=">>grdOverrides.ZOrder" xml:space="preserve">
+    <value>0</value>
   </data>
-  <data name=">>groupBox2.ZOrder" xml:space="preserve">
+  <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>242, 17</value>
+  </metadata>
+  <data name="toolStrip2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 16</value>
+  </data>
+  <data name="toolStrip2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>412, 25</value>
+  </data>
+  <data name="toolStrip2.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="toolStrip2.Text" xml:space="preserve">
+    <value>toolStrip2</value>
+  </data>
+  <data name=">>toolStrip2.Name" xml:space="preserve">
+    <value>toolStrip2</value>
+  </data>
+  <data name=">>toolStrip2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>toolStrip2.Parent" xml:space="preserve">
+    <value>grpProperties</value>
+  </data>
+  <data name=">>toolStrip2.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
-  <data name=">>splitContainer1.Panel1.Name" xml:space="preserve">
-    <value>splitContainer1.Panel1</value>
+  <data name="btnAddProperty.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
   </data>
-  <data name=">>splitContainer1.Panel1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name="btnAddProperty.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 22</value>
   </data>
-  <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve">
-    <value>splitContainer1</value>
+  <data name="btnAddProperty.Text" xml:space="preserve">
+    <value>Add</value>
   </data>
-  <data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve">
+  <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>110, 6</value>
+  </data>
+  <data name="refreshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 22</value>
+  </data>
+  <data name="refreshToolStripMenuItem.Text" xml:space="preserve">
+    <value>Refresh</value>
+  </data>
+  <data name="btnEditProperty.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnEditProperty.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnEditProperty.Size" type="System.Drawing.Size, System.Drawing">
+    <value>79, 22</value>
+  </data>
+  <data name="btnEditProperty.Text" xml:space="preserve">
+    <value>Edit Value</value>
+  </data>
+  <data name="btnDeleteProperty.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnDeleteProperty.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnDeleteProperty.Size" type="System.Drawing.Size, System.Drawing">
+    <value>60, 22</value>
+  </data>
+  <data name="btnDeleteProperty.Text" xml:space="preserve">
+    <value>Delete</value>
+  </data>
+  <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>6, 25</value>
+  </data>
+  <data name="btnPropertyInfo.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="btnPropertyInfo.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+    <value>Magenta</value>
+  </data>
+  <data name="btnPropertyInfo.Size" type="System.Drawing.Size, System.Drawing">
+    <value>96, 22</value>
+  </data>
+  <data name="btnPropertyInfo.Text" xml:space="preserve">
+    <value>Property Info</value>
+  </data>
+  <data name="grpPreview.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Left, Right</value>
+  </data>
+  <data name=">>lnkRefresh.Name" xml:space="preserve">
+    <value>lnkRefresh</value>
+  </data>
+  <data name=">>lnkRefresh.Type" xml:space="preserve">
+    <value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>lnkRefresh.Parent" xml:space="preserve">
+    <value>grpPreview</value>
+  </data>
+  <data name=">>lnkRefresh.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name=">>splitContainer1.Panel2.Name" xml:space="preserve">
-    <value>splitContainer1.Panel2</value>
+  <data name=">>symPreview.Name" xml:space="preserve">
+    <value>symPreview</value>
   </data>
-  <data name=">>splitContainer1.Panel2.Type" xml:space="preserve">
-    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>symPreview.Type" xml:space="preserve">
+    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve">
-    <value>splitContainer1</value>
+  <data name=">>symPreview.Parent" xml:space="preserve">
+    <value>grpPreview</value>
   </data>
-  <data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve">
+  <data name=">>symPreview.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
-  <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>958, 495</value>
+  <data name="grpPreview.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 452</value>
   </data>
-  <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
-    <value>249</value>
+  <data name="grpPreview.Size" type="System.Drawing.Size, System.Drawing">
+    <value>418, 69</value>
   </data>
-  <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
+  <data name="grpPreview.TabIndex" type="System.Int32, mscorlib">
     <value>1</value>
   </data>
-  <data name=">>splitContainer1.Name" xml:space="preserve">
-    <value>splitContainer1</value>
+  <data name="grpPreview.Text" xml:space="preserve">
+    <value>Preview</value>
   </data>
-  <data name=">>splitContainer1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>grpPreview.Name" xml:space="preserve">
+    <value>grpPreview</value>
   </data>
-  <data name=">>splitContainer1.Parent" xml:space="preserve">
+  <data name=">>grpPreview.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>grpPreview.Parent" xml:space="preserve">
     <value>$this</value>
   </data>
-  <data name=">>splitContainer1.ZOrder" xml:space="preserve">
-    <value>3</value>
+  <data name=">>grpPreview.ZOrder" xml:space="preserve">
+    <value>1</value>
   </data>
-  <data name="btnRefresh.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Bottom, Left</value>
+  <data name="lnkRefresh.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
   </data>
-  <data name="btnRefresh.Location" type="System.Drawing.Point, System.Drawing">
-    <value>12, 527</value>
+  <data name="lnkRefresh.Location" type="System.Drawing.Point, System.Drawing">
+    <value>60, 0</value>
   </data>
-  <data name="btnRefresh.Size" type="System.Drawing.Size, System.Drawing">
-    <value>102, 23</value>
+  <data name="lnkRefresh.Size" type="System.Drawing.Size, System.Drawing">
+    <value>50, 13</value>
   </data>
-  <data name="btnRefresh.TabIndex" type="System.Int32, mscorlib">
-    <value>2</value>
+  <data name="lnkRefresh.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
   </data>
-  <data name="btnRefresh.Text" xml:space="preserve">
-    <value>Refresh Preview</value>
+  <data name="lnkRefresh.Text" xml:space="preserve">
+    <value>(Refresh)</value>
   </data>
-  <data name=">>btnRefresh.Name" xml:space="preserve">
-    <value>btnRefresh</value>
+  <data name=">>lnkRefresh.Name" xml:space="preserve">
+    <value>lnkRefresh</value>
   </data>
-  <data name=">>btnRefresh.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name=">>lnkRefresh.Type" xml:space="preserve">
+    <value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>btnRefresh.Parent" xml:space="preserve">
-    <value>$this</value>
+  <data name=">>lnkRefresh.Parent" xml:space="preserve">
+    <value>grpPreview</value>
   </data>
-  <data name=">>btnRefresh.ZOrder" xml:space="preserve">
-    <value>2</value>
+  <data name=">>lnkRefresh.ZOrder" xml:space="preserve">
+    <value>0</value>
   </data>
+  <data name="symPreview.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Bottom, Left, Right</value>
+  </data>
+  <data name="symPreview.Location" type="System.Drawing.Point, System.Drawing">
+    <value>19, 19</value>
+  </data>
+  <data name="symPreview.Size" type="System.Drawing.Size, System.Drawing">
+    <value>380, 36</value>
+  </data>
+  <data name="symPreview.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name=">>symPreview.Name" xml:space="preserve">
+    <value>symPreview</value>
+  </data>
+  <data name=">>symPreview.Type" xml:space="preserve">
+    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>symPreview.Parent" xml:space="preserve">
+    <value>grpPreview</value>
+  </data>
+  <data name=">>symPreview.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
   <data name="btnEditInstanceProperties.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="btnEditInstanceProperties.Location" type="System.Drawing.Point, System.Drawing">
-    <value>120, 527</value>
+    <value>12, 527</value>
   </data>
   <data name="btnEditInstanceProperties.Size" type="System.Drawing.Size, System.Drawing">
-    <value>148, 23</value>
+    <value>138, 23</value>
   </data>
   <data name="btnEditInstanceProperties.TabIndex" type="System.Int32, mscorlib">
     <value>3</value>
@@ -418,10 +616,10 @@
     <value>$this</value>
   </data>
   <data name=">>btnEditInstanceProperties.ZOrder" xml:space="preserve">
-    <value>1</value>
+    <value>3</value>
   </data>
   <data name="btnEditAsXml.Location" type="System.Drawing.Point, System.Drawing">
-    <value>274, 527</value>
+    <value>156, 527</value>
   </data>
   <data name="btnEditAsXml.Size" type="System.Drawing.Size, System.Drawing">
     <value>87, 23</value>
@@ -442,13 +640,13 @@
     <value>$this</value>
   </data>
   <data name=">>btnEditAsXml.ZOrder" xml:space="preserve">
-    <value>0</value>
+    <value>2</value>
   </data>
   <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">
-    <value>982, 562</value>
+    <value>442, 562</value>
   </data>
   <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
     <value>CenterParent</value>
@@ -474,24 +672,126 @@
   <data name=">>referenceToolStripMenuItem.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
+  <data name=">>inlineCompoundSymbolToolStripMenuItem.Name" xml:space="preserve">
+    <value>inlineCompoundSymbolToolStripMenuItem</value>
+  </data>
+  <data name=">>inlineCompoundSymbolToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>inlineSymbolToolStripMenuItem.Name" xml:space="preserve">
+    <value>inlineSymbolToolStripMenuItem</value>
+  </data>
+  <data name=">>inlineSymbolToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>solidFillToolStripMenuItem.Name" xml:space="preserve">
+    <value>solidFillToolStripMenuItem</value>
+  </data>
+  <data name=">>solidFillToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>lineToolStripMenuItem.Name" xml:space="preserve">
+    <value>lineToolStripMenuItem</value>
+  </data>
+  <data name=">>lineToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>toolStripSeparator4.Name" xml:space="preserve">
+    <value>toolStripSeparator4</value>
+  </data>
+  <data name=">>toolStripSeparator4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
   <data name=">>inlineSimpleSymbolToolStripMenuItem.Name" xml:space="preserve">
     <value>inlineSimpleSymbolToolStripMenuItem</value>
   </data>
   <data name=">>inlineSimpleSymbolToolStripMenuItem.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name=">>inlineCompoundSymbolToolStripMenuItem.Name" xml:space="preserve">
-    <value>inlineCompoundSymbolToolStripMenuItem</value>
+  <data name=">>textLabelPointToolStripMenuItem.Name" xml:space="preserve">
+    <value>textLabelPointToolStripMenuItem</value>
   </data>
-  <data name=">>inlineCompoundSymbolToolStripMenuItem.Type" xml:space="preserve">
+  <data name=">>textLabelPointToolStripMenuItem.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
+  <data name=">>textLabelLineToolStripMenuItem.Name" xml:space="preserve">
+    <value>textLabelLineToolStripMenuItem</value>
+  </data>
+  <data name=">>textLabelLineToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>textLabelPolygonToolStripMenuItem.Name" xml:space="preserve">
+    <value>textLabelPolygonToolStripMenuItem</value>
+  </data>
+  <data name=">>textLabelPolygonToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>pointToolStripMenuItem.Name" xml:space="preserve">
+    <value>pointToolStripMenuItem</value>
+  </data>
+  <data name=">>pointToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, 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=">>toolStripSeparator2.Name" xml:space="preserve">
+    <value>toolStripSeparator2</value>
+  </data>
+  <data name=">>toolStripSeparator2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>btnEditComponent.Name" xml:space="preserve">
+    <value>btnEditComponent</value>
+  </data>
+  <data name=">>btnEditComponent.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=">>btnAddProperty.Name" xml:space="preserve">
+    <value>btnAddProperty</value>
+  </data>
+  <data name=">>btnAddProperty.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>toolStripSeparator1.Name" xml:space="preserve">
+    <value>toolStripSeparator1</value>
+  </data>
+  <data name=">>toolStripSeparator1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>refreshToolStripMenuItem.Name" xml:space="preserve">
+    <value>refreshToolStripMenuItem</value>
+  </data>
+  <data name=">>refreshToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>btnEditProperty.Name" xml:space="preserve">
+    <value>btnEditProperty</value>
+  </data>
+  <data name=">>btnEditProperty.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=">>btnDeleteProperty.Name" xml:space="preserve">
+    <value>btnDeleteProperty</value>
+  </data>
+  <data name=">>btnDeleteProperty.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=">>toolStripSeparator3.Name" xml:space="preserve">
+    <value>toolStripSeparator3</value>
+  </data>
+  <data name=">>toolStripSeparator3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name=">>btnPropertyInfo.Name" xml:space="preserve">
+    <value>btnPropertyInfo</value>
+  </data>
+  <data name=">>btnPropertyInfo.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=">>$this.Name" xml:space="preserve">
     <value>SymbolInstancesDialog</value>
   </data>

Modified: trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj	2014-05-23 10:40:58 UTC (rev 8148)
@@ -759,12 +759,6 @@
     <Compile Include="LayerDefinition\Vector\Scales\SymbolInstancesDialog.Designer.cs">
       <DependentUpon>SymbolInstancesDialog.cs</DependentUpon>
     </Compile>
-    <Compile Include="LayerDefinition\Vector\Scales\SymbolInstanceSettingsCtrl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="LayerDefinition\Vector\Scales\SymbolInstanceSettingsCtrl.Designer.cs">
-      <DependentUpon>SymbolInstanceSettingsCtrl.cs</DependentUpon>
-    </Compile>
     <Compile Include="LayerDefinition\Vector\Scales\VectorScaleRangeCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -1651,9 +1645,6 @@
     <EmbeddedResource Include="LayerDefinition\Vector\Scales\SymbolInstancesDialog.resx">
       <DependentUpon>SymbolInstancesDialog.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="LayerDefinition\Vector\Scales\SymbolInstanceSettingsCtrl.resx">
-      <DependentUpon>SymbolInstanceSettingsCtrl.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="LayerDefinition\Vector\Scales\VectorScaleRangeCtrl.resx">
       <DependentUpon>VectorScaleRangeCtrl.cs</DependentUpon>
     </EmbeddedResource>
@@ -2403,6 +2394,10 @@
     <Content Include="OdbcDriverMap.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <None Include="Resources\layer-small.png" />
+    <None Include="Resources\layer-select.png" />
+    <None Include="Resources\layer-shape.png" />
+    <None Include="Resources\information.png" />
     <None Include="Resources\layer-shape-polygon.png" />
     <None Include="Resources\layer-shape-line.png" />
     <None Include="Resources\layer-select-point.png" />

Modified: trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.Designer.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -1497,6 +1497,16 @@
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
+        internal static System.Drawing.Bitmap information {
+            get {
+                object obj = ResourceManager.GetObject("information", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
         internal static System.Drawing.Bitmap layer {
             get {
                 object obj = ResourceManager.GetObject("layer", resourceCulture);
@@ -1527,6 +1537,16 @@
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
+        internal static System.Drawing.Bitmap layer_select {
+            get {
+                object obj = ResourceManager.GetObject("layer-select", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
         internal static System.Drawing.Bitmap layer_select_point {
             get {
                 object obj = ResourceManager.GetObject("layer-select-point", resourceCulture);
@@ -1537,6 +1557,16 @@
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
+        internal static System.Drawing.Bitmap layer_shape {
+            get {
+                object obj = ResourceManager.GetObject("layer-shape", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
         internal static System.Drawing.Bitmap layer_shape_curve {
             get {
                 object obj = ResourceManager.GetObject("layer-shape-curve", resourceCulture);
@@ -1567,6 +1597,16 @@
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
+        internal static System.Drawing.Bitmap layer_small {
+            get {
+                object obj = ResourceManager.GetObject("layer-small", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
         internal static System.Drawing.Bitmap layers_stack {
             get {
                 object obj = ResourceManager.GetObject("layers-stack", resourceCulture);

Modified: trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/Properties/Resources.resx	2014-05-23 10:40:58 UTC (rev 8148)
@@ -227,6 +227,9 @@
 </value>
   </data>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="layer-select" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-select.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="document-search-result" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\document-search-result.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -299,6 +302,9 @@
         syYUpEiAFm3BBm3VskULoUFBFHjxXkjBIS9eCilCePDgt/BgDwkHGCjs14ABigIJqkSoMCAAOw==
 </value>
   </data>
+  <data name="layer-select-point" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-select-point.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="database--plus" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -332,6 +338,18 @@
         AElFTkSuQmCC
 </value>
   </data>
+  <data name="icon_viewoptions_disabled" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        R0lGODlhEAAQAIUAAAAAAP////39/vv7/Pr6+/n5+vj4+fb299DR1M/Q0+bn6eXm6OPk5n6Ejs3P0oyT
+        nM7T2bG3vs/R087Q0vf4+fb3+PX29/T19vP09ebn6OXm5+Tl5uPl5vb4+PT29v3+/vz9/fr7+/n6+vj5
+        +ff4+Pb3987Uz8/W0M7Vz4qgitHX0dDW0OLm4uTn5P7+/v39/fz8/Pv7+////wAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAyACwAAAAAEAAQ
+        AAAItgBlCBxIsKCMCAgTKlyIEILDhxAhNojwoKLFixcnBgjgwsWHFzBCwhgQIkQBjR0/hhzAsqSIERNT
+        tkgxsmQIAi9hRnCRYuaKAQgkCJWQYASJiQJUpPgZQ0GGpws0kOgwEeTPmwVGaB1BoUOFiSBGskiR1YDZ
+        rhUsTISRYiyKERPiTnBQwoKHiQNOpHg7YgOHvwzsXpgYg4AJrRQqKE7r4cLgCASycu1wwILlxhcwTGzA
+        ubPnzwEBADs=
+</value>
+  </data>
   <data name="icon_measure" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         R0lGODlhEAAQAIQSAHFCCr2NKldCE9ajLmddJf7nWp3M3BJEd005EQGM5AGK4wGN4QEzZgGK5QE1ZwI0
@@ -1355,6 +1373,9 @@
         nf/BZTUlW5KPq/+6SGXnyi/hmesaRk9CstIBkHoErqR6hFnddsMAAAAASUVORK5CYII=
 </value>
   </data>
+  <data name="layer-shape-line" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-shape-line.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="ui-separator" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -1774,6 +1795,9 @@
         CFRK4WWAq1ivDlTqc+IHmF29wpTqdSrZshMDAgA7
 </value>
   </data>
+  <data name="information" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="icon_popupscrolldown" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/////
@@ -1825,6 +1849,9 @@
         Mjctp5iTbskU5HD2c1SckizorFV4a28QbFkaHoKXZxj7A3dG3AXxRFgrAAAAAElFTkSuQmCC
 </value>
   </data>
+  <data name="layer-shape" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-shape.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="icon_select" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         R0lGODlhEAAQAIZdAOvsxmuAjjRRfpOhtpOitjRQeDVQejtTfDZUdzBMejtXf///1/385///74OTl3WE
@@ -1876,23 +1903,6 @@
         QMGBxpkDAgA7
 </value>
   </data>
-  <data name="application-search-result" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACiklEQVQ4T5XST0jacRQA8K/W
-        IBGGtItedqhDXnZxl042QrDIhoUNWjuarf2DOdgOO0UG1qUNtkOjnHRwtJRkha2kk2azyVhM/INuDTG1
-        8h8mapK8vfdjbq5dti988Ovzvef7/n5fptFofhkaGmpDw0j3DyivjQ0ODjYa8Xg8/kgkAoFAAPb29sDn
-        +wg7Ozvgdntge/sDeDyfwOv1w/q620/5TK1WNxp3Op2wsbEBDocD1tbWwG63g81mg6WlJbBYLLC4uAhm
-        sxkWFhagqalJR2M3GoP/WJTPBgYGGt0+OTmBo6MjyGQyUCwWoVqtwtnZ2V9qtRpQPuvr6+OoVCrW399/
-        JxqNQi6Xg3K5zCmVSpxKpfIHakz5TKlUcnp6etr1ev3U4eHhqcFg2JJKpS8I7dPp9GmhUOAmqqPmvb29
-        95hCoajT+Hy+L0ajcfP6TZ1xNxhf3g3Fl9W3xqYpRkfCRtx0hI6KNQ+YXC6vu4v/Xurq6pp57Qxa3rhj
-        q8TqilgpRs8lFovB8fExJ5/PA9Y8ZJ2dnXX3U6lUCc81aXV/fRuIFzbJ1uf4KsUODg4gFApBIpHg0ERY
-        84jJZLK6Ybwwgbm5uZUJ4/OJb8nc+++pvHPm2UsDxcLhMHexaApCE2HNYyaRSJhYLCby+fl59/7+ftlk
-        Mll1Ot0TQvtgMFh2uVxAbyiZTHLoGB0dHU9Zc3Mzwxsl02q1K9lsFmZnZ714GyM4cpnQvru7+5VIJJo6
-        r7W1VUsNrmGxnYpHR0ft+F2BxtHkT7S/0tLSwhMKhawRNmHUwEjF2OQdTnKVz+ez83g8HqsvzGECgeB3
-        AwyMYJNp/LyBv0tRO7qMJOgSuogE6ALiI25RE5FIxH4Ao8sWCkhO/FoAAAAASUVORK5CYII=
-</value>
-  </data>
   <data name="map--minus" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -2193,6 +2203,23 @@
         RqTXdr9nfnoMH7BPTYFtG3kcKMcAAAAASUVORK5CYII=
 </value>
   </data>
+  <data name="clipboard-paste" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACbUlEQVQ4T43SS0iUURQH8LNJ
+        aCdCBVGrcmzCwvGVD9LJohrBYMwcx7eljY05OJpjMIFFWhSJwSQVZQ/T3lkumqBNIIEtbmgPqCSEKGtR
+        COXYzPj6d8+X301d9cHvm8v9zjmce+bSuUzSdJj/OWQxRuTl5eVKjjm5vDc/Rs+bX+CiJNgJEw11HXZ9
+        HR7+CMZr3tO/c6wq4JOvOeJDx1701aZhYOA1BgffY2Tki4bXvMff3vnKwbF6Hp3drIg37cW4URaLS7a1
+        uF6yHrf2xeFOVTy6yzfgSmEMeio24lVbIThWz6O2NEUMnbHj+dEcPGkway40WtHeZFfON1egs9WBlu3L
+        3tYVZZDLnk50OkURL0/l45l3p+LzluD3zAx+TU7iRyiE0UAAff39qLOlfrJ6vdE5Hg/RySRFvGix4qln
+        q9LmKcDE1BTGJibwfXwcn8fG0OP3gx+Z7JQMdDyBdILbf+zO0PDAjjlzEJyexs9gUBXxdXcr0RbLEWqO
+        I53gth8cSNYGebkgGo1lWQjLIwTC4QVFuJNRud5WU+MibyzphL8+E1eL1qHTbtA0lGZhShYIyhksLsIz
+        yaiqclOTkXTiYU0KrhUbFXfJFszMziIsj7G4CA82pbS0geoNpBO9skCXbF/nKjJjVg5sWnaxuEhAruNt
+        Ng/tXknkWqMRvc5N2mXRVeenaxPnItwJH4dnwoMNyd+Y7GyvvEpEu1YQOVb/LXC70qTUWuNRYDEtYM82
+        Icm46lukydQalZhYyflLpeV7Ikk8Opiq/Qv3q5Nwz5Go3N2foOFrzTiWc+ZyKUqKTV5CN3dEkPgfHMs5
+        RBT1B7y5F+bFJBNnAAAAAElFTkSuQmCC
+</value>
+  </data>
   <data name="TextWatermark" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\TextWatermark.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
   </data>
@@ -2527,22 +2554,8 @@
         TsEQxoWCESIcrOCSUCCZAgWaUMlho7NAJAU+dFDgICAAOw==
 </value>
   </data>
-  <data name="clipboard-paste" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACbUlEQVQ4T43SS0iUURQH8LNJ
-        aCdCBVGrcmzCwvGVD9LJohrBYMwcx7eljY05OJpjMIFFWhSJwSQVZQ/T3lkumqBNIIEtbmgPqCSEKGtR
-        COXYzPj6d8+X301d9cHvm8v9zjmce+bSuUzSdJj/OWQxRuTl5eVKjjm5vDc/Rs+bX+CiJNgJEw11HXZ9
-        HR7+CMZr3tO/c6wq4JOvOeJDx1701aZhYOA1BgffY2Tki4bXvMff3vnKwbF6Hp3drIg37cW4URaLS7a1
-        uF6yHrf2xeFOVTy6yzfgSmEMeio24lVbIThWz6O2NEUMnbHj+dEcPGkway40WtHeZFfON1egs9WBlu3L
-        3tYVZZDLnk50OkURL0/l45l3p+LzluD3zAx+TU7iRyiE0UAAff39qLOlfrJ6vdE5Hg/RySRFvGix4qln
-        q9LmKcDE1BTGJibwfXwcn8fG0OP3gx+Z7JQMdDyBdILbf+zO0PDAjjlzEJyexs9gUBXxdXcr0RbLEWqO
-        I53gth8cSNYGebkgGo1lWQjLIwTC4QVFuJNRud5WU+MibyzphL8+E1eL1qHTbtA0lGZhShYIyhksLsIz
-        yaiqclOTkXTiYU0KrhUbFXfJFszMziIsj7G4CA82pbS0geoNpBO9skCXbF/nKjJjVg5sWnaxuEhAruNt
-        Ng/tXknkWqMRvc5N2mXRVeenaxPnItwJH4dnwoMNyd+Y7GyvvEpEu1YQOVb/LXC70qTUWuNRYDEtYM82
-        Icm46lukydQalZhYyflLpeV7Ikk8Opiq/Qv3q5Nwz5Go3N2foOFrzTiWc+ZyKUqKTV5CN3dEkPgfHMs5
-        RBT1B7y5F+bFJBNnAAAAAElFTkSuQmCC
-</value>
+  <data name="layer-shape-polygon" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-shape-polygon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="map" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
@@ -2649,16 +2662,21 @@
         Sm78OPJkho4hX76YOSAAOw==
 </value>
   </data>
-  <data name="icon_viewoptions_disabled" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="application-search-result" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        R0lGODlhEAAQAIUAAAAAAP////39/vv7/Pr6+/n5+vj4+fb299DR1M/Q0+bn6eXm6OPk5n6Ejs3P0oyT
-        nM7T2bG3vs/R087Q0vf4+fb3+PX29/T19vP09ebn6OXm5+Tl5uPl5vb4+PT29v3+/vz9/fr7+/n6+vj5
-        +ff4+Pb3987Uz8/W0M7Vz4qgitHX0dDW0OLm4uTn5P7+/v39/fz8/Pv7+////wAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAyACwAAAAAEAAQ
-        AAAItgBlCBxIsKCMCAgTKlyIEILDhxAhNojwoKLFixcnBgjgwsWHFzBCwhgQIkQBjR0/hhzAsqSIERNT
-        tkgxsmQIAi9hRnCRYuaKAQgkCJWQYASJiQJUpPgZQ0GGpws0kOgwEeTPmwVGaB1BoUOFiSBGskiR1YDZ
-        rhUsTISRYiyKERPiTnBQwoKHiQNOpHg7YgOHvwzsXpgYg4AJrRQqKE7r4cLgCASycu1wwILlxhcwTGzA
-        ubPnzwEBADs=
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACiklEQVQ4T5XST0jacRQA8K/W
+        IBGGtItedqhDXnZxl042QrDIhoUNWjuarf2DOdgOO0UG1qUNtkOjnHRwtJRkha2kk2azyVhM/INuDTG1
+        8h8mapK8vfdjbq5dti988Ovzvef7/n5fptFofhkaGmpDw0j3DyivjQ0ODjYa8Xg8/kgkAoFAAPb29sDn
+        +wg7Ozvgdntge/sDeDyfwOv1w/q620/5TK1WNxp3Op2wsbEBDocD1tbWwG63g81mg6WlJbBYLLC4uAhm
+        sxkWFhagqalJR2M3GoP/WJTPBgYGGt0+OTmBo6MjyGQyUCwWoVqtwtnZ2V9qtRpQPuvr6+OoVCrW399/
+        JxqNQi6Xg3K5zCmVSpxKpfIHakz5TKlUcnp6etr1ev3U4eHhqcFg2JJKpS8I7dPp9GmhUOAmqqPmvb29
+        95hCoajT+Hy+L0ajcfP6TZ1xNxhf3g3Fl9W3xqYpRkfCRtx0hI6KNQ+YXC6vu4v/Xurq6pp57Qxa3rhj
+        q8TqilgpRs8lFovB8fExJ5/PA9Y8ZJ2dnXX3U6lUCc81aXV/fRuIFzbJ1uf4KsUODg4gFApBIpHg0ERY
+        84jJZLK6Ybwwgbm5uZUJ4/OJb8nc+++pvHPm2UsDxcLhMHexaApCE2HNYyaRSJhYLCby+fl59/7+ftlk
+        Mll1Ot0TQvtgMFh2uVxAbyiZTHLoGB0dHU9Zc3Mzwxsl02q1K9lsFmZnZ714GyM4cpnQvru7+5VIJJo6
+        r7W1VUsNrmGxnYpHR0ft+F2BxtHkT7S/0tLSwhMKhawRNmHUwEjF2OQdTnKVz+ez83g8HqsvzGECgeB3
+        AwyMYJNp/LyBv0tRO7qMJOgSuogE6ALiI25RE5FIxH4Ao8sWCkhO/FoAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="layers-stack" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -4442,13 +4460,7 @@
         WRHmNwI5+469uwsj25aTaAHwF5D4p3XcStYrAAAAAElFTkSuQmCC
 </value>
   </data>
-  <data name="layer-select-point" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\layer-select-point.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="layer-small" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\layer-small.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="layer-shape-line" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\layer-shape-line.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="layer-shape-polygon" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\layer-shape-polygon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
 </root>
\ No newline at end of file

Added: trunk/Tools/Maestro/Maestro.Editors/Resources/information.png
===================================================================
(Binary files differ)


Property changes on: trunk/Tools/Maestro/Maestro.Editors/Resources/information.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-select.png
===================================================================
(Binary files differ)


Property changes on: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-select.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-shape.png
===================================================================
(Binary files differ)


Property changes on: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-shape.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-small.png
===================================================================
(Binary files differ)


Property changes on: trunk/Tools/Maestro/Maestro.Editors/Resources/layer-small.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -538,6 +538,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Edit Symbol Definition.
+        /// </summary>
+        internal static string EditSymbolDefinition {
+            get {
+                return ResourceManager.GetString("EditSymbolDefinition", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Edit Watermark Instance.
         /// </summary>
         internal static string EditWatermarkInstance {
@@ -2176,6 +2185,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Name: {1}{0}Identifier: {2}{0}Description: {3}{0}Type: {4}{0}Default Value: {5}.
+        /// </summary>
+        internal static string PropertyInfo {
+            get {
+                return ResourceManager.GetString("PropertyInfo", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Property: {0}
         ///Type: {1}.
         /// </summary>

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2014-05-23 10:40:58 UTC (rev 8148)
@@ -1611,4 +1611,10 @@
   <data name="CannotCreateThemeForCompositeStyleClassicEditor" xml:space="preserve">
     <value>Theming composite styles with this editor is not supported</value>
   </data>
+  <data name="EditSymbolDefinition" xml:space="preserve">
+    <value>Edit Symbol Definition</value>
+  </data>
+  <data name="PropertyInfo" xml:space="preserve">
+    <value>Name: {1}{0}Identifier: {2}{0}Description: {3}{0}Type: {4}{0}Default Value: {5}</value>
+  </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -471,6 +471,218 @@
         }
 
         /// <summary>
+        /// Creates a simple label symbol
+        /// </summary>
+        /// <param name="owner"></param>
+        /// <param name="version"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        public static ISimpleSymbolDefinition CreateSimpleLabel(IServerConnection owner, Version version, GeometryContextType type)
+        {
+            var sym = CreateSimpleSymbol(owner, version, "MTEXT", "Default MTEXT Symbol");
+            var text = sym.CreateTextGraphics();
+            text.Content = "%CONTENT%";
+            text.FontName = "%FONTNAME%";
+            text.Bold = "%BOLD%";
+            text.Italic = "%ITALIC%";
+            text.Underlined = "%UNDERLINED%";
+            var text2 = text as ITextGraphic2;
+            if (text2 != null)
+            {
+                text2.Overlined = "%OVERLINED%";
+            }
+            text.Height = "%FONTHEIGHT%";
+            text.PositionX = "%StyleEditorGenerated_TextPositionX_0%";
+            text.PositionY = "%StyleEditorGenerated_TextPositionY_0%";
+            text.HorizontalAlignment = "%HORIZONTALALIGNMENT%";
+            text.VerticalAlignment = "%VERTICALALIGNMENT%";
+            text.Justification = "%JUSTIFICATION%";
+            text.LineSpacing = "%LINESPACING%";
+            text.TextColor = "%TEXTCOLOR%";
+            text.GhostColor = "%GHOSTCOLOR%";
+            var frame = sym.CreateFrame();
+            frame.LineColor = "%FRAMELINECOLOR%";
+            frame.FillColor = "%FRAMEFILLCOLOR%";
+            frame.OffsetX = 0.0;
+            frame.OffsetY = 0.0;
+            text.Frame = frame;
+            if (text2 != null)
+            {
+                text2.Markup = "'MTEXT'";
+            }
+
+            sym.AddGraphics(text);
+            switch (type)
+            {
+                case GeometryContextType.LineString:
+                    {
+                        var usage = sym.CreateLineUsage();
+                        usage.AngleControl = "'FromAngle'";
+                        usage.Angle = "%ROTATION%";
+                        usage.Repeat = "1.0";
+                        sym.LineUsage = usage;
+                    }
+                    break;
+                case GeometryContextType.Polygon:
+                    {
+                        var usage = sym.CreateAreaUsage();
+                        usage.Angle = "%ROTATION%";
+                        usage.RepeatX = "100.0";
+                        usage.RepeatY = "100.0";
+                        sym.AreaUsage = usage;
+                    }
+                    break;
+                case GeometryContextType.Point:
+                    {
+                        var usage = sym.CreatePointUsage();
+                        usage.Angle = "%ANGLE%";
+                        sym.PointUsage = usage;
+                    }
+                    break;
+            }
+
+            sym.DefineParameter("CONTENT", "'text'", "T&ext", "Text", "Content");
+            sym.DefineParameter("FONTNAME", "'Arial'", "&Font Name", "Font Name", "FontName");
+            sym.DefineParameter("FONTHEIGHT", "4.0", "Font &Size", "Font Size", "FontHeight");
+            sym.DefineParameter("BOLD", "false", "Bold", "Bold", "Bold");
+            sym.DefineParameter("ITALIC", "false", "Italic", "Italic", "Italic");
+            sym.DefineParameter("UNDERLINED", "false", "Underlined", "Underlined", "Underlined");
+            if (text2 != null)
+            {
+                sym.DefineParameter("OVERLINED", "false", "Overlined", "Overlined", "Overlined");
+            }
+            sym.DefineParameter("JUSTIFICATION", "'FromAlignment'", "Justification", "Justification", "Justification");
+            sym.DefineParameter("LINESPACING", "1.05", "Line Spacing", "Line Spacing", "LineSpacing");
+            sym.DefineParameter("GHOSTCOLOR", "", "Ghost Color", "Ghost Color", "GhostColor");
+            sym.DefineParameter("FRAMELINECOLOR", "", "Frame Line Color", "Frame Line Color", "FrameLineColor");
+            sym.DefineParameter("FRAMEFILLCOLOR", "", "Frame Fill Color", "Frame Fill Color", "FrameFillColor");
+            sym.DefineParameter("TEXTCOLOR", "0xff000000", "Text Color", "Text Color", "TextColor");
+            sym.DefineParameter("VERTICALALIGNMENT", "'Halfline'", "&Vertical Alignment", "Vertical Alignment", "VerticalAlignment");
+            sym.DefineParameter("ROTATION", "0.0", "&Rotation", "Rotation", "Angle");
+            sym.DefineParameter("HORIZONTALALIGNMENT", "'Center'", "Hori&zontal Alignment", "Horizontal Alignment", "HorizontalAlignment");
+            sym.DefineParameter("StyleEditorGenerated_TextPositionX_0", "0.0", "PositionX", "PositionX", "Real");
+            sym.DefineParameter("StyleEditorGenerated_TextPositionY_0", "0.0", "PositionY", "PositionY", "Real");
+
+            return sym;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="owner"></param>
+        /// <param name="version"></param>
+        /// <returns></returns>
+        public static ISimpleSymbolDefinition CreateSimplePoint(IServerConnection owner, Version version)
+        {
+            var sym = CreateSimpleSymbol(owner, version, "Square", "Default Point Symbol");
+            var path = sym.CreatePathGraphics();
+            path.Geometry = "M -1.0,-1.0 L 1.0,-1.0 L 1.0,1.0 L -1.0,1.0 L -1.0,-1.0";
+            IPathGraphic2 path2 = path as IPathGraphic2;
+            if (path2 != null)
+            {
+                path2.ScaleX = "%StyleEditorGenerated_ScaleX_0%";
+                path2.ScaleY = "%StyleEditorGenerated_ScaleY_0%";
+            }
+            path.FillColor = "%FILLCOLOR%";
+            path.LineColor = "%LINECOLOR%";
+            path.LineWeight = "%LINEWEIGHT%";
+            path.LineCap = "%StyleEditorGenerated_LineCap_0%";
+            path.LineJoin = "%StyleEditorGenerated_LineJoin_0%";
+
+            var usage = sym.CreatePointUsage();
+            usage.Angle = "%ROTATION%";
+            sym.PointUsage = usage;
+
+            sym.DefineParameter("FILLCOLOR", "0xffffffff", "&Fill Color", "Fill Color", "FillColor");
+            sym.DefineParameter("LINECOLOR", "0xff000000", "Line &Color", "Line Color", "LineColor");
+            sym.DefineParameter("LINEWEIGHT", "0.0", "Line &Thickness", "Line Thickness", "LineWeight");
+            sym.DefineParameter("ROTATION", "0.0", "&Rotation", "Rotation", "Angle");
+            if (path2 != null)
+            {
+                sym.DefineParameter("StyleEditorGenerated_ScaleX_0", "1.0", "Path ScaleX", "Path ScaleX", "Real");
+                sym.DefineParameter("StyleEditorGenerated_ScaleY_0", "1.0", "Path ScaleY", "Path ScaleY", "Real");
+            }
+            sym.DefineParameter("StyleEditorGenerated_LineCap_0", "'Round'", "Line Cap", "The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.", "String");
+            sym.DefineParameter("StyleEditorGenerated_LineJoin_0", "'Round'", "Line Join", "The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.", "String");
+            return sym;
+        }
+
+        /// <summary>
+        /// Creates a simple solid line symbol
+        /// </summary>
+        /// <param name="owner"></param>
+        /// <param name="version"></param>
+        /// <returns></returns>
+        public static ISimpleSymbolDefinition CreateSimpleSolidLine(IServerConnection owner, Version version)
+        {
+            var sym = CreateSimpleSymbol(owner, version, "Solid Line", "Default Line Symbol");
+            var path = sym.CreatePathGraphics();
+            path.Geometry = "M 0.0,0.0 L 1.0,0.0";
+            path.LineColor = "%LINECOLOR%";
+            path.LineWeight = "%LINEWEIGHT%";
+            path.LineCap = "%StyleEditorGenerated_LineCap_0%";
+            path.LineJoin = "%StyleEditorGenerated_LineJoin_0%";
+            IPathGraphic2 path2 = path as IPathGraphic2;
+            if (path2 != null)
+            {
+                path2.ScaleX = "%StyleEditorGenerated_ScaleX_0%";
+                path2.ScaleY = "%StyleEditorGenerated_ScaleY_0%";
+            }
+            sym.AddGraphics(path);
+            var lineUsage = sym.CreateLineUsage();
+            lineUsage.Repeat = "1.0";
+            sym.LineUsage = lineUsage;
+
+            sym.DefineParameter("LINECOLOR", "0xff000000", "Line &Color", "Line Color", "LineColor");
+            sym.DefineParameter("LINEWEIGHT", "0.0", "Line &Thickness", "Line Thickness", "LineWeight");
+            if (path2 != null)
+            {
+                sym.DefineParameter("StyleEditorGenerated_ScaleX_0", "1.0", "Path ScaleX", "Path ScaleX", "Real");
+                sym.DefineParameter("StyleEditorGenerated_ScaleY_0", "1.0", "Path ScaleY", "Path ScaleY", "Real");
+            }
+            sym.DefineParameter("StyleEditorGenerated_LineCap_0", "'Round'", "Line Cap", "The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.", "String");
+            sym.DefineParameter("StyleEditorGenerated_LineJoin_0", "'Round'", "Line Join", "The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.", "String");
+            return sym;
+        }
+
+        /// <summary>
+        /// Creates a simple solid fill symbol
+        /// </summary>
+        /// <param name="owner"></param>
+        /// <param name="version"></param>
+        /// <returns></returns>
+        public static ISimpleSymbolDefinition CreateSimpleSolidFill(IServerConnection owner, Version version)
+        {
+            var sym = CreateSimpleSymbol(owner, version, "Solid Fill", "Default Area Symbol");
+            var path = sym.CreatePathGraphics();
+            path.Geometry = "M 0.0,0.0 h 100.0 v 100.0 h -100.0 z";
+            path.FillColor = "%FILLCOLOR%";
+            path.LineCap = "%StyleEditorGenerated_LineCap_0%";
+            path.LineJoin = "%StyleEditorGenerated_LineJoin_0%";
+            IPathGraphic2 path2 = path as IPathGraphic2;
+            if (path2 != null)
+            {
+                path2.ScaleX = "%StyleEditorGenerated_ScaleX_0%";
+                path2.ScaleY = "%StyleEditorGenerated_ScaleY_0%";
+            }
+            sym.AddGraphics(path);
+            var areaUsage = sym.CreateAreaUsage();
+            areaUsage.RepeatX = "100.0";
+            areaUsage.RepeatY = "100.0";
+            sym.AreaUsage = areaUsage;
+
+            sym.DefineParameter("FILLCOLOR", "0xffbfbfbf", "&Fill Color", "Fill Color", "FillColor");
+            if (path2 != null)
+            {
+                sym.DefineParameter("StyleEditorGenerated_ScaleX_0", "1.0", "Path ScaleX", "Path ScaleX", "Real");
+                sym.DefineParameter("StyleEditorGenerated_ScaleY_0", "1.0", "Path ScaleY", "Path ScaleY", "Real");
+            }
+            sym.DefineParameter("StyleEditorGenerated_LineCap_0", "'Round'", "Line Cap", "The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.", "String");
+            sym.DefineParameter("StyleEditorGenerated_LineJoin_0", "'Round'", "Line Join", "The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.", "String");
+            return sym;
+        }
+
+        /// <summary>
         /// Creates a simple symbol definition.
         /// </summary>
         /// <param name="owner">The owner.</param>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs	2014-05-23 10:33:50 UTC (rev 8147)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs	2014-05-23 10:40:58 UTC (rev 8148)
@@ -19,6 +19,7 @@
 #endregion
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Text;
 using OSGeo.MapGuide.ObjectModels.LayerDefinition;
 using OSGeo.MapGuide.MaestroAPI.Resource;
@@ -138,6 +139,18 @@
     public static class SymbolDefExtensions
     {
         /// <summary>
+        /// Gets the parameter definition for the given identifer
+        /// </summary>
+        /// <param name="sym"></param>
+        /// <param name="identifier"></param>
+        /// <returns></returns>
+        public static IParameter GetParameter(this ISymbolDefinitionBase sym, string identifier)
+        {
+            Check.NotNull(sym, "sym");
+            return sym.GetParameters().FirstOrDefault(x => x.Identifier == identifier);
+        }
+
+        /// <summary>
         /// Gets the parameters.
         /// </summary>
         /// <param name="sym">The sym.</param>



More information about the mapguide-commits mailing list