[mapguide-commits] r6703 - branches/2.4/MgDev/Desktop/MapViewer

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue May 29 00:15:30 PDT 2012


Author: jng
Date: 2012-05-29 00:15:30 -0700 (Tue, 29 May 2012)
New Revision: 6703

Modified:
   branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs
Log:
mg-desktop: The theme component (like its AJAX and Fusion counterparts) only works against Polygon layers. So filter out non-polygon layers from the list of themeable layers.

Modified: branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs
===================================================================
--- branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs	2012-05-29 05:16:13 UTC (rev 6702)
+++ branches/2.4/MgDev/Desktop/MapViewer/MgThemeControlImpl.cs	2012-05-29 07:15:30 UTC (rev 6703)
@@ -47,9 +47,21 @@
 
             var map = viewer.GetMap();
             var layers = map.GetLayers();
+            //TODO: Obviously support point and line layers
             for (var i = 0; i < layers.GetCount(); i++)
             {
-                _layers.Add(layers.GetItem(i));
+                var layer = layers.GetItem(i);
+                var cls = layer.GetClassDefinition();
+                var geom = layer.GetFeatureGeometryName();
+                if (string.IsNullOrEmpty(geom))
+                    continue;
+
+                var clsProps = cls.GetProperties();
+                var geomProp = clsProps.GetItem(geom) as MgGeometricPropertyDefinition;
+                if ((geomProp.GeometryTypes & MgFeatureGeometricType.Surface) == MgFeatureGeometricType.Surface)
+                {
+                    _layers.Add(layer);
+                }
             }
             cmbLayer.SelectedIndex = 0;
             cmbLayer_SelectedIndexChanged(this, EventArgs.Empty);



More information about the mapguide-commits mailing list