//============================================================================* // AddBullet() //============================================================================* public bool AddBullet(cBullet Bullet, bool fCountOnly = false) { m_nImportCount++; foreach (cBullet CheckBullet in this) { if (CheckBullet.CompareTo(Bullet) == 0) { m_nUpdateCount += CheckBullet.Append(Bullet, fCountOnly); return(false); } } if (!fCountOnly) { Add(Bullet); } m_nNewCount++; Sort(); return(true); }
//============================================================================* // cFirearmCOLForm() - Constructor //============================================================================* public cFirearmBulletForm(cFirearmBullet FirearmBullet, cFirearm Firearm, cCaliber Caliber, cDataFiles DataFiles) { InitializeComponent(); m_Firearm = Firearm; m_Caliber = Caliber; m_DataFiles = DataFiles; string strTitle = ""; if (FirearmBullet == null) { FirearmBulletOKButton.Text = "Add"; strTitle = "Add"; m_FirearmBullet = new cFirearmBullet(); m_FirearmBullet.Caliber = m_Caliber; } else { m_FirearmBullet = new cFirearmBullet(FirearmBullet); FirearmBulletOKButton.Text = "Update"; strTitle = "Update"; m_fAdd = false; } SetClientSizeCore(BulletDataGroupBox.Location.X + BulletDataGroupBox.Width + 10, FirearmBulletCancelButton.Location.Y + FirearmBulletCancelButton.Height + 20); //----------------------------------------------------------------------------* // Set Title //----------------------------------------------------------------------------* strTitle += " Firearm Specific Bullet Data"; Text = strTitle; //----------------------------------------------------------------------------* // Set Control Event Handlers //----------------------------------------------------------------------------* BulletCombo.SelectedIndexChanged += OnBulletSelected; COALTextBox.TextChanged += OnCOLChanged; CBTOTextBox.TextChanged += OnCBTOChanged; JumpTextBox.TextChanged += OnJumpChanged; FirearmBulletOKButton.Click += OnOKClicked; //----------------------------------------------------------------------------* // Set Min/Max Values //----------------------------------------------------------------------------* COALTextBox.MinValue = cDataFiles.StandardToMetric(m_Caliber.CaseTrimLength, cDataFiles.eDataType.Dimension); COALTextBox.MaxValue = cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension); COALTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals; COALTextBox.ToolTip = cm_strCOLToolTip; CBTOTextBox.MinValue = 0.0; CBTOTextBox.MaxValue = cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension); CBTOTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals; CBTOTextBox.ToolTip = cm_strCBTOToolTip; JumpTextBox.MinValue = 0.0; JumpTextBox.MaxValue = cDataFiles.StandardToMetric(0.5, cDataFiles.eDataType.Dimension); JumpTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals; JumpTextBox.ToolTip = cm_strJumpToolTip; //----------------------------------------------------------------------------* // Populate Bullet Combo //----------------------------------------------------------------------------* BulletCombo.Items.Clear(); if (m_fAdd) { foreach (cBullet CheckBullet in DataFiles.BulletList) { if ((!m_DataFiles.Preferences.HideUncheckedSupplies || CheckBullet.Checked) && CheckBullet.HasCaliber(m_Caliber) && m_Firearm.FirearmType == CheckBullet.FirearmType && !m_Firearm.HasBullet(CheckBullet, m_Caliber)) { BulletCombo.Items.Add(CheckBullet); } } } else { BulletCombo.Items.Add(m_FirearmBullet.Bullet); } if (BulletCombo.Items.Count > 0) { BulletCombo.SelectedIndex = 0; } //----------------------------------------------------------------------------* // Set measurement labels //----------------------------------------------------------------------------* cDataFiles.SetMetricLabel(COLMeasurementLabel, cDataFiles.eDataType.Dimension); cDataFiles.SetMetricLabel(CBTOMeasurementLabel, cDataFiles.eDataType.Dimension); cDataFiles.SetMetricLabel(JumpMeasurementLabel, cDataFiles.eDataType.Dimension); //----------------------------------------------------------------------------* // Populate FirearmCOL Data //----------------------------------------------------------------------------* FirearmLabel.Text = m_Firearm.ToString() + " - " + m_Caliber.ToString(); string strFormat = COALTextBox.FormatString + "{1}"; MaxCOALLabel.Text = String.Format(strFormat, cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension), cDataFiles.MetricString(cDataFiles.eDataType.Dimension)); COALTextBox.Value = cDataFiles.StandardToMetric(m_FirearmBullet.COL, cDataFiles.eDataType.Dimension); CBTOTextBox.Value = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle ? cDataFiles.StandardToMetric(m_FirearmBullet.CBTO, cDataFiles.eDataType.Dimension) : 0.0; CBTOTextBox.Enabled = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle; JumpTextBox.Value = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle ? cDataFiles.StandardToMetric(m_FirearmBullet.Jump, cDataFiles.eDataType.Dimension) : 0.0; JumpTextBox.Enabled = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle; m_fInitialized = true; UpdateButtons(); }