public void Execute(IPluginProgressProvider progress)
        {
            var node = Context.Controller.SelectedNode;

            if (node == null)
            {
                throw new InvalidOperationException("The aggregated analysis can only be run when action node is selected");
            }
            progress.UpdateProgress("Started");

            AggregationRunner result = new AggregationRunner(node, progress, this.Context);

            result.CFRFilePaths = new List <string>();

            if (Context.Controller.CurrentFileName == null)
            {
                throw new InvalidOperationException("Unknown location of current tree.");
            }
            var dirName = Path.GetDirectoryName(Context.Controller.CurrentFileName);

            var files = Directory.GetFiles(dirName, "*.cfr");

            var msg          = "Perform analysis over " + files.Length + " files in " + dirName + "?" + Environment.NewLine + "Please not that it only makes sense if all trees are identical except for the board.";
            var dialogResult = MessageBox.Show(msg, "Confirm aggregation?", MessageBoxButtons.YesNoCancel);

            if (dialogResult == DialogResult.Yes)
            {
                result.CFRFilePaths.AddRange(files);
                result.RunReport();

                var fileName = Context.Controller.CurrentFileName;
                progress.UpdateProgress("Generating intro");
            }
        }
コード例 #2
0
        public void Execute(IPluginProgressProvider progress)
        {
            var node = Context.Controller.SelectedNode;

            if (node == null)
            {
                throw new InvalidOperationException("The aggregated analysis can only be run when action node is selected");
            }
            progress.UpdateProgress("Started");

            AggregationRunner result = new AggregationRunner(node, progress, this.Context);

            result.RunReport();

            var fileName = Context.Controller.CurrentFileName;

            progress.UpdateProgress("Generating intro");
        }