[mapguide-commits] r5571 - in sandbox/maestro-3.0: Maestro.Editors
Maestro.Editors/Common Maestro.Editors/FeatureSource
Maestro.Editors/FeatureSource/Providers
Maestro.Editors/FeatureSource/Providers/Odbc
Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor
Maestro.Editors/Properties OSGeo.MapGuide.MaestroAPI/ObjectModels
OSGeo.MapGuide.MaestroAPI/Schema
OSGeo.MapGuide.MaestroAPI/SchemaOverrides
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Feb 28 10:17:24 EST 2011
Author: jng
Date: 2011-02-28 07:17:24 -0800 (Mon, 28 Feb 2011)
New Revision: 5571
Added:
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.resx
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.resx
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs
Modified:
sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.resx
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.resx
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.resx
sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj
sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSourceInterfaces.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/IFdoSpatialContext.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/ClassDefinition.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/DataPropertyDefinition.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/GeometricPropertyDefinition.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/ConfigurationDocument.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcConfigurationDocument.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcTableItem.cs
Log:
This submission contains the following changes:
- #1612: Allow item selection in generic item selection dialog by double-click
- Add ODBC schema override editor
- Remove redundant edit configuration button from generic editor
- Fix incorrect serialization of various feature schema elements
Modified: sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.Designer.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -39,6 +39,7 @@
//
resources.ApplyResources(this.lstItems, "lstItems");
this.lstItems.Name = "lstItems";
+ this.lstItems.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lstItems_MouseDoubleClick);
this.lstItems.SelectedIndexChanged += new System.EventHandler(this.lstItems_SelectedIndexChanged);
//
// lblPrompt
Modified: sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/GenericItemSelectionDialog.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -174,5 +174,11 @@
{
this.DialogResult = DialogResult.OK;
}
+
+ private void lstItems_MouseDoubleClick(object sender, MouseEventArgs e)
+ {
+ if (lstItems.SelectedItem != null)
+ this.DialogResult = DialogResult.OK;
+ }
}
}
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.Designer.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -45,6 +45,7 @@
//
this.contentPanel.Controls.Add(this.grdOverrides);
this.contentPanel.Controls.Add(this.toolStrip1);
+ resources.ApplyResources(this.contentPanel, "contentPanel");
//
// toolStrip1
//
@@ -112,6 +113,7 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.HeaderText = "Coordinate System Overrides";
this.Name = "CoordSysOverrideCtrl";
+ resources.ApplyResources(this, "$this");
this.contentPanel.ResumeLayout(false);
this.contentPanel.PerformLayout();
this.toolStrip1.ResumeLayout(false);
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.resx 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/CoordSysOverrideCtrl.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -142,7 +142,7 @@
<value>0, 25</value>
</data>
<data name="grdOverrides.Size" type="System.Drawing.Size, System.Drawing">
- <value>449, 267</value>
+ <value>449, 87</value>
</data>
<data name="grdOverrides.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -160,7 +160,7 @@
<value>0</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
+ <value>0, 0</value>
</metadata>
<data name="btnAdd.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
@@ -219,6 +219,9 @@
<data name=">>toolStrip1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
+ <data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>449, 112</value>
+ </data>
<data name=">>contentPanel.Name" xml:space="preserve">
<value>contentPanel</value>
</data>
@@ -234,6 +237,9 @@
<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>449, 139</value>
+ </data>
<data name=">>btnAdd.Name" xml:space="preserve">
<value>btnAdd</value>
</data>
@@ -268,6 +274,6 @@
<value>CoordSysOverrideCtrl</value>
</data>
<data name=">>$this.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+ <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>
\ No newline at end of file
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.Designer.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -35,7 +35,6 @@
this.grdConnectionParameters = new System.Windows.Forms.DataGridView();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
- this.btnEditConfiguration = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
this.cmbLongTransaction = new System.Windows.Forms.ComboBox();
this.btnTest = new System.Windows.Forms.Button();
@@ -60,7 +59,6 @@
this.contentPanel.Controls.Add(this.btnTest);
this.contentPanel.Controls.Add(this.cmbLongTransaction);
this.contentPanel.Controls.Add(this.label4);
- this.contentPanel.Controls.Add(this.btnEditConfiguration);
this.contentPanel.Controls.Add(this.resDataCtrl);
this.contentPanel.Controls.Add(this.label3);
this.contentPanel.Controls.Add(this.label2);
@@ -103,13 +101,6 @@
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
//
- // btnEditConfiguration
- //
- resources.ApplyResources(this.btnEditConfiguration, "btnEditConfiguration");
- this.btnEditConfiguration.Name = "btnEditConfiguration";
- this.btnEditConfiguration.UseVisualStyleBackColor = true;
- this.btnEditConfiguration.Click += new System.EventHandler(this.btnEditConfiguration_Click);
- //
// label4
//
resources.ApplyResources(this.label4, "label4");
@@ -213,7 +204,6 @@
private System.Windows.Forms.TextBox txtProvider;
private System.Windows.Forms.Label label1;
private Maestro.Editors.Common.ResourceDataCtrl resDataCtrl;
- private System.Windows.Forms.Button btnEditConfiguration;
private System.Windows.Forms.TextBox txtTestResult;
private System.Windows.Forms.Button btnTest;
private System.Windows.Forms.ComboBox cmbLongTransaction;
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -196,11 +196,6 @@
txtTestResult.Text = msg;
}
- private void btnEditConfiguration_Click(object sender, EventArgs e)
- {
-
- }
-
private void pickAValueToolStripMenuItem_Click(object sender, EventArgs e)
{
if (grdConnectionParameters.SelectedCells.Count != 1)
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.resx 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/GenericCtrl.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -123,14 +123,14 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="txtTestResult.Location" type="System.Drawing.Point, System.Drawing">
- <value>156, 326</value>
+ <value>154, 326</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtTestResult.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtTestResult.Size" type="System.Drawing.Size, System.Drawing">
- <value>355, 33</value>
+ <value>516, 33</value>
</data>
<data name="txtTestResult.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -151,7 +151,7 @@
<value>Bottom, Left</value>
</data>
<data name="btnTest.Location" type="System.Drawing.Point, System.Drawing">
- <value>17, 336</value>
+ <value>15, 326</value>
</data>
<data name="btnTest.Size" type="System.Drawing.Size, System.Drawing">
<value>133, 23</value>
@@ -228,33 +228,6 @@
<data name=">>label4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
- <data name="btnEditConfiguration.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Right</value>
- </data>
- <data name="btnEditConfiguration.Location" type="System.Drawing.Point, System.Drawing">
- <value>517, 336</value>
- </data>
- <data name="btnEditConfiguration.Size" type="System.Drawing.Size, System.Drawing">
- <value>153, 23</value>
- </data>
- <data name="btnEditConfiguration.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="btnEditConfiguration.Text" xml:space="preserve">
- <value>Edit Configuration</value>
- </data>
- <data name=">>btnEditConfiguration.Name" xml:space="preserve">
- <value>btnEditConfiguration</value>
- </data>
- <data name=">>btnEditConfiguration.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name=">>btnEditConfiguration.Parent" xml:space="preserve">
- <value>contentPanel</value>
- </data>
- <data name=">>btnEditConfiguration.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
<data name="resDataCtrl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
@@ -271,13 +244,13 @@
<value>resDataCtrl</value>
</data>
<data name=">>resDataCtrl.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.ResourceDataCtrl, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+ <value>Maestro.Editors.Common.ResourceDataCtrl, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name=">>resDataCtrl.Parent" xml:space="preserve">
<value>contentPanel</value>
</data>
<data name=">>resDataCtrl.ZOrder" xml:space="preserve">
- <value>5</value>
+ <value>4</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -304,7 +277,7 @@
<value>contentPanel</value>
</data>
<data name=">>label3.ZOrder" xml:space="preserve">
- <value>6</value>
+ <value>5</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -331,7 +304,7 @@
<value>contentPanel</value>
</data>
<data name=">>label2.ZOrder" xml:space="preserve">
- <value>7</value>
+ <value>6</value>
</data>
<data name="grdConnectionParameters.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -355,7 +328,7 @@
<value>contentPanel</value>
</data>
<data name=">>grdConnectionParameters.ZOrder" xml:space="preserve">
- <value>8</value>
+ <value>7</value>
</data>
<data name="txtProvider.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -379,7 +352,7 @@
<value>contentPanel</value>
</data>
<data name=">>txtProvider.ZOrder" xml:space="preserve">
- <value>9</value>
+ <value>8</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -406,7 +379,7 @@
<value>contentPanel</value>
</data>
<data name=">>label1.ZOrder" xml:space="preserve">
- <value>10</value>
+ <value>9</value>
</data>
<data name="contentPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>683, 372</value>
@@ -517,6 +490,6 @@
<value>GenericCtrl</value>
</data>
<data name=">>$this.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=3.0.0.5334, Culture=neutral, PublicKeyToken=null</value>
+ <value>Maestro.Editors.Common.EditorBindableCollapsiblePanel, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>
\ No newline at end of file
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.Designer.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -33,7 +33,7 @@
this.cmbMethod = new System.Windows.Forms.ComboBox();
this.btnTest = new System.Windows.Forms.Button();
this.btnEditSchema = new System.Windows.Forms.Button();
- this.btnRebuild = new System.Windows.Forms.Button();
+ this.btnReset = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.txtConnStr = new System.Windows.Forms.TextBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
@@ -49,7 +49,7 @@
this.contentPanel.Controls.Add(this.pnlMethod);
this.contentPanel.Controls.Add(this.groupBox3);
this.contentPanel.Controls.Add(this.groupBox2);
- this.contentPanel.Controls.Add(this.btnRebuild);
+ this.contentPanel.Controls.Add(this.btnReset);
this.contentPanel.Controls.Add(this.btnEditSchema);
this.contentPanel.Controls.Add(this.btnTest);
this.contentPanel.Controls.Add(this.cmbMethod);
@@ -83,12 +83,12 @@
this.btnEditSchema.UseVisualStyleBackColor = true;
this.btnEditSchema.Click += new System.EventHandler(this.btnEditSchema_Click);
//
- // btnRebuild
+ // btnReset
//
- resources.ApplyResources(this.btnRebuild, "btnRebuild");
- this.btnRebuild.Name = "btnRebuild";
- this.btnRebuild.UseVisualStyleBackColor = true;
- this.btnRebuild.Click += new System.EventHandler(this.btnRebuild_Click);
+ resources.ApplyResources(this.btnReset, "btnReset");
+ this.btnReset.Name = "btnReset";
+ this.btnReset.UseVisualStyleBackColor = true;
+ this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
//
// groupBox2
//
@@ -140,7 +140,7 @@
#endregion
private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Button btnRebuild;
+ private System.Windows.Forms.Button btnReset;
private System.Windows.Forms.Button btnEditSchema;
private System.Windows.Forms.Button btnTest;
private System.Windows.Forms.ComboBox cmbMethod;
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -29,6 +29,10 @@
using Maestro.Editors.FeatureSource.Providers.Odbc.SubEditors;
using OSGeo.MapGuide.ObjectModels;
using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.MaestroAPI.SchemaOverrides;
+using System.Xml;
+using OSGeo.MapGuide.MaestroAPI.Schema;
+using Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor;
namespace Maestro.Editors.FeatureSource.Providers.Odbc
{
@@ -196,14 +200,84 @@
}
}
+ private OdbcConfigurationDocument _doc;
+
+ //This is ODBC, so there will only be one
+ private string _defaultSchemaName;
+
private void btnEditSchema_Click(object sender, EventArgs e)
{
+ if (string.IsNullOrEmpty(_defaultSchemaName))
+ {
+ var names = _fs.GetSchemaNames();
+ if (names.Length == 1)
+ {
+ _defaultSchemaName = names[0];
+ }
+ else
+ {
+ MessageBox.Show(Properties.Resources.NoSchemasInFeatureSource);
+ return;
+ }
+ }
+ string xml = _fs.GetConfigurationContent();
+ if (!string.IsNullOrEmpty(xml))
+ {
+ _doc = (OdbcConfigurationDocument)ConfigurationDocument.LoadXml(xml);
+ }
+ else
+ {
+ if (_doc == null)
+ {
+ BuildDefaultDocument();
+ }
+ }
+
+ var diag = new TableConfigurationDialog(_doc, _defaultSchemaName);
+ if (diag.ShowDialog() == DialogResult.OK)
+ {
+ _doc.ClearMappings();
+ foreach (var table in diag.ConfiguredTables)
+ {
+ _doc.AddOverride(table);
+ }
+ string updatedContent = _doc.ToXml();
+ _fs.SetConfigurationContent(updatedContent);
+ OnResourceChanged();
+ }
}
- private void btnRebuild_Click(object sender, EventArgs e)
+ private void BuildDefaultDocument()
{
+ _doc = new OdbcConfigurationDocument();
+ var xmlDoc = new XmlDocument();
+ XmlNamespaceManager mgr = new XmlNamespaceManager(xmlDoc.NameTable);
+ mgr.AddNamespace("xs", XmlNamespaces.XS);
+ mgr.AddNamespace("xsi", XmlNamespaces.XSI);
+ mgr.AddNamespace("fdo", XmlNamespaces.FDO);
+ mgr.AddNamespace("gml", XmlNamespaces.GML);
+ mgr.AddNamespace("xlink", XmlNamespaces.XLINK);
+ mgr.AddNamespace("fds", XmlNamespaces.FDS);
+
+ var desc = _fs.Describe();
+ _doc.AddSchema(desc.Schemas[0]); //Only one schema is supported by ODBC so this is ok
+
+ var scList = _fs.GetSpatialInfo(false);
+ foreach (var sc in scList.SpatialContext)
+ {
+ _doc.AddSpatialContext(sc);
+ }
}
+
+ private void btnReset_Click(object sender, EventArgs e)
+ {
+ _fs.SetConfigurationContent(null);
+ _fs.ConfigurationDocument = null;
+ _service.SyncSessionCopy();
+ BuildDefaultDocument();
+ MessageBox.Show(Properties.Resources.ConfigurationDocumentReset);
+ }
}
}
Modified: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.resx 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OdbcProviderCtrl.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -255,31 +255,31 @@
<data name=">>groupBox2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
- <data name="btnRebuild.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <data name="btnReset.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
- <data name="btnRebuild.Location" type="System.Drawing.Point, System.Drawing">
+ <data name="btnReset.Location" type="System.Drawing.Point, System.Drawing">
<value>287, 289</value>
</data>
- <data name="btnRebuild.Size" type="System.Drawing.Size, System.Drawing">
+ <data name="btnReset.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
- <data name="btnRebuild.TabIndex" type="System.Int32, mscorlib">
+ <data name="btnReset.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
- <data name="btnRebuild.Text" xml:space="preserve">
- <value>Rebuild</value>
+ <data name="btnReset.Text" xml:space="preserve">
+ <value>Reset</value>
</data>
- <data name=">>btnRebuild.Name" xml:space="preserve">
- <value>btnRebuild</value>
+ <data name=">>btnReset.Name" xml:space="preserve">
+ <value>btnReset</value>
</data>
- <data name=">>btnRebuild.Type" xml:space="preserve">
+ <data name=">>btnReset.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name=">>btnRebuild.Parent" xml:space="preserve">
+ <data name=">>btnReset.Parent" xml:space="preserve">
<value>contentPanel</value>
</data>
- <data name=">>btnRebuild.ZOrder" xml:space="preserve">
+ <data name=">>btnReset.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="btnEditSchema.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.Designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,214 @@
+namespace Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor
+{
+ partial class TableConfigCtrl
+ {
+ /// <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(TableConfigCtrl));
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtTable = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.txtKey = new System.Windows.Forms.TextBox();
+ this.btnKey = new System.Windows.Forms.Button();
+ this.btnX = new System.Windows.Forms.Button();
+ this.txtX = new System.Windows.Forms.TextBox();
+ this.btnY = new System.Windows.Forms.Button();
+ this.txtY = new System.Windows.Forms.TextBox();
+ this.btnZ = new System.Windows.Forms.Button();
+ this.txtZ = new System.Windows.Forms.TextBox();
+ this.chkGeometry = new System.Windows.Forms.CheckBox();
+ this.btnSpatialContext = new System.Windows.Forms.Button();
+ this.txtSpatialContext = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // txtTable
+ //
+ resources.ApplyResources(this.txtTable, "txtTable");
+ this.txtTable.Name = "txtTable";
+ this.txtTable.ReadOnly = true;
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // txtKey
+ //
+ resources.ApplyResources(this.txtKey, "txtKey");
+ this.txtKey.Name = "txtKey";
+ this.txtKey.ReadOnly = true;
+ this.txtKey.TextChanged += new System.EventHandler(this.txtKey_TextChanged);
+ //
+ // btnKey
+ //
+ resources.ApplyResources(this.btnKey, "btnKey");
+ this.btnKey.Name = "btnKey";
+ this.btnKey.UseVisualStyleBackColor = true;
+ this.btnKey.Click += new System.EventHandler(this.btnKey_Click);
+ //
+ // btnX
+ //
+ resources.ApplyResources(this.btnX, "btnX");
+ this.btnX.Name = "btnX";
+ this.btnX.UseVisualStyleBackColor = true;
+ this.btnX.Click += new System.EventHandler(this.btnX_Click);
+ //
+ // txtX
+ //
+ resources.ApplyResources(this.txtX, "txtX");
+ this.txtX.Name = "txtX";
+ this.txtX.ReadOnly = true;
+ this.txtX.TextChanged += new System.EventHandler(this.txtX_TextChanged);
+ //
+ // btnY
+ //
+ resources.ApplyResources(this.btnY, "btnY");
+ this.btnY.Name = "btnY";
+ this.btnY.UseVisualStyleBackColor = true;
+ this.btnY.Click += new System.EventHandler(this.btnY_Click);
+ //
+ // txtY
+ //
+ resources.ApplyResources(this.txtY, "txtY");
+ this.txtY.Name = "txtY";
+ this.txtY.ReadOnly = true;
+ this.txtY.TextChanged += new System.EventHandler(this.txtY_TextChanged);
+ //
+ // btnZ
+ //
+ resources.ApplyResources(this.btnZ, "btnZ");
+ this.btnZ.Name = "btnZ";
+ this.btnZ.UseVisualStyleBackColor = true;
+ this.btnZ.Click += new System.EventHandler(this.btnZ_Click);
+ //
+ // txtZ
+ //
+ resources.ApplyResources(this.txtZ, "txtZ");
+ this.txtZ.Name = "txtZ";
+ this.txtZ.ReadOnly = true;
+ this.txtZ.TextChanged += new System.EventHandler(this.txtZ_TextChanged);
+ //
+ // chkGeometry
+ //
+ resources.ApplyResources(this.chkGeometry, "chkGeometry");
+ this.chkGeometry.Name = "chkGeometry";
+ this.chkGeometry.UseVisualStyleBackColor = true;
+ this.chkGeometry.CheckedChanged += new System.EventHandler(this.chkGeometry_CheckedChanged);
+ //
+ // btnSpatialContext
+ //
+ resources.ApplyResources(this.btnSpatialContext, "btnSpatialContext");
+ this.btnSpatialContext.Name = "btnSpatialContext";
+ this.btnSpatialContext.UseVisualStyleBackColor = true;
+ this.btnSpatialContext.Click += new System.EventHandler(this.btnSpatialContext_Click);
+ //
+ // txtSpatialContext
+ //
+ resources.ApplyResources(this.txtSpatialContext, "txtSpatialContext");
+ this.txtSpatialContext.Name = "txtSpatialContext";
+ this.txtSpatialContext.ReadOnly = true;
+ this.txtSpatialContext.TextChanged += new System.EventHandler(this.txtSpatialContext_TextChanged);
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // TableConfigCtrl
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.Controls.Add(this.btnSpatialContext);
+ this.Controls.Add(this.txtSpatialContext);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.chkGeometry);
+ this.Controls.Add(this.btnZ);
+ this.Controls.Add(this.txtZ);
+ this.Controls.Add(this.btnY);
+ this.Controls.Add(this.txtY);
+ this.Controls.Add(this.btnX);
+ this.Controls.Add(this.txtX);
+ this.Controls.Add(this.btnKey);
+ this.Controls.Add(this.txtKey);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.txtTable);
+ this.Controls.Add(this.label1);
+ this.Name = "TableConfigCtrl";
+ resources.ApplyResources(this, "$this");
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox txtTable;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox txtKey;
+ private System.Windows.Forms.Button btnKey;
+ private System.Windows.Forms.Button btnX;
+ private System.Windows.Forms.TextBox txtX;
+ private System.Windows.Forms.Button btnY;
+ private System.Windows.Forms.TextBox txtY;
+ private System.Windows.Forms.Button btnZ;
+ private System.Windows.Forms.TextBox txtZ;
+ private System.Windows.Forms.CheckBox chkGeometry;
+ private System.Windows.Forms.Button btnSpatialContext;
+ private System.Windows.Forms.TextBox txtSpatialContext;
+ private System.Windows.Forms.Label label6;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,231 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.MaestroAPI.Schema;
+
+namespace Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor
+{
+ public partial class TableConfigCtrl : UserControl
+ {
+ public TableConfigCtrl()
+ {
+ InitializeComponent();
+ }
+
+ private string[] _scNames;
+
+ public void SetSpatialContexts(string[] spatialContextNames)
+ {
+ _scNames = spatialContextNames;
+ }
+
+ private TableOverrideItem _item;
+
+ public void Reset()
+ {
+ _item = null;
+ chkGeometry.Checked = false;
+ txtKey.Text = txtTable.Text = txtX.Text = txtY.Text = txtZ.Text = string.Empty;
+ }
+
+ internal void Init(TableOverrideItem item)
+ {
+ Reset();
+ chkGeometry.Checked = !string.IsNullOrEmpty(item.Class.DefaultGeometryPropertyName);
+ txtTable.Text = item.TableName;
+ txtSpatialContext.Text = item.SpatialContext;
+ txtKey.Text = item.Key;
+ txtX.Text = item.X;
+ txtY.Text = item.Y;
+ txtZ.Text = item.Z;
+ _item = item;
+ }
+
+ private void txtSpatialContext_TextChanged(object sender, EventArgs e)
+ {
+ if (_item != null)
+ _item.SpatialContext = txtSpatialContext.Text;
+ }
+
+ private void txtKey_TextChanged(object sender, EventArgs e)
+ {
+ if (_item != null)
+ _item.Key = txtKey.Text;
+ }
+
+ private void txtX_TextChanged(object sender, EventArgs e)
+ {
+ if (_item != null)
+ _item.X = txtX.Text;
+ }
+
+ private void txtY_TextChanged(object sender, EventArgs e)
+ {
+ if (_item != null)
+ _item.Y = txtY.Text;
+ }
+
+ private void txtZ_TextChanged(object sender, EventArgs e)
+ {
+ if (_item != null)
+ _item.Z = txtZ.Text;
+ }
+
+ private void chkGeometry_CheckedChanged(object sender, EventArgs e)
+ {
+ if (!chkGeometry.Checked)
+ {
+ if (_item != null)
+ {
+ //Remove existing geometry property if defined
+ if (!string.IsNullOrEmpty(_item.Class.DefaultGeometryPropertyName))
+ {
+ var prop = _item.Class.FindProperty(_item.Class.DefaultGeometryPropertyName);
+ if (prop != null)
+ {
+ _item.Class.RemoveProperty(prop);
+ }
+ _item.Class.DefaultGeometryPropertyName = null;
+ }
+ }
+ txtSpatialContext.Text = txtX.Text = txtY.Text = txtZ.Text = string.Empty;
+ }
+ else
+ {
+ if (_item != null)
+ {
+ //Set logical geometry property
+ var prop = new GeometricPropertyDefinition("Geometry", "");
+ prop.GeometricTypes = FeatureGeometricType.Point;
+ prop.HasElevation = true;
+ prop.HasMeasure = true;
+
+ _item.Class.AddProperty(prop);
+ _item.Class.DefaultGeometryPropertyName = prop.Name;
+
+ if (_scNames.Length > 0)
+ txtSpatialContext.Text = _scNames[0];
+ }
+ }
+ }
+
+ private string[] GetPropertyNames()
+ {
+ List<string> values = new List<string>();
+ foreach (var prop in _item.Class.Properties)
+ {
+ if (prop.Type == PropertyDefinitionType.Data)
+ {
+ values.Add(prop.Name);
+ }
+ }
+ return values.ToArray();
+ }
+
+ private string[] GetNumericPropertyNames()
+ {
+ List<string> values = new List<string>();
+ foreach (var prop in _item.Class.Properties)
+ {
+ if (prop.Type == PropertyDefinitionType.Data)
+ {
+ var dt = ((DataPropertyDefinition)prop).DataType;
+ switch (dt)
+ {
+ case DataPropertyType.Byte:
+ case DataPropertyType.Double:
+ case DataPropertyType.Int16:
+ case DataPropertyType.Int32:
+ case DataPropertyType.Int64:
+ case DataPropertyType.Single:
+ values.Add(prop.Name);
+ break;
+ }
+ }
+ }
+ return values.ToArray();
+ }
+
+ private void btnKey_Click(object sender, EventArgs e)
+ {
+ var item = GenericItemSelectionDialog.SelectItem(Properties.Resources.SelectProperty, Properties.Resources.SelectProperty, GetPropertyNames());
+ if (!string.IsNullOrEmpty(item))
+ {
+ txtKey.Text = item;
+
+ //Change the mapped logical class
+ var prop = _item.Class.FindProperty(item);
+ if (prop != null && prop.Type == PropertyDefinitionType.Data)
+ {
+ _item.Class.ClearIdentityProperties();
+ _item.Class.AddProperty((DataPropertyDefinition)prop, true);
+ }
+ }
+ }
+
+ private void btnX_Click(object sender, EventArgs e)
+ {
+ if (!chkGeometry.Checked)
+ {
+ MessageBox.Show(Properties.Resources.CheckGeometryFirst);
+ return;
+ }
+
+ var item = GenericItemSelectionDialog.SelectItem(Properties.Resources.SelectProperty, Properties.Resources.SelectProperty, GetNumericPropertyNames());
+ if (!string.IsNullOrEmpty(item))
+ {
+ txtX.Text = item;
+ }
+ }
+
+ private void btnY_Click(object sender, EventArgs e)
+ {
+ if (!chkGeometry.Checked)
+ {
+ MessageBox.Show(Properties.Resources.CheckGeometryFirst);
+ return;
+ }
+
+ var item = GenericItemSelectionDialog.SelectItem(Properties.Resources.SelectProperty, Properties.Resources.SelectProperty, GetNumericPropertyNames());
+ if (!string.IsNullOrEmpty(item))
+ {
+ txtY.Text = item;
+ }
+ }
+
+ private void btnZ_Click(object sender, EventArgs e)
+ {
+ if (!chkGeometry.Checked)
+ {
+ MessageBox.Show(Properties.Resources.CheckGeometryFirst);
+ return;
+ }
+
+ var item = GenericItemSelectionDialog.SelectItem(Properties.Resources.SelectProperty, Properties.Resources.SelectProperty, GetNumericPropertyNames());
+ if (!string.IsNullOrEmpty(item))
+ {
+ txtZ.Text = item;
+ }
+ }
+
+ private void btnSpatialContext_Click(object sender, EventArgs e)
+ {
+ if (!chkGeometry.Checked)
+ {
+ MessageBox.Show(Properties.Resources.CheckGeometryFirst);
+ return;
+ }
+
+ var item = GenericItemSelectionDialog.SelectItem(Properties.Resources.SelectSpatialContext, Properties.Resources.SelectSpatialContext, _scNames);
+ if (!string.IsNullOrEmpty(item))
+ {
+ txtSpatialContext.Text = item;
+ }
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigCtrl.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,609 @@
+<?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="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>11, 11</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>34, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Table</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>17</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="txtTable.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtTable.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 28</value>
+ </data>
+ <data name="txtTable.Size" type="System.Drawing.Size, System.Drawing">
+ <value>155, 20</value>
+ </data>
+ <data name="txtTable.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>txtTable.Name" xml:space="preserve">
+ <value>txtTable</value>
+ </data>
+ <data name=">>txtTable.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtTable.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtTable.ZOrder" xml:space="preserve">
+ <value>16</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>11, 52</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>63, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Key Column</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>15</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>11, 171</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>X Column</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>14</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>11, 213</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Y Column</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>13</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>11, 254</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Z Column</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label5.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label5.ZOrder" xml:space="preserve">
+ <value>12</value>
+ </data>
+ <data name="txtKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtKey.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 69</value>
+ </data>
+ <data name="txtKey.Size" type="System.Drawing.Size, System.Drawing">
+ <value>116, 20</value>
+ </data>
+ <data name="txtKey.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>txtKey.Name" xml:space="preserve">
+ <value>txtKey</value>
+ </data>
+ <data name=">>txtKey.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtKey.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtKey.ZOrder" xml:space="preserve">
+ <value>11</value>
+ </data>
+ <data name="btnKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnKey.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 67</value>
+ </data>
+ <data name="btnKey.Size" type="System.Drawing.Size, System.Drawing">
+ <value>33, 23</value>
+ </data>
+ <data name="btnKey.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="btnKey.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnKey.Name" xml:space="preserve">
+ <value>btnKey</value>
+ </data>
+ <data name=">>btnKey.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnKey.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnKey.ZOrder" xml:space="preserve">
+ <value>10</value>
+ </data>
+ <data name="btnX.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnX.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 185</value>
+ </data>
+ <data name="btnX.Size" type="System.Drawing.Size, System.Drawing">
+ <value>33, 23</value>
+ </data>
+ <data name="btnX.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="btnX.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnX.Name" xml:space="preserve">
+ <value>btnX</value>
+ </data>
+ <data name=">>btnX.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnX.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnX.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="txtX.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtX.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 187</value>
+ </data>
+ <data name="txtX.Size" type="System.Drawing.Size, System.Drawing">
+ <value>116, 20</value>
+ </data>
+ <data name="txtX.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name=">>txtX.Name" xml:space="preserve">
+ <value>txtX</value>
+ </data>
+ <data name=">>txtX.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtX.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtX.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="btnY.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnY.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 227</value>
+ </data>
+ <data name="btnY.Size" type="System.Drawing.Size, System.Drawing">
+ <value>33, 23</value>
+ </data>
+ <data name="btnY.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="btnY.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnY.Name" xml:space="preserve">
+ <value>btnY</value>
+ </data>
+ <data name=">>btnY.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnY.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnY.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="txtY.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtY.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 229</value>
+ </data>
+ <data name="txtY.Size" type="System.Drawing.Size, System.Drawing">
+ <value>116, 20</value>
+ </data>
+ <data name="txtY.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>txtY.Name" xml:space="preserve">
+ <value>txtY</value>
+ </data>
+ <data name=">>txtY.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtY.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtY.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="btnZ.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnZ.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 268</value>
+ </data>
+ <data name="btnZ.Size" type="System.Drawing.Size, System.Drawing">
+ <value>33, 23</value>
+ </data>
+ <data name="btnZ.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="btnZ.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnZ.Name" xml:space="preserve">
+ <value>btnZ</value>
+ </data>
+ <data name=">>btnZ.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnZ.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnZ.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="txtZ.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtZ.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 270</value>
+ </data>
+ <data name="txtZ.Size" type="System.Drawing.Size, System.Drawing">
+ <value>116, 20</value>
+ </data>
+ <data name="txtZ.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>txtZ.Name" xml:space="preserve">
+ <value>txtZ</value>
+ </data>
+ <data name=">>txtZ.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtZ.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtZ.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="chkGeometry.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="chkGeometry.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 95</value>
+ </data>
+ <data name="chkGeometry.Size" type="System.Drawing.Size, System.Drawing">
+ <value>71, 17</value>
+ </data>
+ <data name="chkGeometry.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name="chkGeometry.Text" xml:space="preserve">
+ <value>Geometry</value>
+ </data>
+ <data name=">>chkGeometry.Name" xml:space="preserve">
+ <value>chkGeometry</value>
+ </data>
+ <data name=">>chkGeometry.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>chkGeometry.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>chkGeometry.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="btnSpatialContext.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnSpatialContext.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="btnSpatialContext.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 137</value>
+ </data>
+ <data name="btnSpatialContext.Size" type="System.Drawing.Size, System.Drawing">
+ <value>33, 23</value>
+ </data>
+ <data name="btnSpatialContext.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="btnSpatialContext.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnSpatialContext.Name" xml:space="preserve">
+ <value>btnSpatialContext</value>
+ </data>
+ <data name=">>btnSpatialContext.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnSpatialContext.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnSpatialContext.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="txtSpatialContext.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtSpatialContext.Location" type="System.Drawing.Point, System.Drawing">
+ <value>14, 139</value>
+ </data>
+ <data name="txtSpatialContext.Size" type="System.Drawing.Size, System.Drawing">
+ <value>116, 20</value>
+ </data>
+ <data name="txtSpatialContext.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name=">>txtSpatialContext.Name" xml:space="preserve">
+ <value>txtSpatialContext</value>
+ </data>
+ <data name=">>txtSpatialContext.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtSpatialContext.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtSpatialContext.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>11, 123</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>78, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Spatial Context</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label6.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label6.ZOrder" xml:space="preserve">
+ <value>2</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>186, 373</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>TableConfigCtrl</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
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.Designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,183 @@
+namespace Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor
+{
+ partial class TableConfigurationDialog
+ {
+ /// <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 Windows Form 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(TableConfigurationDialog));
+ this.btnSave = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.label1 = new System.Windows.Forms.Label();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.grdTables = new System.Windows.Forms.DataGridView();
+ this.tableConfigCtrl = new Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor.TableConfigCtrl();
+ this.COL_OVERRIDE = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.COL_NAME = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.COL_KEY = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.COL_X = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.COL_Y = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.COL_Z = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.grdTables)).BeginInit();
+ this.SuspendLayout();
+ //
+ // btnSave
+ //
+ resources.ApplyResources(this.btnSave, "btnSave");
+ this.btnSave.Name = "btnSave";
+ this.btnSave.UseVisualStyleBackColor = true;
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // btnCancel
+ //
+ resources.ApplyResources(this.btnCancel, "btnCancel");
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // splitContainer1
+ //
+ resources.ApplyResources(this.splitContainer1, "splitContainer1");
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer1.Name = "splitContainer1";
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.grdTables);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.tableConfigCtrl);
+ //
+ // grdTables
+ //
+ this.grdTables.AllowUserToAddRows = false;
+ this.grdTables.AllowUserToDeleteRows = false;
+ this.grdTables.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.grdTables.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.COL_OVERRIDE,
+ this.COL_NAME,
+ this.COL_KEY,
+ this.COL_X,
+ this.COL_Y,
+ this.COL_Z});
+ resources.ApplyResources(this.grdTables, "grdTables");
+ this.grdTables.Name = "grdTables";
+ this.grdTables.RowHeadersVisible = false;
+ this.grdTables.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grdTables_CellContentClick);
+ this.grdTables.CurrentCellDirtyStateChanged += new System.EventHandler(this.grdTables_CurrentCellDirtyStateChanged);
+ this.grdTables.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grdTables_CellContentClick);
+ //
+ // tableConfigCtrl
+ //
+ resources.ApplyResources(this.tableConfigCtrl, "tableConfigCtrl");
+ this.tableConfigCtrl.Name = "tableConfigCtrl";
+ //
+ // COL_OVERRIDE
+ //
+ this.COL_OVERRIDE.DataPropertyName = "Override";
+ resources.ApplyResources(this.COL_OVERRIDE, "COL_OVERRIDE");
+ this.COL_OVERRIDE.Name = "COL_OVERRIDE";
+ //
+ // COL_NAME
+ //
+ this.COL_NAME.DataPropertyName = "TableName";
+ resources.ApplyResources(this.COL_NAME, "COL_NAME");
+ this.COL_NAME.Name = "COL_NAME";
+ this.COL_NAME.ReadOnly = true;
+ //
+ // COL_KEY
+ //
+ this.COL_KEY.DataPropertyName = "Key";
+ resources.ApplyResources(this.COL_KEY, "COL_KEY");
+ this.COL_KEY.Name = "COL_KEY";
+ this.COL_KEY.ReadOnly = true;
+ //
+ // COL_X
+ //
+ this.COL_X.DataPropertyName = "X";
+ resources.ApplyResources(this.COL_X, "COL_X");
+ this.COL_X.Name = "COL_X";
+ this.COL_X.ReadOnly = true;
+ //
+ // COL_Y
+ //
+ this.COL_Y.DataPropertyName = "Y";
+ resources.ApplyResources(this.COL_Y, "COL_Y");
+ this.COL_Y.Name = "COL_Y";
+ this.COL_Y.ReadOnly = true;
+ //
+ // COL_Z
+ //
+ this.COL_Z.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.COL_Z.DataPropertyName = "Z";
+ resources.ApplyResources(this.COL_Z, "COL_Z");
+ this.COL_Z.Name = "COL_Z";
+ this.COL_Z.ReadOnly = true;
+ //
+ // TableConfigurationDialog
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.splitContainer1);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnSave);
+ this.Name = "TableConfigurationDialog";
+ this.ShowIcon = false;
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ this.splitContainer1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.grdTables)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnSave;
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.DataGridView grdTables;
+ private TableConfigCtrl tableConfigCtrl;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn COL_OVERRIDE;
+ private System.Windows.Forms.DataGridViewTextBoxColumn COL_NAME;
+ private System.Windows.Forms.DataGridViewTextBoxColumn COL_KEY;
+ private System.Windows.Forms.DataGridViewTextBoxColumn COL_X;
+ private System.Windows.Forms.DataGridViewTextBoxColumn COL_Y;
+ private System.Windows.Forms.DataGridViewTextBoxColumn COL_Z;
+ }
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,142 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI.SchemaOverrides;
+using OSGeo.MapGuide.MaestroAPI.Schema;
+
+namespace Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor
+{
+ public partial class TableConfigurationDialog : Form
+ {
+ private BindingList<TableOverrideItem> _tables;
+
+ private TableConfigurationDialog()
+ {
+ InitializeComponent();
+ grdTables.AutoGenerateColumns = false;
+ _tables = new BindingList<TableOverrideItem>();
+ grdTables.DataSource = _tables;
+ }
+
+ public TableConfigurationDialog(OdbcConfigurationDocument doc, string schemaName)
+ : this()
+ {
+ tableConfigCtrl.SetSpatialContexts(doc.GetSpatialContextNames());
+
+ var schema = doc.GetSchema(schemaName);
+ Dictionary<string, TableOverrideItem> tables = new Dictionary<string, TableOverrideItem>();
+ List<TableOverrideItem> existing = new List<TableOverrideItem>();
+ foreach (var tbl in doc.GetMappingsForSchema(schemaName))
+ {
+ var cls = doc.GetClass(schemaName, tbl.ClassName);
+ tables[tbl.ClassName] = new TableOverrideItem()
+ {
+ Override = true,
+ Class = cls,
+ TableName = tbl.ClassName,
+ Key = cls.IdentityProperties.Count > 0 ? cls.IdentityProperties[0].Name : string.Empty,
+ X = tbl.XColumn,
+ Y = tbl.YColumn,
+ Z = tbl.ZColumn
+ };
+ if (!string.IsNullOrEmpty(cls.DefaultGeometryPropertyName))
+ {
+ var prop = cls.FindProperty(cls.DefaultGeometryPropertyName) as GeometricPropertyDefinition;
+ if (prop != null)
+ tables[tbl.ClassName].SpatialContext = prop.SpatialContextAssociation;
+ }
+ existing.Add(tables[tbl.ClassName]);
+ }
+ foreach (var cls in schema.Classes)
+ {
+ if (!tables.ContainsKey(cls.Name))
+ {
+ tables[cls.Name] = new TableOverrideItem()
+ {
+ Override = false,
+ Class = cls,
+ TableName = cls.Name,
+ Geometry = false,
+ Key = cls.IdentityProperties.Count > 0 ? cls.IdentityProperties[0].Name : string.Empty
+ };
+ }
+ }
+
+ foreach (var tbl in tables.Values)
+ {
+ _tables.Add(tbl);
+ }
+ }
+
+ public OdbcTableItem[] ConfiguredTables
+ {
+ get
+ {
+ var items = new List<OdbcTableItem>();
+ foreach (DataGridViewRow row in grdTables.Rows)
+ {
+ if (row.Cells[0].Value != null && (bool)row.Cells[0].Value)
+ {
+ var table = (TableOverrideItem)row.DataBoundItem;
+ items.Add(new OdbcTableItem()
+ {
+ ClassName = table.Class.Name,
+ SchemaName = table.Class.Parent.Name,
+ SpatialContextName = table.SpatialContext,
+ XColumn = table.X,
+ YColumn = table.Y,
+ ZColumn = table.Z
+ });
+ }
+ }
+ return items.ToArray();
+ }
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ }
+
+ private void btnSave_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.OK;
+ }
+
+ private void grdTables_CurrentCellDirtyStateChanged(object sender, EventArgs e)
+ {
+ var cell = grdTables.CurrentCell;
+ if (cell is DataGridViewCheckBoxCell)
+ {
+ grdTables.CommitEdit(DataGridViewDataErrorContexts.Commit);
+ if (cell.Value != null && Convert.ToBoolean(cell.Value))
+ {
+ var row = grdTables.Rows[cell.RowIndex];
+ tableConfigCtrl.Reset();
+ tableConfigCtrl.Init((TableOverrideItem)row.DataBoundItem);
+ }
+ else
+ {
+ tableConfigCtrl.Reset();
+ }
+ }
+ }
+
+ private void grdTables_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.RowIndex >= 0)
+ {
+ tableConfigCtrl.Reset();
+ var row = grdTables.Rows[e.RowIndex];
+ if (row.Cells[0].Value != null && Convert.ToBoolean(row.Cells[0].Value))
+ {
+ tableConfigCtrl.Init((TableOverrideItem)row.DataBoundItem);
+ }
+ }
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableConfigurationDialog.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,414 @@
+<?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="btnSave.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnSave.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="btnSave.Location" type="System.Drawing.Point, System.Drawing">
+ <value>512, 306</value>
+ </data>
+ <data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="btnSave.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="btnSave.Text" xml:space="preserve">
+ <value>Save</value>
+ </data>
+ <data name=">>btnSave.Name" xml:space="preserve">
+ <value>btnSave</value>
+ </data>
+ <data name=">>btnSave.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnSave.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnSave.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnCancel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>593, 306</value>
+ </data>
+ <data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="btnCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>btnCancel.Name" xml:space="preserve">
+ <value>btnCancel</value>
+ </data>
+ <data name=">>btnCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnCancel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnCancel.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>13, 13</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>467, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Specify Geometry and Identity Properties. Tick Override to edit. Only overriden rows can be edited</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="splitContainer1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 39</value>
+ </data>
+ <metadata name="COL_OVERRIDE.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_OVERRIDE.HeaderText" xml:space="preserve">
+ <value>Override</value>
+ </data>
+ <data name="COL_OVERRIDE.Width" type="System.Int32, mscorlib">
+ <value>60</value>
+ </data>
+ <metadata name="COL_NAME.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_NAME.HeaderText" xml:space="preserve">
+ <value>Name</value>
+ </data>
+ <metadata name="COL_KEY.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_KEY.HeaderText" xml:space="preserve">
+ <value>Key</value>
+ </data>
+ <data name="COL_KEY.Width" type="System.Int32, mscorlib">
+ <value>50</value>
+ </data>
+ <metadata name="COL_X.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_X.HeaderText" xml:space="preserve">
+ <value>X Column</value>
+ </data>
+ <data name="COL_X.Width" type="System.Int32, mscorlib">
+ <value>50</value>
+ </data>
+ <metadata name="COL_Y.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_Y.HeaderText" xml:space="preserve">
+ <value>Y Column</value>
+ </data>
+ <data name="COL_Y.Width" type="System.Int32, mscorlib">
+ <value>50</value>
+ </data>
+ <metadata name="COL_Z.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="COL_Z.HeaderText" xml:space="preserve">
+ <value>Z Column</value>
+ </data>
+ <data name="grdTables.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="grdTables.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="grdTables.Size" type="System.Drawing.Size, System.Drawing">
+ <value>454, 250</value>
+ </data>
+ <data name="grdTables.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>grdTables.Name" xml:space="preserve">
+ <value>grdTables</value>
+ </data>
+ <data name=">>grdTables.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=">>grdTables.Parent" xml:space="preserve">
+ <value>splitContainer1.Panel1</value>
+ </data>
+ <data name=">>grdTables.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name=">>splitContainer1.Panel1.Name" xml:space="preserve">
+ <value>splitContainer1.Panel1</value>
+ </data>
+ <data name=">>splitContainer1.Panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve">
+ <value>splitContainer1</value>
+ </data>
+ <data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="tableConfigCtrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="tableConfigCtrl.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="tableConfigCtrl.Size" type="System.Drawing.Size, System.Drawing">
+ <value>194, 250</value>
+ </data>
+ <data name="tableConfigCtrl.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>tableConfigCtrl.Name" xml:space="preserve">
+ <value>tableConfigCtrl</value>
+ </data>
+ <data name=">>tableConfigCtrl.Type" xml:space="preserve">
+ <value>Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor.TableConfigCtrl, Maestro.Editors, Version=3.0.0.5475, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>tableConfigCtrl.Parent" xml:space="preserve">
+ <value>splitContainer1.Panel2</value>
+ </data>
+ <data name=">>tableConfigCtrl.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name=">>splitContainer1.Panel2.Name" xml:space="preserve">
+ <value>splitContainer1.Panel2</value>
+ </data>
+ <data name=">>splitContainer1.Panel2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve">
+ <value>splitContainer1</value>
+ </data>
+ <data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>652, 250</value>
+ </data>
+ <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
+ <value>454</value>
+ </data>
+ <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>splitContainer1.Name" xml:space="preserve">
+ <value>splitContainer1</value>
+ </data>
+ <data name=">>splitContainer1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>splitContainer1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>splitContainer1.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.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>680, 341</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>WindowsDefaultBounds</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Table Configuration</value>
+ </data>
+ <data name=">>COL_OVERRIDE.Name" xml:space="preserve">
+ <value>COL_OVERRIDE</value>
+ </data>
+ <data name=">>COL_OVERRIDE.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewCheckBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>COL_NAME.Name" xml:space="preserve">
+ <value>COL_NAME</value>
+ </data>
+ <data name=">>COL_NAME.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>COL_KEY.Name" xml:space="preserve">
+ <value>COL_KEY</value>
+ </data>
+ <data name=">>COL_KEY.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>COL_X.Name" xml:space="preserve">
+ <value>COL_X</value>
+ </data>
+ <data name=">>COL_X.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>COL_Y.Name" xml:space="preserve">
+ <value>COL_Y</value>
+ </data>
+ <data name=">>COL_Y.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>COL_Z.Name" xml:space="preserve">
+ <value>COL_Z</value>
+ </data>
+ <data name=">>COL_Z.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>TableConfigurationDialog</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>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/FeatureSource/Providers/Odbc/OverrideEditor/TableOverrideItem.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.ComponentModel;
+using OSGeo.MapGuide.MaestroAPI.Schema;
+
+namespace Maestro.Editors.FeatureSource.Providers.Odbc.OverrideEditor
+{
+ internal class TableOverrideItem : INotifyPropertyChanged
+ {
+ public ClassDefinition Class { get; set; }
+
+ public string TableName { get; set; }
+
+ private bool _override;
+ private string _key;
+ private string _x;
+ private string _y;
+ private string _z;
+ private string _spatialContext;
+
+ public bool Override
+ {
+ get
+ {
+ return _override;
+ }
+ set
+ {
+ _override = value;
+ OnPropertyChanged("Override");
+ }
+ }
+
+ [DisplayName("Spatial Context")]
+ public string SpatialContext
+ {
+ get { return _spatialContext; }
+ set
+ {
+ _spatialContext = value;
+ if (!string.IsNullOrEmpty(Class.DefaultGeometryPropertyName))
+ {
+ var prop = Class.FindProperty(Class.DefaultGeometryPropertyName) as GeometricPropertyDefinition;
+ if (prop != null)
+ prop.SpatialContextAssociation = value;
+ }
+ OnPropertyChanged("SpatialContext");
+ }
+ }
+
+ [DisplayName("Key Column")]
+ public string Key
+ {
+ get { return _key; }
+ set
+ {
+ _key = value;
+ OnPropertyChanged("Key");
+ }
+ }
+
+ private bool _geom;
+
+ [DisplayName("Has Geometry")]
+ public bool Geometry
+ {
+ get { return _geom; }
+ set
+ {
+ _geom = value;
+ OnPropertyChanged("Geometry");
+ }
+ }
+
+ [DisplayName("X Column")]
+ public string X
+ {
+ get { return _x; }
+ set
+ {
+ _x = value;
+ OnPropertyChanged("X");
+ }
+ }
+
+ [DisplayName("Y Column")]
+ public string Y
+ {
+ get { return _y; }
+ set
+ {
+ _y = value;
+ OnPropertyChanged("Y");
+ }
+ }
+
+ [DisplayName("Z Column")]
+ public string Z
+ {
+ get { return _z; }
+ set
+ {
+ _z = value;
+ OnPropertyChanged("Z");
+ }
+ }
+
+ private void OnPropertyChanged(string name)
+ {
+ var handler = this.PropertyChanged;
+ if (handler != null)
+ handler(this, new PropertyChangedEventArgs(name));
+ }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+ }
+}
Modified: sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2011-02-28 15:17:24 UTC (rev 5571)
@@ -225,6 +225,19 @@
<Compile Include="FeatureSource\Providers\Odbc\OdbcProviderCtrl.Designer.cs">
<DependentUpon>OdbcProviderCtrl.cs</DependentUpon>
</Compile>
+ <Compile Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigCtrl.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigCtrl.Designer.cs">
+ <DependentUpon>TableConfigCtrl.cs</DependentUpon>
+ </Compile>
+ <Compile Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigurationDialog.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigurationDialog.Designer.cs">
+ <DependentUpon>TableConfigurationDialog.cs</DependentUpon>
+ </Compile>
+ <Compile Include="FeatureSource\Providers\Odbc\OverrideEditor\TableOverrideItem.cs" />
<Compile Include="FeatureSource\Providers\Odbc\SubEditors\ConnectionStringCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -969,6 +982,12 @@
<EmbeddedResource Include="FeatureSource\Providers\Odbc\OdbcProviderCtrl.resx">
<DependentUpon>OdbcProviderCtrl.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigCtrl.resx">
+ <DependentUpon>TableConfigCtrl.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FeatureSource\Providers\Odbc\OverrideEditor\TableConfigurationDialog.resx">
+ <DependentUpon>TableConfigurationDialog.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="FeatureSource\Providers\Odbc\SubEditors\ConnectionStringCtrl.resx">
<DependentUpon>ConnectionStringCtrl.cs</DependentUpon>
</EmbeddedResource>
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -205,6 +205,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Ensure the Geometry box is checked.
+ /// </summary>
+ internal static string CheckGeometryFirst {
+ get {
+ return ResourceManager.GetString("CheckGeometryFirst", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap clipboard_paste {
get {
object obj = ResourceManager.GetObject("clipboard-paste", resourceCulture);
@@ -310,6 +319,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Configuration Document has been reset.
+ /// </summary>
+ internal static string ConfigurationDocumentReset {
+ get {
+ return ResourceManager.GetString("ConfigurationDocumentReset", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Confirm.
/// </summary>
internal static string Confirm {
@@ -1838,6 +1856,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Feature Source has no schemas.
+ /// </summary>
+ internal static string NoSchemasInFeatureSource {
+ get {
+ return ResourceManager.GetString("NoSchemasInFeatureSource", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to No site service available.
/// </summary>
internal static string NoSiteService {
@@ -2208,6 +2235,24 @@
}
/// <summary>
+ /// Looks up a localized string similar to Select Property.
+ /// </summary>
+ internal static string SelectProperty {
+ get {
+ return ResourceManager.GetString("SelectProperty", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Select Spatial Context.
+ /// </summary>
+ internal static string SelectSpatialContext {
+ get {
+ return ResourceManager.GetString("SelectSpatialContext", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Please specify the symbol library first.
/// </summary>
internal static string SelectSymbolLibraryFirst {
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2011-02-28 15:17:24 UTC (rev 5571)
@@ -1106,4 +1106,19 @@
<data name="Infinity" xml:space="preserve">
<value>Infinity</value>
</data>
+ <data name="SelectProperty" xml:space="preserve">
+ <value>Select Property</value>
+ </data>
+ <data name="NoSchemasInFeatureSource" xml:space="preserve">
+ <value>Feature Source has no schemas</value>
+ </data>
+ <data name="SelectSpatialContext" xml:space="preserve">
+ <value>Select Spatial Context</value>
+ </data>
+ <data name="CheckGeometryFirst" xml:space="preserve">
+ <value>Ensure the Geometry box is checked</value>
+ </data>
+ <data name="ConfigurationDocumentReset" xml:space="preserve">
+ <value>Configuration Document has been reset</value>
+ </data>
</root>
\ No newline at end of file
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSourceInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSourceInterfaces.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSourceInterfaces.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -369,6 +369,17 @@
}
/// <summary>
+ /// Gets the names of all the schemas in this feature source
+ /// </summary>
+ /// <param name="fs"></param>
+ /// <returns></returns>
+ public static string[] GetSchemaNames(this IFeatureSource fs)
+ {
+ Check.NotNull(fs, "fs");
+ return fs.CurrentConnection.FeatureService.GetSchemas(fs.ResourceID);
+ }
+
+ /// <summary>
/// Sets the connection properties of the feature source
/// </summary>
/// <param name="fs"></param>
@@ -421,10 +432,29 @@
if (string.IsNullOrEmpty(fs.ConfigurationDocument))
fs.ConfigurationDocument = "config.xml";
- using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(xmlContent)))
+ if (string.IsNullOrEmpty(xmlContent))
{
- fs.SetResourceData(fs.ConfigurationDocument, ResourceDataType.Stream, ms);
+ bool hasResourceData = false;
+ var resDataList = fs.EnumerateResourceData();
+ foreach (var resData in resDataList)
+ {
+ if (resData.Name == fs.ConfigurationDocument)
+ {
+ hasResourceData = true;
+ break;
+ }
+ }
+
+ if (hasResourceData)
+ fs.DeleteResourceData(fs.ConfigurationDocument);
}
+ else
+ {
+ using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(xmlContent)))
+ {
+ fs.SetResourceData(fs.ConfigurationDocument, ResourceDataType.Stream, ms);
+ }
+ }
}
/// <summary>
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/IFdoSpatialContext.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/IFdoSpatialContext.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/IFdoSpatialContext.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -121,7 +121,7 @@
crs.AppendChild(remarks);
var csName = doc.CreateElement("gml", "srsName", XmlNamespaces.GML);
- csName.InnerText = this.CoordinateSystemName;
+ csName.InnerText = string.IsNullOrEmpty(this.CoordinateSystemName) ? this.Name : this.CoordinateSystemName;
crs.AppendChild(csName);
var ext = doc.CreateElement("gml", "validArea", XmlNamespaces.GML);
@@ -146,7 +146,7 @@
if (string.IsNullOrEmpty(this.CoordinateSystemWkt))
{
- baseCrs.SetAttribute("href", XmlNamespaces.XLINK, "http://fdo.osgeo.org/schemas/feature/crs/#" + this.CoordinateSystemName);
+ baseCrs.SetAttribute("href", XmlNamespaces.XLINK, "http://fdo.osgeo.org/schemas/feature/crs/#" + (string.IsNullOrEmpty(this.CoordinateSystemName) ? this.Name : this.CoordinateSystemName));
}
else
{
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/ClassDefinition.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/ClassDefinition.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/ClassDefinition.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -106,6 +106,11 @@
}
/// <summary>
+ /// Removes the assigned identity properties
+ /// </summary>
+ public void ClearIdentityProperties() { _identity.Clear(); }
+
+ /// <summary>
/// Gets the properties
/// </summary>
public ReadOnlyCollection<PropertyDefinition> Properties
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/DataPropertyDefinition.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/DataPropertyDefinition.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/DataPropertyDefinition.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -68,17 +68,17 @@
case DataPropertyType.Byte:
return "fdo:byte";
case DataPropertyType.DateTime:
- return "xs:datetime";
+ return "xs:dateTime";
case DataPropertyType.Double:
- return "fdo:double";
+ return "xs:double";
case DataPropertyType.Int16:
- return "fdo:int16";
+ return "xs:int16";
case DataPropertyType.Int32:
return "fdo:int32";
case DataPropertyType.Int64:
- return "fdo:int64";
+ return "xs:int64";
case DataPropertyType.Single:
- return "fdo:single";
+ return "xs:single";
case DataPropertyType.String:
return "xs:string";
case DataPropertyType.Clob:
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/GeometricPropertyDefinition.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/GeometricPropertyDefinition.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Schema/GeometricPropertyDefinition.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -76,10 +76,109 @@
public string SpatialContextAssociation { get; set; }
- public FeatureGeometricType GeometricTypes { get; set; }
+ private FeatureGeometricType _geometricTypes;
- public SpecificGeometryType[] SpecificGeometryTypes { get; set; }
+ public FeatureGeometricType GeometricTypes
+ {
+ get { return _geometricTypes; }
+ set
+ {
+ _geometricTypes = value;
+ Dictionary<SpecificGeometryType, SpecificGeometryType> sgts = new Dictionary<SpecificGeometryType, SpecificGeometryType>();
+ foreach (FeatureGeometricType fgt in Enum.GetValues(typeof(FeatureGeometricType)))
+ {
+ if ((_geometricTypes & fgt) > 0)
+ {
+ switch (fgt)
+ {
+ case FeatureGeometricType.Point:
+ sgts.Add(SpecificGeometryType.Point, SpecificGeometryType.Point);
+ sgts.Add(SpecificGeometryType.MultiPoint, SpecificGeometryType.MultiPoint);
+ break;
+ case FeatureGeometricType.Curve:
+ sgts.Add(SpecificGeometryType.LineString, SpecificGeometryType.LineString);
+ sgts.Add(SpecificGeometryType.MultiLineString, SpecificGeometryType.MultiLineString);
+ sgts.Add(SpecificGeometryType.CurveString, SpecificGeometryType.CurveString);
+ sgts.Add(SpecificGeometryType.MultiCurveString, SpecificGeometryType.MultiCurveString);
+ break;
+ case FeatureGeometricType.Surface:
+ sgts.Add(SpecificGeometryType.Polygon, SpecificGeometryType.Polygon);
+ sgts.Add(SpecificGeometryType.MultiPolygon, SpecificGeometryType.MultiPolygon);
+ sgts.Add(SpecificGeometryType.CurvePolygon, SpecificGeometryType.CurvePolygon);
+ sgts.Add(SpecificGeometryType.MultiCurvePolygon, SpecificGeometryType.MultiCurvePolygon);
+ break;
+ }
+ }
+ }
+
+ _sgts = new List<SpecificGeometryType>(sgts.Keys).ToArray();
+ }
+ }
+
+ private SpecificGeometryType[] _sgts;
+
+ public SpecificGeometryType[] SpecificGeometryTypes
+ {
+ get { return _sgts; }
+ set
+ {
+ _sgts = value;
+
+ bool hasPoint = false;
+ bool hasLine = false;
+ bool hasPoly = false;
+
+ for (int i = 0; i < _sgts.Length; i++)
+ {
+ if (_sgts[i] == SpecificGeometryType.Point ||
+ _sgts[i] == SpecificGeometryType.MultiPoint)
+ hasPoint = true;
+
+ if (_sgts[i] == SpecificGeometryType.LineString ||
+ _sgts[i] == SpecificGeometryType.MultiLineString ||
+ _sgts[i] == SpecificGeometryType.CurveString ||
+ _sgts[i] == SpecificGeometryType.MultiCurveString)
+ hasLine = true;
+
+ if (_sgts[i] == SpecificGeometryType.Polygon ||
+ _sgts[i] == SpecificGeometryType.MultiPolygon ||
+ _sgts[i] == SpecificGeometryType.CurvePolygon ||
+ _sgts[i] == SpecificGeometryType.MultiCurvePolygon)
+ hasPoly = true;
+
+ if (_sgts[i] == SpecificGeometryType.MultiGeometry)
+ hasPoly = hasPoint = hasLine = true;
+ }
+
+ FeatureGeometricType? fgt = null;
+ if (hasPoint)
+ {
+ if (fgt.HasValue)
+ fgt = fgt.Value | FeatureGeometricType.Point;
+ else
+ fgt = FeatureGeometricType.Point;
+ }
+ if (hasLine)
+ {
+ if (fgt.HasValue)
+ fgt = fgt.Value | FeatureGeometricType.Curve;
+ else
+ fgt = FeatureGeometricType.Curve;
+ }
+ if (hasPoly)
+ {
+ if (fgt.HasValue)
+ fgt = fgt.Value | FeatureGeometricType.Surface;
+ else
+ fgt = FeatureGeometricType.Surface;
+ }
+
+ if (fgt.HasValue)
+ _geometricTypes = fgt.Value;
+ }
+ }
+
public override PropertyDefinitionType Type
{
get { return PropertyDefinitionType.Geometry; }
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/ConfigurationDocument.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/ConfigurationDocument.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/ConfigurationDocument.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -52,6 +52,18 @@
return null;
}
+ public string[] GetSpatialContextNames()
+ {
+ List<string> names = new List<string>();
+
+ foreach (var ctx in _spatialContexts)
+ {
+ names.Add(ctx.Name);
+ }
+
+ return names.ToArray();
+ }
+
public void AddSchema(FeatureSchema schema) { _schemas.Add(schema); }
public void RemoveSchema(FeatureSchema schema) { _schemas.Remove(schema); }
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcConfigurationDocument.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcConfigurationDocument.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcConfigurationDocument.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -37,7 +37,9 @@
item.Parent = this;
}
- private List<OdbcTableItem> GetMappingsForSchema(string schemaName)
+ public void ClearMappings() { _tables.Clear(); }
+
+ public List<OdbcTableItem> GetMappingsForSchema(string schemaName)
{
List<OdbcTableItem> items = new List<OdbcTableItem>();
foreach (var item in _tables)
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcTableItem.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcTableItem.cs 2011-02-28 09:46:21 UTC (rev 5570)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/SchemaOverrides/OdbcTableItem.cs 2011-02-28 15:17:24 UTC (rev 5571)
@@ -51,11 +51,32 @@
var table = doc.CreateElement("Table");
table.SetAttribute("name", this.ClassName);
{
+ PropertyDefinition geomProp = null;
foreach (var prop in cls.Properties)
{
+ //If this is geometry, we'll handle it later
+ if (prop.Name == cls.DefaultGeometryPropertyName)
+ {
+ geomProp = prop;
+ continue;
+ }
+
var el = doc.CreateElement("element");
el.SetAttribute("name", prop.Name);
+ var col = doc.CreateElement("Column");
+ col.SetAttribute("name", prop.Name);
+
+ el.AppendChild(col);
+ table.AppendChild(el);
+ }
+
+ //Append geometry mapping
+ if (geomProp != null)
+ {
+ var el = doc.CreateElement("element");
+ el.SetAttribute("name", geomProp.Name);
+
if (!string.IsNullOrEmpty(this.XColumn))
el.SetAttribute("xColumnName", this.XColumn);
if (!string.IsNullOrEmpty(this.YColumn))
@@ -63,10 +84,6 @@
if (!string.IsNullOrEmpty(this.ZColumn))
el.SetAttribute("zColumnName", this.ZColumn);
- var col = doc.CreateElement("Column");
- col.SetAttribute("name", prop.Name);
-
- el.AppendChild(col);
table.AppendChild(el);
}
}
@@ -95,18 +112,25 @@
}
var table = node["Table"];
- var el = table["element"];
- var x = el.Attributes["xColumnName"];
- var y = el.Attributes["yColumnName"];
- var z = el.Attributes["zColumnName"];
+ foreach (System.Xml.XmlNode el in table.ChildNodes)
+ {
+ var colName = el.Attributes["name"];
- if (x != null)
- this.XColumn = x.Value;
- if (y != null)
- this.YColumn = y.Value;
- if (z != null)
- this.ZColumn = z.Value;
+ if (colName.Value == cls.DefaultGeometryPropertyName)
+ {
+ var x = el.Attributes["xColumnName"];
+ var y = el.Attributes["yColumnName"];
+ var z = el.Attributes["zColumnName"];
+
+ if (x != null)
+ this.XColumn = x.Value;
+ if (y != null)
+ this.YColumn = y.Value;
+ if (z != null)
+ this.ZColumn = z.Value;
+ }
+ }
}
}
}
More information about the mapguide-commits
mailing list