Beispiel #1
0
        void ImagingObservationNodeReset(object sender, EventArgs e)
        {
            foreach (var key in CheckBoxControls.Keys)
            {
                CheckBoxControls[key].IsChecked = key.Selected;
            }
            if (ImagingObservation.SelectedAllowedTerms.Count > 0)
            {
                _comboBox.SelectedItem = ImagingObservation.SelectedAllowedTerms[0];
            }
            else
            {
                _comboBox.SelectedItem = null;
            }
            if (ImagingObservation.MaxCardinality == 1 && ImagingObservation.MinCardinality == 1 && ImagingObservation.AllowedTerms.Count == 1)
            {
                _comboBox.SelectedItem = _comboBox.Items[0];
            }

            if (NodeConfidenceWpfControl != null)
            {
                NodeConfidenceWpfControl.Reset();
            }

            UpdateSkipped();
        }
Beispiel #2
0
        void CharacteristicNodeReset(object sender, EventArgs e)
        {
            foreach (var key in CheckBoxControls.Keys)
            {
                CheckBoxControls[key].IsChecked = key.Selected;
            }
            if (Characteristic.SelectedCharacteristicQuantificationAllowedTerms.Count > 0)
            {
                _comboBox.SelectedItem = Characteristic.SelectedCharacteristicQuantificationAllowedTerms[0];
            }
            else
            {
                _comboBox.SelectedItem = null;
            }

            if (Characteristic.MaxCardinality == 1 && Characteristic.MinCardinality == 1 && Characteristic.CharacteristicQuantificationAllowedTerms.Count == 1)
            {
                _comboBox.SelectedIndex = 0;
            }

            if (NodeConfidenceWpfControl != null)
            {
                NodeConfidenceWpfControl.Reset();
            }

            UpdateEnabled();
        }
Beispiel #3
0
        void AnatomicEntityNodeReset(object sender, EventArgs e)
        {
            foreach (var key in CheckBoxControls.Keys)
            {
                CheckBoxControls[key].IsChecked = key.Selected;
            }
            if (AnatomicEntity.SelectedAllowedTerms.Count > 0)
            {
                _comboBox.SelectedItem = AnatomicEntity.SelectedAllowedTerms[0];
            }
            else
            {
                _comboBox.SelectedItem = null;
            }

            if (AnatomicEntity.MaxCardinality == 1 && AnatomicEntity.MinCardinality == 1 && AnatomicEntity.AllowedTerms.Count == 1)
            {
                _comboBox.SelectedItem = _comboBox.Items[0];
            }

            if (NodeConfidenceWpfControl != null)
            {
                NodeConfidenceWpfControl.Reset();
            }

            UpdateEnabled();
        }
        public InferenceWpfControl(AimTemplateTreeInferenceNode inference)
        {
            Inference = inference;
            InitializeComponent();

            _originalBackground = Background;

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height     = 0;

                var cardinalityString = String.Empty;

                if (Inference.MinCardinality > 0 && Inference.MaxCardinality >= Inference.AllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + Inference.MinCardinality;
                }
                else if (Inference.MaxCardinality < Inference.AllowedTerms.Count && Inference.MinCardinality <= 0)
                {
                    cardinalityString = "Select less than " + (Inference.MaxCardinality + 1);
                }
                else if (Inference.MinCardinality > 0 && Inference.MaxCardinality < Inference.AllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + Inference.MinCardinality + " and less than " +
                                        (Inference.MaxCardinality + 1);
                }

                if (!String.IsNullOrEmpty(cardinalityString))
                {
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
                }
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height     = 0;
            }

            // Add confidence control
            if (Inference.ShouldDisplay && Inference.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(Inference);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            Loaded += InferenceWpfControlLoaded;

            Inference.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary <AimTemplateTreeAllowedTerm, CheckBox>();

            if (!Inference.ShouldDisplay)
            {
                this.Visibility = Visibility.Hidden;
                this.Height     = 0;
            }
        }
