wxPythonで簡単なサンプルエディタを作ってみた
まだ完成形ではありませんが、まずは簡単なテキストエディタを
作ってみました。
といってもメモ帳とかそんな形式ではなくSublimeTextのみたいな
新規ファイルタブを増やしていけるような張りぼてを作りました。
テキストエディタを作ってみてまず思ったことは
AtomとかSublimeTextなど高機能エディタを作った人は
まじですごいと思いました。
エディタの構成によってあらゆる機能を実装する方法が違うので
あんな高機能なエディタを作った人がこの世にいるんだと考えると
世の中広いなとつくづく感じました。
wxPython自体が日本語訳されている資料があるなしという話以前に
情報そのものが少ないので結構苦労しました。
時には単純な機能の実装に手間取ったりとてんやわんやなことも
ありました。
一旦GitHubにあげました
⇒ https://github.com/yyyuuuiii/Pynapple
名前は適当でとりあえずPyって文字に関連したものであればなんでもいいや
といった感覚でつけました。
今回あげた分に関しては新規ファイルを動的に作成できる機能のみで
本来のテキストエディタに必要な保存やファイルを開くなどはつけていません。
メモ帳のような形式のテキストエディタであれば簡単ですが、
SublimeTextのようなエディタを作ろうと思ったらかなり複雑なことに気づきました。
あと余談ですがwxPythonを使えばEclipseのような開発環境自体を作ることも可能ですが、今の自分には手に負えるレベルではないですね(泣)
知っている方は知っているとおもいますがテキストエディタは通常の画面でみると
一つにまとまった形で映っているように見えます。
どういう風にできているかというとまず一番下にフレームがきて、その上にパネルを必要な分重ねていき、そのパネルの上にテキストやディレクトリツリーを重ねられてできています。
世の中にある高機能のテキストエディタや統合開発環境はそのような構成でできています。だから本来は無理ですが横から見た場合何層にも重ねられて構成されていることに気づくでしょう。
難しいと思ったのはフレームやパネルはそれぞれが持っている機能が異なっていて必要な機能をどうやってつなげていくかです。
この時点では何を言っているか分からないと思いますが、自分で体験した方が早いです、パズルを解いていくような感覚になります。
簡単なテキストエディタを作りましたがまた別に今回の経験をもとに本格的なテキストエディタを作成中です。
時間を見つけては他のことを学習しつつ、同時に進行させているといった具合です。