9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
メモ帳作成講座

第15回 テキストエディターのタブ化

公開日:2018-10-14
更新日:2019-05-14

1. 内容

1. 概要

テキストエディターのタブ化とリフレクションを使った独自イベント処理の追加を行いました。

2. 動画



3. 補足

1. EventManagerクラス

独自イベント処理を行うクラスです。
イベント名をキーにして、イベントハンドラー(イベントを受け取るクラス)をリストで保持します。
イベントの発生依頼が来た場合には、イベントハンドラーに対して、
イベント名と同じメソッド名のメソッドを呼び出します。

2. ファイルオープンからタブ追加までの流れ

ファイルが開かれたら、メインフォームがプラグイン生成イベントを発生させます。
次に、このイベントをタブで受け取り、プラグインをタブに配置します。

ポイントは、フォーム側でタブを直接操作するのではなく、イベントで通知する点です。
今回はタブでプラグイン生成イベントを受け取っていますが、
タブ以外のコントロールに変更した場合でも、
フォーム側を変更することなく、コントロールを入れ替えるだけで対応できます。

3. ファイルクローズからタブ削除までの流れ

タブを閉じる時には、右クリックメニューから閉じる場合と、メインメニューから閉じる場合があります。
この2つの流れを共通化させるため、今回はプラグイン終了イベントを使用しています。

まず、閉じるメニューがクリックされた場合、対象のプラグインを終了させます。
すると、プラグイン終了イベントが発生するため、
このイベントをタブが受け取って、対象となるタブを削除するようにしています。
これにより、タブ以外のコントロールに変えても、メインメニューの閉じる処理の変更は不要となります。
メインメニューは、あくまでも対象となるプラグインの削除だけを行えば良くなります。

4. 画面

画像1

画像2

5. 今後の課題

1. 見出しリストの表示

テキストの左側に見出しリストを表示して、クリックされたら本文中の見出しのある位置にカーソルを移動できるようにします。

2. 左側の余白の不具合対応

BOMが入っている場合などに、左側の余白がおかしくなる不具合の対応。なおらんのかもしれへん。

3. grep

指定されたキーワードを含むファイルを検索して一覧で表示する。
そして、一覧でダブルクリックされたら、そのファイルを開くようにする。

4. その他

ファイルツリー・リストを付けた3ペイン構成にする、プラグインでテキストの加工を行えるようにする、プラグインでカレンダーをつけて日記をつけられるようにする、などなど。

ダウンロード

ver実行ファイルソース
1.1.1
2018/10/14
ncm_1_1_1.zipncm_1_1_1_src.zip


YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