From: Masao M. <mu...@hi...> - 2007-07-15 14:55:26
|
むとうです。 On Sun, 15 Jul 2007 18:26:48 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > 酒井です。 > > 昔のメールを見返していると、全然覚えてなくて困ります(汗 確かに。 > > > ■ GDKのFactory関連 > > > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > > > 持ちます。 > > > で、実は、いくつかのGdk関連のクラスで現在問題になっている > > > のですが、Ruby側から登録されていないGTypeがあるために、 > > > 無名クラスとして値が返されるメソッドが結構あったりして > > > そのままでは使えない状態になっています。 > > > たとえば、Gdk::Screen.defaultなど。 > > そもそも、これって無名クラスだと何か問題があるのでしたっけ? 名前がわからないのが嫌だという問題かと。 > 単にinspectで無名クラスが表示されてイヤということであれば、inspectに細 > 工して少し分かりやすい文字列を返せばよいのではないかと思いました。 そうですね。 > 何故、こんなことを言い出したかというと、現在G_DEF_CLASS3が以下のような > 使われ方をしていますが、これだとgtk側の内部実装が変わったり、新しいバッ > クエンドが追加されただけで、Ruby-GNOME2側も変更しなくてはならなくなって > しまうためです。 これはやむなし、というのが当時の意見です。 > foo_get_type() が非公開ということは、 > その型をユーザーに直接扱って欲しくないということだと思います。 > > 本当にGdkScreenX11等を直接扱う必要があるのでしょうか? 直接GdkScreenX11オブジェクトにアクセスするかどうか、という意味であれば Yesです。 ただ、その名前である必要があるか、というと別に理由はないです。 #前で述べたようにGdkScreenで問題ない。ただgtypeが違うのに同じ #オブジェクトになるのが気持ち悪い、無名だと分かりづらい、という程度。 -- .:% Masao Mutoh<mu...@hi...> |