第20回 パスの入力欄やファイルリストのメニューの追加など

公開日:2018-12-07 更新日:2019-05-14

1. 内容

1. PluginLoader による起動処理の変更

起動時のプラグイン生成時に、dock と 受け取る親のプラグインを、plugin_list.ini で指定できるようにしました。
これにより、画面左上のファイルツリーの上に、パス入力欄を配置しています。

また、スプリットコンテナーはパネルを2枚持つため、そのまま dock を指定できません。
スプリットコンテナーのためだけに plugin_list.ini にパラメーターを増やすと指定が複雑になるため、
一度空のパネルをスプリットコンテナーに配置して、そこにパス入力欄とファイルツリーを配置するようにしました。

2. PathField プラグインの追加

パス入力欄の PathField プラグインを追加しました。

ファイルツリーでフォルダが選択された場合、フォルダ選択イベントを発生させて、
それをファイルリストが受け取って、ファイルリストを更新していますが、
パス入力欄のプラグインでも同様にイベントを受け取って、パスを更新しています。

また、パス入力欄のパスが変更された場合には、パス入力欄からフォルダ選択イベントを発生させて、
ファイルリストを更新するようにしています。

3. プラグイン用のプロパティファイルの追加

各プラグインの data フォルダ配下のプロパティファイル(property.ini)を使用して、フォームの位置やスプリッターのバーの位置を保存できるように変更しました。
プロパティファイルは、各プラグインの Initialize() で読み込み、 ClosePlugin() で保存しています。

4. ファイルリストの変更

1. ファイル名、拡張子、更新日時を変更できるようにしました。これに伴い、行選択からセル選択に変更しました。
注意:エクスプローラーを開いていると、変更できない場合があります。
2. 文字コード指定や、バイナリーモードで開くためのメニューを追加しました。
3. ファイルとフォルダを新規作成するメニューを追加しました。
4. ファイルサイズに、GB、MBなどの単位を表示するようにしました。

2. 動画



3. 画面

画像1

画像2

4. 今後の課題

ツールバー、メニューのプラグイン化
現在のEXEからプラグインやUtilsなどをDLLへ移す
ファイルリストにコピペでクリックボードの内容をファイル出力
お気に入りファイルツリープラグインの追加
画像ビューアープラグインの追加
見出しリストの表示、
左側の余白の不具合対応、
grep機能の追加、
プラグインでテキストの加工を行えるようにする、
プラグインでカレンダーをつけて日記をつけられるようにする、などなど。

ダウンロード

ver実行ファイルソース
1.1.6
2018/12/07
ncm_1_1_6.zipncm_1_1_6_src.zip