どこに何を書くか

しばらく間があきました。

TreeViewの派生ウィジェットを作ったところで、既存コードの整理をすることにします。まず、MainWindowに依存しすぎているという問題をどうにかしたいんですが、Gladeを使っているとどうしても仕方ない部分が多いようです。たとえば派生ウィジェットの__init__の引数はGladeを使っている限りいじれない(多分)とか。その結果ちょっとかっこ悪い記述になりそうな予感です。

しかしまぁとにもかくにも書いてみることにします。派生ウィジェットAoisoTreeViewにも最終的には汎用性を持たせたいのですが、現時点ではどうしたもんだかよくわからないので、まずはMainWindowに書いてある中から、イベントとTreeModelの生成あたりをTreeViewに持っていってみます。TreeModelは誰が持っているべきなのかいまいち分かりませんが、TreeViewが自分で生成する方向でやってみます。

・・・と思いましたがTreeModelはTreeViewには入れないべきと思い直し、イベントだけ移しました。最終的にはまた外に出すことになるかもしれませんが、現時点ではMainWindowが綺麗になればOKということで。

ところで気になる点

self.treeView.get_selection().select_iter(iter)

これではcursor_changedイベントが走らないようなんですが、仕様なんですかね・・・?

まだ完全ではありませんが、大体終わりました。今日は眠いのでここでコミットして終了(Rev.19)。一応前と同じ動作になっているハズです。