}//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