コード例 #1
0
        public static bool showCodeSnippetForSelectedFunction(ICirFunction cirFunctionToProcess, bool showCodeSnippet, TreeView treeView, TreeNode currentTreeNode, TreeNode previousTreeNode)
        {
            if (cirFunctionToProcess.File != null && File.Exists(cirFunctionToProcess.File))
            {
                int fileStartLine;
                if (Int32.TryParse(cirFunctionToProcess.FileLine, out fileStartLine))
                {
                    int mappedLineNumber = ViewHelpers.GetMappedLineNumber(cirFunctionToProcess.FunctionName, cirFunctionToProcess.File, cirFunctionToProcess.FileLine, false, true);
                    if (mappedLineNumber > 0)
                    {
                        O2Forms.setTreeNodeColor(treeView, currentTreeNode, Color.DarkMagenta);
                        O2Forms.setTreeNodeColor(treeView, previousTreeNode, Color.DarkGreen);
                        if (showCodeSnippet)
                        {
                            mappedLineNumber--;
                            var fileLines           = Files.getFileLines(cirFunctionToProcess.File);
                            var numberOfLinesAfter  = fileLines.Count - mappedLineNumber;
                            var numberOfLinesToShow = (numberOfLinesAfter > 10) ? 10 : numberOfLinesAfter;

                            var linesToShow = fileLines.GetRange(mappedLineNumber, numberOfLinesToShow);
                            var codeSnippet = StringsAndLists.fromStringList_getText(linesToShow);

                            O2Forms.setToolTipText(treeView, currentTreeNode, codeSnippet);
                        }
                        else
                        {
                            O2Forms.setToolTipText(treeView, currentTreeNode, "");
                        }
                        return(true);
                    }
                }
            }
            return(false);
        }