/// <summary> /// Initialization /// </summary> /// <param name="data"></param> public DocManager(DocManagerData data) { frmOwner = data.FormOwner; frmOwner.Closing += OnClosing; updateTitle = data.UpdateTitle; newDocName = data.NewDocName; fileDlgFilter = data.FileDialogFilter; registryPath = data.RegistryPath; if (!registryPath.EndsWith("\\")) registryPath += "\\"; registryPath += "FileDir"; // attempt to read initial directory from registry RegistryKey key = Registry.CurrentUser.OpenSubKey(registryPath); if (key != null) { string s = (string)key.GetValue(registryValue); if (!Empty(s)) fileDlgInitDir = s; } }
/// <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); }; }