Bevisuali.UX.MainWindow.OnModelComparisonResultsUpdated C# (CSharp) Method

OnModelComparisonResultsUpdated() private method

private OnModelComparisonResultsUpdated ( IScenarioComparison comparison ) : void
comparison IScenarioComparison
return void
        void OnModelComparisonResultsUpdated(IScenarioComparison comparison)
        {
            Dispatcher.Invoke(delegate
            {
                // Update graph inspector with "relevant" nodes.
                if (comparison != null)
                {
                    // Gather evidence variable names.
                    var evidenceVariables = comparison.Scenario1.Evidence.Select(x => x.Key).Union(comparison.Scenario2.Evidence.Select(x => x.Key));

                    // Show only interesting variables.
                    xGraphInspector.SetInterestVariables(
                        comparison
                        .SignificantVariables
                        .Select(kvp => kvp.Item1)
                        .Union(evidenceVariables)
                    );

                    // Update UI state for comparison metric.
                    xEvidenceInspector.SetComparisonMetric(comparison.ComparisonMetric);
                    xEvidenceInspector.SetComparisonRelevantVariables(comparison, this.Model.BayesianNetworkVariableAbbreviations);
                }
                else
                {
                    xGraphInspector.SetInterestVariables(null);

                    // Update UI state for comparison metric.
                    xEvidenceInspector.SetComparisonMetric(default(ComparisonMetric));
                    xEvidenceInspector.SetComparisonRelevantVariables(null, null);
                }
            });
        }