using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WeifenLuo.WinFormsUI.Docking; namespace RomCheater.ScratchPad { public partial class ScratchPadDocument : UserControl { const string NewDocumentFilename = "New"; public ScratchPadDocument() : this(NewDocumentFilename, new TabPage(), 0) { } public ScratchPadDocument(TabPage tp, int index) : this(NewDocumentFilename, tp, index) { } public ScratchPadDocument(int index) : this(NewDocumentFilename, new TabPage(), index) { } public ScratchPadDocument(string documentFilename, TabPage tp, int index) { InitializeComponent(); this.DocumentFilename = documentFilename; this.DocumentIndex = index; this.DocumentTab = tp; this.DocumentTab.Name = string.Format("tp{0}", this.DocumentIndex); this.DocumentTab.Text = string.Format("{0}{1}", this.DocumentFilename, this.DocumentIndex); } public void OnDocumentQuit() { var tb = GetParentTabControl(); } private string _DocumentFilename; public string DocumentFilename { get { return _DocumentFilename; } set { _DocumentFilename = value; } } private TabPage _DocumentTab; public TabPage DocumentTab { get { return _DocumentTab; } set { _DocumentTab = value; } } private int _DocumentIndex; public int DocumentIndex { get { return _DocumentIndex; } set { _DocumentIndex = value; } } private TabControl GetParentTabControl() { var parent = this.DocumentTab.Parent; TabControl tb = (parent as TabControl); if (tb == null) { throw new ArgumentNullException("parent", string.Format("The parent of tabpage '{0}' cannot be null", DocumentTab.Name)); } else { return tb; } } } }