コード例 #1
0
 private void PopulateSpellSchoolComboBoxList()
 {
     SpellSchoolComboBox.Items.Clear();
     SpellSchoolNames = SpellSchoolModel.GetNames();
     foreach (string name in SpellSchoolNames)
     {
         SpellSchoolComboBox.Items.Add(name);
     }
     SpellSchoolComboBox.SelectedIndex = 0;
 }
コード例 #2
0
        private void ComboBoxChange(object sender, InputType Type)
        {
            string newValueString;

            switch (Type)
            {
            case InputType.SpellSchool:
            {
                //grab the selection's guid
                newValueString      = SpellSchoolComboBox.SelectedItem.ToString();
                Model.SpellSchoolId = SpellSchoolModel.GetIdFromName(newValueString);
                DataHasChanged      = true;
                break;
            }

            case InputType.SpellRange:
            {
                Model.SpellRange = RangeInputComboBox.SelectedItem.ToString();
                DataHasChanged   = true;
                break;
            }

            case InputType.SavingThrow:
            {
                Model.SavingThrow = SavingThrowComboBox.SelectedItem.ToString();
                DataHasChanged    = true;
                break;
            }

            case InputType.SpellResistance:
            {
                Model.SpellResistance = false;
                if (SpellResistanceComboBox.SelectedIndex == 1)
                {
                    Model.SpellResistance = true;
                }
                DataHasChanged = true;
                break;
            }

            default:
            {
                Debug.WriteLine("Error: Unknown Type in Combo Box Change");
                break;
            }
            }
        }
コード例 #3
0
        private void PopulateFields(string recordName)
        {
            bool bitFlag;

            Model       = new SpellModel();
            DetailModel = new List <SpellDetailsModel>();
            if (recordName != string.Empty)
            {
                Model.Initialize(recordName);
                DetailModel = SpellDetailsModel.GetAll(Model.Id);
            }

            //basic fields
            SpellNameInputBox.Text           = Model.SpellName;
            SpellSchoolComboBox.SelectedItem = SpellSchoolModel.GetNameFromId(Model.SpellSchoolId);
            SpellIconInputBox.Text           = Model.IconFilename;
            DescriptionPreview.Navigate("about:blank");
            DescriptionPreview.Document.OpenNew(false);
            DescriptionPreview.Document.Write(Model.Description);
            DescriptionPreview.Refresh();
            RangeInputComboBox.SelectedItem = Model.SpellRange;
            for (int i = 0; i < ComponentCheckListBox.Items.Count; i++)
            {
                bitFlag = ((Model.SpellComponents & (1 << i)) > 0);
                ComponentCheckListBox.SetItemChecked(i, bitFlag);
            }
            for (int i = 0; i < MetamagicFeatCheckListBox.Items.Count; i++)
            {
                bitFlag = ((Model.MetamagicFeats & (1 << i)) > 0);
                MetamagicFeatCheckListBox.SetItemChecked(i, bitFlag);
            }
            for (int i = 0; i < TargetCheckListBox.Items.Count; i++)
            {
                bitFlag = ((Model.Targets & (1 << i)) > 0);
                TargetCheckListBox.SetItemChecked(i, bitFlag);
            }
            DurationInputTextBox.Text        = Model.Duration;
            SavingThrowComboBox.SelectedItem = Model.SavingThrow;
            if (Model.SpellResistance == true)
            {
                SpellResistanceComboBox.SelectedItem = "Yes";
            }
            else
            {
                SpellResistanceComboBox.SelectedItem = "No";
            }
            ModDateLabel.Text    = Model.LastUpdatedDate.ToString();
            ModVersionLabel.Text = Model.LastUpdatedVersion;
            RecordGUIDLabel.Text = Model.Id.ToString();

            //the icon
            SpellIcon = new IconClass("Spells\\" + Model.IconFilename);
            SpellIcon.SetLocation(this.Width, this.Height, IconLocation);

            //the spell detail panel
            //Delete/Remove Current Controls
            for (int i = 0; i < SpellDetailSubPanel.Controls.Count; i++)
            {
                SpellDetailSubPanel.Controls[i].Dispose();
            }
            SpellDetailSubPanel.Controls.Clear();
            SpellDetailClassComboBox.Clear();
            SpellDetailLevelComboBox.Clear();
            SpellDetailCoolDownTextBox.Clear();
            SpellDetailSPCostUpDownBox.Clear();
            SpellDetailDeleteButton.Clear();
            //reload the panel
            SpellDetailRecordCount = 0;
            foreach (SpellDetailsModel detail in DetailModel)
            {
                AddSpellDetailRecordUI(detail);
            }

            DatabaseName = Model.SpellName;
            //invalidate the screen to make sure everything gets updated (icon, etc).
            Invalidate();
        }