/// <summary> /// Initialize helper objects from the DocToolkit Library. /// /// Called from Form1_Load. Initialized all objects except /// PersistWindowState wich must be initialized in the /// form constructor. /// </summary> private void InitializeHelperObjects() { // DocManager DocManagerData data = new DocManagerData(); data.FormOwner = this; data.UpdateTitle = true; data.FileDialogFilter = "DrawTools files (*.dtl)|*.dtl|All Files (*.*)|*.*"; data.NewDocName = "Untitled.dtl"; data.RegistryPath = registryPath; docManager = new DocManager(data); docManager.RegisterFileType("dtl", "dtlfile", "DrawTools File"); // Subscribe to DocManager events. docManager.SaveEvent += docManager_SaveEvent; docManager.LoadEvent += docManager_LoadEvent; // Make "inline subscription" using anonymous methods. docManager.OpenEvent += delegate(object sender, OpenFileEventArgs e) { // Update MRU List if (e.Succeeded) { mruManager.Add(e.FileName); } else { mruManager.Remove(e.FileName); } }; docManager.DocChangedEvent += delegate(object o, EventArgs e) { drawArea.Refresh(); drawArea.ClearHistory(); }; docManager.ClearEvent += delegate(object o, EventArgs e) { if (drawArea.GraphicsList != null) { drawArea.GraphicsList.Clear(); drawArea.ClearHistory(); drawArea.Refresh(); } }; docManager.NewDocument(); // DragDropManager dragDropManager = new DragDropManager(this); dragDropManager.FileDroppedEvent += delegate(object sender, FileDroppedEventArgs e) { OpenDocument(e.FileArray.GetValue(0).ToString()); }; // MruManager mruManager = new MruManager(); mruManager.Initialize( this, // owner form recentFilesToolStripMenuItem, // Recent Files menu item fileToolStripMenuItem, // parent registryPath); // Registry path to keep MRU list mruManager.MruOpenEvent += delegate(object sender, MruFileOpenEventArgs e) { OpenDocument(e.FileName); }; }