From: Masao M. <mu...@hi...> - 2003-08-19 09:29:01
|
むとうです。 On Tue, 19 Aug 2003 14:47:39 +0900 KATO Kazuyoshi <kz...@us...> wrote: > こんにちは。和良です。 > > GdkWindow の user_data を中身を読みたいんですが、実装の方法で迷ったの > で、意見を聞きたいと思います。 > > いままで、user-data をつかってなにかを受け渡ししているものは、特異メソッ > ドを定義してきました。user_data なんて仕組みは、普通のオブジェクト指向 > 言語ならいらないはずです。 私もそう思います。 そう思って、他のオブジェクトなんかからもわざわざundefしたりしてます。 > でも、GdkWindow の user_data には、その GdkWindow を持っている > GtkWidget が入れてあるらしいのです。 > http://developer.gnome.org/doc/API/2.0/gdk/gdk-Windows.html#gdk-window-set-user-data > > で、これにアクセスしたいんですが、実装するにあたって これ、gtk-demoのchangedisplay.cですね。 なんかすごくトリッキーな使い方ですねぇ。 > 1. まんま Gdk::Window#user_data として実装する > 他のクラスには user_data はないのに、Gdk::Window だけもつのは、混 > 乱のもとにならないか? 特別に必要なのであれば、それは特に問題ないと思いますが...。 > 2. user_data を持ってるものでは、全部 user_data を使えるようにする > 大変そう。本来 user_data って仕組みは Ruby にはいらないはず。 私もいらないと思いますので、Gdk::Window自身のメソッド ってことで、Gdk::Windowだけに定義すれば良いのではないでしょうか。 > 3. なんか別の名前でアクセスできるようにする > 他の言語になれた人が混乱しそう。 適切な名前であれば、他の言語(たぶん、Cがメインだろうけど)になれた人の ことはあまり意識しないで良いと思います。 滅多に使わないメソッドだし、そのときは覚えてもらえば良いだけですし。 ただ、もし、Gdk::Window#gtk_widget、Gdk::Window#widget等という名前に するのでしたら正直抵抗があります。Gdk側からはGtkのウィジェットを意識 させるべきではないと思いますので。 > と、いい方法が思いつきません。 > > どうするのがいいと思いますか? 先にも書きましたが、アクセスしないで済むのならそれが理想です。 なんか同等の機能を他のやり方で実現できないでしょうか....。 難しいかなぁ。 どうしても、ということであれば、1.ではないでしょうか。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |