void GenerateTree(TreeNodeCollection nodes, ChartThemeFolder folder) { ThemeFolderNode nodeFolder = new ThemeFolderNode(folder); nodeFolder.Text = Lang._(folder.Name); nodeFolder.ImageIndex = 0; nodeFolder.SelectedImageIndex = 0; nodes.Add(nodeFolder); foreach (var subFolder in folder.Folders) { GenerateTree(nodeFolder.Nodes, subFolder); } foreach (var theme in folder.Themes) { var nodeTheme = new ThemeNode(theme); if (theme.IsInternal) { nodeTheme.Text = Lang._(theme.Name); } nodeTheme.ImageIndex = nodeTheme.SelectedImageIndex = GetImageIndex(theme.Icon); nodeTheme.StateImageIndex = IsDefaultTheme(theme) ? 1 : 0; nodeFolder.Nodes.Add(nodeTheme); } }
ThemeFolderNode FindTreeNode(TreeNodeCollection nodes, ChartThemeFolder themeFolder) { foreach (TreeNode node in nodes) { if (node is ThemeFolderNode && ((ThemeFolderNode)node).ThemeFolder == themeFolder) { return((ThemeFolderNode)node); } ThemeFolderNode sn = FindTreeNode(node.Nodes, themeFolder); if (sn != null) { return(sn); } } return(null); }
public ThemeFolderNode(ChartThemeFolder themeFolder) { ThemeFolder = themeFolder; }
ThemeFolderNode FindTreeNode(ChartThemeFolder themeFolder) { return(FindTreeNode(treeView1.Nodes, themeFolder)); }