/// <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); } }
/// <summary> /// エンジェルスクリプト・エディタを追加する /// </summary> /// <param name="filePath">相対ファイルパス</param> public AngleScriptEditor AddAngelScriptEditor(string filePath) { string fileName = ""; AngleScriptEditor objSE; lock (ms_lockObj) { if (m_dockContents.ContainsKey(filePath)) { return(null); } objSE = new AngleScriptEditor(filePath); objSE.ReadFile(); m_dockContents.Add(filePath, objSE); fileName = Path.GetFileName(filePath); objSE.TabText = fileName; objSE.Text = filePath; if (this.dockPanel.DocumentStyle == DocumentStyle.SystemMdi) { objSE.MdiParent = this; objSE.Show(); } else { objSE.ShowHint = DockState.Document; objSE.Show(this.dockPanel); } objSE.FormClosed += DocumentClosed; objSE.TextEditorGoFocus += DocumentFocus; objSE.Editor.Focus(); } return(objSE); }