マルチタブテキストエディタな例

とりあえず使えるかもしれません。

tags:python, gui, tips
created:2006-08-03T09:35:52

マルチタブテキストエディタを作成してみました。

ファイルリスト

  • resource.xrc
  • wx_editor.py
  • wx_utils.py
  • setup.py
  • main_icon.ico
  • main_icon.py
  • custom/ - __init__.py - default.py - python.py - others.py

例によっておなじ構成に加えて、 カスタマイズ用フォルダといくつかのサンプルを置いています。

スクリーンショット

マルチタブテキストエディタ:

../../../_images/multitab_te.png

解説

今回からリソースとソースの解説は省きます。

概要

ノートブックの使い方、stc(ScintillaTextCtrl)の使い方の一例です。

pickleを使った、ウィンドウジオメトリの保存と復旧を行っていますので、 ウインドウの位置と大きさを記憶してくれます。

タブでミドルクリックするとクローズします(Firefox風)

セットアップスクリプトでは、カスタマイズ用フォルダのスクリプトをバンドルしないようにしています。

ライブラリ検索パスをちゃんと追加してやることで、 exe化してもプラグインスクリプトの追加と自動読み込みを実現できます。

defaultとpythonおよびいくつかの拡張子にしか対応していませんが、 各自プラグインを追加することでstcの挙動をファイルタイプごとに拡張できます。

検索やマーキングなどもstcに機能提供がありますので、 メニューの追加、ダイアログの追加、マッピングさえすれば立派なテキストエディタになるでしょう。

たいしてコード書いていないわりに

  • アンドゥ・リドゥ
  • カラード処理
  • オートインデント

などができちゃうのは stc のパワーです。

stc に関する機能の一覧は

ここを参照しました。