}//end of ClearForm()

        /// <summary>
        /// Populates form values with selected DialogLine
        /// </summary>
        /// <param name="lineID"></param>
        private void PopulateForm(string lineID)
        {
            ClearForm();
            DialogLine selected = DialogLoader.MasterDialogLineList[lineID];

            LineIDBox.Text = lineID;
            SpeakerIDBox.SelectedItem = selected.SpeakerID;
            SpeakerMoodBox.SelectedItem = selected.SpeakerMood;
            IsExtensionBox.IsChecked = false;
            HierarchyTypeLabel.Content = "N/A";
            DialogBox.Text = selected.DialogString;
            PassBox.Text = selected.PassTarget;
            FailBox.Text = selected.FailTarget;
            CritFailBox.Text = selected.CritFailTarget;

            foreach (string response in selected.PossibleResponses)
            {
                CheckBox item = new CheckBox() { Content = response };

                item.Checked += (object subSender, RoutedEventArgs subE) =>
                {
                    SelectedResponses.Add(item);
                    if (SelectedResponses.Count == ResponsesCount && !(bool)SelectAllResponsesBox.IsChecked)
                    {
                        SelectAllResponsesBox.IsChecked = true;
                    }
                };//end of item.Checked

                item.Unchecked += (object subSender, RoutedEventArgs subE) =>
                {
                    SelectedResponses.Remove(item);
                    if (SelectedResponses.Count <= 0 && (bool)SelectAllResponsesBox.IsChecked)
                    {
                        SelectAllResponsesBox.IsChecked = false;
                    }
                };//end of item.Unchecked

                ResponsesPanel.Children.Add(new CheckBox() { Content = response });
                ResponsesCount++;
            }

            foreach (var kvp in selected.TargetMoods)
            {
                TargetMoodPairControl item = new TargetMoodPairControl(TMPsPanel, SelectAllTMPsBox);

                item.targets.SelectedItem = (CharacterNames)Enum.Parse(typeof(CharacterNames), kvp.Key);
                item.moods.SelectedItem = kvp.Value;
                TMPCount++;
            }

            SelectAllTMPsBox.IsChecked = false;
            SelectAllResponsesBox.IsChecked = false;
        }//end of PopulateForm()
        }//end of ctor(StackPanel panel, CheckBox selectAll)

        /// <summary>
        /// Populates, per instance, a DialogLines target|mood pairs
        /// </summary>
        /// <param name="selectAll"></param>
        void PopulateValues(CheckBox selectAll)
        {
            TargetMoodPairControl self = this;

            tmpPanel.Children.Add(selectBox);
            tmpPanel.Children.Add(targets);
            tmpPanel.Children.Add(moods);

            selectBox.Checked += (object sender, RoutedEventArgs e) =>
            {
                MainWindow.SelectedTMPs.Add(self);
                if (MainWindow.SelectedTMPs.Count == MainWindow.TMPCount && !(bool)selectAll.IsChecked)
                {
                    selectAll.IsChecked = true;
                }
            };//end of selectBox.Checked

            selectBox.Unchecked += (object sender, RoutedEventArgs e) =>
            {
                MainWindow.SelectedTMPs.Remove(self);
                if (MainWindow.SelectedTMPs.Count <= 0 && (bool)selectAll.IsChecked)
                {
                    selectAll.IsChecked = false;
                }
            };//end of selectBox.Unchecked

            foreach (CharacterNames name in Enum.GetValues(typeof(CharacterNames)))
            {
                targets.Items.Add(name);
            }

            foreach (MoodTypes moodType in Enum.GetValues(typeof(MoodTypes)))
            {
                moods.Items.Add(moodType);
            }
        } //end of PopulateValues
        }//end of SelectAllTMPsBox_Unchecked

        /// <summary>
        /// Adds a new target|mood pair to the list
        /// </summary>
        private void AddTMPButton_Click(object sender, RoutedEventArgs e)
        {
            TargetMoodPairControl item = new TargetMoodPairControl(TMPsPanel, SelectAllTMPsBox);
            TMPCount++;
        }//end of AddTMPButton_Click