[mapguide-commits] r8087 - in trunk/Tools/Maestro: Maestro.Editors Maestro.Editors/LayerDefinition Maestro.Editors/LayerDefinition/Vector OSGeo.MapGuide.MaestroAPI/ObjectModels

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Apr 29 05:51:38 PDT 2014


Author: jng
Date: 2014-04-29 05:51:38 -0700 (Tue, 29 Apr 2014)
New Revision: 8087

Modified:
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/LayerPropertiesSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.resx
   trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs
   trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Strings.resx
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs
Log:
#2423: Flag feature source, feature class and geometry fields if there are any issues with these fields when the Layer Definition Editor is opened.

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/LayerPropertiesSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/LayerPropertiesSectionCtrl.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/LayerPropertiesSectionCtrl.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -11,6 +11,7 @@
 using Maestro.Editors.Common;
 using Maestro.Editors.Generic;
 using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.MaestroAPI.Schema;
 
 namespace Maestro.Editors.LayerDefinition
 {
@@ -86,7 +87,15 @@
 
             if (_edsvc.ResourceService.ResourceExists(_vl.ResourceId))
             {
-                var cls = _edsvc.FeatureService.GetClassDefinition(_vl.ResourceId, _vl.FeatureName);
+                ClassDefinition cls = null;
+                try
+                {
+                    cls = _edsvc.FeatureService.GetClassDefinition(_vl.ResourceId, _vl.FeatureName);
+                }
+                catch
+                {
+                    //Do nothing, layer settings control does this check and should flag the feature class field as something requiring attention
+                }
                 if (cls != null)
                 {
                     grdProperties.Rows.Clear();

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -28,6 +28,7 @@
         /// </summary>
         private void InitializeComponent()
         {
+            this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VectorLayerSettingsSectionCtrl));
             this.label1 = new System.Windows.Forms.Label();
             this.txtFeatureSource = new System.Windows.Forms.TextBox();
@@ -50,9 +51,11 @@
             this.label5 = new System.Windows.Forms.Label();
             this.label4 = new System.Windows.Forms.Label();
             this.btnGoToFeatureSource = new System.Windows.Forms.Button();
+            this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
             this.contentPanel.SuspendLayout();
             this.grpFeatureClass.SuspendLayout();
             this.grpLayerSettings.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
             this.SuspendLayout();
             // 
             // contentPanel
@@ -211,6 +214,10 @@
             this.btnGoToFeatureSource.UseVisualStyleBackColor = true;
             this.btnGoToFeatureSource.Click += new System.EventHandler(this.btnGoToFeatureSource_Click);
             // 
+            // errorProvider
+            // 
+            this.errorProvider.ContainerControl = this;
+            // 
             // VectorLayerSettingsSectionCtrl
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -222,6 +229,7 @@
             this.grpFeatureClass.PerformLayout();
             this.grpLayerSettings.ResumeLayout(false);
             this.grpLayerSettings.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -249,5 +257,6 @@
         private System.Windows.Forms.TextBox txtGeometry;
         private System.Windows.Forms.TextBox txtFeatureClass;
         private System.Windows.Forms.Button btnGoToFeatureSource;
+        private System.Windows.Forms.ErrorProvider errorProvider;
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -35,7 +35,6 @@
 
 namespace Maestro.Editors.LayerDefinition.Vector
 {
-    //[ToolboxItem(true)]
     [ToolboxItem(false)]
     internal partial class VectorLayerSettingsSectionCtrl : EditorBindableCollapsiblePanel
     {
@@ -64,24 +63,101 @@
                 _vl = res.SubLayer as IVectorLayerDefinition;
                 Debug.Assert(_vl != null);
 
-                //TextBoxBinder.BindText(txtFeatureSource, _vl, "ResourceId");
-                //TextBoxBinder.BindText(txtFeatureClass, _vl, "FeatureName");
-                //TextBoxBinder.BindText(txtGeometry, _vl, "Geometry");
                 txtFeatureClass.Text = _vl.FeatureName;
                 txtGeometry.Text = _vl.Geometry;
+                ResetErrorState();
+
                 if (string.IsNullOrEmpty(txtFeatureClass.Text) || string.IsNullOrEmpty(txtGeometry.Text))
+                {
                     TryFillUIFromNewFeatureSource(_vl.ResourceId);
+                    if (!_edsvc.ResourceService.ResourceExists(_vl.ResourceId))
+                    {
+                        errorProvider.SetError(txtFeatureSource, Strings.LayerEditorFeatureSourceNotFound);
+                        MessageBox.Show(Strings.LayerEditorHasErrors);
+                    }
+                }
                 else
+                {
+                    bool bShowErrorMessage = false;
                     txtFeatureSource.Text = _vl.ResourceId;
+                    string featureClass = txtFeatureClass.Text;
+                    string geometry = txtGeometry.Text;
+                    BusyWaitDialog.Run(null, () => {
+                        var errors = new List<string>();
+                        if (!_edsvc.ResourceService.ResourceExists(_vl.ResourceId))
+                        {
+                            errors.Add(Strings.LayerEditorFeatureSourceNotFound);
+                        }
+                        if (!string.IsNullOrEmpty(featureClass))
+                        {
+                            ClassDefinition clsDef = null;
+                            try
+                            {
+                                clsDef = _edsvc.FeatureService.GetClassDefinition(_vl.ResourceId, featureClass);
+                            }
+                            catch
+                            {
+                                errors.Add(Strings.LayerEditorFeatureClassNotFound);
+                                //These property mappings will probably be bunk if this is the case, so clear them
+                                _vl.ClearPropertyMappings();
+                            }
 
-                //TextBoxBinder.BindText(txtFilter, _vl, "Filter");
+                            if (clsDef != null)
+                            {
+                                GeometricPropertyDefinition geom = clsDef.FindProperty(geometry) as GeometricPropertyDefinition;
+                                if (geom == null)
+                                {
+                                    errors.Add(Strings.LayerEditorGeometryNotFound);
+                                }
+                            }
+                            else
+                            {
+                                //This is probably true
+                                errors.Add(Strings.LayerEditorGeometryNotFound);
+                            }
+                        }
+                        return errors;
+                    }, (result, ex) => {
+                        if (ex != null)
+                        {
+                            ErrorDialog.Show(ex);
+                        }
+                        else
+                        {
+                            var list = (List<string>)result;
+                            foreach (var err in list)
+                            {
+                                if (err == Strings.LayerEditorGeometryNotFound)
+                                {
+                                    errorProvider.SetError(txtGeometry, err);
+                                    bShowErrorMessage = true;
+                                }
+                                else if (err == Strings.LayerEditorFeatureSourceNotFound)
+                                {
+                                    errorProvider.SetError(txtFeatureSource, err);
+                                    //Don't show error message here if this is the only error as the user
+                                    //will get a repair feature source prompt down the road
+                                }
+                                else if (err == Strings.LayerEditorFeatureClassNotFound)
+                                {
+                                    errorProvider.SetError(txtFeatureClass, err);
+                                    bShowErrorMessage = true;
+                                }
+                            }
+                            if (bShowErrorMessage)
+                            {
+                                MessageBox.Show(Strings.LayerEditorHasErrors);
+                            }
+                        }
+                    });   
+                }
+
                 txtFilter.Text = _vl.Filter;
 
                 //Loose bind this one because 2.4 changes this behaviour making it
                 //unsuitable for databinding via TextBoxBinder
                 txtHyperlink.Text = _vl.Url;
 
-                //TextBoxBinder.BindText(txtTooltip, _vl, "ToolTip");
                 txtTooltip.Text = _vl.ToolTip;
 
                 //This is not the root object so no change listeners have been subscribed
@@ -93,6 +169,13 @@
             }
         }
 
+        private void ResetErrorState()
+        {
+            errorProvider.SetError(txtFeatureClass, null);
+            errorProvider.SetError(txtGeometry, null);
+            errorProvider.SetError(txtFeatureSource, null);
+        }
+
         protected override void OnLoad(EventArgs e)
         {
             if (this.DesignMode)
@@ -100,8 +183,13 @@
 
             //Init cached schemas and selected class
             if (!string.IsNullOrEmpty(txtFeatureClass.Text))
-            {                
-                var cls = _edsvc.FeatureService.GetClassDefinition(txtFeatureSource.Text, txtFeatureClass.Text);
+            {
+                ClassDefinition cls = null;
+                try
+                {
+                    cls = _edsvc.FeatureService.GetClassDefinition(txtFeatureSource.Text, txtFeatureClass.Text);
+                }
+                catch { }
                 if (cls != null)
                 {
                     _selectedClass = cls;
@@ -149,13 +237,19 @@
         private void txtFeatureClass_TextChanged(object sender, EventArgs e)
         {
             if (txtFeatureClass.Text != _vl.FeatureName)
+            {
                 _vl.FeatureName = txtFeatureClass.Text;
+                errorProvider.SetError(txtFeatureClass, null);
+            }
         }
 
         private void txtGeometry_TextChanged(object sender, EventArgs e)
         {
             if (txtGeometry.Text != _vl.Geometry)
+            {
                 _vl.Geometry = txtGeometry.Text;
+                errorProvider.SetError(txtGeometry, null);
+            }
         }
 
         internal event EventHandler FeatureClassChanged;
@@ -300,6 +394,7 @@
         private void SetFeatureClass(ClassDefinition item)
         {
             txtFeatureClass.Text = item.QualifiedName;
+            errorProvider.SetError(txtFeatureClass, null);
             _selectedClass = item;
 
             //See if geometry needs invalidation
@@ -328,6 +423,7 @@
             if (geoms.Count == 1)
                 txtGeometry.Text = geoms[0].Name;
 
+            errorProvider.SetError(txtGeometry, null);
             OnFeatureClassChanged();
         }
 
@@ -387,5 +483,11 @@
         {
             _edsvc.OpenResource(txtFeatureSource.Text);
         }
+
+        internal void SetFeatureSource(string fsId)
+        {
+            txtFeatureSource.Text = fsId;
+            errorProvider.SetError(txtFeatureSource, null);
+        }
     }
 }

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.resx	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.resx	2014-04-29 12:51:38 UTC (rev 8087)
@@ -150,6 +150,21 @@
   <data name="grpLayerSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
     <value>Top, Left, Right</value>
   </data>
+  <data name="btnEditTooltip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Right</value>
+  </data>
+  <data name="btnEditTooltip.Location" type="System.Drawing.Point, System.Drawing">
+    <value>377, 66</value>
+  </data>
+  <data name="btnEditTooltip.Size" type="System.Drawing.Size, System.Drawing">
+    <value>30, 23</value>
+  </data>
+  <data name="btnEditTooltip.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="btnEditTooltip.Text" xml:space="preserve">
+    <value>...</value>
+  </data>
   <data name=">>btnEditTooltip.Name" xml:space="preserve">
     <value>btnEditTooltip</value>
   </data>
@@ -162,6 +177,21 @@
   <data name=">>btnEditTooltip.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
+  <data name="btnEditHyperlink.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Right</value>
+  </data>
+  <data name="btnEditHyperlink.Location" type="System.Drawing.Point, System.Drawing">
+    <value>377, 42</value>
+  </data>
+  <data name="btnEditHyperlink.Size" type="System.Drawing.Size, System.Drawing">
+    <value>30, 23</value>
+  </data>
+  <data name="btnEditHyperlink.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="btnEditHyperlink.Text" xml:space="preserve">
+    <value>...</value>
+  </data>
   <data name=">>btnEditHyperlink.Name" xml:space="preserve">
     <value>btnEditHyperlink</value>
   </data>
@@ -174,6 +204,21 @@
   <data name=">>btnEditHyperlink.ZOrder" xml:space="preserve">
     <value>1</value>
   </data>
+  <data name="btnEditFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Right</value>
+  </data>
+  <data name="btnEditFilter.Location" type="System.Drawing.Point, System.Drawing">
+    <value>377, 17</value>
+  </data>
+  <data name="btnEditFilter.Size" type="System.Drawing.Size, System.Drawing">
+    <value>30, 23</value>
+  </data>
+  <data name="btnEditFilter.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="btnEditFilter.Text" xml:space="preserve">
+    <value>...</value>
+  </data>
   <data name=">>btnEditFilter.Name" xml:space="preserve">
     <value>btnEditFilter</value>
   </data>
@@ -186,6 +231,18 @@
   <data name=">>btnEditFilter.ZOrder" xml:space="preserve">
     <value>2</value>
   </data>
+  <data name="txtTooltip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
+  </data>
+  <data name="txtTooltip.Location" type="System.Drawing.Point, System.Drawing">
+    <value>121, 68</value>
+  </data>
+  <data name="txtTooltip.Size" type="System.Drawing.Size, System.Drawing">
+    <value>240, 20</value>
+  </data>
+  <data name="txtTooltip.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
   <data name=">>txtTooltip.Name" xml:space="preserve">
     <value>txtTooltip</value>
   </data>
@@ -198,6 +255,18 @@
   <data name=">>txtTooltip.ZOrder" xml:space="preserve">
     <value>3</value>
   </data>
+  <data name="txtHyperlink.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
+  </data>
+  <data name="txtHyperlink.Location" type="System.Drawing.Point, System.Drawing">
+    <value>121, 44</value>
+  </data>
+  <data name="txtHyperlink.Size" type="System.Drawing.Size, System.Drawing">
+    <value>240, 20</value>
+  </data>
+  <data name="txtHyperlink.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
   <data name=">>txtHyperlink.Name" xml:space="preserve">
     <value>txtHyperlink</value>
   </data>
@@ -210,6 +279,18 @@
   <data name=">>txtHyperlink.ZOrder" xml:space="preserve">
     <value>4</value>
   </data>
+  <data name="txtFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Left, Right</value>
+  </data>
+  <data name="txtFilter.Location" type="System.Drawing.Point, System.Drawing">
+    <value>121, 19</value>
+  </data>
+  <data name="txtFilter.Size" type="System.Drawing.Size, System.Drawing">
+    <value>240, 20</value>
+  </data>
+  <data name="txtFilter.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
   <data name=">>txtFilter.Name" xml:space="preserve">
     <value>txtFilter</value>
   </data>
@@ -222,6 +303,21 @@
   <data name=">>txtFilter.ZOrder" xml:space="preserve">
     <value>5</value>
   </data>
+  <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 71</value>
+  </data>
+  <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>39, 13</value>
+  </data>
+  <data name="label6.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="label6.Text" xml:space="preserve">
+    <value>Tooltip</value>
+  </data>
   <data name=">>label6.Name" xml:space="preserve">
     <value>label6</value>
   </data>
@@ -234,6 +330,21 @@
   <data name=">>label6.ZOrder" xml:space="preserve">
     <value>6</value>
   </data>
+  <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 47</value>
+  </data>
+  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>51, 13</value>
+  </data>
+  <data name="label5.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="label5.Text" xml:space="preserve">
+    <value>Hyperlink</value>
+  </data>
   <data name=">>label5.Name" xml:space="preserve">
     <value>label5</value>
   </data>
@@ -246,6 +357,21 @@
   <data name=">>label5.ZOrder" xml:space="preserve">
     <value>7</value>
   </data>
+  <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 22</value>
+  </data>
+  <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>29, 13</value>
+  </data>
+  <data name="label4.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="label4.Text" xml:space="preserve">
+    <value>Filter</value>
+  </data>
   <data name=">>label4.Name" xml:space="preserve">
     <value>label4</value>
   </data>
@@ -400,7 +526,7 @@
     <value>121, 44</value>
   </data>
   <data name="txtGeometry.Size" type="System.Drawing.Size, System.Drawing">
-    <value>250, 20</value>
+    <value>240, 20</value>
   </data>
   <data name="txtGeometry.TabIndex" type="System.Int32, mscorlib">
     <value>10</value>
@@ -424,7 +550,7 @@
     <value>121, 19</value>
   </data>
   <data name="txtFeatureClass.Size" type="System.Drawing.Size, System.Drawing">
-    <value>250, 20</value>
+    <value>240, 20</value>
   </data>
   <data name="txtFeatureClass.TabIndex" type="System.Int32, mscorlib">
     <value>9</value>
@@ -558,240 +684,9 @@
   <data name=">>contentPanel.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="btnEditTooltip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Right</value>
-  </data>
-  <data name="btnEditTooltip.Location" type="System.Drawing.Point, System.Drawing">
-    <value>377, 66</value>
-  </data>
-  <data name="btnEditTooltip.Size" type="System.Drawing.Size, System.Drawing">
-    <value>30, 23</value>
-  </data>
-  <data name="btnEditTooltip.TabIndex" type="System.Int32, mscorlib">
-    <value>8</value>
-  </data>
-  <data name="btnEditTooltip.Text" xml:space="preserve">
-    <value>...</value>
-  </data>
-  <data name=">>btnEditTooltip.Name" xml:space="preserve">
-    <value>btnEditTooltip</value>
-  </data>
-  <data name=">>btnEditTooltip.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>btnEditTooltip.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>btnEditTooltip.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="btnEditHyperlink.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Right</value>
-  </data>
-  <data name="btnEditHyperlink.Location" type="System.Drawing.Point, System.Drawing">
-    <value>377, 42</value>
-  </data>
-  <data name="btnEditHyperlink.Size" type="System.Drawing.Size, System.Drawing">
-    <value>30, 23</value>
-  </data>
-  <data name="btnEditHyperlink.TabIndex" type="System.Int32, mscorlib">
-    <value>7</value>
-  </data>
-  <data name="btnEditHyperlink.Text" xml:space="preserve">
-    <value>...</value>
-  </data>
-  <data name=">>btnEditHyperlink.Name" xml:space="preserve">
-    <value>btnEditHyperlink</value>
-  </data>
-  <data name=">>btnEditHyperlink.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>btnEditHyperlink.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>btnEditHyperlink.ZOrder" xml:space="preserve">
-    <value>1</value>
-  </data>
-  <data name="btnEditFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Right</value>
-  </data>
-  <data name="btnEditFilter.Location" type="System.Drawing.Point, System.Drawing">
-    <value>377, 17</value>
-  </data>
-  <data name="btnEditFilter.Size" type="System.Drawing.Size, System.Drawing">
-    <value>30, 23</value>
-  </data>
-  <data name="btnEditFilter.TabIndex" type="System.Int32, mscorlib">
-    <value>6</value>
-  </data>
-  <data name="btnEditFilter.Text" xml:space="preserve">
-    <value>...</value>
-  </data>
-  <data name=">>btnEditFilter.Name" xml:space="preserve">
-    <value>btnEditFilter</value>
-  </data>
-  <data name=">>btnEditFilter.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>btnEditFilter.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>btnEditFilter.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="txtTooltip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="txtTooltip.Location" type="System.Drawing.Point, System.Drawing">
-    <value>121, 68</value>
-  </data>
-  <data name="txtTooltip.Size" type="System.Drawing.Size, System.Drawing">
-    <value>250, 20</value>
-  </data>
-  <data name="txtTooltip.TabIndex" type="System.Int32, mscorlib">
-    <value>5</value>
-  </data>
-  <data name=">>txtTooltip.Name" xml:space="preserve">
-    <value>txtTooltip</value>
-  </data>
-  <data name=">>txtTooltip.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>txtTooltip.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>txtTooltip.ZOrder" xml:space="preserve">
-    <value>3</value>
-  </data>
-  <data name="txtHyperlink.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="txtHyperlink.Location" type="System.Drawing.Point, System.Drawing">
-    <value>121, 44</value>
-  </data>
-  <data name="txtHyperlink.Size" type="System.Drawing.Size, System.Drawing">
-    <value>250, 20</value>
-  </data>
-  <data name="txtHyperlink.TabIndex" type="System.Int32, mscorlib">
-    <value>4</value>
-  </data>
-  <data name=">>txtHyperlink.Name" xml:space="preserve">
-    <value>txtHyperlink</value>
-  </data>
-  <data name=">>txtHyperlink.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>txtHyperlink.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>txtHyperlink.ZOrder" xml:space="preserve">
-    <value>4</value>
-  </data>
-  <data name="txtFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Top, Left, Right</value>
-  </data>
-  <data name="txtFilter.Location" type="System.Drawing.Point, System.Drawing">
-    <value>121, 19</value>
-  </data>
-  <data name="txtFilter.Size" type="System.Drawing.Size, System.Drawing">
-    <value>250, 20</value>
-  </data>
-  <data name="txtFilter.TabIndex" type="System.Int32, mscorlib">
-    <value>3</value>
-  </data>
-  <data name=">>txtFilter.Name" xml:space="preserve">
-    <value>txtFilter</value>
-  </data>
-  <data name=">>txtFilter.Type" xml:space="preserve">
-    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>txtFilter.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>txtFilter.ZOrder" xml:space="preserve">
-    <value>5</value>
-  </data>
-  <data name="label6.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
-    <value>15, 71</value>
-  </data>
-  <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
-    <value>39, 13</value>
-  </data>
-  <data name="label6.TabIndex" type="System.Int32, mscorlib">
-    <value>2</value>
-  </data>
-  <data name="label6.Text" xml:space="preserve">
-    <value>Tooltip</value>
-  </data>
-  <data name=">>label6.Name" xml:space="preserve">
-    <value>label6</value>
-  </data>
-  <data name=">>label6.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label6.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>label6.ZOrder" xml:space="preserve">
-    <value>6</value>
-  </data>
-  <data name="label5.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
-    <value>15, 47</value>
-  </data>
-  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
-    <value>51, 13</value>
-  </data>
-  <data name="label5.TabIndex" type="System.Int32, mscorlib">
-    <value>1</value>
-  </data>
-  <data name="label5.Text" xml:space="preserve">
-    <value>Hyperlink</value>
-  </data>
-  <data name=">>label5.Name" xml:space="preserve">
-    <value>label5</value>
-  </data>
-  <data name=">>label5.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label5.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>label5.ZOrder" xml:space="preserve">
-    <value>7</value>
-  </data>
-  <data name="label4.AutoSize" type="System.Boolean, mscorlib">
-    <value>True</value>
-  </data>
-  <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
-    <value>15, 22</value>
-  </data>
-  <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
-    <value>29, 13</value>
-  </data>
-  <data name="label4.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="label4.Text" xml:space="preserve">
-    <value>Filter</value>
-  </data>
-  <data name=">>label4.Name" xml:space="preserve">
-    <value>label4</value>
-  </data>
-  <data name=">>label4.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </data>
-  <data name=">>label4.Parent" xml:space="preserve">
-    <value>grpLayerSettings</value>
-  </data>
-  <data name=">>label4.ZOrder" xml:space="preserve">
-    <value>8</value>
-  </data>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -801,10 +696,16 @@
   <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
     <value>449, 267</value>
   </data>
+  <data name=">>errorProvider.Name" xml:space="preserve">
+    <value>errorProvider</value>
+  </data>
+  <data name=">>errorProvider.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
   <data name=">>$this.Name" xml:space="preserve">
     <value>VectorLayerSettingsSectionCtrl</value>
   </data>
   <data name=">>$this.Type" xml:space="preserve">
-    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+    <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
   </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -54,6 +54,9 @@
             layerProperties.Bind(service);
             layerStyles.Bind(service);
 
+            //A prompt to repair the feature source may have changed this, so update it.
+            resSettings.SetFeatureSource(_vl.ResourceId);
+
             //Add watermark component if supported
             var sl2 = _vl as ISubLayerDefinition2;
             if (sl2 != null)

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -1544,6 +1544,42 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Feature Class Not Found.
+        /// </summary>
+        internal static string LayerEditorFeatureClassNotFound {
+            get {
+                return ResourceManager.GetString("LayerEditorFeatureClassNotFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Feature Source Not Found.
+        /// </summary>
+        internal static string LayerEditorFeatureSourceNotFound {
+            get {
+                return ResourceManager.GetString("LayerEditorFeatureSourceNotFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Geometry Property Not Found.
+        /// </summary>
+        internal static string LayerEditorGeometryNotFound {
+            get {
+                return ResourceManager.GetString("LayerEditorGeometryNotFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Found errors in the Layer Definition. Please check any errors flagged in the editor..
+        /// </summary>
+        internal static string LayerEditorHasErrors {
+            get {
+                return ResourceManager.GetString("LayerEditorHasErrors", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Layer Group ({0}) successfully converted to Base Layer Group ({1}).
         /// </summary>
         internal static string LayerGroupConvertedToBaseLayerGroup {

Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.resx	2014-04-29 12:51:38 UTC (rev 8087)
@@ -1596,4 +1596,16 @@
   <data name="SelectSourceResource" xml:space="preserve">
     <value>Choose a resource for "Selected Resource" first</value>
   </data>
+  <data name="LayerEditorFeatureClassNotFound" xml:space="preserve">
+    <value>Feature Class Not Found</value>
+  </data>
+  <data name="LayerEditorFeatureSourceNotFound" xml:space="preserve">
+    <value>Feature Source Not Found</value>
+  </data>
+  <data name="LayerEditorGeometryNotFound" xml:space="preserve">
+    <value>Geometry Property Not Found</value>
+  </data>
+  <data name="LayerEditorHasErrors" xml:space="preserve">
+    <value>Found errors in the Layer Definition. Please check any errors flagged in the editor.</value>
+  </data>
 </root>
\ No newline at end of file

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -545,6 +545,11 @@
         /// If the Layer Definition does not support composite symbolization, null is returned
         /// </summary>
         Version SymbolDefinitionVersion { get; }
+
+        /// <summary>
+        /// Removes all property mappings
+        /// </summary>
+        void ClearPropertyMappings();
     }
 
     /// <summary>

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs	2014-04-29 11:22:48 UTC (rev 8086)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs	2014-04-29 12:51:38 UTC (rev 8087)
@@ -2013,6 +2013,11 @@
             }
         }
 #endif
+
+        void IVectorLayerDefinition.ClearPropertyMappings()
+        {
+            propertyMappingField.Clear();
+        }
     }
     #region Composite Symbolization
 #if !LDF_100



More information about the mapguide-commits mailing list