예제 #1
0
파일: EditorManager.cs 프로젝트: mryp/kkde
        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();
                }
            }
        }
예제 #2
0
파일: EditorManager.cs 프로젝트: mryp/kkde
        /// <summary>
        /// 新しいエディタを作成する
        /// </summary>
        public void CreateNew()
        {
            EditorForm editor = createEditorForm();

            SetOption(editor.TextEditor);
            editor.Show(m_mainPanel);
        }
예제 #3
0
파일: EditorManager.cs 프로젝트: mryp/kkde
        /// <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);
        }
예제 #4
0
파일: EditorManager.cs 프로젝트: mryp/kkde
        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;
                }
            }
        }