[mapguide-commits] r5023 - in sandbox/maestro-3.0: Generated
Maestro.Base/Editor Maestro.Editors Maestro.Editors/Common
Maestro.Editors/LayerDefinition/Vector
Maestro.Editors/Properties Maestro.Editors/Resources
OSGeo.MapGuide.MaestroAPI/Services OSGeo.MapGuide.MaestroAPI.Http
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sat Jul 10 11:34:02 EDT 2010
Author: jng
Date: 2010-07-10 15:34:02 +0000 (Sat, 10 Jul 2010)
New Revision: 5023
Added:
sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.cs
sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.designer.cs
sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.resx
sandbox/maestro-3.0/Maestro.Editors/Resources/block.png
sandbox/maestro-3.0/Maestro.Editors/Resources/funnel.png
sandbox/maestro-3.0/Maestro.Editors/Resources/grid.png
sandbox/maestro-3.0/Maestro.Editors/Resources/property.png
sandbox/maestro-3.0/Maestro.Editors/Resources/ruler.png
sandbox/maestro-3.0/Maestro.Editors/Resources/sum.png
sandbox/maestro-3.0/Maestro.Editors/Resources/table.png
Modified:
sandbox/maestro-3.0/Generated/FdoProviderCapabilities-1.0.0.designer.cs
sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
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.Http/HttpServerConnection.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IFeatureService.cs
Log:
This submission includes the following changes:
- Port over the current expression editor with some minor tweaks in visuals/naming/usage
- Enable Layer Definition Editor to use the Expression Editor for editing the Filter, Url and Tooltip properties
- Add missing GetProviderCapabilities() API to IFeatureService
- Fix generated code for FdoProviderCapabilities
Modified: sandbox/maestro-3.0/Generated/FdoProviderCapabilities-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/FdoProviderCapabilities-1.0.0.designer.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Generated/FdoProviderCapabilities-1.0.0.designer.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -2272,7 +2272,7 @@
private string descriptionField;
[EditorBrowsable(EditorBrowsableState.Never)]
- private FdoProviderCapabilitiesExpressionFunctionDefinitionReturnType returnTypeField;
+ private string returnTypeField;
[EditorBrowsable(EditorBrowsableState.Never)]
private BindingList<FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition> argumentDefinitionListField;
@@ -2315,12 +2315,12 @@
}
}
- public FdoProviderCapabilitiesExpressionFunctionDefinitionReturnType ReturnType {
+ public string ReturnType {
get {
return this.returnTypeField;
}
set {
- if ((returnTypeField.Equals(value) != true)) {
+ if (returnTypeField != value) {
this.returnTypeField = value;
this.OnPropertyChanged("ReturnType");
}
Modified: sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -51,7 +51,15 @@
public string EditExpression(string currentExpr, OSGeo.MapGuide.MaestroAPI.FeatureSourceDescription.FeatureSourceSchema schema, string providerName, string featureSourceId)
{
- throw new NotImplementedException();
+ var ed = new ExpressionEditor();
+ var caps = this.FeatureService.GetProviderCapabilities(providerName);
+ ed.Initialize(this.FeatureService, caps, schema, featureSourceId);
+ ed.Expression = currentExpr;
+ if (ed.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ return ed.Expression;
+ }
+ return null;
}
public IResource GetEditedResource()
Added: sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -0,0 +1,914 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.MaestroAPI.Services;
+using OSGeo.MapGuide.ObjectModels.Capabilities;
+using OSGeo.MapGuide.MaestroAPI.Exceptions;
+using Maestro.Shared.UI;
+
+namespace Maestro.Editors.Common
+{
+ /*
+ * Intellisense overview:
+ *
+ * The intellisense of this expression editor consists of the following parts:
+ * - An ImageListBox which is filled with auto-complete suggestions
+ * - A System.Windows.Forms.ToolTip which is shown when an auto-complete choice is highlighted (but not selected)
+ *
+ * In order to invoke intellisense, we listen for the KeyUp and KeyDown events
+ * on the textbox to determine what actions to take. Some actions include:
+ *
+ * Key Up:
+ * - Comma: Show auto-complete with all suggestions
+ * - Quotes (Single or Double): Insert an extra quote of that type
+ * - Up/Down: Move the auto-complete selection up/down one item if the auto-complete box is visible.
+ * - Backspace: Invoke auto-complete with suggestions if there is a context buffer, otherwise hide auto-complete.
+ * - Alt + Right: Invoke auto-complete with all suggestions
+ * - Alphanumeric (no modifiers): Invoke auto-complete with suggestions
+ *
+ * Key Down:
+ * - Escape: Hide auto-complete
+ * - Enter: Hide auto-complete
+ *
+ * As part of the loading process, a full list of auto-complete items (functions/properties) is constructed (sorted by name)
+ * Everytime intellisense is invoked, this list is queried for possible suggestions.
+ *
+ * In order to determine what items to suggest, the editor builds a context buffer from the current position of the caret
+ * in the textbox. The context buffer algorithm is as follows:
+ *
+ * 1 - Start from caret position
+ * 2 - Can we move back one char?
+ * 2.1 - Get this char.
+ * 2.2 - If alpha numeric, goto 2.
+ * 3 - Get the string that represents the uninterrupted alphanumeric string sequence that ends at the caret position
+ * 4 - Get the list of completable items that starts with this alphanumeric string
+ * 5 - Add these items to the auto-complete box.
+ * 6 - Show the auto-complete box
+ */
+
+ public partial class ExpressionEditor : Form
+ {
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+
+ private IFeatureService _featSvc;
+ private string m_featureSource = null;
+
+ public ExpressionEditor()
+ {
+ InitializeComponent();
+ InitAutoComplete();
+ }
+
+ public string Expression
+ {
+ get { return ExpressionText.Text; }
+ set { ExpressionText.Text = value; }
+ }
+
+ public void Initialize(IFeatureService featSvc, FdoProviderCapabilities caps, FeatureSourceDescription.FeatureSourceSchema schema, string featuresSourceId)
+ {
+ try
+ {
+ m_schema = schema;
+ _featSvc = featSvc;
+ m_featureSource = featuresSourceId;
+
+ //TODO: Perhaps add column type and indication of primary key
+ SortedList<string, FeatureSetColumn> sortedCols = new SortedList<string, FeatureSetColumn>();
+ foreach (FeatureSetColumn col in m_schema.Columns)
+ {
+ sortedCols.Add(col.Name, col);
+ }
+
+ ColumnName.Items.Clear();
+ ColumnName.Tag = sortedCols;
+
+ foreach (FeatureSetColumn col in sortedCols.Values)
+ {
+ string name = col.Name;
+ ToolStripButton btn = new ToolStripButton();
+ btn.Name = name;
+ btn.Text = name;
+ btn.Click += delegate
+ {
+ InsertText(name);
+ };
+ btnProperties.DropDown.Items.Add(btn);
+
+ ColumnName.Items.Add(name);
+ }
+
+ if (ColumnName.Items.Count > 0)
+ ColumnName.SelectedIndex = 0;
+
+ LoadCompletableProperties(m_schema.Columns);
+
+ //TODO: Figure out how to translate the enums into something usefull
+
+ //Functions
+ SortedList<string, FdoProviderCapabilitiesExpressionFunctionDefinition> sortedFuncs = new SortedList<string, FdoProviderCapabilitiesExpressionFunctionDefinition>();
+ foreach (FdoProviderCapabilitiesExpressionFunctionDefinition func in caps.Expression.FunctionDefinitionList)
+ {
+ sortedFuncs.Add(func.Name, func);
+ }
+
+ foreach (FdoProviderCapabilitiesExpressionFunctionDefinition func in sortedFuncs.Values)
+ {
+ string name = func.Name;
+ ToolStripButton btn = new ToolStripButton();
+ btn.Name = name;
+ btn.Text = name;
+ btn.ToolTipText = func.Description;
+ string fmt = "{0}({1})";
+ List<string> args = new List<string>();
+ foreach (FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition argDef in func.ArgumentDefinitionList)
+ {
+ args.Add(argDef.Name.Trim());
+ }
+ string expr = string.Format(fmt, name, string.Join(", ", args.ToArray()));
+ btn.Click += delegate
+ {
+ InsertText(expr);
+ };
+ btnFunctions.DropDown.Items.Add(btn);
+ }
+ LoadCompletableFunctions(caps.Expression.FunctionDefinitionList);
+
+ //Spatial Operators
+ foreach (FdoProviderCapabilitiesFilterOperation op in caps.Filter.Spatial)
+ {
+ string name = op.ToString().ToUpper();
+ ToolStripButton btn = new ToolStripButton();
+ btn.Name = btn.Text = btn.ToolTipText = op.ToString();
+ btn.Click += delegate
+ {
+ InsertFilter(name);
+ };
+ btnSpatial.DropDown.Items.Add(btn);
+ }
+
+ //Distance Operators
+ foreach (FdoProviderCapabilitiesFilterOperation1 op in caps.Filter.Distance)
+ {
+ string name = op.ToString().ToUpper();
+ ToolStripButton btn = new ToolStripButton();
+ btn.Name = btn.Text = btn.ToolTipText = op.ToString();
+ btn.Click += delegate
+ {
+ InsertFilter(name);
+ };
+ btnDistance.DropDown.Items.Add(btn);
+ }
+
+ //Conditional Operators
+ foreach (FdoProviderCapabilitiesFilterOperation op in caps.Filter.Condition)
+ {
+ string name = op.ToString().ToUpper();
+ ToolStripButton btn = new ToolStripButton();
+ btn.Name = btn.Text = btn.ToolTipText = op.ToString();
+ btn.Click += delegate
+ {
+ InsertFilter(name);
+ };
+ btnCondition.DropDown.Items.Add(btn);
+ }
+
+ /*try
+ {
+ /*FdoProviderCapabilities cap = m_connection.GetProviderCapabilities(m_providername);
+ foreach (FdoProviderCapabilitiesFilterType cmd in cap.Filter.Condition)
+ FunctionCombo.Items.Add(cmd.ToString());
+
+ FunctionLabel.Enabled = FunctionCombo.Enabled = true;
+ }
+ catch
+ {
+ FunctionLabel.Enabled = FunctionCombo.Enabled = false;
+ }*/
+ }
+ catch
+ {
+ }
+
+ }
+
+ private void InsertText(string exprText)
+ {
+ int index = ExpressionText.SelectionStart;
+ if (ExpressionText.SelectionLength > 0)
+ {
+ ExpressionText.SelectedText = exprText;
+ ExpressionText.SelectionStart = index;
+ }
+ else
+ {
+ if (index > 0)
+ {
+ string text = ExpressionText.Text;
+ ExpressionText.Text = text.Insert(index, exprText);
+ ExpressionText.SelectionStart = index;
+ }
+ else
+ {
+ ExpressionText.Text = exprText;
+ ExpressionText.SelectionStart = index;
+ }
+ }
+ }
+
+ private void InsertFilter(string op)
+ {
+ if (!string.IsNullOrEmpty(op))
+ {
+ string filterTemplate = "<geometry property> {0} GeomFromText('<FGF geometry text>')";
+ string exprText = string.Format(filterTemplate, op);
+ InsertText(exprText);
+ }
+ }
+
+ private void OKBtn_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+
+ private SortedList<string, AutoCompleteItem> _autoCompleteItems = new SortedList<string, AutoCompleteItem>();
+ private ImageListBox _autoBox;
+
+ enum AutoCompleteItemType : int
+ {
+ Property = 0,
+ Function = 1,
+ }
+
+ /// <summary>
+ /// Base auto-complete item
+ /// </summary>
+ abstract class AutoCompleteItem
+ {
+ public abstract AutoCompleteItemType Type { get; }
+
+ public abstract string Name { get; }
+
+ public abstract string ToolTipText { get; }
+
+ public abstract string AutoCompleteText { get; }
+ }
+
+ /// <summary>
+ /// Property auto-complete item
+ /// </summary>
+ class PropertyItem : AutoCompleteItem
+ {
+ private FeatureSetColumn _propDef;
+
+ public PropertyItem(FeatureSetColumn pd)
+ {
+ _propDef = pd;
+ }
+
+ public override AutoCompleteItemType Type
+ {
+ get { return AutoCompleteItemType.Property; }
+ }
+
+ public override string Name
+ {
+ get { return _propDef.Name; }
+ }
+
+ private string _ttText;
+
+ public override string ToolTipText
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(_ttText))
+ {
+ _ttText = string.Format(Properties.Resources.PropertyTooltip, _propDef.Name, _propDef.Type.Name);
+ }
+ return _ttText;
+ }
+ }
+
+ public override string AutoCompleteText
+ {
+ get { return this.Name; }
+ }
+ }
+
+ /// <summary>
+ /// Function auto-complete item
+ /// </summary>
+ class FunctionItem : AutoCompleteItem
+ {
+ private FdoProviderCapabilitiesExpressionFunctionDefinition _func;
+
+ public FunctionItem(FdoProviderCapabilitiesExpressionFunctionDefinition fd)
+ {
+ _func = fd;
+ }
+
+ public override AutoCompleteItemType Type
+ {
+ get { return AutoCompleteItemType.Function; }
+ }
+
+ public override string Name
+ {
+ get { return _func.Name; }
+ }
+
+ private string _ttText;
+
+ public override string ToolTipText
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(_ttText))
+ _ttText = string.Format(Properties.Resources.FunctionTooltip, GetReturnTypeString(), _func.Name, GetArgumentString(), _func.Description);
+
+ return _ttText;
+ }
+ }
+
+ private string _argStr;
+
+ private string GetArgumentString()
+ {
+ if (string.IsNullOrEmpty(_argStr))
+ {
+ List<string> tokens = new List<string>();
+ foreach (FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition argDef in _func.ArgumentDefinitionList)
+ {
+ tokens.Add("[" + argDef.Name.Trim() + "]");
+ }
+ _argStr = string.Join(", ", tokens.ToArray());
+ }
+ return _argStr;
+ }
+
+ private string GetReturnTypeString()
+ {
+ return _func.ReturnType;
+ }
+
+ public override string AutoCompleteText
+ {
+ get
+ {
+ return this.Name + "(" + GetArgumentString() + ")";
+ }
+ }
+ }
+
+ private void InitAutoComplete()
+ {
+ _autoBox = new ImageListBox();
+ _autoBox.Visible = false;
+ _autoBox.ImageList = new ImageList();
+ _autoBox.ImageList.Images.Add(Properties.Resources.property); //Property
+ _autoBox.ImageList.Images.Add(Properties.Resources.block); //Function
+ _autoBox.DoubleClick += new EventHandler(OnAutoCompleteDoubleClick);
+ _autoBox.SelectedIndexChanged += new EventHandler(OnAutoCompleteSelectedIndexChanged);
+ _autoBox.KeyDown += new KeyEventHandler(OnAutoCompleteKeyDown);
+ _autoBox.KeyUp += new KeyEventHandler(OnAutoCompleteKeyUp);
+ _autoBox.ValueMember = "Name";
+ _autoBox.Font = new Font(FontFamily.GenericMonospace, 10.0f);
+ ExpressionText.Controls.Add(_autoBox);
+ }
+
+ void OnAutoCompleteKeyDown(object sender, KeyEventArgs e)
+ {
+ ExpressionText.Focus();
+ }
+
+ void OnAutoCompleteKeyUp(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter)
+ {
+ PutAutoCompleteSuggestion();
+ _autoBox.Hide();
+ _autoCompleteTooltip.Hide(this);
+ }
+ }
+
+ void OnAutoCompleteSelectedIndexChanged(object sender, EventArgs e)
+ {
+ ExpressionText.Focus();
+ if (_autoBox.Visible && _autoBox.SelectedIndex >= 0 && _autoBox.Items.Count > 0)
+ {
+ string tt = ((_autoBox.SelectedItem as ImageListBoxItem).Tag as AutoCompleteItem).ToolTipText;
+ Point pt = GetCaretPoint();
+ pt.X += _autoBox.Width + 10;
+ pt.Y += 65;
+
+ _autoCompleteTooltip.Show(tt, this, pt.X, pt.Y);
+ }
+ }
+
+ void OnAutoCompleteDoubleClick(object sender, EventArgs e)
+ {
+ PutAutoCompleteSuggestion();
+ _autoBox.Hide();
+ _autoCompleteTooltip.Hide(this);
+ }
+
+ private void MoveAutoCompleteSelectionDown()
+ {
+ if (_autoBox.SelectedIndex < 0)
+ {
+ _autoBox.SelectedIndex = 0;
+ }
+ else
+ {
+ int idx = _autoBox.SelectedIndex;
+ if ((idx + 1) <= _autoBox.Items.Count - 1)
+ {
+ _autoBox.SelectedIndex = idx + 1;
+ }
+ }
+ }
+
+ private void MoveAutoCompleteSelectionUp()
+ {
+ if (_autoBox.SelectedIndex < 0)
+ {
+ _autoBox.SelectedIndex = 0;
+ }
+ else
+ {
+ int idx = _autoBox.SelectedIndex;
+ if ((idx - 1) >= 0)
+ {
+ _autoBox.SelectedIndex = idx - 1;
+ }
+ }
+ }
+
+ private void LoadCompletableProperties(IEnumerable<FeatureSetColumn> cols)
+ {
+ foreach (FeatureSetColumn col in cols)
+ {
+ _autoCompleteItems[col.Name] = new PropertyItem(col);
+ }
+ }
+
+ private void LoadCompletableFunctions(IEnumerable<FdoProviderCapabilitiesExpressionFunctionDefinition> funcs)
+ {
+ foreach (FdoProviderCapabilitiesExpressionFunctionDefinition func in funcs)
+ {
+ _autoCompleteItems[func.Name] = new FunctionItem(func);
+ }
+ }
+
+ private void PutAutoCompleteSuggestion()
+ {
+ if (_autoBox.SelectedItems.Count == 1)
+ {
+ int pos = ExpressionText.SelectionStart;
+ string context;
+ char? c = GetContextBuffer(out context);
+
+ AutoCompleteItem aci = (_autoBox.SelectedItem as ImageListBoxItem).Tag as AutoCompleteItem;
+
+ string fullText = aci.AutoCompleteText;
+
+ int start = pos - context.Length;
+ int newPos = start + fullText.Length;
+ int selLength = -1;
+
+ //if it's a function, highlight the parameter (or the first parameter if there is multiple arguments
+ if (aci.Type == AutoCompleteItemType.Function)
+ {
+ newPos = start + aci.Name.Length + 1; //Position the caret just after the opening bracket
+
+ //Has at least two arguments
+ int idx = fullText.IndexOf(",");
+ if (idx > 0)
+ selLength = idx - aci.Name.Length - 1;
+ else
+ selLength = fullText.IndexOf(")") - fullText.IndexOf("(") - 1;
+ }
+
+ string prefix = ExpressionText.Text.Substring(0, start);
+ string suffix = ExpressionText.Text.Substring(pos, ExpressionText.Text.Length - pos);
+
+ ExpressionText.Text = prefix + fullText + suffix;
+ ExpressionText.SelectionStart = newPos;
+ if (selLength > 0)
+ {
+ ExpressionText.SelectionLength = selLength;
+ }
+ ExpressionText.ScrollToCaret();
+ }
+ }
+
+ private Point GetCaretPoint()
+ {
+ Point pt = ExpressionText.GetPositionFromCharIndex(ExpressionText.SelectionStart);
+ pt.Y += (int)Math.Ceiling(ExpressionText.Font.GetHeight()) + 2;
+ pt.X += 2; // for Courier, may need a better method
+ return pt;
+ }
+
+ private char? GetContextBuffer(out string buffer)
+ {
+ buffer = string.Empty;
+ int caretPos = ExpressionText.SelectionStart;
+ int currentPos = caretPos;
+ char? res = null;
+ if (caretPos > 0)
+ {
+ //Walk backwards
+ caretPos--;
+ char c = ExpressionText.Text[caretPos];
+ while (Char.IsLetterOrDigit(c))
+ {
+ caretPos--;
+
+ if (caretPos < 0)
+ break;
+
+ c = ExpressionText.Text[caretPos];
+ }
+
+ if (caretPos > 0)
+ {
+ res = ExpressionText.Text[caretPos];
+ }
+ buffer = ExpressionText.Text.Substring(caretPos + 1, currentPos - caretPos - 1);
+ }
+ return res;
+ }
+
+ private void HandleKeyDown(KeyEventArgs e)
+ {
+ Keys code = e.KeyCode;
+ if (code == Keys.Escape)
+ {
+ if (_autoBox.Visible)
+ {
+ e.SuppressKeyPress = true;
+ _autoBox.Hide();
+ _autoCompleteTooltip.Hide(this);
+ }
+ }
+ else if (code == Keys.Enter || code == Keys.Return)
+ {
+ if (_autoBox.Visible && _autoBox.SelectedItems.Count == 1)
+ {
+ e.SuppressKeyPress = true;
+ PutAutoCompleteSuggestion();
+ _autoBox.Hide();
+ _autoCompleteTooltip.Hide(this);
+ }
+ }
+ }
+
+ private void HandleKeyUp(KeyEventArgs e)
+ {
+ Keys code = e.KeyCode;
+ if (code == Keys.Oemcomma || code == Keys.OemOpenBrackets)
+ {
+ Complete(string.Empty);
+ }
+ else if (code == Keys.OemQuotes)
+ {
+ if (e.Modifiers == Keys.Shift) // "
+ InsertText("\"");
+ else // '
+ InsertText("'");
+
+ }
+ else if (code == Keys.D9 && e.Modifiers == Keys.Shift) // (
+ {
+ InsertText(")");
+ }
+ else if (code == Keys.Up || code == Keys.Down)
+ {
+ if (_autoBox.Visible)
+ {
+ if (code == Keys.Up)
+ {
+ MoveAutoCompleteSelectionUp();
+ }
+ else
+ {
+ MoveAutoCompleteSelectionDown();
+ }
+ }
+ }
+ else if (code == Keys.Back)
+ {
+ string context;
+ char? c = GetContextBuffer(out context);
+ if (!string.IsNullOrEmpty(context))
+ {
+ Complete(context);
+ }
+ else
+ {
+ if (_autoBox.Visible)
+ {
+ _autoBox.Hide();
+ _autoCompleteTooltip.Hide(this);
+ }
+ }
+ }
+ else if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.Right)
+ {
+ string context;
+ char? c = GetContextBuffer(out context);
+ Complete(context);
+ }
+ else
+ {
+ if (e.Modifiers == Keys.None)
+ {
+ bool alpha = (code >= Keys.A && code <= Keys.Z);
+ bool numeric = (code >= Keys.D0 && code <= Keys.D9) || (code >= Keys.NumPad0 && code <= Keys.NumPad9);
+ if (alpha || numeric)
+ {
+ string context;
+ char? c = GetContextBuffer(out context);
+ Complete(context);
+ }
+ }
+ }
+ }
+
+ private List<AutoCompleteItem> GetItemsStartingWith(string text)
+ {
+ List<AutoCompleteItem> ati = new List<AutoCompleteItem>();
+ foreach (string key in _autoCompleteItems.Keys)
+ {
+ if (key.ToLower().StartsWith(text.Trim().ToLower()))
+ {
+ ati.Add(_autoCompleteItems[key]);
+ }
+ }
+ return ati;
+ }
+
+ private void Complete(string text)
+ {
+ List<AutoCompleteItem> items = GetItemsStartingWith(text);
+ _autoBox.Items.Clear();
+
+ int width = 0;
+ foreach (AutoCompleteItem it in items)
+ {
+ ImageListBoxItem litem = new ImageListBoxItem();
+ litem.Text = it.Name;
+ litem.ImageIndex = (int)it.Type;
+ litem.Tag = it;
+
+ _autoBox.Items.Add(litem);
+ int length = TextRenderer.MeasureText(it.Name, _autoBox.Font).Width + 30; //For icon size
+ if (length > width)
+ width = length;
+ }
+ _autoBox.Width = width;
+
+ if (!_autoBox.Visible)
+ {
+ if (_autoBox.Items.Count > 0)
+ {
+ _autoBox.BringToFront();
+ _autoBox.Show();
+ }
+ }
+
+ Point pt = GetCaretPoint();
+
+ _autoBox.Location = pt;
+ }
+
+ private void ExpressionText_KeyDown(object sender, KeyEventArgs e)
+ {
+ HandleKeyDown(e);
+ }
+
+ private void ExpressionText_KeyUp(object sender, KeyEventArgs e)
+ {
+ HandleKeyUp(e);
+ }
+
+ private void ColumnName_Click(object sender, EventArgs e)
+ {
+
+ }
+
+ private void ColumnName_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ColumnValue.Enabled = false;
+ LookupValues.Enabled = ColumnName.SelectedIndex >= 0;
+ }
+
+ private void LookupValues_Click(object sender, EventArgs e)
+ {
+ using (new WaitCursor(this))
+ {
+ try
+ {
+ SortedList<string, FeatureSetColumn> cols = (SortedList<string, FeatureSetColumn>)ColumnName.Tag;
+ FeatureSetColumn col = cols[ColumnName.Text];
+
+ bool retry = true;
+ Exception rawEx = null;
+ string filter = null;
+
+ SortedList<string, string> values = new SortedList<string, string>();
+ bool hasNull = false;
+
+ while (retry)
+ {
+ try
+ {
+ retry = false;
+ using (FeatureSetReader rd = _featSvc.QueryFeatureSource(m_featureSource, m_schema.FullnameDecoded, filter, new string[] { ColumnName.Text }))
+ {
+ while (rd.Read())
+ {
+ if (rd.Row.IsValueNull(ColumnName.Text))
+ hasNull = true;
+ else
+ values[Convert.ToString(rd.Row[ColumnName.Text], System.Globalization.CultureInfo.InvariantCulture)] = null;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ if (filter == null && ex.Message.IndexOf("MgNullPropertyValueException") >= 0)
+ {
+ hasNull = true;
+ rawEx = ex;
+ retry = true;
+ filter = ColumnName.Text + " != NULL";
+ }
+ else if (rawEx != null)
+ throw rawEx;
+ else
+ throw;
+ }
+ }
+
+ ColumnValue.Items.Clear();
+ if (hasNull)
+ ColumnValue.Items.Add("NULL");
+
+ foreach (string s in values.Keys)
+ ColumnValue.Items.Add(s);
+
+ ColumnValue.Tag = col.Type;
+
+ if (ColumnValue.Items.Count == 0)
+ MessageBox.Show(this, Properties.Resources.NoColumnValuesError, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ else
+ {
+ ColumnValue.Enabled = true;
+ ColumnValue.SelectedIndex = -1;
+ ColumnValue.DroppedDown = true;
+ }
+ }
+ catch (Exception ex)
+ {
+ string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
+ MessageBox.Show(this, string.Format(Properties.Resources.ColumnValueError, msg), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+
+ private void ColumnValue_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (ColumnValue.SelectedIndex >= 0 && ColumnValue.Tag as Type != null)
+ {
+ if (ColumnValue.Tag == typeof(string) && (ColumnValue.SelectedIndex != 0 || ColumnValue.Text != "NULL"))
+ ExpressionText.SelectedText = " '" + ColumnValue.Text + "' ";
+ else
+ ExpressionText.SelectedText = " " + ColumnValue.Text + " ";
+ }
+ }
+ }
+
+ // ImageListBoxItem class
+ public class ImageListBoxItem
+ {
+ private string _myText;
+ private int _myImageIndex;
+ // properties
+ public string Text
+ {
+ get { return _myText; }
+ set { _myText = value; }
+ }
+ public int ImageIndex
+ {
+ get { return _myImageIndex; }
+ set { _myImageIndex = value; }
+ }
+ //constructor
+ public ImageListBoxItem(string text, int index)
+ {
+ _myText = text;
+ _myImageIndex = index;
+ }
+ public ImageListBoxItem(string text) : this(text, -1) { }
+ public ImageListBoxItem() : this("") { }
+
+ private object _tag;
+
+ public object Tag
+ {
+ get { return _tag; }
+ set { _tag = value; }
+ }
+
+ public override string ToString()
+ {
+ return _myText;
+ }
+ }//End of ImageListBoxItem class
+
+ // ImageListBox class
+ //
+ // Based on GListBox
+ //
+ // http://www.codeproject.com/KB/combobox/glistbox.aspx
+ public class ImageListBox : ListBox
+ {
+ private ImageList _myImageList;
+ public ImageList ImageList
+ {
+ get { return _myImageList; }
+ set { _myImageList = value; }
+ }
+ public ImageListBox()
+ {
+ // Set owner draw mode
+ this.DrawMode = DrawMode.OwnerDrawFixed;
+ }
+ protected override void OnDrawItem(System.Windows.Forms.DrawItemEventArgs e)
+ {
+ e.DrawBackground();
+ e.DrawFocusRectangle();
+ ImageListBoxItem item;
+ Rectangle bounds = e.Bounds;
+ Size imageSize = _myImageList.ImageSize;
+ try
+ {
+ item = (ImageListBoxItem)Items[e.Index];
+ if (item.ImageIndex != -1)
+ {
+ _myImageList.Draw(e.Graphics, bounds.Left, bounds.Top, item.ImageIndex);
+ e.Graphics.DrawString(item.Text, e.Font, new SolidBrush(e.ForeColor),
+ bounds.Left + imageSize.Width, bounds.Top);
+ }
+ else
+ {
+ e.Graphics.DrawString(item.Text, e.Font, new SolidBrush(e.ForeColor),
+ bounds.Left, bounds.Top);
+ }
+ }
+ catch
+ {
+ if (e.Index != -1)
+ {
+ e.Graphics.DrawString(Items[e.Index].ToString(), e.Font,
+ new SolidBrush(e.ForeColor), bounds.Left, bounds.Top);
+ }
+ else
+ {
+ e.Graphics.DrawString(Text, e.Font, new SolidBrush(e.ForeColor),
+ bounds.Left, bounds.Top);
+ }
+ }
+ base.OnDrawItem(e);
+ }
+ }//End of ImageListBox class
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.designer.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -0,0 +1,213 @@
+namespace Maestro.Editors.Common
+{
+ partial class ExpressionEditor
+ {
+ /// <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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExpressionEditor));
+ this.OKBtn = new System.Windows.Forms.Button();
+ this.CancelBtn = new System.Windows.Forms.Button();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.lblHint = new System.Windows.Forms.Label();
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.btnFilter = new System.Windows.Forms.ToolStripDropDownButton();
+ this.btnCondition = new System.Windows.Forms.ToolStripMenuItem();
+ this.btnSpatial = new System.Windows.Forms.ToolStripMenuItem();
+ this.btnDistance = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.ColumnValue = new System.Windows.Forms.ToolStripComboBox();
+ this.LookupValues = new System.Windows.Forms.ToolStripButton();
+ this.ColumnName = new System.Windows.Forms.ToolStripComboBox();
+ this.ExpressionText = new System.Windows.Forms.TextBox();
+ this._autoCompleteTooltip = new System.Windows.Forms.ToolTip(this.components);
+ this.btnFunctions = new System.Windows.Forms.ToolStripDropDownButton();
+ this.btnProperties = new System.Windows.Forms.ToolStripDropDownButton();
+ this.panel1.SuspendLayout();
+ this.toolStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // OKBtn
+ //
+ resources.ApplyResources(this.OKBtn, "OKBtn");
+ this.OKBtn.Name = "OKBtn";
+ this.OKBtn.UseVisualStyleBackColor = true;
+ this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
+ //
+ // CancelBtn
+ //
+ resources.ApplyResources(this.CancelBtn, "CancelBtn");
+ this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.CancelBtn.Name = "CancelBtn";
+ this.CancelBtn.UseVisualStyleBackColor = true;
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.lblHint);
+ this.panel1.Controls.Add(this.CancelBtn);
+ this.panel1.Controls.Add(this.OKBtn);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // lblHint
+ //
+ resources.ApplyResources(this.lblHint, "lblHint");
+ this.lblHint.Name = "lblHint";
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.btnProperties,
+ this.btnFunctions,
+ this.btnFilter,
+ this.toolStripSeparator1,
+ this.ColumnValue,
+ this.LookupValues,
+ this.ColumnName});
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ //
+ // btnFilter
+ //
+ this.btnFilter.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.btnCondition,
+ this.btnSpatial,
+ this.btnDistance});
+ this.btnFilter.Image = global::Maestro.Editors.Properties.Resources.funnel;
+ resources.ApplyResources(this.btnFilter, "btnFilter");
+ this.btnFilter.Name = "btnFilter";
+ //
+ // btnCondition
+ //
+ this.btnCondition.Name = "btnCondition";
+ resources.ApplyResources(this.btnCondition, "btnCondition");
+ //
+ // btnSpatial
+ //
+ this.btnSpatial.Image = global::Maestro.Editors.Properties.Resources.grid;
+ this.btnSpatial.Name = "btnSpatial";
+ resources.ApplyResources(this.btnSpatial, "btnSpatial");
+ //
+ // btnDistance
+ //
+ this.btnDistance.Image = global::Maestro.Editors.Properties.Resources.ruler;
+ this.btnDistance.Name = "btnDistance";
+ resources.ApplyResources(this.btnDistance, "btnDistance");
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+ //
+ // ColumnValue
+ //
+ this.ColumnValue.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.ColumnValue.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.ColumnValue.DropDownWidth = 180;
+ resources.ApplyResources(this.ColumnValue, "ColumnValue");
+ this.ColumnValue.Name = "ColumnValue";
+ this.ColumnValue.SelectedIndexChanged += new System.EventHandler(this.ColumnValue_SelectedIndexChanged);
+ //
+ // LookupValues
+ //
+ this.LookupValues.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.LookupValues.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ resources.ApplyResources(this.LookupValues, "LookupValues");
+ this.LookupValues.Image = global::Maestro.Editors.Properties.Resources.table__arrow;
+ this.LookupValues.Name = "LookupValues";
+ this.LookupValues.Click += new System.EventHandler(this.LookupValues_Click);
+ //
+ // ColumnName
+ //
+ this.ColumnName.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.ColumnName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.ColumnName.DropDownWidth = 180;
+ this.ColumnName.Name = "ColumnName";
+ resources.ApplyResources(this.ColumnName, "ColumnName");
+ this.ColumnName.SelectedIndexChanged += new System.EventHandler(this.ColumnName_SelectedIndexChanged);
+ this.ColumnName.Click += new System.EventHandler(this.ColumnName_Click);
+ //
+ // ExpressionText
+ //
+ resources.ApplyResources(this.ExpressionText, "ExpressionText");
+ this.ExpressionText.HideSelection = false;
+ this.ExpressionText.Name = "ExpressionText";
+ this.ExpressionText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ExpressionText_KeyDown);
+ this.ExpressionText.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ExpressionText_KeyUp);
+ //
+ // btnFunctions
+ //
+ this.btnFunctions.Image = global::Maestro.Editors.Properties.Resources.function;
+ resources.ApplyResources(this.btnFunctions, "btnFunctions");
+ this.btnFunctions.Name = "btnFunctions";
+ //
+ // btnProperties
+ //
+ this.btnProperties.Image = global::Maestro.Editors.Properties.Resources.property;
+ resources.ApplyResources(this.btnProperties, "btnProperties");
+ this.btnProperties.Name = "btnProperties";
+ //
+ // ExpressionEditor
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ControlBox = false;
+ this.Controls.Add(this.ExpressionText);
+ this.Controls.Add(this.toolStrip1);
+ this.Controls.Add(this.panel1);
+ this.Name = "ExpressionEditor";
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button OKBtn;
+ private System.Windows.Forms.Button CancelBtn;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.ToolStrip toolStrip1;
+ private System.Windows.Forms.TextBox ExpressionText;
+ private System.Windows.Forms.ToolStripDropDownButton btnFilter;
+ private System.Windows.Forms.ToolStripMenuItem btnCondition;
+ private System.Windows.Forms.ToolStripMenuItem btnSpatial;
+ private System.Windows.Forms.ToolStripMenuItem btnDistance;
+ private System.Windows.Forms.ToolTip _autoCompleteTooltip;
+ private System.Windows.Forms.Label lblHint;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripComboBox ColumnName;
+ private System.Windows.Forms.ToolStripButton LookupValues;
+ private System.Windows.Forms.ToolStripComboBox ColumnValue;
+ private System.Windows.Forms.ToolStripDropDownButton btnProperties;
+ private System.Windows.Forms.ToolStripDropDownButton btnFunctions;
+ }
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/ExpressionEditor.resx 2010-07-10 15:34:02 UTC (rev 5023)
@@ -0,0 +1,462 @@
+<?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="OKBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="OKBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>342, 6</value>
+ </data>
+ <data name="OKBtn.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="OKBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="OKBtn.Text" xml:space="preserve">
+ <value>OK</value>
+ </data>
+ <data name=">>OKBtn.Name" xml:space="preserve">
+ <value>OKBtn</value>
+ </data>
+ <data name=">>OKBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>OKBtn.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>OKBtn.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>423, 6</value>
+ </data>
+ <data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="CancelBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="CancelBtn.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>CancelBtn.Name" xml:space="preserve">
+ <value>CancelBtn</value>
+ </data>
+ <data name=">>CancelBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CancelBtn.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>CancelBtn.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name=">>lblHint.Name" xml:space="preserve">
+ <value>lblHint</value>
+ </data>
+ <data name=">>lblHint.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=">>lblHint.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>lblHint.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 249</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>510, 40</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="lblHint.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblHint.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 11</value>
+ </data>
+ <data name="lblHint.Size" type="System.Drawing.Size, System.Drawing">
+ <value>202, 13</value>
+ </data>
+ <data name="lblHint.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="lblHint.Text" xml:space="preserve">
+ <value>Press Alt + Right to invoke auto-complete</value>
+ </data>
+ <data name=">>lblHint.Name" xml:space="preserve">
+ <value>lblHint</value>
+ </data>
+ <data name=">>lblHint.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=">>lblHint.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>lblHint.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="btnProperties.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnProperties.Size" type="System.Drawing.Size, System.Drawing">
+ <value>85, 22</value>
+ </data>
+ <data name="btnProperties.Text" xml:space="preserve">
+ <value>Properties</value>
+ </data>
+ <data name="btnFunctions.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnFunctions.Size" type="System.Drawing.Size, System.Drawing">
+ <value>82, 22</value>
+ </data>
+ <data name="btnFunctions.Text" xml:space="preserve">
+ <value>Functions</value>
+ </data>
+ <data name="btnFilter.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnFilter.Size" type="System.Drawing.Size, System.Drawing">
+ <value>60, 22</value>
+ </data>
+ <data name="btnFilter.Text" xml:space="preserve">
+ <value>Filter</value>
+ </data>
+ <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>6, 25</value>
+ </data>
+ <data name="ColumnValue.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="ColumnValue.Size" type="System.Drawing.Size, System.Drawing">
+ <value>110, 25</value>
+ </data>
+ <data name="LookupValues.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="LookupValues.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="LookupValues.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="LookupValues.ToolTipText" xml:space="preserve">
+ <value>Click to lookup values from the selected column</value>
+ </data>
+ <data name="ColumnName.Size" type="System.Drawing.Size, System.Drawing">
+ <value>110, 25</value>
+ </data>
+ <data name="ColumnName.ToolTipText" xml:space="preserve">
+ <value>Select the column to read values from</value>
+ </data>
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>510, 25</value>
+ </data>
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="toolStrip1.Text" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="btnCondition.Size" type="System.Drawing.Size, System.Drawing">
+ <value>152, 22</value>
+ </data>
+ <data name="btnCondition.Text" xml:space="preserve">
+ <value>Condition</value>
+ </data>
+ <data name="btnSpatial.Size" type="System.Drawing.Size, System.Drawing">
+ <value>152, 22</value>
+ </data>
+ <data name="btnSpatial.Text" xml:space="preserve">
+ <value>Spatial</value>
+ </data>
+ <data name="btnDistance.Size" type="System.Drawing.Size, System.Drawing">
+ <value>152, 22</value>
+ </data>
+ <data name="btnDistance.Text" xml:space="preserve">
+ <value>Distance</value>
+ </data>
+ <data name="ExpressionText.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="ExpressionText.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Courier New, 12pt</value>
+ </data>
+ <data name="ExpressionText.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 25</value>
+ </data>
+ <data name="ExpressionText.Multiline" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="ExpressionText.Size" type="System.Drawing.Size, System.Drawing">
+ <value>510, 224</value>
+ </data>
+ <data name="ExpressionText.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>ExpressionText.Name" xml:space="preserve">
+ <value>ExpressionText</value>
+ </data>
+ <data name=">>ExpressionText.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=">>ExpressionText.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>ExpressionText.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="_autoCompleteTooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>116, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>510, 289</value>
+ </data>
+ <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
+ <value>500, 300</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Expression Editor</value>
+ </data>
+ <data name=">>btnFilter.Name" xml:space="preserve">
+ <value>btnFilter</value>
+ </data>
+ <data name=">>btnFilter.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnCondition.Name" xml:space="preserve">
+ <value>btnCondition</value>
+ </data>
+ <data name=">>btnCondition.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnSpatial.Name" xml:space="preserve">
+ <value>btnSpatial</value>
+ </data>
+ <data name=">>btnSpatial.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnDistance.Name" xml:space="preserve">
+ <value>btnDistance</value>
+ </data>
+ <data name=">>btnDistance.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStripSeparator1.Name" xml:space="preserve">
+ <value>toolStripSeparator1</value>
+ </data>
+ <data name=">>toolStripSeparator1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColumnValue.Name" xml:space="preserve">
+ <value>ColumnValue</value>
+ </data>
+ <data name=">>ColumnValue.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>LookupValues.Name" xml:space="preserve">
+ <value>LookupValues</value>
+ </data>
+ <data name=">>LookupValues.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColumnName.Name" xml:space="preserve">
+ <value>ColumnName</value>
+ </data>
+ <data name=">>ColumnName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>_autoCompleteTooltip.Name" xml:space="preserve">
+ <value>_autoCompleteTooltip</value>
+ </data>
+ <data name=">>_autoCompleteTooltip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnFunctions.Name" xml:space="preserve">
+ <value>btnFunctions</value>
+ </data>
+ <data name=">>btnFunctions.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnProperties.Name" xml:space="preserve">
+ <value>btnProperties</value>
+ </data>
+ <data name=">>btnProperties.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ExpressionEditor</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
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.Designer.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -176,6 +176,7 @@
this.btnEditTooltip.TabIndex = 8;
this.btnEditTooltip.Text = "...";
this.btnEditTooltip.UseVisualStyleBackColor = true;
+ this.btnEditTooltip.Click += new System.EventHandler(this.btnEditTooltip_Click);
//
// btnEditHyperlink
//
@@ -186,6 +187,7 @@
this.btnEditHyperlink.TabIndex = 7;
this.btnEditHyperlink.Text = "...";
this.btnEditHyperlink.UseVisualStyleBackColor = true;
+ this.btnEditHyperlink.Click += new System.EventHandler(this.btnEditHyperlink_Click);
//
// btnEditFilter
//
@@ -196,6 +198,7 @@
this.btnEditFilter.TabIndex = 6;
this.btnEditFilter.Text = "...";
this.btnEditFilter.UseVisualStyleBackColor = true;
+ this.btnEditFilter.Click += new System.EventHandler(this.btnEditFilter_Click);
//
// txtTooltip
//
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -28,6 +28,7 @@
using System.Diagnostics;
using OSGeo.MapGuide.MaestroAPI;
using Maestro.Editors.Generic;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
namespace Maestro.Editors.LayerDefinition.Vector
{
@@ -112,7 +113,82 @@
if (picker.ShowDialog() == DialogResult.OK)
{
txtFeatureSource.Text = picker.ResourceID;
+ //Invalidate
+ _cachedFs = null;
}
}
+
+ private FeatureSourceDescription.FeatureSourceSchema GetSelectedClass()
+ {
+ if (cmbSchema.SelectedItem != null)
+ {
+ foreach (var schema in _cachedDesc.Schemas)
+ {
+ if (schema.Fullname == cmbSchema.SelectedItem.ToString())
+ {
+ return schema;
+ }
+ }
+ }
+ return null;
+ }
+
+ private FeatureSourceType _cachedFs;
+
+ private FeatureSourceType GetFeatureSource()
+ {
+ if (_cachedFs == null)
+ _cachedFs = (FeatureSourceType)_edsvc.ResourceService.GetResource(txtFeatureSource.Text);
+
+ return _cachedFs;
+ }
+
+ private void btnEditFilter_Click(object sender, EventArgs e)
+ {
+ var cls = GetSelectedClass();
+ if (cls != null)
+ {
+ var fs = GetFeatureSource();
+ var expr = _edsvc.EditExpression(txtFilter.Text, cls, fs.Provider, fs.ResourceID);
+ if (expr != null)
+ {
+ txtFilter.Text = expr;
+ //HACK: Force databinding update
+ txtFilter.DataBindings[0].WriteValue();
+ }
+ }
+ }
+
+ private void btnEditHyperlink_Click(object sender, EventArgs e)
+ {
+ var cls = GetSelectedClass();
+ if (cls != null)
+ {
+ var fs = GetFeatureSource();
+ var expr = _edsvc.EditExpression(txtHyperlink.Text, cls, fs.Provider, fs.ResourceID);
+ if (expr != null)
+ {
+ txtHyperlink.Text = expr;
+ //HACK: Force databinding update
+ txtHyperlink.DataBindings[0].WriteValue();
+ }
+ }
+ }
+
+ private void btnEditTooltip_Click(object sender, EventArgs e)
+ {
+ var cls = GetSelectedClass();
+ if (cls != null)
+ {
+ var fs = GetFeatureSource();
+ var expr = _edsvc.EditExpression(txtTooltip.Text, cls, fs.Provider, fs.ResourceID);
+ if (expr != null)
+ {
+ txtTooltip.Text = expr;
+ //HACK: Force databinding update
+ txtTooltip.DataBindings[0].WriteValue();
+ }
+ }
+ }
}
}
Modified: sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2010-07-10 15:34:02 UTC (rev 5023)
@@ -73,6 +73,12 @@
<Compile Include="Common\FdoProviderPicker.Designer.cs">
<DependentUpon>FdoProviderPicker.cs</DependentUpon>
</Compile>
+ <Compile Include="Common\ExpressionEditor.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Common\ExpressionEditor.designer.cs">
+ <DependentUpon>ExpressionEditor.cs</DependentUpon>
+ </Compile>
<Compile Include="Common\ResourceDataCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -447,6 +453,10 @@
<DependentUpon>FdoProviderPicker.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
+ <EmbeddedResource Include="Common\ExpressionEditor.resx">
+ <DependentUpon>ExpressionEditor.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
<EmbeddedResource Include="Common\ResourceDataCtrl.resx">
<DependentUpon>ResourceDataCtrl.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -859,6 +869,30 @@
<None Include="Resources\layer.png" />
</ItemGroup>
<ItemGroup>
+ <None Include="Resources\property.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\block.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\table.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\sum.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\function1.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\funnel.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\grid.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\ruler.png" />
+ </ItemGroup>
+ <ItemGroup>
<Folder Include="DrawingSource\Preview\" />
<Folder Include="FeatureSource\Providers\Rdbms\" />
<Folder Include="LayerDefinition\Geometry\" />
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -144,6 +144,13 @@
}
}
+ internal static System.Drawing.Bitmap block {
+ get {
+ object obj = ResourceManager.GetObject("block", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap clipboard_paste {
get {
object obj = ResourceManager.GetObject("clipboard-paste", resourceCulture);
@@ -151,6 +158,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to An error occured while reading column values: {0}.
+ /// </summary>
+ internal static string ColumnValueError {
+ get {
+ return ResourceManager.GetString("ColumnValueError", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap control {
get {
object obj = ResourceManager.GetObject("control", resourceCulture);
@@ -329,6 +345,24 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Function: {1}({2})
+ ///Description: {3}
+ ///Returns: {0}.
+ /// </summary>
+ internal static string FunctionTooltip {
+ get {
+ return ResourceManager.GetString("FunctionTooltip", resourceCulture);
+ }
+ }
+
+ internal static System.Drawing.Bitmap funnel {
+ get {
+ object obj = ResourceManager.GetObject("funnel", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap globe__arrow {
get {
object obj = ResourceManager.GetObject("globe--arrow", resourceCulture);
@@ -357,6 +391,13 @@
}
}
+ internal static System.Drawing.Bitmap grid {
+ get {
+ object obj = ResourceManager.GetObject("grid", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to infinite.
/// </summary>
@@ -440,6 +481,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to No values found in selected column.
+ /// </summary>
+ internal static string NoColumnValuesError {
+ get {
+ return ResourceManager.GetString("NoColumnValuesError", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap plus_circle {
get {
object obj = ResourceManager.GetObject("plus-circle", resourceCulture);
@@ -447,6 +497,30 @@
}
}
+ internal static System.Drawing.Bitmap property {
+ get {
+ object obj = ResourceManager.GetObject("property", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Property: {0}
+ ///Type: {1}.
+ /// </summary>
+ internal static string PropertyTooltip {
+ get {
+ return ResourceManager.GetString("PropertyTooltip", resourceCulture);
+ }
+ }
+
+ internal static System.Drawing.Bitmap ruler {
+ get {
+ object obj = ResourceManager.GetObject("ruler", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap scissors_blue {
get {
object obj = ResourceManager.GetObject("scissors-blue", resourceCulture);
@@ -510,6 +584,20 @@
}
}
+ internal static System.Drawing.Bitmap sum {
+ get {
+ object obj = ResourceManager.GetObject("sum", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap table {
+ get {
+ object obj = ResourceManager.GetObject("table", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap table__arrow {
get {
object obj = ResourceManager.GetObject("table--arrow", resourceCulture);
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2010-07-10 15:34:02 UTC (rev 5023)
@@ -118,228 +118,268 @@
<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="sql-join" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\sql-join.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="exclamation" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\exclamation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="minus-circle" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\minus-circle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="plus-circle" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\plus-circle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="tick" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\tick.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="application-search-result" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application-search-result.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="TestConnectionNoErrors" xml:space="preserve">
- <value>Provider reported no errors</value>
+ <data name="document--pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\document--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="globe--pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\globe--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="application--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="cross-script" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\cross-script.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="XmlDocIsValid" xml:space="preserve">
+ <value>Document is valid</value>
</data>
- <data name="sql-join-left" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\sql-join-left.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="globe--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\globe--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="application--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="application-import" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application-import.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="drive-upload" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\drive-upload.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
<data name="InfiniteValue" xml:space="preserve">
<value>infinite</value>
<comment>A value that is displayed when the value assigned is infinite</comment>
</data>
- <data name="server" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\server.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="sql" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sql.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="magnifier" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="FindEmptyString" xml:space="preserve">
+ <value>Cannot Find an Empty String</value>
</data>
- <data name="sql-join-inner" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\sql-join-inner.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="property" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\property.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="plus-circle" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\plus-circle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="edit-indent" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\edit-indent.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="scissors-blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\scissors-blue.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="tick" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\tick.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="XmlDocIsValid" xml:space="preserve">
- <value>Document is valid</value>
+ <data name="control" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\control.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="TransparentName" xml:space="preserve">
- <value>Transparent</value>
+ <data name="application-export" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application-export.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="control-stop-square" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\control-stop-square.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="arrow-270" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="edit-indent" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\edit-indent.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="databases-relation" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\databases-relation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="application-search-result" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application-search-result.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="layer--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\layer--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
+ <data name="arrow-return-180" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-return-180.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="XmlEditorCursorTemplate" xml:space="preserve">
+ <value>Line {0}, Column {1}</value>
+ </data>
+ <data name="sql-join-right" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sql-join-right.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
<data name="clipboard-paste" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clipboard-paste.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="InvalidValueError" xml:space="preserve">
- <value>Invalid value</value>
- <comment>An error message that is displayed when the entered value is invalid</comment>
+ <data name="sql-join" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sql-join.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="FileDownloaded" xml:space="preserve">
- <value>File Downloaded</value>
+ <data name="tick-circle-frame" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\tick-circle-frame.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="globe--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\globe--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NoColumnValuesError" xml:space="preserve">
+ <value>No values found in selected column</value>
+ <comment>A message displayed when the column has no values</comment>
</data>
- <data name="document--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\document--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="layers-stack-arrange" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\layers-stack-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
+ <data name="control-stop-square" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\control-stop-square.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
<data name="document--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\document--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="control" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\control.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="arrow-curve" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-curve.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="folder_horizontal" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\folder-horizontal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="FunctionTooltip" xml:space="preserve">
+ <value>Function: {1}({2})
+Description: {3}
+Returns: {0}</value>
+ <comment>The tooltip displayed in the text editor when the cursor is over a function name</comment>
</data>
- <data name="arrow-090" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="minus-circle" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\minus-circle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="FindNothing" xml:space="preserve">
- <value>Could not find specified string or end of document reached</value>
+ <data name="scissors-blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\scissors-blue.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="exclamation" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\exclamation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="TitleError" xml:space="preserve">
+ <value>Error</value>
</data>
- <data name="arrow-return-180" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-return-180.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="TransparentName" xml:space="preserve">
+ <value>Transparent</value>
</data>
- <data name="table--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\table--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="globe--pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\globe--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
+ <data name="FindReplaceNothing" xml:space="preserve">
+ <value>Nothing to replace</value>
+ </data>
+ <data name="server" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\server.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="block" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\block.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="application--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="globe--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\globe--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="table" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\table.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="arrow-circle-135" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-circle-135.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
<data name="layer--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\layer--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="document-copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="MgCooker" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHrSURBVDhPhZLtS1NhGMb9T/rQx6ACyUVDyQjDaKAGQYOB
+ Ew2K9ilifrA+LDAMablFb1IM03DbMXMwj4O15VZ5iPly2Go0yzCzF0iwr4OdX3seOxK1owcunofzPPfv
+ vq77nLo6i2d44j0Xb8elgk90rO7VfN80dB13coLmyUFalCMcHjvJ+fBnHkdLu4Psty5wKhZgz9022tUw
+ 9oiHpuQy+1IG7umNnQGdfkV2bA4fq3ZtpCP+EI9u4NAM6mMJDkaDuPoj1pCGgUt/LDfiSYV4sFzGm6/g
+ zBkcGOtj/4gTm/+cNeBqvIBttIeexDDqlwqhjxX6ixVcc1/lHITawn5rwBVlVRa0x4ZoVc7i1V5JBx3p
+ nIwk4wU6rQG+e3m8ehlnMrodxaGOc+K1gS21waHRMzh6B3cepHDRrf2UHe3jp2mZXaf+hcHeRBnxeXf9
+ H4L3Z3HfnOJoyMVxtUSD+ovW55t03SnguzZNOp2xhiws6GjaPJPPXnLDn8Hnn6NvIMvl3qcEApHq2Rsp
+ SxcCUHj7QUrsTaAo0vUSi0vv5JklxCwUl0Wxuf4NE3vLGCuf1rdtii7Z7JZlASoWV1G6uslEpsjlFmvH
+ WFv7wcxM6j8JZ9++bzL/aISV/Ja7mnNYqmY07YouQubg/l1NwG/XLb2y/7oFegAAAABJRU5ErkJggg==
+</value>
</data>
- <data name="databases-relation" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\databases-relation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="TestConnectionNoErrors" xml:space="preserve">
+ <value>Provider reported no errors</value>
</data>
- <data name="globe--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\globe--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="magnifier" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="MoreColorsName" xml:space="preserve">
- <value>More colors...</value>
- </data>
- <data name="script--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\script--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
<data name="sort-number" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sort-number.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="tick-circle-frame" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\tick-circle-frame.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="arrow-090" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="FindEmptyString" xml:space="preserve">
- <value>Cannot Find an Empty String</value>
+ <data name="globe--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\globe--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="arrow-270" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="application--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\application--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="globe--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\globe--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="document-copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="sql-join-right" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\sql-join-right.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="FileDownloaded" xml:space="preserve">
+ <value>File Downloaded</value>
</data>
- <data name="folder--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\folder--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="function" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\function.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="application--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="folder--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\folder--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="TitleError" xml:space="preserve">
- <value>Error</value>
+ <data name="sum" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sum.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="arrow-circle-135" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-circle-135.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="MoreColorsName" xml:space="preserve">
+ <value>More colors...</value>
</data>
- <data name="document--pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\document--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="InvalidValueError" xml:space="preserve">
+ <value>Invalid value</value>
+ <comment>An error message that is displayed when the entered value is invalid</comment>
</data>
- <data name="layer--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\layer--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
<data name="cross" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
+ <data name="drive-upload" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\drive-upload.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="cross-script" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\cross-script.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
<data name="cross-circle-frame" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cross-circle-frame.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="arrow-curve" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-curve.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="layer" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\layer.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
+ <data name="arrow-curve-180-left" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-curve-180-left.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ColumnValueError" xml:space="preserve">
+ <value>An error occured while reading column values: {0}</value>
+ <comment>An error message that is displayed when the column values could not be read</comment>
+ </data>
<data name="drive-download" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\drive-download.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="application--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="sql-join-left" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sql-join-left.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="FindReplaceNothing" xml:space="preserve">
- <value>Nothing to replace</value>
- </data>
- <data name="application-export" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application-export.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
<data name="database--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="folder--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\folder--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="script--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\script--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="XmlEditorCursorTemplate" xml:space="preserve">
- <value>Line {0}, Column {1}</value>
+ <data name="folder_horizontal" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\folder-horizontal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="arrow-curve-180-left" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\arrow-curve-180-left.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="FindNothing" xml:space="preserve">
+ <value>Could not find specified string or end of document reached</value>
</data>
- <data name="sql" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\sql.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="document--plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\document--plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="function" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\function.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="table--arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\table--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="application-import" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\application-import.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="folder--minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\folder--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="layers-stack-arrange" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\layers-stack-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
<data name="layers-stack-arrange-back" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\layers-stack-arrange-back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="layer" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\layer.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="funnel" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\funnel.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="FiniteDisplayScales" xml:space="preserve">
<value>Finite Display Scales</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="MgCooker" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHrSURBVDhPhZLtS1NhGMb9T/rQx6ACyUVDyQjDaKAGQYOB
- Ew2K9ilifrA+LDAMablFb1IM03DbMXMwj4O15VZ5iPly2Go0yzCzF0iwr4OdX3seOxK1owcunofzPPfv
- vq77nLo6i2d44j0Xb8elgk90rO7VfN80dB13coLmyUFalCMcHjvJ+fBnHkdLu4Psty5wKhZgz9022tUw
- 9oiHpuQy+1IG7umNnQGdfkV2bA4fq3ZtpCP+EI9u4NAM6mMJDkaDuPoj1pCGgUt/LDfiSYV4sFzGm6/g
- zBkcGOtj/4gTm/+cNeBqvIBttIeexDDqlwqhjxX6ixVcc1/lHITawn5rwBVlVRa0x4ZoVc7i1V5JBx3p
- nIwk4wU6rQG+e3m8ehlnMrodxaGOc+K1gS21waHRMzh6B3cepHDRrf2UHe3jp2mZXaf+hcHeRBnxeXf9
- H4L3Z3HfnOJoyMVxtUSD+ovW55t03SnguzZNOp2xhiws6GjaPJPPXnLDn8Hnn6NvIMvl3qcEApHq2Rsp
- SxcCUHj7QUrsTaAo0vUSi0vv5JklxCwUl0Wxuf4NE3vLGCuf1rdtii7Z7JZlASoWV1G6uslEpsjlFmvH
- WFv7wcxM6j8JZ9++bzL/aISV/Ja7mnNYqmY07YouQubg/l1NwG/XLb2y/7oFegAAAABJRU5ErkJggg==
-</value>
+ <data name="PropertyTooltip" xml:space="preserve">
+ <value>Property: {0}
+Type: {1}</value>
+ <comment>The tooltip displayed in the text editor when the cursor is over a property</comment>
</data>
+ <data name="sql-join-inner" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\sql-join-inner.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="grid" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\grid.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ruler" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\ruler.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/block.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/block.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/funnel.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/funnel.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/grid.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/grid.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/property.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/property.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/ruler.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/ruler.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/sum.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/sum.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: sandbox/maestro-3.0/Maestro.Editors/Resources/table.png
===================================================================
(Binary files differ)
Property changes on: sandbox/maestro-3.0/Maestro.Editors/Resources/table.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IFeatureService.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IFeatureService.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Services/IFeatureService.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -36,6 +36,7 @@
/// </summary>
void DescribeSchema();
+ OSGeo.MapGuide.ObjectModels.Capabilities.FdoProviderCapabilities GetProviderCapabilities(string provider);
ObjCommon.FeatureProviderRegistryFeatureProvider[] FeatureProviders { get; }
string TestConnection(string providername, NameValueCollection parameters);
string TestConnection(string featureSourceId);
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs 2010-07-10 14:38:40 UTC (rev 5022)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs 2010-07-10 15:34:02 UTC (rev 5023)
@@ -35,6 +35,7 @@
using OSGeo.MapGuide.MaestroAPI.Exceptions;
using OSGeo.MapGuide.MaestroAPI.Http;
using System.IO;
+using OSGeo.MapGuide.ObjectModels.Capabilities;
namespace OSGeo.MapGuide.MaestroAPI
{
@@ -1722,5 +1723,21 @@
{
throw new NotImplementedException();
}
+
+
+ public FdoProviderCapabilities GetProviderCapabilities(string provider)
+ {
+ if (m_cachedProviderCapabilities == null)
+ m_cachedProviderCapabilities = new Hashtable();
+
+ if (m_cachedProviderCapabilities.ContainsKey(provider))
+ return (FdoProviderCapabilities)m_cachedProviderCapabilities[provider];
+
+ string req = m_reqBuilder.GetProviderCapabilities(provider);
+
+ //TODO: Cache?
+ FdoProviderCapabilities o = (FdoProviderCapabilities)DeserializeObject(typeof(FdoProviderCapabilities), this.OpenRead(req));
+ return o;
+ }
}
}
More information about the mapguide-commits
mailing list