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);
}
});
}