Beispiel #5
0
        public ImagingObservationWpfControl(AimTemplateTreeImagingObservationNode imagingObservation)
        {
            ImagingObservation = imagingObservation;
            InitializeComponent();

            _originalBackground = Background;
            ChildControls       = new List <IValidTreeControl>();

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height     = 0;

                var cardinalityString = String.Empty;

                if (ImagingObservation.MinCardinality > 0 && ImagingObservation.MaxCardinality >= ImagingObservation.AllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + ImagingObservation.MinCardinality;
                }
                else if (ImagingObservation.MaxCardinality < ImagingObservation.AllowedTerms.Count && ImagingObservation.MinCardinality <= 0)
                {
                    cardinalityString = "Select less than " + (ImagingObservation.MaxCardinality + 1);
                }
                else if (ImagingObservation.MinCardinality > 0 && ImagingObservation.MaxCardinality < ImagingObservation.AllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + ImagingObservation.MinCardinality + " and less than " +
                                        (ImagingObservation.MaxCardinality + 1);
                }

                if (!String.IsNullOrEmpty(cardinalityString))
                {
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
                }
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height     = 0;
            }

            // Add confidence control
            if (ImagingObservation.ShouldDisplay && ImagingObservation.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(ImagingObservation);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            var groupedNodes = new List <AimTemplateTreeNode>();

            foreach (var characteristic in imagingObservation.ImagingObservationCharacteristicTreeNodes)
            {
                // Start or add to group label control
                if (!String.IsNullOrEmpty(characteristic.GroupLabel))
                {
                    if (groupedNodes.Count > 0 && characteristic.GroupLabel == groupedNodes[0].GroupLabel)
                    {
                        groupedNodes.Add(characteristic);
                    }
                    else
                    {
                        // Finish and add the group label control
                        if (groupedNodes.Count > 0)
                        {
                            var groupLabel = new GroupLabelWpfControl(groupedNodes)
                            {
                                Header = groupedNodes[0].GroupLabel
                            };
                            _stackPanel.Children.Add(groupLabel);
                            ChildControls.Add(groupLabel);
                        }

                        groupedNodes = new List <AimTemplateTreeNode> {
                            characteristic
                        };
                    }
                }
                else
                {
                    // Finish and add the group label control
                    if (groupedNodes.Count > 0)
                    {
                        var groupLabel = new GroupLabelWpfControl(groupedNodes)
                        {
                            Header = groupedNodes[0].GroupLabel
                        };
                        groupedNodes.Clear();
                        _stackPanel.Children.Add(groupLabel);
                        ChildControls.Add(groupLabel);
                    }

                    var characteristicControl = new ImagingObservationCharacteristicWpfControl(characteristic);
                    _stackPanel.Children.Add(characteristicControl);
                    ChildControls.Add(characteristicControl);
                }
            }

            // Finish and add the group label control
            if (groupedNodes.Count > 0)
            {
                var groupLabel = new GroupLabelWpfControl(groupedNodes)
                {
                    Header = groupedNodes[0].GroupLabel
                };
                _stackPanel.Children.Add(groupLabel);
                ChildControls.Add(groupLabel);
            }

            Loaded += ImagingObservationWpfControlLoaded;

            ImagingObservation.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary <AimTemplateTreeAllowedTerm, CheckBox>();

            if (!ImagingObservation.ShouldDisplay)
            {
                _label.Visibility        = Visibility.Hidden;
                _label.Height            = 0;
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height     = 0;
                _comboBox.Visibility     = Visibility.Hidden;
                _comboBox.Height         = 0;
                if (imagingObservation.ImagingObservationCharacteristicTreeNodes.TrueForAll(item => !item.ShouldDisplay))
                {
                    Visibility = Visibility.Hidden;
                    Height     = 0;
                }
            }
        }
