private void OnMenuClick(object sender, EventArgs e)
        {
            switch (((ToolStripButton)sender).Name)
            {
            case "T_New":
                if (MessageBox.Show(
                        "Reset all values to their defauts?\r\nUnsaved changes will be lost.", "New campaign",
                        MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes)
                {
                    return;
                }
                Template.Clear();
                TemplatePropertyGrid.Refresh();
                return;

            case "T_Open":
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    ofd.Filter           = "BriefingRoom campaign templates (*.brc)|*.brc";
                    ofd.RestoreDirectory = true;
                    if ((ofd.ShowDialog() == DialogResult.OK) && File.Exists(ofd.FileName))
                    {
                        Template.LoadFromFile(ofd.FileName);
                        TemplatePropertyGrid.Refresh();
                    }
                }
                return;

            case "T_SaveAs":
                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter           = "BriefingRoom campaign templates (*.brc)|*.brc";
                    sfd.RestoreDirectory = true;
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        Template.SaveToFile(sfd.FileName);
                    }
                }
                return;

            case "T_ExportCampaign":
                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter           = "DCS World campaign (*.cmp)|*.cmp";
                    sfd.RestoreDirectory = true;
                    sfd.InitialDirectory = Toolbox.GetDCSCampaignPath();
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        CampaignToolStripMenu.Enabled = false;
                        using (CampaignGenerator generator = new CampaignGenerator())
                        {
                            generator.Generate(Template, sfd.FileName);
                            MessageBox.Show("Campaign saved successfully", "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        CampaignToolStripMenu.Enabled = true;
                    }
                }
                return;

            case "T_Close":
                Close();
                return;
            }
        }
Пример #2
0
        private void MenuClick(object sender, EventArgs e)
        {
            string senderName = ((ToolStripItem)sender).Name;

            switch (senderName)
            {
            case "M_About":
            case "T_About":
                using (AboutForm form = new AboutForm()) form.ShowDialog();
                return;

            case "M_File_New":
            case "T_File_New":
                Template.Clear();
                TemplatePropertyGrid.Refresh();
                GenerateMission();
                return;

            case "M_File_Open":
            case "T_File_Open":
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    ofd.Filter           = "BriefingRoom templates (*.brt)|*.brt";
                    ofd.RestoreDirectory = true;
                    if ((ofd.ShowDialog() == DialogResult.OK) && File.Exists(ofd.FileName))
                    {
                        Template.LoadFromFile(ofd.FileName);
                        TemplatePropertyGrid.Refresh();
                        GenerateMission();
                    }
                }
                return;

            case "M_File_SaveAs":
            case "T_File_SaveAs":
                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter           = "BriefingRoom templates (*.brt)|*.brt";
                    sfd.RestoreDirectory = true;
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        Template.SaveToFile(sfd.FileName);
                    }
                }
                return;

            case "M_File_Exit":
                Close();
                return;

            case "M_Mission_Export":
            case "T_Mission_Export":
                if (Mission == null)
                {
                    return;
                }
                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter           = "DCS World missions (*.miz)|*.miz";
                    sfd.FileName         = Mission.MissionName + ".miz";
                    sfd.RestoreDirectory = true;
                    sfd.InitialDirectory = Toolbox.GetDCSMissionPath();
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        ExportToMiz(sfd.FileName);
                    }
                }
                return;

            case "M_Mission_ExportBriefingHTML":
            case "T_Mission_ExportBriefingHTML":
                if (Mission == null)
                {
                    return;
                }
                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter           = "HTML pages (*.html)|*.html";
                    sfd.FileName         = Mission.MissionName + ".html";
                    sfd.RestoreDirectory = true;
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        File.WriteAllText(sfd.FileName, Mission.BriefingHTML);
                    }
                }
                return;

            case "M_Mission_Generate":
            case "T_Mission_Generate":
                GenerateMission();
                return;

#if DEBUG
            case "M_Mission_DebugExport":
                if (Mission == null)
                {
                    return;                      // No mission to export
                }
                Toolbox.CreateDirectoryIfMissing(BRPaths.DEBUGOUTPUT);
                using (MizFile miz = Mission.ExportToMiz())
                    miz.SaveToDirectory(BRPaths.DEBUGOUTPUT);
                return;
#endif
            case "M_Tools_CampaignCreator":
                using (CampaignCreatorForm campaignForm = new CampaignCreatorForm())
                    campaignForm.ShowDialog();
                return;
            }
        }