void treeList_VirtualTreeGetCellValue(object sender, VirtualTreeGetCellValueInfo args) { CodeExampleGroup group = args.Node as CodeExampleGroup; if (group != null) { args.CellData = group.Name; } CodeExample example = args.Node as CodeExample; if (example != null) { args.CellData = example.RegionName; } }
public static List <CodeExampleGroup> FindExamples(string examplePath, Dictionary <string, FileInfo> examplesCS, Dictionary <string, FileInfo> examplesVB) { List <CodeExampleGroup> result = new List <CodeExampleGroup>(); Dictionary <string, FileInfo> current = null; ExampleFinder csExampleFinder = new ExampleFinderCSharp(); ExampleFinder vbExampleFinder = new ExampleFinderVB(); current = (examplesCS.Count != 0) ? examplesCS : examplesVB; foreach (KeyValuePair <string, FileInfo> sourceCodeItem in current) { string key = sourceCodeItem.Key; List <CodeExample> foundExamplesCS = new List <CodeExample>(); if (examplesCS.Count != 0) { foundExamplesCS = csExampleFinder.Process(examplesCS[key]); } List <CodeExample> foundExamplesVB = new List <CodeExample>(); if (examplesVB.Count != 0) { foundExamplesVB = vbExampleFinder.Process(examplesVB[key]); } CodeExampleCollection mergedExamplesCollection = new CodeExampleCollection(); mergedExamplesCollection.Merge(foundExamplesCS); mergedExamplesCollection.Merge(foundExamplesVB); if (mergedExamplesCollection.Count == 0) { continue; } CodeExampleGroup group = new CodeExampleGroup() { Name = mergedExamplesCollection[0].HumanReadableGroupName, Examples = mergedExamplesCollection }; result.Add(group); } return(result); }
void treeList_VirtualTreeGetChildNodes(object sender, VirtualTreeGetChildNodesInfo args) { if (treeListRootNodeLoading) { args.Children = examples; treeListRootNodeLoading = false; } else { if (args.Node == null) { return; } CodeExampleGroup group = args.Node as CodeExampleGroup; if (group != null) { args.Children = group.Examples; } } }
public static List <CodeExampleGroup> FindExamples(string examplePath, Dictionary <string, FileInfo> examplesCS, Dictionary <string, FileInfo> examplesVB) { List <CodeExampleGroup> result = new List <CodeExampleGroup>(); Dictionary <string, FileInfo> current = null; ExampleFinder csExampleFinder; ExampleFinder vbExampleFinder; if (examplesCS.Count == 0) { current = examplesVB; csExampleFinder = null; vbExampleFinder = new ExampleFinderVB(); } else if (examplesVB.Count == 0) { current = examplesCS; csExampleFinder = new ExampleFinderCSharp(); vbExampleFinder = null; } else { current = examplesCS; csExampleFinder = new ExampleFinderCSharp(); vbExampleFinder = new ExampleFinderVB(); } foreach (KeyValuePair <string, FileInfo> sourceCodeItem in current) { string key = sourceCodeItem.Key; List <CodeExample> findedExamplesCS = new List <CodeExample>(); if (csExampleFinder != null) { findedExamplesCS = csExampleFinder.Process(examplesCS[key]); } List <CodeExample> findedExamplesVB = new List <CodeExample>(); if (vbExampleFinder != null) { findedExamplesVB = vbExampleFinder.Process(examplesVB[key]); } List <CodeExample> mergedExamples = new List <CodeExample>(); if (findedExamplesCS.Count != 0 && findedExamplesVB.Count == 0) { mergedExamples = findedExamplesCS; } else if (findedExamplesCS.Count == 0 && findedExamplesVB.Count != 0) { mergedExamples = findedExamplesVB; } else if ((findedExamplesCS.Count == findedExamplesVB.Count)) { mergedExamples = MergeExamples(findedExamplesCS, findedExamplesVB); } if (mergedExamples.Count == 0) { continue; } CodeExampleGroup group = new CodeExampleGroup() { Name = mergedExamples[0].HumanReadableGroupName, Examples = mergedExamples }; result.Add(group); } return(result); }