Example #1
0
        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);
                }
            });
        }
        internal void SetComparisonRelevantVariables(IScenarioComparison comparison, IDictionary<string, string> abbreviations)
        {
            this.xRelevantVariablesList.Children.Clear();

            if (comparison == null)
            {
                return;
            }

            foreach (var v in comparison.SignificantVariables)
            {
                this.xRelevantVariablesList.Children.Add(
                    new Label()
                    {
                        Content = string.Format("{0} ({1}): {2}", v.Item1.Truncate(20), abbreviations[v.Item1], v.Item2)
                    }
                );
            }
        }
        internal void SetComparisonRelevantVariables(IScenarioComparison comparison, IDictionary <string, string> abbreviations)
        {
            this.xRelevantVariablesList.Children.Clear();

            if (comparison == null)
            {
                return;
            }

            foreach (var v in comparison.SignificantVariables)
            {
                this.xRelevantVariablesList.Children.Add(
                    new Label()
                {
                    Content = string.Format("{0} ({1}): {2}", v.Item1.Truncate(20), abbreviations[v.Item1], v.Item2)
                }
                    );
            }
        }
Example #4
0
        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);
                }
            });
        }