Beispiel #6
0
        public AnatomicEntityCharacteristicWpfControl(AimTemplateTreeAnatomicEntityCharacteristicNode characteristic)
        {
            Characteristic = characteristic;
            InitializeComponent();

            ChildControls = new List <IValidTreeControl>();

            _originalBackground = Background;

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height     = 0;

                var cardinalityString = String.Empty;

                if (Characteristic.MinCardinality > 0 && Characteristic.MaxCardinality >= Characteristic.CharacteristicQuantificationAllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + Characteristic.MinCardinality;
                }
                else if (Characteristic.MaxCardinality < Characteristic.CharacteristicQuantificationAllowedTerms.Count && Characteristic.MinCardinality <= 0)
                {
                    cardinalityString = "Select less than " + (Characteristic.MaxCardinality + 1);
                }
                else if (Characteristic.MinCardinality > 0 && Characteristic.MaxCardinality < Characteristic.CharacteristicQuantificationAllowedTerms.Count)
                {
                    cardinalityString = "Select at least " + Characteristic.MinCardinality + " and less than " +
                                        (Characteristic.MaxCardinality + 1);
                }

                if (!String.IsNullOrEmpty(cardinalityString))
                {
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
                }
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height     = 0;
            }

            // Add confidence control
            if (Characteristic.ShouldDisplay && Characteristic.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(Characteristic);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            foreach (var term in Characteristic.SelectedCharacteristicQuantificationAllowedTerms)
            {
                foreach (var quantification in term.CharacteristicQuantifications)
                {
                    var characteristicControl = new CharacteristicQuantificationDetailsWpfControl(quantification);
                    _stackPanel.Children.Add(characteristicControl);
                    ChildControls.Add(characteristicControl);
                }
            }

            Loaded += AnatomicEntityCharacteristicWpfControlLoaded;

            Characteristic.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary <CharacteristicQuantificationAllowedTerm, CheckBox>();

            if (!Characteristic.ShouldDisplay)
            {
                _label.Visibility        = Visibility.Hidden;
                _label.Height            = 0;
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height     = 0;
                _comboBox.Visibility     = Visibility.Hidden;
                _comboBox.Height         = 0;
                if (Characteristic.SelectedCharacteristicQuantificationAllowedTerms.Count == 0)
                {
                    this.Visibility = Visibility.Hidden;
                    this.Height     = 0;
                }
            }
        }
        public InferenceWpfControl(AimTemplateTreeInferenceNode inference)
        {
            Inference = inference;
            InitializeComponent();

            _originalBackground = Background;

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height = 0;

                var cardinalityString = String.Empty;

                if (Inference.MinCardinality > 0 && Inference.MaxCardinality >= Inference.AllowedTerms.Count)
                    cardinalityString = "Select at least " + Inference.MinCardinality;
                else if (Inference.MaxCardinality < Inference.AllowedTerms.Count && Inference.MinCardinality <= 0)
                    cardinalityString = "Select less than " + (Inference.MaxCardinality + 1);
                else if (Inference.MinCardinality > 0 && Inference.MaxCardinality < Inference.AllowedTerms.Count)
                    cardinalityString = "Select at least " + Inference.MinCardinality + " and less than " +
                                        (Inference.MaxCardinality + 1);

                if (!String.IsNullOrEmpty(cardinalityString))
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height = 0;
            }

            // Add confidence control
            if (Inference.ShouldDisplay && Inference.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(Inference);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            Loaded += InferenceWpfControlLoaded;

            Inference.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary<AimTemplateTreeAllowedTerm, CheckBox>();

            if (!Inference.ShouldDisplay)
            {
                this.Visibility = Visibility.Hidden;
                this.Height = 0;
            }
        }
        public AnatomicEntityCharacteristicWpfControl(AimTemplateTreeAnatomicEntityCharacteristicNode characteristic)
        {
            Characteristic = characteristic;
            InitializeComponent();

            ChildControls = new List<IValidTreeControl>();

            _originalBackground = Background;

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height = 0;

                var cardinalityString = String.Empty;

                if (Characteristic.MinCardinality > 0 && Characteristic.MaxCardinality >= Characteristic.CharacteristicQuantificationAllowedTerms.Count)
                    cardinalityString = "Select at least " + Characteristic.MinCardinality;
                else if (Characteristic.MaxCardinality < Characteristic.CharacteristicQuantificationAllowedTerms.Count && Characteristic.MinCardinality <= 0)
                    cardinalityString = "Select less than " + (Characteristic.MaxCardinality + 1);
                else if (Characteristic.MinCardinality > 0 && Characteristic.MaxCardinality < Characteristic.CharacteristicQuantificationAllowedTerms.Count)
                    cardinalityString = "Select at least " + Characteristic.MinCardinality + " and less than " +
                                        (Characteristic.MaxCardinality + 1);

                if (!String.IsNullOrEmpty(cardinalityString))
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height = 0;
            }

            // Add confidence control
            if (Characteristic.ShouldDisplay && Characteristic.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(Characteristic);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            foreach (var term in Characteristic.SelectedCharacteristicQuantificationAllowedTerms)
            {
                foreach (var quantification in term.CharacteristicQuantifications)
                {
                    var characteristicControl = new CharacteristicQuantificationDetailsWpfControl(quantification);
                    _stackPanel.Children.Add(characteristicControl);
                    ChildControls.Add(characteristicControl);
                }
            }

            Loaded += AnatomicEntityCharacteristicWpfControlLoaded;

            Characteristic.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary<CharacteristicQuantificationAllowedTerm, CheckBox>();

            if (!Characteristic.ShouldDisplay)
            {
                _label.Visibility = Visibility.Hidden;
                _label.Height = 0;
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height = 0;
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height = 0;
                if (Characteristic.SelectedCharacteristicQuantificationAllowedTerms.Count == 0)
                {
                    this.Visibility = Visibility.Hidden;
                    this.Height = 0;
                }
            }
        }
        public ImagingObservationWpfControl(AimTemplateTreeImagingObservationNode imagingObservation)
        {
            ImagingObservation = imagingObservation;
            InitializeComponent();

            _originalBackground = Background;
            ChildControls = new List<IValidTreeControl>();

            // Hide the allowed terms control that is not being used
            if (MaxNumberOfAnswers > 1)
            {
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height = 0;

                var cardinalityString = String.Empty;

                if (ImagingObservation.MinCardinality > 0 && ImagingObservation.MaxCardinality >= ImagingObservation.AllowedTerms.Count)
                    cardinalityString = "Select at least " + ImagingObservation.MinCardinality;
                else if (ImagingObservation.MaxCardinality < ImagingObservation.AllowedTerms.Count && ImagingObservation.MinCardinality <= 0)
                    cardinalityString = "Select less than " + (ImagingObservation.MaxCardinality + 1);
                else if (ImagingObservation.MinCardinality > 0 && ImagingObservation.MaxCardinality < ImagingObservation.AllowedTerms.Count)
                    cardinalityString = "Select at least " + ImagingObservation.MinCardinality + " and less than " +
                                        (ImagingObservation.MaxCardinality + 1);

                if (!String.IsNullOrEmpty(cardinalityString))
                    ((TextBlock)_label.Content).Text += Environment.NewLine + cardinalityString;
            }
            else
            {
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height = 0;
            }

            // Add confidence control
            if (ImagingObservation.ShouldDisplay && ImagingObservation.HasConfidence)
            {
                NodeConfidenceWpfControl = new NodeConfidenceWpfControl(ImagingObservation);
                _stackPanel.Children.Add(NodeConfidenceWpfControl);
            }

            var groupedNodes = new List<AimTemplateTreeNode>();

            foreach (var characteristic in imagingObservation.ImagingObservationCharacteristicTreeNodes)
            {
                // Start or add to group label control
                if (!String.IsNullOrEmpty(characteristic.GroupLabel))
                {
                    if (groupedNodes.Count > 0 && characteristic.GroupLabel == groupedNodes[0].GroupLabel)
                        groupedNodes.Add(characteristic);
                    else
                    {
                        // Finish and add the group label control
                        if (groupedNodes.Count > 0)
                        {
                            var groupLabel = new GroupLabelWpfControl(groupedNodes)
                            {
                                Header = groupedNodes[0].GroupLabel
                            };
                            _stackPanel.Children.Add(groupLabel);
                            ChildControls.Add(groupLabel);
                        }

                        groupedNodes = new List<AimTemplateTreeNode> { characteristic };
                    }
                }
                else
                {
                    // Finish and add the group label control
                    if (groupedNodes.Count > 0)
                    {
                        var groupLabel = new GroupLabelWpfControl(groupedNodes)
                        {
                            Header = groupedNodes[0].GroupLabel
                        };
                        groupedNodes.Clear();
                        _stackPanel.Children.Add(groupLabel);
                        ChildControls.Add(groupLabel);
                    }

                    var characteristicControl = new ImagingObservationCharacteristicWpfControl(characteristic);
                    _stackPanel.Children.Add(characteristicControl);
                    ChildControls.Add(characteristicControl);
                }
            }

            // Finish and add the group label control
            if (groupedNodes.Count > 0)
            {
                var groupLabel = new GroupLabelWpfControl(groupedNodes)
                {
                    Header = groupedNodes[0].GroupLabel
                };
                _stackPanel.Children.Add(groupLabel);
                ChildControls.Add(groupLabel);
            }

            Loaded += ImagingObservationWpfControlLoaded;

            ImagingObservation.SelectedAllowedTermsChanged += SelectedAllowedTermsCollectionChanged;
            CheckBoxControls = new Dictionary<AimTemplateTreeAllowedTerm, CheckBox>();

            if (!ImagingObservation.ShouldDisplay)
            {
                _label.Visibility = Visibility.Hidden;
                _label.Height = 0;
                _itemsControl.Visibility = Visibility.Hidden;
                _itemsControl.Height = 0;
                _comboBox.Visibility = Visibility.Hidden;
                _comboBox.Height = 0;
                if (imagingObservation.ImagingObservationCharacteristicTreeNodes.TrueForAll(item => !item.ShouldDisplay))
                {
                    Visibility = Visibility.Hidden;
                    Height = 0;
                }
            }
        }