private TreeNode CreateThemeRuleNode(LayerNodeMetadata layer, ThemeCategory themeCat, double viewScale, string labelText, int geomType, int categoryIndex) { MgLayerBase lyr = layer.Layer; MgByteReader icon = _provider.GenerateLegendImage(lyr.LayerDefinition, viewScale, 16, 16, "PNG", //NOXLATE geomType, categoryIndex); legendCallCount++; TreeNode node = new TreeNode(); node.Text = labelText; if (icon != null) { try { byte[] b = new byte[icon.GetLength()]; icon.Read(b, b.Length); using (var ms = new MemoryStream(b)) { var tag = new LayerThemeNodeMetadata(false, Image.FromStream(ms), labelText); layer.AddThemeNode(themeCat, tag); node.Tag = tag; } } finally { icon.Dispose(); } } return node; }
private TreeNode CreateCompressedThemeNode(LayerNodeMetadata layer, ThemeCategory cat, int count) { TreeNode node = new TreeNode(); node.Text = string.Format(Strings.CountOtherStyles, count); node.ImageKey = node.SelectedImageKey = IMG_OTHER; var meta = new LayerThemeNodeMetadata(true, Properties.Resources.icon_etc, node.Text); node.Tag = meta; layer.AddThemeNode(cat, meta); return node; }