Beispiel #1
0
        //============================================================================*
        // cFirearmCOLForm() - Constructor
        //============================================================================*

        public cFirearmCOLForm(cFirearmCOL FirearmCOL, cFirearm Firearm, cBulletList BulletList, cPreferences Preferences)
        {
            InitializeComponent();

            m_Firearm     = Firearm;
            m_BulletList  = BulletList;
            m_Preferences = Preferences;

            if (FirearmCOL == null)
            {
                FirearmCOLOKButton.Text = "Add";

                if (m_Preferences.LastFirearmCOL == null)
                {
                    m_FirearmCOL = new cFirearmCOL();
                }
                else
                {
                    m_FirearmCOL = new cFirearmCOL(m_Preferences.LastFirearmCOL);

                    m_FirearmCOL.COL      = 0.0;
                    m_FirearmCOL.OgiveOAL = 0.0;
                }
            }
            else
            {
                m_FirearmCOL = new cFirearmCOL(FirearmCOL);

                FirearmCOLOKButton.Text = "Update";
            }

            //----------------------------------------------------------------------------*
            // Set Control Event Handlers
            //----------------------------------------------------------------------------*

            BulletCombo.SelectedIndexChanged += OnBulletSelected;

            COLTextBox.TextChanged += OnDoubleValueTextChanged;
            COLTextBox.KeyPress    += cControls.OnDoubleValueKeyPress;
            COLTextBox.LostFocus   += cControls.OnDoubleValue3LostFocus;
            COLTextBox.GotFocus    += cControls.OnTextBoxGotFocus;

            OgiveOALTextBox.TextChanged += OnDoubleValueTextChanged;
            OgiveOALTextBox.KeyPress    += cControls.OnDoubleValueKeyPress;
            OgiveOALTextBox.LostFocus   += cControls.OnDoubleValue3LostFocus;
            OgiveOALTextBox.GotFocus    += cControls.OnTextBoxGotFocus;

            FirearmCOLOKButton.Click += OnOKClicked;

            //----------------------------------------------------------------------------*
            // Populate bullet Combo
            //----------------------------------------------------------------------------*

            cControls.PopulateBulletCombo(BulletCombo, m_BulletList, m_Preferences, null, m_Firearm.Caliber, (int)m_Firearm.FirearmType);

            //----------------------------------------------------------------------------*
            // Populate FirearmCOL Data
            //----------------------------------------------------------------------------*

            FirearmLabel.Text = m_Firearm.ToString();

            MaxCOLTextBox.Text = String.Format("{0:F3}", m_Firearm.Caliber.MaxCOL);

            COLTextBox.Text      = String.Format("{0:F3}", m_FirearmCOL.COL);
            OgiveOALTextBox.Text = String.Format("{0:F3}", m_FirearmCOL.OgiveOAL);
        }
Beispiel #2
0
        //============================================================================*
        // CreateShareFile()
        //============================================================================*

        private void CreateShareFile()
        {
            //----------------------------------------------------------------------------*
            // Gather all the needed info to store the loads to be shared
            //----------------------------------------------------------------------------*

            cManufacturerList ShareManufacturerList = new cManufacturerList();
            cCaliberList      ShareCaliberList      = new cCaliberList();
            cBulletList       ShareBulletList       = new cBulletList();
            cCaseList         ShareCaseList         = new cCaseList();
            cPowderList       SharePowderList       = new cPowderList();
            cPrimerList       SharePrimerList       = new cPrimerList();

            cLoadList ShareLoadList = new cLoadList();

            foreach (ListViewItem Item in m_LoadDataListView.CheckedItems)
            {
                cLoad Load = (cLoad)Item.Tag;

                if (Load != null && Load.Bullet != null && Load.Case != null && Load.Powder != null && Load.Primer != null)
                {
                    foreach (cBulletCaliber BulletCaliber in Load.Bullet.BulletCaliberList)
                    {
                        ShareCaliberList.AddCaliber(BulletCaliber.Caliber);
                    }

                    ShareManufacturerList.AddManufacturer(Load.Bullet.Manufacturer);
                    ShareBulletList.AddBullet(Load.Bullet);

                    ShareManufacturerList.AddManufacturer(Load.Case.Manufacturer);
                    ShareCaseList.AddCase(Load.Case);

                    ShareManufacturerList.AddManufacturer(Load.Powder.Manufacturer);
                    SharePowderList.AddPowder(Load.Powder);

                    ShareManufacturerList.AddManufacturer(Load.Primer.Manufacturer);
                    SharePrimerList.AddPrimer(Load.Primer);

                    ShareLoadList.Add(Load);
                }
            }

            //----------------------------------------------------------------------------*
            // Now create a cRWXMLDocument and export the load data to it
            //----------------------------------------------------------------------------*

            cRWXMLDocument XMLDocument = new cRWXMLDocument(m_DataFiles);

            XmlElement MainElement = XMLDocument.CreateElement("Body");

            XMLDocument.AppendChild(MainElement);

            XmlText XMLTextElement = XMLDocument.CreateTextNode(String.Format("{0} Load Data Share File Export", Application.ProductName));

            MainElement.AppendChild(XMLTextElement);

            ShareManufacturerList.Export(XMLDocument, MainElement);
            ShareBulletList.Export(XMLDocument, MainElement, false);
            ShareCaliberList.Export(XMLDocument, MainElement);
            ShareCaseList.Export(XMLDocument, MainElement, false);
            SharePowderList.Export(XMLDocument, MainElement, false);
            SharePrimerList.Export(XMLDocument, MainElement, false);

            ShareLoadList.Export(XMLDocument, MainElement);

            //----------------------------------------------------------------------------*
            // Save the Exported XML Share File
            //----------------------------------------------------------------------------*

            SaveFileDialog SaveDialog = new SaveFileDialog();

            SaveDialog.AddExtension     = true;
            SaveDialog.CheckPathExists  = true;
            SaveDialog.DefaultExt       = "xml";
            SaveDialog.FileName         = String.Format("{0} Load Data Share File - {1}{2}{3}", Application.ProductName, DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            SaveDialog.Filter           = "XML Files {*.xml)|*.xml";
            SaveDialog.InitialDirectory = Path.Combine(m_DataFiles.GetDataPath(), "Share");
            SaveDialog.OverwritePrompt  = true;
            SaveDialog.Title            = String.Format("Export Load Data");
            SaveDialog.ValidateNames    = true;

            if (SaveDialog.ShowDialog() == DialogResult.OK)
            {
                XMLDocument.Save(SaveDialog.OpenFile());
            }
        }