From ruby-ext-admin@netlab.co.jp Sun Mar 26 18:48:21 2000 Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by blade.nagaokaut.ac.jp (8.8.8/8.8.8/Debian/GNU) with ESMTP id SAA05511; Sun, 26 Mar 2000 18:48:21 +0900 Received: from hoyogw.netlab.co.jp by voscc.nagaokaut.ac.jp id SAA68499; Sun, 26 Mar 2000 18:44:39 +0900 (JST) Received: from hoyogw.netlab.co.jp (matz@localhost [127.0.0.1]) by hoyogw.netlab.co.jp (8.9.3+3.2W/3.7W/1.3) with SMTP id SAA29235; Sun, 26 Mar 2000 18:44:29 +0900 Date: Sun, 26 Mar 2000 18:44:24 +0900 From: Hiroshi IGARASHI Reply-To: ruby-ext@netlab.co.jp Subject: [ruby-ext:01010] Re: GtkType vs Ruby To: ruby-ext@netlab.co.jp (ruby-ext ML) Message-Id: <200003260944.SAA06893@bleu.ueda.info.waseda.ac.jp> In-Reply-To: In your message of "Sun, 26 Mar 2000 00:33:44 -0500" <20000326003344R.yashi@yashi.com> References: <20000326003344R.yashi@yashi.com> X-ML-Name: ruby-ext X-Mail-Count: 01010 X-MLServer: fml [fml 2.2]; post only (only members can post) X-ML-Info: If you have a question, send a mail with the body "# help" (without quotes) to the address ruby-ext-ctl@netlab.co.jp; help= User-Agent: Wanderlust/2.2.17 (One Of Us) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.6 (i586-pc-linux-gnu) MULE/4.1 (AOI) Mime-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: text/plain; charset=ISO-2022-JP Precedence: bulk Lines: 39 いがらしです。 At Sun, 26 Mar 2000 00:33:44 -0500, in [ruby-ext:01008] GtkType vs Ruby, Yasushi Shoji wrote: > > Gtk+の type system を上手く使う方法がないか探してます。 > > GtkTypeを key、各 objectの Init_gtk_*()の中の rb_define_class_under()で > の返り値を valueにした hashを作りたいんですが: 新しいtypeを追加可能な VALUE get_gtk_type(GtkObject *) の 代替物を作ろうという意図ですよね。 > 1) rb_define_class_under()の時点では、全ての Gtk+の objectは type > systemで initializeされてない(と思う)。 確かにinit.cで Init_gtk_gtk(); は gtk_init(&argc, &argv); の前で呼ばれているのですが、gtk_xxxx_get_type()でGtkType値を 得ることは……やはりできないかなぁ。 それともInit_gtk_gtk()とgtk_initの順序を入れ換えるか。 これは大丈夫だと思うのですが。 > 2) はじめて instanceを作った時に hashを作ると、大量の objectを使う > programで遅くなりそう。 どういう感じなのかぴんとこないのですが、 例えば、初めてGtk::Buttonをnewしたときに、 gtk_button_get_type()の返り値 --> gButton (クラスオブジェクト) を登録するということでしょうか。 気にするほど遅くなるとは思いません(が、試してないので確信なし)。 1)でできれば、その方がいいのですが。 -- 五十嵐 宏 (Hiroshi IGARASHI)