예제 #1
0
 private static void BuildSubThemeForMap(ThemeNode node, IMap map)
 {
     SubThemeNode newNode = new SubThemeNode(map.Name, node, new ThemeData(null, "Map Data Frame", null), null, null, null);
     node.Add(newNode);
     int count = map.LayerCount;
     for (int i = 0; i < count; i++)
         BuildSubThemeForLayer(newNode, map.Layer[i]);
 }
예제 #2
0
        private static void BuildSubThemeForLayer(ThemeNode node, ILayer subLayer)
        {
            if (subLayer is GroupLayer)
            {
                SubThemeNode newNode = new SubThemeNode(subLayer.Name, node, new ThemeData(null, "Group Layer", null), null, null, null);
                node.Add(newNode);
                BuildSubThemesForGroupLayer(newNode, subLayer);
            }
            else
            {
                string dataType = LayerUtilities.GetLayerDescriptionFromLayer(subLayer);
                ThemeData data = new ThemeData(null, dataType, null);

                BuildThemeDataForLayer(data, subLayer);

                Metadata md = Metadata.Find(data);
                TmNode newNode = new SubThemeNode(subLayer.Name, node, data, md, null, null);
                node.Add(newNode);
            }
        }