[mapguide-commits] r7991 - in trunk/Tools/Maestro/Maestro.Editors: . LayerDefinition/Vector/Thematics
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Mar 21 05:06:43 PDT 2014
Author: jng
Date: 2014-03-21 05:06:43 -0700 (Fri, 21 Mar 2014)
New Revision: 7991
Modified:
trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs
trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs
trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx
trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
trunk/Tools/Maestro/Maestro.Editors/Strings.resx
Log:
#2407: Support individual theme generation based on values in an external lookup table.
Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs 2014-03-20 09:44:15 UTC (rev 7990)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs 2014-03-21 12:06:43 UTC (rev 7991)
@@ -35,6 +35,8 @@
using Ldf = OSGeo.MapGuide.ObjectModels.LayerDefinition;
using OSGeo.MapGuide.MaestroAPI.Schema;
using System.Collections.Specialized;
+using Maestro.Editors.Generic;
+using Maestro.Shared.UI;
namespace Maestro.Editors.LayerDefinition.Vector.Thematics
{
@@ -42,14 +44,25 @@
{
private const int PREVIEW_ITEM_BOX_WIDTH = 20;
private const int PREVIEW_ITEM_BOX_SPACING = 10;
+ const int MAX_NUMERIC_THEME_RULES = 100000;
+ const int MAX_INDIVIDUAL_THEME_RULES = 100;
+ const int THEME_RULE_WARNING_LIMIT = 1000;
private static List<ColorBrewer> m_colorBrewer;
private IEditorService m_editor;
private ILayerDefinition m_layer;
- private ClassDefinition m_schema;
+ private ClassDefinition m_featureClass;
private Dictionary<object, long> m_values;
private DataPropertyType m_dataType;
+
+ class LookupPair
+ {
+ public object Key;
+ public object Value;
+ }
+
+ private List<LookupPair> m_lookupValues;
private object m_ruleCollection;
@@ -83,7 +96,7 @@
{
m_editor = editor;
m_layer = layer;
- m_schema = schema;
+ m_featureClass = schema;
m_ruleCollection = ruleCollection;
_factory = (ILayerElementFactory)editor.GetEditedResource();
@@ -149,6 +162,8 @@
if (m_colorBrewer == null)
m_colorBrewer = ColorBrewer.ParseCSV(GetCsvPath());
+
+ UpdateThemeChoice();
}
private string GetCsvPath()
@@ -183,25 +198,18 @@
ColumnCombo.Items.Add(Strings.SelectColumnPlaceholder);
ColumnCombo.SelectedIndex = 0;
- foreach (var col in m_schema.Properties)
+ foreach (var col in m_featureClass.Properties)
{
if (col.Type == PropertyDefinitionType.Data)
ColumnCombo.Items.Add(col.Name);
}
}
- private void ColumnCombo_SelectedIndexChanged(object sender, EventArgs e)
+ private void UpdateUIForClassSelection()
{
if (ColumnCombo.SelectedIndex == 0)
{
- //Dummy item selected, just disable the form
- RuleCountPanel.Enabled =
- GroupPanel.Enabled =
- DisplayGroup.Enabled =
- PreviewGroup.Enabled =
- OKBtn.Enabled =
- false;
-
+ DisableThemeOptions();
}
else
{
@@ -212,8 +220,8 @@
m_values = new Dictionary<object, long>();
- PropertyDefinition col = m_schema.FindProperty(ColumnCombo.Text);
-
+ PropertyDefinition col = m_featureClass.FindProperty(ColumnCombo.Text);
+
//Not really possible
if (col == null)
throw new Exception(Strings.InvalidColumnNameError);
@@ -237,14 +245,14 @@
//flag in the SELECTAGGREGATES operation that's exposed over HTTP. Either
//case, try this method first.
using (var rd = m_editor.FeatureService.AggregateQueryFeatureSource(
- vl.ResourceId,
- m_schema.QualifiedName,
- filter,
+ vl.ResourceId,
+ m_featureClass.QualifiedName,
+ filter,
new NameValueCollection() {
{ "value", "UNIQUE(\"" + col.Name + "\")" }
}))
{
- while (rd.ReadNext() && m_values.Count < 100000) //No more than 100.000 records in memory
+ while (rd.ReadNext() && m_values.Count < MAX_NUMERIC_THEME_RULES) //No more than 100.000 records in memory
{
if (!rd.IsNull("value"))
{
@@ -260,10 +268,10 @@
}
catch
{
-
- using (var rd = m_editor.FeatureService.QueryFeatureSource(vl.ResourceId, m_schema.QualifiedName, filter, new string[] { col.Name }))
+
+ using (var rd = m_editor.FeatureService.QueryFeatureSource(vl.ResourceId, m_featureClass.QualifiedName, filter, new string[] { col.Name }))
{
- while (rd.ReadNext() && m_values.Count < 100000) //No more than 100.000 records in memory
+ while (rd.ReadNext() && m_values.Count < MAX_NUMERIC_THEME_RULES) //No more than 100.000 records in memory
{
if (!rd.IsNull(col.Name))
{
@@ -312,8 +320,8 @@
if (dp.IsNumericType())
{
- if (m_values.Count >= 100000)
- MessageBox.Show(this, string.Format(Strings.TooMuchDataWarning, 100000), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ if (m_values.Count >= MAX_NUMERIC_THEME_RULES)
+ MessageBox.Show(this, string.Format(Strings.TooMuchDataWarning, MAX_NUMERIC_THEME_RULES), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
GroupPanel.Enabled = true;
RuleCountPanel.Enabled = true;
@@ -322,7 +330,7 @@
if (m_values.Count <= 9)
{
AggregateCombo.SelectedIndex = AggregateCombo.Items.Count - 1;
- AggregateCombo_SelectedIndexChanged(sender, e);
+ AggregateCombo_SelectedIndexChanged(this, EventArgs.Empty);
RefreshColorBrewerSet();
}
@@ -341,15 +349,15 @@
}
else //String type
{
- if (m_values.Count > 100)
+ if (m_values.Count > MAX_INDIVIDUAL_THEME_RULES)
{
- MessageBox.Show(this, string.Format(Strings.TooManyValuesError, 100), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(this, string.Format(Strings.TooManyValuesError, MAX_INDIVIDUAL_THEME_RULES), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
ColumnCombo.SelectedIndex = 0;
return;
}
- RuleCountPanel.Enabled =
- GroupPanel.Enabled =
+ RuleCountPanel.Enabled =
+ GroupPanel.Enabled =
false;
RuleCount.Minimum = 0;
@@ -371,6 +379,36 @@
}
}
+ private void DisableThemeOptions()
+ {
+ //Dummy item selected, just disable the form
+ RuleCountPanel.Enabled =
+ GroupPanel.Enabled =
+ DisplayGroup.Enabled =
+ PreviewGroup.Enabled =
+ OKBtn.Enabled =
+ false;
+ }
+
+ private void ColumnCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (ColumnCombo.SelectedIndex == 0)
+ {
+ DisableThemeOptions();
+ }
+ else
+ {
+ if (rdValuesFromClass.Checked)
+ {
+ UpdateUIForClassSelection();
+ }
+ else if (rdValuesFromLookup.Checked)
+ {
+ UpdateUIForExternalLookup();
+ }
+ }
+ }
+
private void RefreshColorBrewerSet()
{
try
@@ -412,136 +450,173 @@
Color[] colors = BuildColorSet(false);
List<RuleItem> result = new List<RuleItem>();
- if (AggregateCombo.SelectedIndex == 0 || AggregateCombo.SelectedIndex == 1 || AggregateCombo.SelectedIndex == 2)
+ if (rdValuesFromClass.Checked)
{
- double min = double.MaxValue;
- double max = double.MinValue;
- double mean = 0;
- long count = 0;
- foreach (KeyValuePair<object, long> entry in m_values)
+ if (AggregateCombo.SelectedIndex == 0 || AggregateCombo.SelectedIndex == 1 || AggregateCombo.SelectedIndex == 2)
{
- double value = Convert.ToDouble(entry.Key);
- min = Math.Min(value, min);
- max = Math.Max(value, max);
- mean += value * entry.Value;
- count += entry.Value;
- }
+ double min = double.MaxValue;
+ double max = double.MinValue;
+ double mean = 0;
+ long count = 0;
+ foreach (KeyValuePair<object, long> entry in m_values)
+ {
+ double value = Convert.ToDouble(entry.Key);
+ min = Math.Min(value, min);
+ max = Math.Max(value, max);
+ mean += value * entry.Value;
+ count += entry.Value;
+ }
- mean /= count;
+ mean /= count;
- if (AggregateCombo.SelectedIndex == 0) //Equal
- {
- double chunksize = (max - min) / colors.Length;
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(chunksize + min)),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(chunksize + min)),
- colors[0]));
-
- for (int i = 1; i < colors.Length - 1; i++)
+ if (AggregateCombo.SelectedIndex == 0) //Equal
+ {
+ double chunksize = (max - min) / colors.Length;
result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
- colors[i]));
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(chunksize + min)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(chunksize + min)),
+ colors[0]));
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(max - chunksize)),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(max - chunksize)),
- colors[colors.Length - 1]));
- }
- else if (AggregateCombo.SelectedIndex == 1) //Standard Deviation
- {
- double dev = 0;
- foreach (KeyValuePair<object, long> entry in m_values)
- dev += ((Convert.ToDouble(entry.Key) - mean) * (Convert.ToDouble(entry.Key) - mean)) * entry.Value;
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
+ colors[i]));
- dev /= count;
- dev = Math.Sqrt(dev);
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(max - chunksize)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(max - chunksize)),
+ colors[colors.Length - 1]));
+ }
+ else if (AggregateCombo.SelectedIndex == 1) //Standard Deviation
+ {
+ double dev = 0;
+ foreach (KeyValuePair<object, long> entry in m_values)
+ dev += ((Convert.ToDouble(entry.Key) - mean) * (Convert.ToDouble(entry.Key) - mean)) * entry.Value;
- double span = (dev * (colors.Length / 2));
- double lower = mean < span ? span - mean : mean - span;
+ dev /= count;
+ dev = Math.Sqrt(dev);
- if (colors.Length % 2 == 1)
- lower += dev / 2; //The middle item goes half an alpha to each side
+ double span = (dev * (colors.Length / 2));
+ double lower = mean < span ? span - mean : mean - span;
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" < {1}", ColumnCombo.Text, FormatValue(lower + dev)),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(lower + dev)),
- colors[0]));
+ if (colors.Length % 2 == 1)
+ lower += dev / 2; //The middle item goes half an alpha to each side
- for (int i = 1; i < colors.Length - 1; i++)
result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1} AND \"{0}\" < {2}", ColumnCombo.Text, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
- colors[i]));
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" < {1}", ColumnCombo.Text, FormatValue(lower + dev)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(lower + dev)),
+ colors[0]));
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1}", ColumnCombo.Text, FormatValue(lower + (dev * (colors.Length - 1)))),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(lower + (dev * (colors.Length - 1)))),
- colors[colors.Length - 1]));
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1} AND \"{0}\" < {2}", ColumnCombo.Text, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
+ colors[i]));
- }
- else if (AggregateCombo.SelectedIndex == 2) //Quantile
- {
- SortedDictionary<double, long> sort = new SortedDictionary<double, long>();
- foreach (KeyValuePair<object, long> entry in m_values)
- sort.Add(Convert.ToDouble(entry.Key), entry.Value);
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1}", ColumnCombo.Text, FormatValue(lower + (dev * (colors.Length - 1)))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(lower + (dev * (colors.Length - 1)))),
+ colors[colors.Length - 1]));
- double step = (1.0 / colors.Length) * count;
- List<double> separators = new List<double>();
- for(int i = 1; i < colors.Length; i++)
+ }
+ else if (AggregateCombo.SelectedIndex == 2) //Quantile
{
- long limit = (long)Math.Round(step * i);
- long cc = 0;
- double item = double.NaN;
+ SortedDictionary<double, long> sort = new SortedDictionary<double, long>();
+ foreach (KeyValuePair<object, long> entry in m_values)
+ sort.Add(Convert.ToDouble(entry.Key), entry.Value);
- foreach(KeyValuePair<double, long> entry in sort)
+ double step = (1.0 / colors.Length) * count;
+ List<double> separators = new List<double>();
+ for (int i = 1; i < colors.Length; i++)
{
- item = entry.Key;
- cc += entry.Value;
- if (cc >= limit)
- break;
+ long limit = (long)Math.Round(step * i);
+ long cc = 0;
+ double item = double.NaN;
+
+ foreach (KeyValuePair<double, long> entry in sort)
+ {
+ item = entry.Key;
+ cc += entry.Value;
+ if (cc >= limit)
+ break;
+ }
+
+ separators.Add(item);
}
- separators.Add(item);
- }
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(separators[0])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(separators[0])),
+ colors[0]));
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(separators[0])),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.LessThanLabel, FormatValue(separators[0])),
- colors[0]));
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(separators[i - 1]), FormatValue(separators[i])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(separators[i - 1]), FormatValue(separators[i])),
+ colors[i]));
- for (int i = 1; i < colors.Length - 1; i++)
result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(separators[i - 1]), FormatValue(separators[i])),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.BetweenLabel, FormatValue(separators[i - 1]), FormatValue(separators[i])),
- colors[i]));
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(separators[separators.Count - 1])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(separators[separators.Count - 1])),
+ colors[colors.Length - 1]));
+ }
+ }
+ else if (AggregateCombo.SelectedIndex == 3) //Individual
+ {
+ List<object> items = new List<object>(m_values.Keys);
+ items.Sort(); //Handles types correctly
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(separators[separators.Count - 1])),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, Strings.MoreThanLabel, FormatValue(separators[separators.Count - 1])),
- colors[colors.Length - 1]));
+ for (int i = 0; i < colors.Length; i++)
+ if (items[i] is string)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = '{1}'", ColumnCombo.Text, items[i]),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
+ colors[i]));
+ else
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = {1}", ColumnCombo.Text, items[i]),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
+ colors[i]));
+
}
}
- else if (AggregateCombo.SelectedIndex == 3) //Individual
+ else if (rdValuesFromLookup.Checked)
{
- List<object> items = new List<object>(m_values.Keys);
- items.Sort(); //Handles types correctly
+ //We use the type of the primary property and not the secondary key property
+ //as the filter will be generated against the primary property
+ PropertyDefinition keyProp = m_featureClass.FindProperty(ColumnCombo.Text);
+ bool isStringKeyProp = false;
+ if (keyProp.Type == PropertyDefinitionType.Data)
+ {
+ DataPropertyDefinition dp = (DataPropertyDefinition)keyProp;
+ isStringKeyProp = (dp.DataType == DataPropertyType.String);
+ }
for (int i = 0; i < colors.Length; i++)
- if (items[i] is string)
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = '{1}'", ColumnCombo.Text, items[i]),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
- colors[i]));
+ {
+ var pair = m_lookupValues[i];
+ if (isStringKeyProp)
+ {
+ result.Add(
+ new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = '{1}'", ColumnCombo.Text, pair.Key),
+ pair.Value.ToString(),
+ colors[i]
+ ));
+ }
else
- result.Add(new RuleItem(
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = {1}", ColumnCombo.Text, items[i]),
- string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
- colors[i]));
-
+ {
+ result.Add(
+ new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = {1}", ColumnCombo.Text, pair.Key),
+ pair.Value.ToString(),
+ colors[i]
+ ));
+ }
+ }
}
-
return result;
}
@@ -624,7 +699,11 @@
/// <returns>A list of colors matching the user selection</returns>
private Color[] BuildColorSet(bool forPreview)
{
- Color[] res = new Color[forPreview ? Math.Min((int)RuleCount.Value, 100) : (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1 ? m_values.Count : (int)RuleCount.Value)];
+ Color[] res = null;
+ if (rdValuesFromClass.Checked)
+ res = new Color[forPreview ? Math.Min((int)RuleCount.Value, MAX_INDIVIDUAL_THEME_RULES) : (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1 ? m_values.Count : (int)RuleCount.Value)];
+ else if (rdValuesFromLookup.Checked)
+ res = new Color[forPreview ? Math.Min((int)RuleCount.Value, MAX_INDIVIDUAL_THEME_RULES) : (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1 ? m_lookupValues.Count : (int)RuleCount.Value)];
if (GradientColors.Checked)
{
@@ -669,9 +748,9 @@
{
if (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1)
{
- if (m_values.Count > 100)
+ if (m_values.Count > MAX_INDIVIDUAL_THEME_RULES)
{
- MessageBox.Show(this, string.Format(Strings.TooManyIndiviualValuesError, 100), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(this, string.Format(Strings.TooManyIndiviualValuesError, MAX_INDIVIDUAL_THEME_RULES), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
AggregateCombo.SelectedIndex = 0;
return;
}
@@ -760,7 +839,7 @@
{
List<RuleItem> rules = CalculateRuleSet();
- if (rules.Count > 1000)
+ if (rules.Count > THEME_RULE_WARNING_LIMIT)
{
if (MessageBox.Show(this, Strings.TooManyRulesWarning, Application.ProductName, MessageBoxButtons.YesNoCancel) != DialogResult.Yes)
return;
@@ -949,5 +1028,173 @@
}
LoadColorBrewerOptions();
}
+
+ private void UpdateThemeChoice()
+ {
+ GroupPanel.Enabled = rdValuesFromClass.Checked;
+ grpValuesFromLookup.Enabled = rdValuesFromLookup.Checked;
+ }
+
+ private void rdValuesFromClass_CheckedChanged(object sender, EventArgs e)
+ {
+ UpdateThemeChoice();
+ if (rdValuesFromClass.Checked)
+ UpdateUIForClassSelection();
+ }
+
+ private void rdValuesFromLookup_CheckedChanged(object sender, EventArgs e)
+ {
+ UpdateThemeChoice();
+ if (rdValuesFromLookup.Checked)
+ UpdateUIForExternalLookup();
+ }
+
+ private void UpdateUIForExternalLookup()
+ {
+ DisableThemeOptions();
+ }
+
+ private void btnBrowseFeatureSource_Click(object sender, EventArgs e)
+ {
+ using (var picker = new ResourcePicker(m_editor.ResourceService, ResourceTypes.FeatureSource, ResourcePickerMode.OpenResource))
+ {
+ if (picker.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ txtFeatureSource.Text = picker.ResourceID;
+ }
+ }
+ }
+
+ private void ClearExternalClassDropdowns()
+ {
+ cmbFeatureClass.DataSource = null;
+ cmbKeyProperty.DataSource = null;
+ cmbValueProperty.DataSource = null;
+ btnUpdateThemeParameters.Enabled = false;
+ }
+
+ private void txtFeatureSource_TextChanged(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(txtFeatureSource.Text))
+ {
+ var names = m_editor.FeatureService.GetClassNames(txtFeatureSource.Text, null);
+ if (names.Length > 0)
+ {
+ cmbFeatureClass.DataSource = names;
+ cmbFeatureClass.SelectedIndex = 0;
+ }
+ else
+ {
+ ClearExternalClassDropdowns();
+ }
+ }
+ else
+ {
+ ClearExternalClassDropdowns();
+ }
+ }
+
+ private void cmbFeatureClass_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (cmbFeatureClass.SelectedItem != null)
+ {
+ var className = cmbFeatureClass.SelectedItem.ToString();
+ var clsDef = m_editor.FeatureService.GetClassDefinition(txtFeatureSource.Text, className);
+
+ var keyPropNames = new List<string>();
+ var valuePropNames = new List<string>();
+
+ foreach (var prop in clsDef.Properties)
+ {
+ keyPropNames.Add(prop.Name);
+ valuePropNames.Add(prop.Name);
+ }
+
+ cmbKeyProperty.DataSource = keyPropNames;
+ cmbValueProperty.DataSource = valuePropNames;
+
+ cmbKeyProperty.SelectedIndex = 0;
+ cmbValueProperty.SelectedIndex = 0;
+ btnUpdateThemeParameters.Enabled = true;
+ }
+ else
+ {
+ btnUpdateThemeParameters.Enabled = false;
+ }
+ }
+
+ private void btnUpdateThemeParameters_Click(object sender, EventArgs e)
+ {
+ string fsId = txtFeatureSource.Text;
+ string className = cmbFeatureClass.SelectedItem.ToString();
+ string key = cmbKeyProperty.SelectedItem.ToString();
+ string value = cmbValueProperty.SelectedItem.ToString();
+
+ BusyWaitDialog.Run(Strings.ComputingThemeParameters,
+ () => { //Worker method
+ List<LookupPair> res = new List<LookupPair>();
+ using (var reader = m_editor.FeatureService.QueryFeatureSource(fsId, className, null, new string[] { key, value }))
+ {
+ while(reader.ReadNext())
+ {
+ if (!reader.IsNull(key) && !reader.IsNull(value))
+ {
+ res.Add(new LookupPair()
+ {
+ Key = reader[key].ToString(),
+ Value = reader[value].ToString()
+ });
+ }
+ }
+ reader.Close();
+ }
+ return res;
+ },
+ (res, ex) => { //Worker completion
+ if (ex != null)
+ {
+ ErrorDialog.Show(ex);
+ }
+ else
+ {
+ m_lookupValues = (List<LookupPair>)res;
+
+ if (m_lookupValues.Count > MAX_INDIVIDUAL_THEME_RULES)
+ {
+ MessageBox.Show(this, string.Format(Strings.TooManyValuesError, MAX_INDIVIDUAL_THEME_RULES), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ColumnCombo.SelectedIndex = 0;
+ return;
+ }
+
+ RuleCountPanel.Enabled =
+ GroupPanel.Enabled =
+ false;
+
+ RuleCount.Minimum = 0;
+
+ //Select "Individual"
+ RuleCount.Value = m_lookupValues.Count;
+ GradientColors.Checked = true;
+
+ DisplayGroup.Enabled =
+ PreviewGroup.Enabled =
+ OKBtn.Enabled =
+ true;
+
+ RefreshColorBrewerSet();
+ RefreshPreview();
+
+ if (ColumnCombo.SelectedIndex == 0)
+ {
+ MessageBox.Show(Strings.ThemePrimaryKeyPropertyNotSelected);
+ OKBtn.Enabled = false;
+ }
+ else
+ {
+ OKBtn.Enabled = true;
+ }
+ }
+ });
+ }
}
}
Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs 2014-03-20 09:44:15 UTC (rev 7990)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs 2014-03-21 12:06:43 UTC (rev 7991)
@@ -39,8 +39,22 @@
this.RuleCount = new System.Windows.Forms.NumericUpDown();
this.AggregateCombo = new System.Windows.Forms.ComboBox();
this.DataGroup = new System.Windows.Forms.GroupBox();
+ this.rdValuesFromLookup = new System.Windows.Forms.RadioButton();
+ this.rdValuesFromClass = new System.Windows.Forms.RadioButton();
+ this.grpValuesFromLookup = new System.Windows.Forms.GroupBox();
+ this.btnUpdateThemeParameters = new System.Windows.Forms.Button();
+ this.btnBrowseFeatureSource = new System.Windows.Forms.Button();
+ this.cmbValueProperty = new System.Windows.Forms.ComboBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.cmbKeyProperty = new System.Windows.Forms.ComboBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.cmbFeatureClass = new System.Windows.Forms.ComboBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.txtFeatureSource = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.grpValuesFromClass = new System.Windows.Forms.GroupBox();
+ this.GroupPanel = new System.Windows.Forms.Panel();
this.chkUseFirstRuleAsTemplate = new System.Windows.Forms.CheckBox();
- this.GroupPanel = new System.Windows.Forms.Panel();
this.RuleCountPanel = new System.Windows.Forms.Panel();
this.DisplayGroup = new System.Windows.Forms.GroupBox();
this.btnFlipColorBrewer = new System.Windows.Forms.Button();
@@ -60,9 +74,12 @@
this.ButtonPanel = new System.Windows.Forms.Panel();
this.CancelBtn = new System.Windows.Forms.Button();
this.OKBtn = new System.Windows.Forms.Button();
+ this.grpThemeGeneration = new System.Windows.Forms.GroupBox();
this.colorComboBox1 = new Maestro.Editors.Common.ColorComboBox();
((System.ComponentModel.ISupportInitialize)(this.RuleCount)).BeginInit();
this.DataGroup.SuspendLayout();
+ this.grpValuesFromLookup.SuspendLayout();
+ this.grpValuesFromClass.SuspendLayout();
this.GroupPanel.SuspendLayout();
this.RuleCountPanel.SuspendLayout();
this.DisplayGroup.SuspendLayout();
@@ -71,6 +88,7 @@
this.PreviewGroup.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.PreviewPicture)).BeginInit();
this.ButtonPanel.SuspendLayout();
+ this.grpThemeGeneration.SuspendLayout();
this.SuspendLayout();
//
// label1
@@ -142,16 +160,124 @@
// DataGroup
//
resources.ApplyResources(this.DataGroup, "DataGroup");
- this.DataGroup.Controls.Add(this.chkUseFirstRuleAsTemplate);
- this.DataGroup.Controls.Add(this.GroupPanel);
- this.DataGroup.Controls.Add(this.RuleCountPanel);
+ this.DataGroup.Controls.Add(this.rdValuesFromLookup);
+ this.DataGroup.Controls.Add(this.rdValuesFromClass);
this.DataGroup.Controls.Add(this.ColumnCombo);
- this.DataGroup.Controls.Add(this.AppendRules);
- this.DataGroup.Controls.Add(this.OverwriteRules);
this.DataGroup.Controls.Add(this.label1);
+ this.DataGroup.Controls.Add(this.grpValuesFromLookup);
+ this.DataGroup.Controls.Add(this.grpValuesFromClass);
this.DataGroup.Name = "DataGroup";
this.DataGroup.TabStop = false;
//
+ // rdValuesFromLookup
+ //
+ resources.ApplyResources(this.rdValuesFromLookup, "rdValuesFromLookup");
+ this.rdValuesFromLookup.Name = "rdValuesFromLookup";
+ this.rdValuesFromLookup.UseVisualStyleBackColor = true;
+ this.rdValuesFromLookup.CheckedChanged += new System.EventHandler(this.rdValuesFromLookup_CheckedChanged);
+ //
+ // rdValuesFromClass
+ //
+ resources.ApplyResources(this.rdValuesFromClass, "rdValuesFromClass");
+ this.rdValuesFromClass.Checked = true;
+ this.rdValuesFromClass.Name = "rdValuesFromClass";
+ this.rdValuesFromClass.TabStop = true;
+ this.rdValuesFromClass.UseVisualStyleBackColor = true;
+ this.rdValuesFromClass.CheckedChanged += new System.EventHandler(this.rdValuesFromClass_CheckedChanged);
+ //
+ // grpValuesFromLookup
+ //
+ resources.ApplyResources(this.grpValuesFromLookup, "grpValuesFromLookup");
+ this.grpValuesFromLookup.Controls.Add(this.btnUpdateThemeParameters);
+ this.grpValuesFromLookup.Controls.Add(this.btnBrowseFeatureSource);
+ this.grpValuesFromLookup.Controls.Add(this.cmbValueProperty);
+ this.grpValuesFromLookup.Controls.Add(this.label8);
+ this.grpValuesFromLookup.Controls.Add(this.cmbKeyProperty);
+ this.grpValuesFromLookup.Controls.Add(this.label7);
+ this.grpValuesFromLookup.Controls.Add(this.cmbFeatureClass);
+ this.grpValuesFromLookup.Controls.Add(this.label6);
+ this.grpValuesFromLookup.Controls.Add(this.txtFeatureSource);
+ this.grpValuesFromLookup.Controls.Add(this.label5);
+ this.grpValuesFromLookup.Name = "grpValuesFromLookup";
+ this.grpValuesFromLookup.TabStop = false;
+ //
+ // btnUpdateThemeParameters
+ //
+ resources.ApplyResources(this.btnUpdateThemeParameters, "btnUpdateThemeParameters");
+ this.btnUpdateThemeParameters.Name = "btnUpdateThemeParameters";
+ this.btnUpdateThemeParameters.UseVisualStyleBackColor = true;
+ this.btnUpdateThemeParameters.Click += new System.EventHandler(this.btnUpdateThemeParameters_Click);
+ //
+ // btnBrowseFeatureSource
+ //
+ resources.ApplyResources(this.btnBrowseFeatureSource, "btnBrowseFeatureSource");
+ this.btnBrowseFeatureSource.Name = "btnBrowseFeatureSource";
+ this.btnBrowseFeatureSource.UseVisualStyleBackColor = true;
+ this.btnBrowseFeatureSource.Click += new System.EventHandler(this.btnBrowseFeatureSource_Click);
+ //
+ // cmbValueProperty
+ //
+ resources.ApplyResources(this.cmbValueProperty, "cmbValueProperty");
+ this.cmbValueProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbValueProperty.FormattingEnabled = true;
+ this.cmbValueProperty.Name = "cmbValueProperty";
+ //
+ // label8
+ //
+ resources.ApplyResources(this.label8, "label8");
+ this.label8.Name = "label8";
+ //
+ // cmbKeyProperty
+ //
+ resources.ApplyResources(this.cmbKeyProperty, "cmbKeyProperty");
+ this.cmbKeyProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbKeyProperty.FormattingEnabled = true;
+ this.cmbKeyProperty.Name = "cmbKeyProperty";
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // cmbFeatureClass
+ //
+ resources.ApplyResources(this.cmbFeatureClass, "cmbFeatureClass");
+ this.cmbFeatureClass.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbFeatureClass.FormattingEnabled = true;
+ this.cmbFeatureClass.Name = "cmbFeatureClass";
+ this.cmbFeatureClass.SelectedIndexChanged += new System.EventHandler(this.cmbFeatureClass_SelectedIndexChanged);
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // txtFeatureSource
+ //
+ resources.ApplyResources(this.txtFeatureSource, "txtFeatureSource");
+ this.txtFeatureSource.Name = "txtFeatureSource";
+ this.txtFeatureSource.ReadOnly = true;
+ this.txtFeatureSource.TextChanged += new System.EventHandler(this.txtFeatureSource_TextChanged);
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // grpValuesFromClass
+ //
+ resources.ApplyResources(this.grpValuesFromClass, "grpValuesFromClass");
+ this.grpValuesFromClass.Controls.Add(this.GroupPanel);
+ this.grpValuesFromClass.Name = "grpValuesFromClass";
+ this.grpValuesFromClass.TabStop = false;
+ //
+ // GroupPanel
+ //
+ resources.ApplyResources(this.GroupPanel, "GroupPanel");
+ this.GroupPanel.Controls.Add(this.AggregateLabel);
+ this.GroupPanel.Controls.Add(this.AggregateCombo);
+ this.GroupPanel.Name = "GroupPanel";
+ //
// chkUseFirstRuleAsTemplate
//
resources.ApplyResources(this.chkUseFirstRuleAsTemplate, "chkUseFirstRuleAsTemplate");
@@ -160,13 +286,6 @@
this.chkUseFirstRuleAsTemplate.Name = "chkUseFirstRuleAsTemplate";
this.chkUseFirstRuleAsTemplate.UseVisualStyleBackColor = true;
//
- // GroupPanel
- //
- this.GroupPanel.Controls.Add(this.AggregateLabel);
- this.GroupPanel.Controls.Add(this.AggregateCombo);
- resources.ApplyResources(this.GroupPanel, "GroupPanel");
- this.GroupPanel.Name = "GroupPanel";
- //
// RuleCountPanel
//
resources.ApplyResources(this.RuleCountPanel, "RuleCountPanel");
@@ -306,6 +425,16 @@
this.OKBtn.UseVisualStyleBackColor = true;
this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
//
+ // grpThemeGeneration
+ //
+ resources.ApplyResources(this.grpThemeGeneration, "grpThemeGeneration");
+ this.grpThemeGeneration.Controls.Add(this.RuleCountPanel);
+ this.grpThemeGeneration.Controls.Add(this.OverwriteRules);
+ this.grpThemeGeneration.Controls.Add(this.AppendRules);
+ this.grpThemeGeneration.Controls.Add(this.chkUseFirstRuleAsTemplate);
+ this.grpThemeGeneration.Name = "grpThemeGeneration";
+ this.grpThemeGeneration.TabStop = false;
+ //
// colorComboBox1
//
resources.ApplyResources(this.colorComboBox1, "colorComboBox1");
@@ -315,6 +444,8 @@
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
resources.ApplyResources(this, "$this");
+ this.ControlBox = false;
+ this.Controls.Add(this.grpThemeGeneration);
this.Controls.Add(this.ButtonPanel);
this.Controls.Add(this.PreviewGroup);
this.Controls.Add(this.DisplayGroup);
@@ -324,6 +455,9 @@
((System.ComponentModel.ISupportInitialize)(this.RuleCount)).EndInit();
this.DataGroup.ResumeLayout(false);
this.DataGroup.PerformLayout();
+ this.grpValuesFromLookup.ResumeLayout(false);
+ this.grpValuesFromLookup.PerformLayout();
+ this.grpValuesFromClass.ResumeLayout(false);
this.GroupPanel.ResumeLayout(false);
this.GroupPanel.PerformLayout();
this.RuleCountPanel.ResumeLayout(false);
@@ -337,6 +471,8 @@
this.PreviewGroup.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.PreviewPicture)).EndInit();
this.ButtonPanel.ResumeLayout(false);
+ this.grpThemeGeneration.ResumeLayout(false);
+ this.grpThemeGeneration.PerformLayout();
this.ResumeLayout(false);
}
@@ -374,5 +510,20 @@
private System.Windows.Forms.LinkLabel ColorBrewerLabel;
private System.Windows.Forms.CheckBox chkUseFirstRuleAsTemplate;
private System.Windows.Forms.Button btnFlipColorBrewer;
+ private System.Windows.Forms.GroupBox grpValuesFromLookup;
+ private System.Windows.Forms.GroupBox grpValuesFromClass;
+ private System.Windows.Forms.Button btnBrowseFeatureSource;
+ private System.Windows.Forms.ComboBox cmbValueProperty;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.ComboBox cmbKeyProperty;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.ComboBox cmbFeatureClass;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.TextBox txtFeatureSource;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.RadioButton rdValuesFromLookup;
+ private System.Windows.Forms.RadioButton rdValuesFromClass;
+ private System.Windows.Forms.GroupBox grpThemeGeneration;
+ private System.Windows.Forms.Button btnUpdateThemeParameters;
}
}
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx 2014-03-20 09:44:15 UTC (rev 7990)
+++ trunk/Tools/Maestro/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx 2014-03-21 12:06:43 UTC (rev 7991)
@@ -121,18 +121,22 @@
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 16</value>
+ <value>17, 22</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>42, 13</value>
+ <value>46, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label1.Text" xml:space="preserve">
- <value>Column</value>
+ <value>Property</value>
</data>
<data name=">>label1.Name" xml:space="preserve">
<value>label1</value>
@@ -144,22 +148,25 @@
<value>DataGroup</value>
</data>
<data name=">>label1.ZOrder" xml:space="preserve">
- <value>6</value>
+ <value>3</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
+ <value>3, 2</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>56, 13</value>
+ <value>60, 13</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label2.Text" xml:space="preserve">
- <value>Rulecount</value>
+ <value>Rule Count</value>
</data>
<data name=">>label2.Name" xml:space="preserve">
<value>label2</value>
@@ -176,8 +183,11 @@
<data name="AggregateLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="AggregateLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="AggregateLabel.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
+ <value>0, 3</value>
</data>
<data name="AggregateLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 13</value>
@@ -203,8 +213,11 @@
<data name="OverwriteRules.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="OverwriteRules.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="OverwriteRules.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 88</value>
+ <value>10, 49</value>
</data>
<data name="OverwriteRules.Size" type="System.Drawing.Size, System.Drawing">
<value>133, 17</value>
@@ -222,16 +235,19 @@
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>OverwriteRules.Parent" xml:space="preserve">
- <value>DataGroup</value>
+ <value>grpThemeGeneration</value>
</data>
<data name=">>OverwriteRules.ZOrder" xml:space="preserve">
- <value>5</value>
+ <value>1</value>
</data>
<data name="AppendRules.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="AppendRules.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="AppendRules.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 112</value>
+ <value>10, 73</value>
</data>
<data name="AppendRules.Size" type="System.Drawing.Size, System.Drawing">
<value>87, 17</value>
@@ -249,20 +265,19 @@
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>AppendRules.Parent" xml:space="preserve">
- <value>DataGroup</value>
+ <value>grpThemeGeneration</value>
</data>
<data name=">>AppendRules.ZOrder" xml:space="preserve">
- <value>4</value>
+ <value>2</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ColumnCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="ColumnCombo.Location" type="System.Drawing.Point, System.Drawing">
- <value>104, 16</value>
+ <value>111, 19</value>
</data>
<data name="ColumnCombo.Size" type="System.Drawing.Size, System.Drawing">
- <value>208, 21</value>
+ <value>198, 21</value>
</data>
<data name="ColumnCombo.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -277,7 +292,7 @@
<value>DataGroup</value>
</data>
<data name=">>ColumnCombo.ZOrder" xml:space="preserve">
- <value>3</value>
+ <value>2</value>
</data>
<data name="RuleCount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -286,7 +301,7 @@
<value>96, 0</value>
</data>
<data name="RuleCount.Size" type="System.Drawing.Size, System.Drawing">
- <value>208, 20</value>
+ <value>211, 20</value>
</data>
<data name="RuleCount.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -319,10 +334,10 @@
<value>Individual</value>
</data>
<data name="AggregateCombo.Location" type="System.Drawing.Point, System.Drawing">
- <value>96, 0</value>
+ <value>97, 0</value>
</data>
<data name="AggregateCombo.Size" type="System.Drawing.Size, System.Drawing">
- <value>208, 21</value>
+ <value>198, 21</value>
</data>
<data name="AggregateCombo.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -342,38 +357,368 @@
<data name="DataGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
- <data name="chkUseFirstRuleAsTemplate.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
+ <data name="rdValuesFromLookup.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="chkUseFirstRuleAsTemplate.Location" type="System.Drawing.Point, System.Drawing">
- <value>147, 94</value>
+ <data name="rdValuesFromLookup.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
</data>
- <data name="chkUseFirstRuleAsTemplate.Size" type="System.Drawing.Size, System.Drawing">
- <value>165, 36</value>
+ <data name="rdValuesFromLookup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>17, 133</value>
</data>
- <data name="chkUseFirstRuleAsTemplate.TabIndex" type="System.Int32, mscorlib">
+ <data name="rdValuesFromLookup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>244, 17</value>
+ </data>
+ <data name="rdValuesFromLookup.TabIndex" type="System.Int32, mscorlib">
+ <value>18</value>
+ </data>
+ <data name="rdValuesFromLookup.Text" xml:space="preserve">
+ <value>Theme based on values from an external class</value>
+ </data>
+ <data name=">>rdValuesFromLookup.Name" xml:space="preserve">
+ <value>rdValuesFromLookup</value>
+ </data>
+ <data name=">>rdValuesFromLookup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>rdValuesFromLookup.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>rdValuesFromLookup.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="rdValuesFromClass.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="rdValuesFromClass.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="rdValuesFromClass.Location" type="System.Drawing.Point, System.Drawing">
+ <value>17, 61</value>
+ </data>
+ <data name="rdValuesFromClass.Size" type="System.Drawing.Size, System.Drawing">
+ <value>245, 17</value>
+ </data>
+ <data name="rdValuesFromClass.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
- <data name="chkUseFirstRuleAsTemplate.Text" xml:space="preserve">
- <value>Use geometry and label style from current first rule</value>
+ <data name="rdValuesFromClass.Text" xml:space="preserve">
+ <value>Theme based on values/ranges from this class</value>
</data>
- <data name=">>chkUseFirstRuleAsTemplate.Name" xml:space="preserve">
- <value>chkUseFirstRuleAsTemplate</value>
+ <data name=">>rdValuesFromClass.Name" xml:space="preserve">
+ <value>rdValuesFromClass</value>
</data>
- <data name=">>chkUseFirstRuleAsTemplate.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name=">>rdValuesFromClass.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name=">>chkUseFirstRuleAsTemplate.Parent" xml:space="preserve">
+ <data name=">>rdValuesFromClass.Parent" xml:space="preserve">
<value>DataGroup</value>
</data>
- <data name=">>chkUseFirstRuleAsTemplate.ZOrder" xml:space="preserve">
+ <data name=">>rdValuesFromClass.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="grpValuesFromLookup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="btnUpdateThemeParameters.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnUpdateThemeParameters.Location" type="System.Drawing.Point, System.Drawing">
+ <value>246, 70</value>
+ </data>
+ <data name="btnUpdateThemeParameters.Size" type="System.Drawing.Size, System.Drawing">
+ <value>57, 48</value>
+ </data>
+ <data name="btnUpdateThemeParameters.TabIndex" type="System.Int32, mscorlib">
+ <value>18</value>
+ </data>
+ <data name="btnUpdateThemeParameters.Text" xml:space="preserve">
+ <value>Update</value>
+ </data>
+ <data name=">>btnUpdateThemeParameters.Name" xml:space="preserve">
+ <value>btnUpdateThemeParameters</value>
+ </data>
+ <data name=">>btnUpdateThemeParameters.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=">>btnUpdateThemeParameters.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>btnUpdateThemeParameters.ZOrder" xml:space="preserve">
<value>0</value>
</data>
+ <data name="btnBrowseFeatureSource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="btnBrowseFeatureSource.Location" type="System.Drawing.Point, System.Drawing">
+ <value>271, 15</value>
+ </data>
+ <data name="btnBrowseFeatureSource.Size" type="System.Drawing.Size, System.Drawing">
+ <value>25, 23</value>
+ </data>
+ <data name="btnBrowseFeatureSource.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="btnBrowseFeatureSource.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnBrowseFeatureSource.Name" xml:space="preserve">
+ <value>btnBrowseFeatureSource</value>
+ </data>
+ <data name=">>btnBrowseFeatureSource.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=">>btnBrowseFeatureSource.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>btnBrowseFeatureSource.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="cmbValueProperty.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="cmbValueProperty.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 97</value>
+ </data>
+ <data name="cmbValueProperty.Size" type="System.Drawing.Size, System.Drawing">
+ <value>137, 21</value>
+ </data>
+ <data name="cmbValueProperty.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name=">>cmbValueProperty.Name" xml:space="preserve">
+ <value>cmbValueProperty</value>
+ </data>
+ <data name=">>cmbValueProperty.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=">>cmbValueProperty.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>cmbValueProperty.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label8.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label8.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label8.Location" type="System.Drawing.Point, System.Drawing">
+ <value>7, 100</value>
+ </data>
+ <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
+ <value>76, 13</value>
+ </data>
+ <data name="label8.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="label8.Text" xml:space="preserve">
+ <value>Value Property</value>
+ </data>
+ <data name=">>label8.Name" xml:space="preserve">
+ <value>label8</value>
+ </data>
+ <data name=">>label8.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=">>label8.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>label8.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="cmbKeyProperty.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="cmbKeyProperty.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 70</value>
+ </data>
+ <data name="cmbKeyProperty.Size" type="System.Drawing.Size, System.Drawing">
+ <value>137, 21</value>
+ </data>
+ <data name="cmbKeyProperty.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name=">>cmbKeyProperty.Name" xml:space="preserve">
+ <value>cmbKeyProperty</value>
+ </data>
+ <data name=">>cmbKeyProperty.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=">>cmbKeyProperty.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>cmbKeyProperty.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label7.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+ <value>7, 73</value>
+ </data>
+ <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>67, 13</value>
+ </data>
+ <data name="label7.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="label7.Text" xml:space="preserve">
+ <value>Key Property</value>
+ </data>
+ <data name=">>label7.Name" xml:space="preserve">
+ <value>label7</value>
+ </data>
+ <data name=">>label7.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=">>label7.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>label7.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="cmbFeatureClass.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="cmbFeatureClass.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 43</value>
+ </data>
+ <data name="cmbFeatureClass.Size" type="System.Drawing.Size, System.Drawing">
+ <value>200, 21</value>
+ </data>
+ <data name="cmbFeatureClass.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>cmbFeatureClass.Name" xml:space="preserve">
+ <value>cmbFeatureClass</value>
+ </data>
+ <data name=">>cmbFeatureClass.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=">>cmbFeatureClass.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>cmbFeatureClass.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>7, 46</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>71, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Feature Class</value>
+ </data>
+ <data name=">>label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name=">>label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label6.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>label6.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="txtFeatureSource.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 17</value>
+ </data>
+ <data name="txtFeatureSource.Size" type="System.Drawing.Size, System.Drawing">
+ <value>162, 20</value>
+ </data>
+ <data name="txtFeatureSource.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>txtFeatureSource.Name" xml:space="preserve">
+ <value>txtFeatureSource</value>
+ </data>
+ <data name=">>txtFeatureSource.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=">>txtFeatureSource.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>txtFeatureSource.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>7, 20</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>80, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Feature Source</value>
+ </data>
+ <data name=">>label5.Name" xml:space="preserve">
+ <value>label5</value>
+ </data>
+ <data name=">>label5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label5.Parent" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>label5.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="grpValuesFromLookup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 139</value>
+ </data>
+ <data name="grpValuesFromLookup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 124</value>
+ </data>
+ <data name="grpValuesFromLookup.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name=">>grpValuesFromLookup.Name" xml:space="preserve">
+ <value>grpValuesFromLookup</value>
+ </data>
+ <data name=">>grpValuesFromLookup.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=">>grpValuesFromLookup.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>grpValuesFromLookup.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="grpValuesFromClass.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="GroupPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
<data name="GroupPanel.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 40</value>
+ <value>5, 19</value>
</data>
<data name="GroupPanel.Size" type="System.Drawing.Size, System.Drawing">
- <value>304, 24</value>
+ <value>295, 24</value>
</data>
<data name="GroupPanel.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -385,40 +730,37 @@
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>GroupPanel.Parent" xml:space="preserve">
- <value>DataGroup</value>
+ <value>grpValuesFromClass</value>
</data>
<data name=">>GroupPanel.ZOrder" xml:space="preserve">
- <value>1</value>
+ <value>0</value>
</data>
- <data name="RuleCountPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Left, Right</value>
+ <data name="grpValuesFromClass.Location" type="System.Drawing.Point, System.Drawing">
+ <value>9, 65</value>
</data>
- <data name="RuleCountPanel.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 64</value>
+ <data name="grpValuesFromClass.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 52</value>
</data>
- <data name="RuleCountPanel.Size" type="System.Drawing.Size, System.Drawing">
- <value>304, 24</value>
+ <data name="grpValuesFromClass.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
</data>
- <data name="RuleCountPanel.TabIndex" type="System.Int32, mscorlib">
- <value>9</value>
+ <data name=">>grpValuesFromClass.Name" xml:space="preserve">
+ <value>grpValuesFromClass</value>
</data>
- <data name=">>RuleCountPanel.Name" xml:space="preserve">
- <value>RuleCountPanel</value>
+ <data name=">>grpValuesFromClass.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=">>RuleCountPanel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name=">>RuleCountPanel.Parent" xml:space="preserve">
+ <data name=">>grpValuesFromClass.Parent" xml:space="preserve">
<value>DataGroup</value>
</data>
- <data name=">>RuleCountPanel.ZOrder" xml:space="preserve">
- <value>2</value>
+ <data name=">>grpValuesFromClass.ZOrder" xml:space="preserve">
+ <value>5</value>
</data>
<data name="DataGroup.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
</data>
<data name="DataGroup.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 136</value>
+ <value>330, 271</value>
</data>
<data name="DataGroup.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -436,14 +778,71 @@
<value>$this</value>
</data>
<data name=">>DataGroup.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.Location" type="System.Drawing.Point, System.Drawing">
+ <value>158, 49</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.Size" type="System.Drawing.Size, System.Drawing">
+ <value>165, 48</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="chkUseFirstRuleAsTemplate.Text" xml:space="preserve">
+ <value>Use geometry and label style from current first rule</value>
+ </data>
+ <data name=">>chkUseFirstRuleAsTemplate.Name" xml:space="preserve">
+ <value>chkUseFirstRuleAsTemplate</value>
+ </data>
+ <data name=">>chkUseFirstRuleAsTemplate.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>chkUseFirstRuleAsTemplate.Parent" xml:space="preserve">
+ <value>grpThemeGeneration</value>
+ </data>
+ <data name=">>chkUseFirstRuleAsTemplate.ZOrder" xml:space="preserve">
<value>3</value>
</data>
+ <data name="RuleCountPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="RuleCountPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>10, 19</value>
+ </data>
+ <data name="RuleCountPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>307, 24</value>
+ </data>
+ <data name="RuleCountPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>RuleCountPanel.Name" xml:space="preserve">
+ <value>RuleCountPanel</value>
+ </data>
+ <data name=">>RuleCountPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RuleCountPanel.Parent" xml:space="preserve">
+ <value>grpThemeGeneration</value>
+ </data>
+ <data name=">>RuleCountPanel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
<data name="DisplayGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="btnFlipColorBrewer.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
+ <data name="btnFlipColorBrewer.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="btnFlipColorBrewer.Location" type="System.Drawing.Point, System.Drawing">
<value>112, 78</value>
</data>
@@ -471,6 +870,9 @@
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>90, 3</value>
</data>
@@ -529,7 +931,7 @@
<value>ColorBrewerColorSet</value>
</data>
<data name=">>ColorBrewerColorSet.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.CustomCombo, Maestro.Editors, Version=5.0.0.6640, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+ <value>Maestro.Editors.Common.CustomCombo, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
</data>
<data name=">>ColorBrewerColorSet.Parent" xml:space="preserve">
<value>ColorBrewerPanel</value>
@@ -561,6 +963,9 @@
<data name="ColorBrewerLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="ColorBrewerLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="ColorBrewerLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>33, 48</value>
</data>
@@ -598,7 +1003,7 @@
<value>GradientToColor</value>
</data>
<data name=">>GradientToColor.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.0.0.6640, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+ <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
</data>
<data name=">>GradientToColor.Parent" xml:space="preserve">
<value>panel2</value>
@@ -619,7 +1024,7 @@
<value>GradientFromColor</value>
</data>
<data name=">>GradientFromColor.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.0.0.6640, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+ <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
</data>
<data name=">>GradientFromColor.Parent" xml:space="preserve">
<value>panel2</value>
@@ -630,6 +1035,9 @@
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>90, 4</value>
</data>
@@ -678,6 +1086,9 @@
<data name="ColorBrewerColors.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="ColorBrewerColors.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="ColorBrewerColors.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 48</value>
</data>
@@ -702,6 +1113,9 @@
<data name="GradientColors.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
+ <data name="GradientColors.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="GradientColors.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 24</value>
</data>
@@ -727,10 +1141,10 @@
<value>5</value>
</data>
<data name="DisplayGroup.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 152</value>
+ <value>8, 394</value>
</data>
<data name="DisplayGroup.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 112</value>
+ <value>330, 112</value>
</data>
<data name="DisplayGroup.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -748,16 +1162,22 @@
<value>$this</value>
</data>
<data name=">>DisplayGroup.ZOrder" xml:space="preserve">
- <value>2</value>
+ <value>3</value>
</data>
<data name="PreviewGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
+ <data name="PreviewPicture.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="PreviewPicture.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="PreviewPicture.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 16</value>
</data>
<data name="PreviewPicture.Size" type="System.Drawing.Size, System.Drawing">
- <value>304, 24</value>
+ <value>309, 24</value>
</data>
<data name="PreviewPicture.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -775,10 +1195,10 @@
<value>0</value>
</data>
<data name="PreviewGroup.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 272</value>
+ <value>8, 512</value>
</data>
<data name="PreviewGroup.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 48</value>
+ <value>330, 48</value>
</data>
<data name="PreviewGroup.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -796,13 +1216,16 @@
<value>$this</value>
</data>
<data name=">>PreviewGroup.ZOrder" xml:space="preserve">
- <value>1</value>
+ <value>2</value>
</data>
<data name="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
+ <data name="CancelBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
- <value>176, 7</value>
+ <value>181, 7</value>
</data>
<data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -828,8 +1251,11 @@
<data name="OKBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
+ <data name="OKBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
<data name="OKBtn.Location" type="System.Drawing.Point, System.Drawing">
- <value>88, 8</value>
+ <value>93, 8</value>
</data>
<data name="OKBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -856,10 +1282,10 @@
<value>Bottom</value>
</data>
<data name="ButtonPanel.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 327</value>
+ <value>0, 569</value>
</data>
<data name="ButtonPanel.Size" type="System.Drawing.Size, System.Drawing">
- <value>333, 36</value>
+ <value>343, 36</value>
</data>
<data name="ButtonPanel.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@@ -874,6 +1300,33 @@
<value>$this</value>
</data>
<data name=">>ButtonPanel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="grpThemeGeneration.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="grpThemeGeneration.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 285</value>
+ </data>
+ <data name="grpThemeGeneration.Size" type="System.Drawing.Size, System.Drawing">
+ <value>330, 103</value>
+ </data>
+ <data name="grpThemeGeneration.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="grpThemeGeneration.Text" xml:space="preserve">
+ <value>Theme Generation</value>
+ </data>
+ <data name=">>grpThemeGeneration.Name" xml:space="preserve">
+ <value>grpThemeGeneration</value>
+ </data>
+ <data name=">>grpThemeGeneration.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=">>grpThemeGeneration.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>grpThemeGeneration.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="colorComboBox1.Location" type="System.Drawing.Point, System.Drawing">
@@ -889,16 +1342,19 @@
<value>colorComboBox1</value>
</data>
<data name=">>colorComboBox1.Type" xml:space="preserve">
- <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.0.0.6640, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+ <value>Maestro.Editors.Common.ColorComboBox, Maestro.Editors, Version=5.1.0.0, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>333, 363</value>
+ <value>343, 605</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>Theme Creator</value>
+ <value>Create Theme</value>
</data>
<data name=">>$this.Name" xml:space="preserve">
<value>ThemeCreator</value>
Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs 2014-03-20 09:44:15 UTC (rev 7990)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.Designer.cs 2014-03-21 12:06:43 UTC (rev 7991)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18213
+// Runtime Version:4.0.30319.18444
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -331,6 +331,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Computing Theme Parameters ....
+ /// </summary>
+ internal static string ComputingThemeParameters {
+ get {
+ return ResourceManager.GetString("ComputingThemeParameters", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Configuration Document has been reset.
/// </summary>
internal static string ConfigurationDocumentReset {
@@ -2540,6 +2549,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Property not selected. Please select the Property which connects to the selected Key Property in the external class.
+ /// </summary>
+ internal static string ThemePrimaryKeyPropertyNotSelected {
+ get {
+ return ResourceManager.GetString("ThemePrimaryKeyPropertyNotSelected", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Buffer Units.
/// </summary>
internal static string TitleBufferUnits {
Modified: trunk/Tools/Maestro/Maestro.Editors/Strings.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Strings.resx 2014-03-20 09:44:15 UTC (rev 7990)
+++ trunk/Tools/Maestro/Maestro.Editors/Strings.resx 2014-03-21 12:06:43 UTC (rev 7991)
@@ -1548,4 +1548,10 @@
<data name="SelectedItemCount" xml:space="preserve">
<value>{0} selected items</value>
</data>
+ <data name="ComputingThemeParameters" xml:space="preserve">
+ <value>Computing Theme Parameters ...</value>
+ </data>
+ <data name="ThemePrimaryKeyPropertyNotSelected" xml:space="preserve">
+ <value>Property not selected. Please select the Property which connects to the selected Key Property in the external class</value>
+ </data>
</root>
\ No newline at end of file
More information about the mapguide-commits
mailing list