public void ShowPrevEditor() { if (ActiveEditor != null) { TextEditorEx nowActive = ActiveEditor; EditorForm form = null; IDockContent[] docList = m_mainPanel.Documents; foreach (IDockContent doc in docList) { EditorForm editor = doc as EditorForm; if (editor == null) { continue; //次を検索 } if (nowActive == editor.TextEditor) { if (form == null) { continue; //自分自身が一番最初の時は最後まで検索する } break; } form = editor; } if (form != null) { form.Show(); } } }
/// <summary> /// 新しいエディタを作成する /// </summary> public void CreateNew() { EditorForm editor = createEditorForm(); SetOption(editor.TextEditor); editor.Show(m_mainPanel); }
/// <summary> /// ファイルを開く /// </summary> /// <param name="filePath">開くファイルのパス</param> public IEditorDocContent LoadFile(string filePath) { if (File.Exists(filePath) == false) { util.Msgbox.Error(filePath + "\nファイルが見つかりませんでした。"); return(null); } GlobalStatus.EnvOption.HistoryFile.Add(filePath); //履歴に追加する //ドッキングウィンドウからエディタすべて探索する IDockContent[] docList = m_mainPanel.Documents; foreach (IDockContent doc in docList) { if (doc is IEditorDocContent) { if (filePath == ((IEditorDocContent)doc).FileName) { //すでに開いているときはファイルを読み込まずにそれをアクティブにする ((IEditorDocContent)doc).ActivateForm(); return((IEditorDocContent)doc); } } } //タブの生成と読み込み IEditorDocContent nweDoc = null; if (FileType.GetKrkrType(filePath) == FileType.KrkrType.Screen) { ScreenMakerForm screen = new ScreenMakerForm(); screen.LoadFile(filePath); screen.Show(m_mainPanel); nweDoc = screen; } else { EditorForm editor = createEditorForm(); ConvertEncoding(filePath); //文字コード調整 editor.LoadFile(filePath); //ファイル読み込み SetOption(editor.TextEditor); //エディタオプションのセット editor.TextEditor.LoadBookmarkFormList(); //ブックマークのセット editor.Show(m_mainPanel); //表示する GlobalStatus.FormManager.MainForm.UpdateStatusBar(editor.TextEditor); editor.TextEditor.UpdateFolding(); //折りたたみのセット editor.TextEditor.ActiveTextArea.Focus(); //フォーカスをセットする nweDoc = editor; } return(nweDoc); }
public void ShowNextEditor() { if (ActiveEditor != null) { TextEditorEx nowActive = ActiveEditor; EditorForm firstActiveForm = null; bool isFind = false; IDockContent[] docList = m_mainPanel.Documents; foreach (IDockContent doc in docList) { EditorForm editor = doc as EditorForm; if (editor == null) { continue; //次を検索 } if (firstActiveForm == null) { firstActiveForm = editor; } if (nowActive == editor.TextEditor) { isFind = true; continue; //発見したので次へ行く } if (isFind) { //見つけたとの物が次のエディタとして表示する editor.Show(); return; } } if (isFind && firstActiveForm != null) { //発見しても次がないときは最初の物を表示する firstActiveForm.Show(); return; } } }