--- trunk/RomCheater.ScratchPad/ScratchPad.cs 2013/06/20 21:34:48 769 +++ trunk/RomCheater.ScratchPad/ScratchPad.cs 2013/06/20 22:59:40 775 @@ -28,7 +28,7 @@ using RomCheater.PluginFramework.Core; namespace RomCheater.ScratchPad { public partial class ScratchPad : DockContent - { + { List docuemntList = new List(); private UserControlPlugin plugin; private bool PostInitDone = false; @@ -82,7 +82,7 @@ namespace RomCheater.ScratchPad - + private void ScratchPad_FormClosing(object sender, FormClosingEventArgs e) { @@ -99,13 +99,11 @@ namespace RomCheater.ScratchPad // mnuItemSave.PerformClick(); // } //} - for (int i = 0; i < docuemntList.Count; i++) { var Document = docuemntList[i]; - Document.OnDocumentQuit(); + Document.OnDocumentQuit(); } - } private void ScratchPad_Deactivate(object sender, T e) where T: EventArgs @@ -118,13 +116,34 @@ namespace RomCheater.ScratchPad catch { } } + + private void AddDocument(ScratchPadDocument t) + { + t.DocumentClosing += new BaseEventHandler>(t_DocumentClosing); + docuemntList.Add(t); + this.tb.TabPages.Add(t.DocumentTab); + t.Dock = DockStyle.Fill; + } + private void mnuItemNew_Click(object sender, EventArgs e) { // create new document int tp_index = this.tb.TabPages.Count; ScratchPadDocument t = new ScratchPadDocument(tp_index); - docuemntList.Add(t); - this.tb.TabPages.Add(t.DocumentTab); + AddDocument(t); + } + + private void ScratchPad_Load(object sender, EventArgs e) + { + int tp_index = this.tb.TabPages.Count; + ScratchPadDocument t = new ScratchPadDocument(tp_index); + AddDocument(t); + } + + void t_DocumentClosing(ControlClosingEventArgs e) + { + int index = e.Args; + this.docuemntList.RemoveAt(index); } //private void txtScratchPad_LinkClicked(object sender, LinkClickedEventArgs e)