Reduce the object named

今日の SeeMe for Linux バックアップ。
まだ GtkTreeView には辿り着けないが大まかな外枠だけは作れた。

seeme4_t2.tar.gz

seeme_t2

今改めて作っていると色々と便利なアイデアが思い浮かぶ。
Y901x では設定で使う GtkNotebook は全部個別に名前を付けたオブジェクトを作成していたが

# GtkNoteBook
self.note = gtk.Notebook()
tab_label = ["カスタムサーチ", "デフォルトサーチ", "標準設定", "バージョン"]
page = []
for i in range(4):
    tab = gtk.Label(tab_label[i])
    page.append(gtk.VBox())
    page[i].set_border_width(10)
    self.note.append_page(page[i], tab)
# page pack
label1 = gtk.Label("test")
page[0].pack_start(label1, False, False)

こんなふうに GtkVBox のポインタをリストすればパッキングはリストの添字で華麗にアクセス!
オブジェクト指向のオブジェクトって結局ポインタですから普通に List に入れられます。
しかも Python は List から取り出すのに型キャストや as 演算子は不要のようです。

タブのラベルは GtkLabel を作るしか無いけどそのためだけにソレに名前を付けるのも無駄だし。
名前付きオブジェクトをなるべく減らしたほうがコードの見通しが絶対にいいですから。

GUI 作成に VC# や Glade を使うと全部名前付きオブジェクトにするしか無いですから。
XAML や GtkUIManager を活用すればかなり減らせるけど少しのアイデアで綺麗にできる。
どうも Glade で作っていた頃の思い込みが消えていないようだ。

後なんとかしたいのはやはり現行版 SeeMe のメイン編集部分である。
あの TextBox や CheckBox をズラズラ並べた配置は作った本人は気に入っていない。
解りやすいとは思うけどもっとスマートにしたい、あれでは XAML もキタナイ。

それと何もアイテムが無い状態ではメイン編集部分を無効状態にしたほうがよさそう。
以上メモ、さて続きをやるか。