[mapguide-commits] r6702 - branches/2.4/MgDev/Desktop/MapViewer
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon May 28 22:16:14 PDT 2012
Author: jng
Date: 2012-05-28 22:16:13 -0700 (Mon, 28 May 2012)
New Revision: 6702
Modified:
branches/2.4/MgDev/Desktop/MapViewer/MgLegend.cs
branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs
Log:
mg-desktop: Use UNIQUE() for theming individual values instead of select aggregate with distinct = true as UNIQUE() is globally supported.
Modified: branches/2.4/MgDev/Desktop/MapViewer/MgLegend.cs
===================================================================
--- branches/2.4/MgDev/Desktop/MapViewer/MgLegend.cs 2012-05-28 15:49:02 UTC (rev 6701)
+++ branches/2.4/MgDev/Desktop/MapViewer/MgLegend.cs 2012-05-29 05:16:13 UTC (rev 6702)
@@ -685,6 +685,7 @@
{
if (IsLayerNode(e.Node) && !e.Bounds.IsEmpty)
{
+ //TODO: Render +/- for nodes with children (ie. Themed layers)
Color backColor, foreColor;
//For some reason, the default bounds are way off from what you would
Modified: branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs
===================================================================
--- branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs 2012-05-28 15:49:02 UTC (rev 6701)
+++ branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs 2012-05-29 05:16:13 UTC (rev 6702)
@@ -382,13 +382,14 @@
if (THEME_INDIVIDUAL == themeParams.distro)
{
- aggregateOptions.AddFeatureProperty(themeParams.property.Name);
- aggregateOptions.SelectDistinct(true);
+ //aggregateOptions.AddFeatureProperty(themeParams.property.Name);
+ //aggregateOptions.SelectDistinct(true);
+ aggregateOptions.AddComputedProperty("THEME_VALUE", "UNIQUE(\"" + themeParams.property.Name + "\")");
MgDataReader dataReader = featureService.SelectAggregate(resId, themeParams.layer.GetFeatureClassName(), aggregateOptions);
while (dataReader.ReadNext())
{
- value = Util.GetFeaturePropertyValue(dataReader, themeParams.property.Name);
+ value = Util.GetFeaturePropertyValue(dataReader, "THEME_VALUE"); // themeParams.property.Name);
filterText = """ + themeParams.property.Name + "" = ";
if (themeParams.property.DataType == MgPropertyType.String)
@@ -464,7 +465,8 @@
newLayer.SetDisplayInLegend(themeParams.layer.GetDisplayInLegend());
newLayer.SetVisible(true);
newLayer.SetSelectable(themeParams.layer.GetSelectable());
-
+ //HACK: This has to be true otherwise owner-drawn nodes will not display its children (the theme rules)
+ provider.SetLayerExpandInLegend(newLayer, true);
layers.Insert(layers.IndexOf(themeParams.layer), newLayer);
//map.Save(resourceService);
More information about the mapguide-commits
mailing list