/// <summary>
        /// Opens an existing workshop
        /// </summary>
        private void OpenExistingWorkshop()
        {
            // Show an OpenFileDialog
            OpenFileDialog dialog = new OpenFileDialog
            {
                Filter      = "Sup Files | *.sup",
                Multiselect = false
            };

            // Open file and pass the path to the workshop mdi child form
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string       path = dialog.FileName;
                string       name = dialog.SafeFileName.Split('.')[0];
                WorkshopForm form = new WorkshopForm(path, name);
                form.MdiParent = this;
                form.Show();
            }
        }
        /* ******************************** Methods ******************************** */

        /// <summary>
        /// Event handler for all items in the Edit menu item
        /// Insert, delete, or update item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EditMenuButtons_Click(object sender, EventArgs e)
        {
            WorkshopForm form = ((WorkshopForm)ActiveMdiChild);

            if (sender == insertButton)
            {
                form.InsertItem();
            }

            else if (sender == deleteButton)
            {
                form.DeleteItem();
            }

            else
            {
                form.UpdateItem();
            }
        }
        /// <summary>
        /// Opens a new workshop
        /// </summary>
        private void OpenNewWorkshop()
        {
            // to get workshop name
            WorkshopNameForm form = new WorkshopNameForm();

            form.ShowDialog();

            // validate workshop name
            if (form.WorkshopName.Length > 0)
            {
                // get path and append extension
                string path = $"{Directory.GetParent(Application.ExecutablePath)}/{form.WorkshopName}.sup";

                // open workshop mdi child form
                WorkshopForm workshopForm = new WorkshopForm(path, form.WorkshopName);
                workshopForm.MdiParent = this;
                workshopForm.Show();
            }
        }