2003-08-30 [長年日記]
λ. 帰ってきました。あー、疲れた。
λ. libglade and custom widget creation function
libgladeのこの話。C言語の方法はC言語にとってとても自然な方法なのだが、Pythonの方法はビミョーな気がする。この方法ではカスタムウィジェットを使ったファイルを読み込む際に必ず、set_custom_widget_handler を呼ばなくちゃいけなくて、同時に設定できるハンドラはひとつしか無いため、複数のコンポーネントが同時にlibgladeを使おうとしたときに、嬉しくない事になるんじゃなかろうかと想像……。
(そもそもこのカスタムウィジェットのユーザー用の引数が整数が2つと文字列が2つというのも全然必然性が無いし……というのも結構思うのだが、考えないことにしよっと)
λ. それから、むとうさん指摘の表示されない問題。本来はgtk_widget_show()をハードコードするのではなく、CommonタブのVisibleプロパティを反映すべきだと思うのだが、なんでそうなってないのだろう。まぁ、なっていないものは仕方がないと思い、GladeXMLCustomWidgetHandlerからプロパティの情報にアクセスする方法はないものかと旅行中に調べたのだが、これは無理そう。GladeWidgetInfoは渡されないし、GladeXMLからGladeInterfaceを得るには非公開の構造体にアクセスする必要がある。
λ. とゆーか、GtkHtmlViewを使いたいだけなら、クラス名を指定する方法の方が良いような気もするが。