ノードの追加
wx版にノードの追加機能を実装しました。正味は10行ほどなんですが、Gtk版とwx版をできるだけ対称型にしたいのと、それぞれのモジュールができるだけ疎結合になるようにということであちこち書き換えました。
一時はTreeView(TreeCtrl)のメソッドにも互換性をもたせようかと血迷いましたが、最終的にはGtkとwxの違いはすべてTreeModelに吸収させ、TreeView(TreeCtrl)は全くの互換性なし、ロジックは共通モジュール、というかたちに落ち着きました。
wxとGtkではTreeView/TreeCtrl、Iter/Item、Window/Frameとクラス名の付け方が違うのでどうするかだいぶ迷いましたが、内部的にはそれぞれの標準的名称で、共通部分ではGtkの名称で、というところに落ち着きそうです。逆に大文字小文字のルールについては基本的にはwxの方法(クラス名は先頭大文字、変数やメソッドなどは先頭小文字、単語先頭は大文字で単語間はアンダースコアなし)を採用することにしました。この記述方法は個人的にはJavaと似ているので読みやすいと思っています。pythonっぽくないというのはありますが・・。
あと、wx化で残りは
- 本文表示
- ドラッグアンドドロップ
- 保存(できていると思っていたのですが、今やるとエラー)
です。ドラッグアンドドロップはちょっと面倒くさそうだなー。
現在Rev.34です。