/// <summary> /// フォント・キュメントの追加 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public FontDoc AddFontDocument(string filePath) { string fileName = ""; FontDoc doc; lock (ms_lockObj) { if (m_dockContents.ContainsKey(filePath)) { return(null); } doc = new FontDoc(filePath); m_dockContents.Add(filePath, doc); fileName = Path.GetFileName(filePath); doc.TabText = fileName; doc.Text = filePath; if (this.dockPanel.DocumentStyle == DocumentStyle.SystemMdi) { doc.MdiParent = this; doc.Show(); } else { doc.ShowHint = DockState.Document; doc.Show(this.dockPanel); } doc.FormClosed += DocumentClosed; doc.DocumentFocusEvent += DocumentFocus; } return(doc); }
/// <summary> /// ドキュメントが閉じられた /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void DocumentClosed(object sender, EventArgs e) { string key = ""; DockContent dc = (DockContent)sender; if (dc.GetType() == typeof(AngleScriptEditor)) { AngleScriptEditor fmSE = (AngleScriptEditor)dc; key = fmSE.FilePath; } else if (dc.GetType() == typeof(FontDoc)) { FontDoc fmSE = (FontDoc)dc; key = fmSE.FilePath; } else if (dc.GetType() == typeof(ImageViewerDoc)) { ImageViewerDoc fmSE = (ImageViewerDoc)dc; key = fmSE.FilePath; } else if (dc.GetType() == typeof(AudioDoc)) { AudioDoc fmSE = (AudioDoc)dc; key = fmSE.FilePath; } lock (ms_lockObj) { if (m_dockContents.ContainsKey(key)) { m_dockContents.Remove(key); } if (sender == m_fmDocCurrent) { m_fmDocCurrent = null; } dc.Dispose(); } if (m_dockContents.Count == 0) { //m_fmMain.BookMarkBreakPointToolbarEnable(false); } }