[mapguide-commits] r8111 - in trunk/Tools/Maestro/Maestro.Editors: . Common Common/Expression
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue May 6 13:00:53 PDT 2014
Author: jng
Date: 2014-05-06 13:00:53 -0700 (Tue, 06 May 2014)
New Revision: 8111
Added:
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.Designer.cs
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.cs
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.resx
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.Designer.cs
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.cs
trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.resx
Modified:
trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.cs
trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.designer.cs
trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.resx
trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.Designer.cs
trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.cs
trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.resx
trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj
Log:
#2438: Add specialized builders for the following stylization functions in the Expression Editor:
- LOOKUP
- RANGE
- ARGB
- HTMLCOLOR
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.Designer.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,143 @@
+namespace Maestro.Editors.Common.Expression
+{
+ partial class LookupExpressionBuilder
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LookupExpressionBuilder));
+ this.grdRangeItems = new System.Windows.Forms.DataGridView();
+ this.label1 = new System.Windows.Forms.Label();
+ this.cmbProperty = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtDefaultValue = new System.Windows.Forms.TextBox();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.txtPreview = new System.Windows.Forms.TextBox();
+ this.btnRefresh = new System.Windows.Forms.Button();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.grdRangeItems)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grdRangeItems
+ //
+ resources.ApplyResources(this.grdRangeItems, "grdRangeItems");
+ this.grdRangeItems.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.grdRangeItems.Name = "grdRangeItems";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // cmbProperty
+ //
+ this.cmbProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbProperty.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbProperty, "cmbProperty");
+ this.cmbProperty.Name = "cmbProperty";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // txtDefaultValue
+ //
+ resources.ApplyResources(this.txtDefaultValue, "txtDefaultValue");
+ this.txtDefaultValue.Name = "txtDefaultValue";
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.txtPreview);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // txtPreview
+ //
+ resources.ApplyResources(this.txtPreview, "txtPreview");
+ this.txtPreview.Name = "txtPreview";
+ //
+ // btnRefresh
+ //
+ resources.ApplyResources(this.btnRefresh, "btnRefresh");
+ this.btnRefresh.Name = "btnRefresh";
+ this.btnRefresh.UseVisualStyleBackColor = true;
+ this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
+ //
+ // btnOK
+ //
+ resources.ApplyResources(this.btnOK, "btnOK");
+ this.btnOK.Name = "btnOK";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // btnCancel
+ //
+ resources.ApplyResources(this.btnCancel, "btnCancel");
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // LookupExpressionBuilder
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ControlBox = false;
+ this.Controls.Add(this.btnRefresh);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnOK);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.txtDefaultValue);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.cmbProperty);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.grdRangeItems);
+ this.Name = "LookupExpressionBuilder";
+ ((System.ComponentModel.ISupportInitialize)(this.grdRangeItems)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataGridView grdRangeItems;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox cmbProperty;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtDefaultValue;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TextBox txtPreview;
+ private System.Windows.Forms.Button btnRefresh;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Button btnCancel;
+ }
+}
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,82 @@
+#region Disclaimer / License
+// Copyright (C) 2014, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Maestro.Editors.Common.Expression
+{
+ internal partial class LookupExpressionBuilder : Form
+ {
+ class LookupItem
+ {
+ public string Key { get; set; }
+ public string Value { get; set; }
+ }
+
+ private BindingList<LookupItem> _items;
+
+ private LookupExpressionBuilder()
+ {
+ InitializeComponent();
+ _items = new BindingList<LookupItem>();
+ grdRangeItems.DataSource = _items;
+ }
+
+ public LookupExpressionBuilder(string[] propertyNames)
+ : this()
+ {
+ cmbProperty.DataSource = propertyNames;
+ }
+
+ public string GetExpression()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("LOOKUP(" + cmbProperty.Text + ", " + txtDefaultValue.Text);
+ foreach (var item in _items)
+ {
+ sb.Append(", " + item.Key + ", " + item.Value);
+ }
+ sb.Append(")");
+ return sb.ToString();
+ }
+
+ private void btnRefresh_Click(object sender, EventArgs e)
+ {
+ txtPreview.Text = this.GetExpression();
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = System.Windows.Forms.DialogResult.OK;
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/LookupExpressionBuilder.resx 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,405 @@
+<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="grdRangeItems.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="grdRangeItems.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 37</value>
+ </data>
+ <data name="grdRangeItems.Size" type="System.Drawing.Size, System.Drawing">
+ <value>503, 141</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="grdRangeItems.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>grdRangeItems.Name" xml:space="preserve">
+ <value>grdRangeItems</value>
+ </data>
+ <data name=">>grdRangeItems.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>grdRangeItems.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>grdRangeItems.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 13</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>46, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Property</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="cmbProperty.Location" type="System.Drawing.Point, System.Drawing">
+ <value>76, 10</value>
+ </data>
+ <data name="cmbProperty.Size" type="System.Drawing.Size, System.Drawing">
+ <value>121, 21</value>
+ </data>
+ <data name="cmbProperty.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name=">>cmbProperty.Name" xml:space="preserve">
+ <value>cmbProperty</value>
+ </data>
+ <data name=">>cmbProperty.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>cmbProperty.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>cmbProperty.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>214, 13</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>71, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Default Value</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="txtDefaultValue.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtDefaultValue.Location" type="System.Drawing.Point, System.Drawing">
+ <value>291, 11</value>
+ </data>
+ <data name="txtDefaultValue.Size" type="System.Drawing.Size, System.Drawing">
+ <value>224, 20</value>
+ </data>
+ <data name="txtDefaultValue.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>txtDefaultValue.Name" xml:space="preserve">
+ <value>txtDefaultValue</value>
+ </data>
+ <data name=">>txtDefaultValue.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtDefaultValue.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtDefaultValue.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="txtPreview.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="txtPreview.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Courier New, 14.25pt</value>
+ </data>
+ <data name="txtPreview.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="txtPreview.Multiline" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="txtPreview.Size" type="System.Drawing.Size, System.Drawing">
+ <value>497, 160</value>
+ </data>
+ <data name="txtPreview.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>txtPreview.Name" xml:space="preserve">
+ <value>txtPreview</value>
+ </data>
+ <data name=">>txtPreview.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtPreview.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>txtPreview.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 185</value>
+ </data>
+ <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>503, 179</value>
+ </data>
+ <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="groupBox1.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>groupBox1.Name" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>groupBox1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox1.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="btnRefresh.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Left</value>
+ </data>
+ <data name="btnRefresh.Location" type="System.Drawing.Point, System.Drawing">
+ <value>18, 370</value>
+ </data>
+ <data name="btnRefresh.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnRefresh.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="btnRefresh.Text" xml:space="preserve">
+ <value>Refresh</value>
+ </data>
+ <data name=">>btnRefresh.Name" xml:space="preserve">
+ <value>btnRefresh</value>
+ </data>
+ <data name=">>btnRefresh.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnRefresh.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnRefresh.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="btnOK.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
+ <value>359, 370</value>
+ </data>
+ <data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnOK.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="btnOK.Text" xml:space="preserve">
+ <value>OK</value>
+ </data>
+ <data name=">>btnOK.Name" xml:space="preserve">
+ <value>btnOK</value>
+ </data>
+ <data name=">>btnOK.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnOK.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnOK.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>440, 370</value>
+ </data>
+ <data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="btnCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>btnCancel.Name" xml:space="preserve">
+ <value>btnCancel</value>
+ </data>
+ <data name=">>btnCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnCancel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnCancel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>527, 405</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>Lookup Expression Builder</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>LookupExpressionBuilder</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.Designer.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,143 @@
+namespace Maestro.Editors.Common.Expression
+{
+ partial class RangeExpressionBuilder
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RangeExpressionBuilder));
+ this.grdRangeItems = new System.Windows.Forms.DataGridView();
+ this.label1 = new System.Windows.Forms.Label();
+ this.cmbProperty = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtDefaultValue = new System.Windows.Forms.TextBox();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.txtPreview = new System.Windows.Forms.TextBox();
+ this.btnRefresh = new System.Windows.Forms.Button();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.grdRangeItems)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grdRangeItems
+ //
+ resources.ApplyResources(this.grdRangeItems, "grdRangeItems");
+ this.grdRangeItems.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.grdRangeItems.Name = "grdRangeItems";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // cmbProperty
+ //
+ this.cmbProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbProperty.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbProperty, "cmbProperty");
+ this.cmbProperty.Name = "cmbProperty";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // txtDefaultValue
+ //
+ resources.ApplyResources(this.txtDefaultValue, "txtDefaultValue");
+ this.txtDefaultValue.Name = "txtDefaultValue";
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.txtPreview);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // txtPreview
+ //
+ resources.ApplyResources(this.txtPreview, "txtPreview");
+ this.txtPreview.Name = "txtPreview";
+ //
+ // btnRefresh
+ //
+ resources.ApplyResources(this.btnRefresh, "btnRefresh");
+ this.btnRefresh.Name = "btnRefresh";
+ this.btnRefresh.UseVisualStyleBackColor = true;
+ this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
+ //
+ // btnOK
+ //
+ resources.ApplyResources(this.btnOK, "btnOK");
+ this.btnOK.Name = "btnOK";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // btnCancel
+ //
+ resources.ApplyResources(this.btnCancel, "btnCancel");
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // RangeExpressionBuilder
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ControlBox = false;
+ this.Controls.Add(this.btnRefresh);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnOK);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.txtDefaultValue);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.cmbProperty);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.grdRangeItems);
+ this.Name = "RangeExpressionBuilder";
+ ((System.ComponentModel.ISupportInitialize)(this.grdRangeItems)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataGridView grdRangeItems;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox cmbProperty;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtDefaultValue;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TextBox txtPreview;
+ private System.Windows.Forms.Button btnRefresh;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Button btnCancel;
+ }
+}
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,83 @@
+#region Disclaimer / License
+// Copyright (C) 2014, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Maestro.Editors.Common.Expression
+{
+ internal partial class RangeExpressionBuilder : Form
+ {
+ class LookupItem
+ {
+ public double Min { get; set; }
+ public double Max { get; set; }
+ public string Value { get; set; }
+ }
+
+ private BindingList<LookupItem> _items;
+
+ private RangeExpressionBuilder()
+ {
+ InitializeComponent();
+ _items = new BindingList<LookupItem>();
+ grdRangeItems.DataSource = _items;
+ }
+
+ public RangeExpressionBuilder(string[] propertyNames)
+ : this()
+ {
+ cmbProperty.DataSource = propertyNames;
+ }
+
+ public string GetExpression()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("RANGE(" + cmbProperty.Text + ", " + txtDefaultValue.Text);
+ foreach (var item in _items)
+ {
+ sb.Append(", " + item.Min.ToString(CultureInfo.InvariantCulture) + ", " + item.Max.ToString(CultureInfo.InvariantCulture) + ", " + item.Value);
+ }
+ sb.Append(")");
+ return sb.ToString();
+ }
+
+ private void btnRefresh_Click(object sender, EventArgs e)
+ {
+ txtPreview.Text = this.GetExpression();
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = System.Windows.Forms.DialogResult.OK;
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/Expression/RangeExpressionBuilder.resx 2014-05-06 20:00:53 UTC (rev 8111)
@@ -0,0 +1,405 @@
+<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="grdRangeItems.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="grdRangeItems.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 37</value>
+ </data>
+ <data name="grdRangeItems.Size" type="System.Drawing.Size, System.Drawing">
+ <value>503, 141</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="grdRangeItems.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>grdRangeItems.Name" xml:space="preserve">
+ <value>grdRangeItems</value>
+ </data>
+ <data name=">>grdRangeItems.Type" xml:space="preserve">
+ <value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>grdRangeItems.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>grdRangeItems.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 13</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>46, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Property</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="cmbProperty.Location" type="System.Drawing.Point, System.Drawing">
+ <value>76, 10</value>
+ </data>
+ <data name="cmbProperty.Size" type="System.Drawing.Size, System.Drawing">
+ <value>121, 21</value>
+ </data>
+ <data name="cmbProperty.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name=">>cmbProperty.Name" xml:space="preserve">
+ <value>cmbProperty</value>
+ </data>
+ <data name=">>cmbProperty.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>cmbProperty.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>cmbProperty.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>214, 13</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>71, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Default Value</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="txtDefaultValue.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtDefaultValue.Location" type="System.Drawing.Point, System.Drawing">
+ <value>291, 11</value>
+ </data>
+ <data name="txtDefaultValue.Size" type="System.Drawing.Size, System.Drawing">
+ <value>224, 20</value>
+ </data>
+ <data name="txtDefaultValue.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>txtDefaultValue.Name" xml:space="preserve">
+ <value>txtDefaultValue</value>
+ </data>
+ <data name=">>txtDefaultValue.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtDefaultValue.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtDefaultValue.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="txtPreview.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="txtPreview.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Courier New, 14.25pt</value>
+ </data>
+ <data name="txtPreview.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="txtPreview.Multiline" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="txtPreview.Size" type="System.Drawing.Size, System.Drawing">
+ <value>497, 160</value>
+ </data>
+ <data name="txtPreview.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>txtPreview.Name" xml:space="preserve">
+ <value>txtPreview</value>
+ </data>
+ <data name=">>txtPreview.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtPreview.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>txtPreview.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 185</value>
+ </data>
+ <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>503, 179</value>
+ </data>
+ <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="groupBox1.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>groupBox1.Name" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>groupBox1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox1.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="btnRefresh.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Left</value>
+ </data>
+ <data name="btnRefresh.Location" type="System.Drawing.Point, System.Drawing">
+ <value>18, 370</value>
+ </data>
+ <data name="btnRefresh.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnRefresh.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="btnRefresh.Text" xml:space="preserve">
+ <value>Refresh</value>
+ </data>
+ <data name=">>btnRefresh.Name" xml:space="preserve">
+ <value>btnRefresh</value>
+ </data>
+ <data name=">>btnRefresh.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnRefresh.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnRefresh.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="btnOK.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
+ <value>359, 370</value>
+ </data>
+ <data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnOK.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="btnOK.Text" xml:space="preserve">
+ <value>OK</value>
+ </data>
+ <data name=">>btnOK.Name" xml:space="preserve">
+ <value>btnOK</value>
+ </data>
+ <data name=">>btnOK.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnOK.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnOK.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>440, 370</value>
+ </data>
+ <data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="btnCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>btnCancel.Name" xml:space="preserve">
+ <value>btnCancel</value>
+ </data>
+ <data name=">>btnCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnCancel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnCancel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>527, 405</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>Range Expression Builder</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>RangeExpressionBuilder</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.cs 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -97,7 +97,7 @@
m_featureSource = featuresSourceId;
_caps = caps;
- insertThemeExpressionToolStripMenuItem.Enabled = attachStylizationFunctions;
+ btnTools.Enabled = attachStylizationFunctions;
SortedList<string, PropertyDefinition> sortedCols = new SortedList<string, PropertyDefinition>();
foreach (var col in _cls.Properties)
@@ -432,5 +432,61 @@
{
this.InsertText(text);
}
+
+ private void insertARGBColorExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using (var picker = new ColorDialog())
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ var c = picker.Color;
+ this.InsertText(string.Format("ARGB({0}, {1}, {2}, {3})", c.A, c.R, c.G, c.B));
+ }
+ }
+ }
+
+ private void insertHTMLCOLORExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using (var picker = new ColorDialog())
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ var c = picker.Color;
+ this.InsertText(string.Format("HTMLCOLOR({0}, {1}, {2})", c.R, c.G, c.B));
+ }
+ }
+ }
+
+ private void buildAndInsertLOOKUPExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ List<string> propNames = new List<string>();
+ foreach (var prop in _cls.Properties)
+ {
+ propNames.Add(prop.Name);
+ }
+ using (var picker = new LookupExpressionBuilder(propNames.ToArray()))
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ this.InsertText(picker.GetExpression());
+ }
+ }
+ }
+
+ private void buildAndInsertRANGEExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ List<string> propNames = new List<string>();
+ foreach (var prop in _cls.Properties)
+ {
+ propNames.Add(prop.Name);
+ }
+ using (var picker = new RangeExpressionBuilder(propNames.ToArray()))
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ this.InsertText(picker.GetExpression());
+ }
+ }
+ }
}
}
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.designer.cs 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.designer.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -44,10 +44,14 @@
this.ColumnValue = new System.Windows.Forms.ToolStripComboBox();
this.LookupValues = new System.Windows.Forms.ToolStripButton();
this.ColumnName = new System.Windows.Forms.ToolStripComboBox();
+ this.btnTools = new System.Windows.Forms.ToolStripDropDownButton();
+ this.insertThemeExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._autoCompleteTooltip = new System.Windows.Forms.ToolTip(this.components);
this.ExpressionText = new ICSharpCode.TextEditor.TextEditorControl();
- this.btnTools = new System.Windows.Forms.ToolStripDropDownButton();
- this.insertThemeExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.insertARGBColorExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.insertHTMLCOLORExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.buildAndInsertRANGEExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.panel1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
@@ -160,18 +164,14 @@
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.IsReadOnly = false;
- this.ExpressionText.Name = "ExpressionText";
- this.ExpressionText.ShowLineNumbers = false;
- this.ExpressionText.ShowVRuler = false;
- //
// btnTools
//
this.btnTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.insertThemeExpressionToolStripMenuItem});
+ this.insertThemeExpressionToolStripMenuItem,
+ this.insertARGBColorExpressionToolStripMenuItem,
+ this.insertHTMLCOLORExpressionToolStripMenuItem,
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem,
+ this.buildAndInsertRANGEExpressionToolStripMenuItem});
this.btnTools.Image = global::Maestro.Editors.Properties.Resources.gear;
resources.ApplyResources(this.btnTools, "btnTools");
this.btnTools.Name = "btnTools";
@@ -182,6 +182,38 @@
resources.ApplyResources(this.insertThemeExpressionToolStripMenuItem, "insertThemeExpressionToolStripMenuItem");
this.insertThemeExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertThemeExpressionToolStripMenuItem_Click);
//
+ // ExpressionText
+ //
+ resources.ApplyResources(this.ExpressionText, "ExpressionText");
+ this.ExpressionText.IsReadOnly = false;
+ this.ExpressionText.Name = "ExpressionText";
+ this.ExpressionText.ShowLineNumbers = false;
+ this.ExpressionText.ShowVRuler = false;
+ //
+ // insertARGBColorExpressionToolStripMenuItem
+ //
+ this.insertARGBColorExpressionToolStripMenuItem.Name = "insertARGBColorExpressionToolStripMenuItem";
+ resources.ApplyResources(this.insertARGBColorExpressionToolStripMenuItem, "insertARGBColorExpressionToolStripMenuItem");
+ this.insertARGBColorExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertARGBColorExpressionToolStripMenuItem_Click);
+ //
+ // insertHTMLCOLORExpressionToolStripMenuItem
+ //
+ this.insertHTMLCOLORExpressionToolStripMenuItem.Name = "insertHTMLCOLORExpressionToolStripMenuItem";
+ resources.ApplyResources(this.insertHTMLCOLORExpressionToolStripMenuItem, "insertHTMLCOLORExpressionToolStripMenuItem");
+ this.insertHTMLCOLORExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertHTMLCOLORExpressionToolStripMenuItem_Click);
+ //
+ // buildAndInsertLOOKUPExpressionToolStripMenuItem
+ //
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem.Name = "buildAndInsertLOOKUPExpressionToolStripMenuItem";
+ resources.ApplyResources(this.buildAndInsertLOOKUPExpressionToolStripMenuItem, "buildAndInsertLOOKUPExpressionToolStripMenuItem");
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem.Click += new System.EventHandler(this.buildAndInsertLOOKUPExpressionToolStripMenuItem_Click);
+ //
+ // buildAndInsertRANGEExpressionToolStripMenuItem
+ //
+ this.buildAndInsertRANGEExpressionToolStripMenuItem.Name = "buildAndInsertRANGEExpressionToolStripMenuItem";
+ resources.ApplyResources(this.buildAndInsertRANGEExpressionToolStripMenuItem, "buildAndInsertRANGEExpressionToolStripMenuItem");
+ this.buildAndInsertRANGEExpressionToolStripMenuItem.Click += new System.EventHandler(this.buildAndInsertRANGEExpressionToolStripMenuItem_Click);
+ //
// ExpressionEditor
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -219,5 +251,9 @@
private ICSharpCode.TextEditor.TextEditorControl ExpressionText;
private System.Windows.Forms.ToolStripDropDownButton btnTools;
private System.Windows.Forms.ToolStripMenuItem insertThemeExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem insertARGBColorExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem insertHTMLCOLORExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem buildAndInsertLOOKUPExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem buildAndInsertRANGEExpressionToolStripMenuItem;
}
}
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.resx 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/ExpressionEditor.resx 2014-05-06 20:00:53 UTC (rev 8111)
@@ -256,11 +256,35 @@
<value>Select the column to read values from</value>
</data>
<data name="insertThemeExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>201, 22</value>
+ <value>307, 22</value>
</data>
<data name="insertThemeExpressionToolStripMenuItem.Text" xml:space="preserve">
- <value>Insert Theme Expression</value>
+ <value>Insert Theme Expression (via Theme Builder)</value>
</data>
+ <data name="insertARGBColorExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="insertARGBColorExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Insert ARGB color expression</value>
+ </data>
+ <data name="insertHTMLCOLORExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="insertHTMLCOLORExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Insert HTMLCOLOR expression</value>
+ </data>
+ <data name="buildAndInsertLOOKUPExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="buildAndInsertLOOKUPExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Build and Insert LOOKUP expression</value>
+ </data>
+ <data name="buildAndInsertRANGEExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="buildAndInsertRANGEExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Build and Insert RANGE expression</value>
+ </data>
<data name="btnTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -295,19 +319,19 @@
<value>1</value>
</data>
<data name="btnCondition.Size" type="System.Drawing.Size, System.Drawing">
- <value>152, 22</value>
+ <value>127, 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>
+ <value>127, 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>
+ <value>127, 22</value>
</data>
<data name="btnDistance.Text" xml:space="preserve">
<value>Distance</value>
@@ -414,12 +438,6 @@
<data name=">>ColumnName.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
<data name=">>btnTools.Name" xml:space="preserve">
<value>btnTools</value>
</data>
@@ -432,6 +450,36 @@
<data name=">>insertThemeExpressionToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <data name=">>_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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>insertARGBColorExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>insertARGBColorExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>insertARGBColorExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>insertHTMLCOLORExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>insertHTMLCOLORExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>insertHTMLCOLORExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>buildAndInsertLOOKUPExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>buildAndInsertLOOKUPExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>buildAndInsertLOOKUPExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>buildAndInsertRANGEExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>buildAndInsertRANGEExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>buildAndInsertRANGEExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
<data name=">>$this.Name" xml:space="preserve">
<value>ExpressionEditor</value>
</data>
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.Designer.cs 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.Designer.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -45,10 +45,14 @@
this.ColumnValue = new System.Windows.Forms.ToolStripComboBox();
this.LookupValues = new System.Windows.Forms.ToolStripButton();
this.ColumnName = new System.Windows.Forms.ToolStripComboBox();
+ this.btnTools = new System.Windows.Forms.ToolStripDropDownButton();
+ this.insertThemeExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ExpressionText = new System.Windows.Forms.TextBox();
this._autoCompleteTooltip = new System.Windows.Forms.ToolTip(this.components);
- this.btnTools = new System.Windows.Forms.ToolStripDropDownButton();
- this.insertThemeExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.insertARGBColorExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.insertHTMLCOLORExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.buildAndInsertRANGEExpressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.panel1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
@@ -167,18 +171,14 @@
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);
- //
// btnTools
//
this.btnTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.insertThemeExpressionToolStripMenuItem});
+ this.insertThemeExpressionToolStripMenuItem,
+ this.insertARGBColorExpressionToolStripMenuItem,
+ this.insertHTMLCOLORExpressionToolStripMenuItem,
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem,
+ this.buildAndInsertRANGEExpressionToolStripMenuItem});
this.btnTools.Image = global::Maestro.Editors.Properties.Resources.gear;
resources.ApplyResources(this.btnTools, "btnTools");
this.btnTools.Name = "btnTools";
@@ -189,6 +189,38 @@
resources.ApplyResources(this.insertThemeExpressionToolStripMenuItem, "insertThemeExpressionToolStripMenuItem");
this.insertThemeExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertThemeExpressionToolStripMenuItem_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);
+ //
+ // insertARGBColorExpressionToolStripMenuItem
+ //
+ this.insertARGBColorExpressionToolStripMenuItem.Name = "insertARGBColorExpressionToolStripMenuItem";
+ resources.ApplyResources(this.insertARGBColorExpressionToolStripMenuItem, "insertARGBColorExpressionToolStripMenuItem");
+ this.insertARGBColorExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertARGBColorExpressionToolStripMenuItem_Click);
+ //
+ // insertHTMLCOLORExpressionToolStripMenuItem
+ //
+ this.insertHTMLCOLORExpressionToolStripMenuItem.Name = "insertHTMLCOLORExpressionToolStripMenuItem";
+ resources.ApplyResources(this.insertHTMLCOLORExpressionToolStripMenuItem, "insertHTMLCOLORExpressionToolStripMenuItem");
+ this.insertHTMLCOLORExpressionToolStripMenuItem.Click += new System.EventHandler(this.insertHTMLCOLORExpressionToolStripMenuItem_Click);
+ //
+ // buildAndInsertLOOKUPExpressionToolStripMenuItem
+ //
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem.Name = "buildAndInsertLOOKUPExpressionToolStripMenuItem";
+ resources.ApplyResources(this.buildAndInsertLOOKUPExpressionToolStripMenuItem, "buildAndInsertLOOKUPExpressionToolStripMenuItem");
+ this.buildAndInsertLOOKUPExpressionToolStripMenuItem.Click += new System.EventHandler(this.buildAndInsertLOOKUPExpressionToolStripMenuItem_Click);
+ //
+ // buildAndInsertRANGEExpressionToolStripMenuItem
+ //
+ this.buildAndInsertRANGEExpressionToolStripMenuItem.Name = "buildAndInsertRANGEExpressionToolStripMenuItem";
+ resources.ApplyResources(this.buildAndInsertRANGEExpressionToolStripMenuItem, "buildAndInsertRANGEExpressionToolStripMenuItem");
+ this.buildAndInsertRANGEExpressionToolStripMenuItem.Click += new System.EventHandler(this.buildAndInsertRANGEExpressionToolStripMenuItem_Click);
+ //
// MonoCompatibleExpressionEditor
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -228,5 +260,9 @@
private System.Windows.Forms.ToolStripDropDownButton btnFunctions;
private System.Windows.Forms.ToolStripDropDownButton btnTools;
private System.Windows.Forms.ToolStripMenuItem insertThemeExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem insertARGBColorExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem insertHTMLCOLORExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem buildAndInsertLOOKUPExpressionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem buildAndInsertRANGEExpressionToolStripMenuItem;
}
}
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.cs 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.cs 2014-05-06 20:00:53 UTC (rev 8111)
@@ -31,6 +31,7 @@
using Maestro.Shared.UI;
using OSGeo.MapGuide.MaestroAPI.Schema;
using Maestro.Editors.LayerDefinition.Vector.Thematics;
+using Maestro.Editors.Common.Expression;
namespace Maestro.Editors.Common
{
@@ -1128,6 +1129,62 @@
{
this.InsertText(text);
}
+
+ private void insertARGBColorExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using (var picker = new ColorDialog())
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ var c = picker.Color;
+ this.InsertText(string.Format("ARGB({0}, {1}, {2}, {3})", c.A, c.R, c.G, c.B));
+ }
+ }
+ }
+
+ private void insertHTMLCOLORExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using (var picker = new ColorDialog())
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ var c = picker.Color;
+ this.InsertText(string.Format("HTMLCOLOR({0}, {1}, {2})", c.R, c.G, c.B));
+ }
+ }
+ }
+
+ private void buildAndInsertLOOKUPExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ List<string> propNames = new List<string>();
+ foreach (var prop in _cls.Properties)
+ {
+ propNames.Add(prop.Name);
+ }
+ using (var picker = new LookupExpressionBuilder(propNames.ToArray()))
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ this.InsertText(picker.GetExpression());
+ }
+ }
+ }
+
+ private void buildAndInsertRANGEExpressionToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ List<string> propNames = new List<string>();
+ foreach (var prop in _cls.Properties)
+ {
+ propNames.Add(prop.Name);
+ }
+ using (var picker = new RangeExpressionBuilder(propNames.ToArray()))
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ this.InsertText(picker.GetExpression());
+ }
+ }
+ }
}
// ImageListBoxItem class
Modified: trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.resx 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Common/MonoCompatibleExpressionEditor.resx 2014-05-06 20:00:53 UTC (rev 8111)
@@ -174,21 +174,6 @@
<data name=">>CancelBtn.ZOrder" xml:space="preserve">
<value>1</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>
@@ -225,6 +210,33 @@
<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=4.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=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@@ -246,24 +258,6 @@
<data name="btnFunctions.Text" xml:space="preserve">
<value>Functions</value>
</data>
- <data name="btnCondition.Size" type="System.Drawing.Size, System.Drawing">
- <value>127, 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>127, 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>127, 22</value>
- </data>
- <data name="btnDistance.Text" xml:space="preserve">
- <value>Distance</value>
- </data>
<data name="btnFilter.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -301,11 +295,35 @@
<value>Select the column to read values from</value>
</data>
<data name="insertThemeExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>201, 22</value>
+ <value>307, 22</value>
</data>
<data name="insertThemeExpressionToolStripMenuItem.Text" xml:space="preserve">
- <value>Insert Theme Expression</value>
+ <value>Insert Theme Expression (via Theme Builder)</value>
</data>
+ <data name="insertARGBColorExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="insertARGBColorExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Insert ARGB color expression</value>
+ </data>
+ <data name="insertHTMLCOLORExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="insertHTMLCOLORExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Insert HTMLCOLOR expression</value>
+ </data>
+ <data name="buildAndInsertLOOKUPExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="buildAndInsertLOOKUPExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Build and Insert LOOKUP expression</value>
+ </data>
+ <data name="buildAndInsertRANGEExpressionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 22</value>
+ </data>
+ <data name="buildAndInsertRANGEExpressionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Build and Insert RANGE expression</value>
+ </data>
<data name="btnTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -339,6 +357,24 @@
<data name=">>toolStrip1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
+ <data name="btnCondition.Size" type="System.Drawing.Size, System.Drawing">
+ <value>127, 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>127, 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>127, 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>
@@ -447,12 +483,6 @@
<data name=">>ColumnName.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
<data name=">>btnTools.Name" xml:space="preserve">
<value>btnTools</value>
</data>
@@ -465,6 +495,36 @@
<data name=">>insertThemeExpressionToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <data name=">>_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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>insertARGBColorExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>insertARGBColorExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>insertARGBColorExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>insertHTMLCOLORExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>insertHTMLCOLORExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>insertHTMLCOLORExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>buildAndInsertLOOKUPExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>buildAndInsertLOOKUPExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>buildAndInsertLOOKUPExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>buildAndInsertRANGEExpressionToolStripMenuItem.Name" xml:space="preserve">
+ <value>buildAndInsertRANGEExpressionToolStripMenuItem</value>
+ </data>
+ <data name=">>buildAndInsertRANGEExpressionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
<data name=">>$this.Name" xml:space="preserve">
<value>MonoCompatibleExpressionEditor</value>
</data>
Modified: trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj 2014-05-06 19:17:12 UTC (rev 8110)
+++ trunk/Tools/Maestro/Maestro.Editors/Maestro.Editors.csproj 2014-05-06 20:00:53 UTC (rev 8111)
@@ -120,7 +120,19 @@
<Compile Include="Common\ExpressionEditor.designer.cs">
<DependentUpon>ExpressionEditor.cs</DependentUpon>
</Compile>
+ <Compile Include="Common\Expression\LookupExpressionBuilder.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Common\Expression\LookupExpressionBuilder.Designer.cs">
+ <DependentUpon>LookupExpressionBuilder.cs</DependentUpon>
+ </Compile>
<Compile Include="Common\Expression\FdoExpressionCompletionDataProvider.cs" />
+ <Compile Include="Common\Expression\RangeExpressionBuilder.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Common\Expression\RangeExpressionBuilder.Designer.cs">
+ <DependentUpon>RangeExpressionBuilder.cs</DependentUpon>
+ </Compile>
<Compile Include="Common\FindReplaceDialog.cs">
<SubType>Form</SubType>
</Compile>
@@ -1313,6 +1325,12 @@
<DependentUpon>ExpressionEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
+ <EmbeddedResource Include="Common\Expression\LookupExpressionBuilder.resx">
+ <DependentUpon>LookupExpressionBuilder.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Common\Expression\RangeExpressionBuilder.resx">
+ <DependentUpon>RangeExpressionBuilder.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="Common\FindReplaceDialog.resx">
<DependentUpon>FindReplaceDialog.cs</DependentUpon>
</EmbeddedResource>
More information about the mapguide-commits
mailing list