示例#1
0
        private void newProjectButton_Click(object sender, EventArgs e)
        {
            if (currentProject != null)
            {
                var result = MessageBox.Show("There is an open project, save it?", "New project...", MessageBoxButtons.YesNoCancel);

                switch (result)
                {
                case DialogResult.Yes:
                    if (!SaveProject())
                    {
                        return;
                    }
                    break;

                case DialogResult.Cancel:
                    return;
                }

                foreach (var anm in animations)
                {
                    anm.FormClosed -= Anm_FormClosed;
                    anm.Close();
                    anm.Dispose();
                }

                animations.Clear();

                currentProject = null;

                foreach (var child in MdiChildren)
                {
                    if (child is ToolbarContainer)
                    {
                        continue;
                    }

                    child.Close();
                    child.Dispose();

                    if (child is CharSetEditor)
                    {
                        var edit = child as CharSetEditor;
                        edit.Export     -= Editor_Export;
                        edit.Save       -= Editor_Save;
                        edit.Update     -= Editor_Update;
                        edit.FormClosed -= Editor_FormClosed;
                    }
                }

                if (csManager != null)
                {
                    csManager.CharSetSelected -= CsManager_CharSetSelected;
                    csManager.CharSetDeleted  -= CsManager_CharSetDeleted;
                    csManager.CharSetUp       -= CsManager_CharSetUp;
                    csManager.CharSetDown     -= CsManager_CharSetDown;
                    csManager.Close();
                    csManager.Dispose();
                    csManager = null;
                }

                PluginManager.ProjectUnload();
            }

            currentProject = new Project {
                Name = "Unnamed"
            };
            this.Text = "Editing project (Unnamed)";

            csManager           = new CharSetListManager(true, true);
            csManager.MdiParent = this;
            csManager.Show();
            csManager.Height           = this.ClientSize.Height - (mainToolbar.Height + statusStrip.Height + 5);
            csManager.Left             = this.ClientSize.Width - (csManager.Width + 5);
            csManager.Top              = 0;
            csManager.CharSetSelected += CsManager_CharSetSelected;
            csManager.CharSetDeleted  += CsManager_CharSetDeleted;
            csManager.CharSetUp       += CsManager_CharSetUp;
            csManager.CharSetDown     += CsManager_CharSetDown;

            PluginManager.NewProject();

            EnableProjectButtons();
        }