From: KUBO T. <ku...@ji...> - 2002-08-19 00:39:33
|
久保@茅ヶ崎市です。 GtkArg 周りの変更と Gnome::CanvasItem#get に対応を行いました。URL は http://www.jiubao.org/tmp/stage-3.dif です。 stage-2.dif は適用せずにこのパッチを使用してください。 思ったより大きな変更になりました。m(__)m (1)Ruby/Gtk の変更 修正・追加したファイル 修正: gtk/src/global.c gtk/src/global.h gtk/src/rbgtk.c gtk/src/rbgtk.h gtk/src/rbgtkobject.c 追加: gtk/src/rbgtkarg.c 修正・追加した関数 gtk/src/global.c 削除(b): VALUE arg_to_value(arg) gtk/src/rbgtkobject.c 削除(b): static void arg_set_value(arg, value) 変更(b): static void signal_setup_args(obj, sig, argc, params, args) 変更(b): void signal_callback(widget, data, nparams, params) gtk/src/rbgtkarg.c 追加(a): void rbgtk_register_r2b_func(type, func) 追加(a): void rbgtk_register_b2r_func(type, func) 追加(c): void rbgtk_arg_init(arg, type, name) 追加(a,c): void rbgtk_arg_set(arg, obj) 追加(a,b): void rbgtk_arg_set_retval(arg, obj) 追加(a,b): VALUE rbgtk_arg_get(arg) 追加(a): void Init_gtk_arg() gtk/src/rbgtk.c 修正: Init_gtk_gtk() 内容: (a) ruby のオブジェクトの GtkArg への set/get の方式が埋め込みだった のを動的に登録するようにした。 (b) GtkArg 関係の関数を rbgtkarg.c にまとめて、関数名を変更。 global.c の arg_to_value() -> rbgtk_arg_get() rbgtkobject.c の arg_set_value() -> rbgtk_arg_set_retval() (c) Gnome::CanvasItem から GtkArg を用いるのに必要な関数 (2)Ruby/GNOME の変更 修正したファイル 修正: gnome/src/rbgnome-canvas-item.c gnome/src/rbgnome-canvas-util.c gnome/src/rbgnome.c gnome/src/rbgnome.h 修正・追加・削除した関数 gnome/src/rbgnome-canvas-item.c 削除(a): static void set_gtkarg(type, name, value, arg) 追加(c): GdkImlibImage *get_gdkimlib_image(obj) 修正(a): static VALUE citem_set(argc, argv, self) 追加(b): static VALUE citem_get(self, name) 追加(b): void Init_gnome_canvas_item() gnome/src/rbgnome-canvas-util.c 追加(c): GnomeCanvasPoints* get_gnome_canvas_points(obj) 追加(c): VALUE make_gnome_canvas_points(gcp) gnome/src/rbgnome.c 修正(c): static VALUE gnome_s_init(in_argc, in_argv, self) 内容: (a) set_gtkarg() を削除して、rbgtk_arg_set() を使用 (b) Gnome::CanvasItem#get 対応 (c) Ruby/Gtk の GtkArg システムへの set/get 関数の登録。 GTK_TYPE_GNOME_XXXXX が初期化されるのは gnome_init() 内で、それ 以降でないと型システムを使用できないので、GtkArg への登録は、 gnome_s_init() 内で行うようにした。 問題(?): GdkImlib::Image の GtkArg への登録は、普通に考えると gdk_imlib.so 内で行なったほうが自然だが、GtkType の GTK_TYPE_GDK_IMLIB_IMAGE を 定義しているのは、Gnome 側。したがって、登録する場所は gnome.so 内 でないといけない。 現在のところ GtkArg システムへ登録する関数 get_gdkimlib_image() を 定義しているのは gnome/src/rbgnome-canvas-item.c 内。というのも、 Gnome で GTK_TYPE_GDK_IMLIB_IMAGE を使用しているのは、 Gnome::CanvasImage のみだから。 とはいっても、gnome/src/rbgnome-util.c とかに移したのが良いかもし れない。 あと、CVS の libart/Makefile は消してください。このファイルは libart/extconf.rb が作成するものなので、CVS に入れる必要はないです。 まあ、間違って登録したのだと思いますけど。 以上です。 では、再見 -- 神奈川県茅ヶ崎市在住 久保 健洋 email: ku...@ji... web: http://www.jiubao.org GnuPG fingerprint = 5F7B C8EF CA16 57D0 FDE1 9F47 C001 1F93 AC08 2262 |
From: Masao M. <mu...@hi...> - 2002-08-19 11:21:10
|
むとうです。 On Mon, 19 Aug 2002 09:38:52 +0900 KUBO Takehiro <ku...@ji...> wrote: > 久保@茅ヶ崎市です。 > > GtkArg 周りの変更と Gnome::CanvasItem#get に対応を行いました。URL は > http://www.jiubao.org/tmp/stage-3.dif > です。 > stage-2.dif は適用せずにこのパッチを使用してください。 > > 思ったより大きな変更になりました。m(__)m ありがとうございます。適用しました。 念のため、再度確認してください。 > 問題(?): > GdkImlib::Image の GtkArg への登録は、普通に考えると gdk_imlib.so > 内で行なったほうが自然だが、GtkType の GTK_TYPE_GDK_IMLIB_IMAGE を > 定義しているのは、Gnome 側。したがって、登録する場所は gnome.so 内 > でないといけない。 > 現在のところ GtkArg システムへ登録する関数 get_gdkimlib_image() を > 定義しているのは gnome/src/rbgnome-canvas-item.c 内。というのも、 > Gnome で GTK_TYPE_GDK_IMLIB_IMAGE を使用しているのは、 > Gnome::CanvasImage のみだから。 > とはいっても、gnome/src/rbgnome-util.c とかに移したのが良いかもし > れない。 この辺はRuby-GNOME2で対応しましょう。 #Ruby-GNOME2ではgdk_imlibがなくなっちゃうんでアレなんですが。 > あと、CVS の libart/Makefile は消してください。このファイルは > libart/extconf.rb が作成するものなので、CVS に入れる必要はないです。 > まあ、間違って登録したのだと思いますけど。 間違えました。 消しときましたので(^^;)。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: KUBO T. <ku...@ji...> - 2002-08-20 15:37:54
|
久保@茅ヶ崎市です。 Masao Mutoh <mu...@hi...> writes: >> GtkArg 周りの変更と Gnome::CanvasItem#get に対応を行いました。URL は >> http://www.jiubao.org/tmp/stage-3.dif >> です。 >> stage-2.dif は適用せずにこのパッチを使用してください。 >> >> 思ったより大きな変更になりました。m(__)m > > ありがとうございます。適用しました。 > 念のため、再度確認してください。 はい。チェックアウトして動かしてみました。 適用、ありがとうございます。 あとはバグがないことを祈りつつ....。 では、再見 -- 神奈川県茅ヶ崎市在住 久保 健洋 email: ku...@ji... web: http://www.jiubao.org GnuPG fingerprint = 5F7B C8EF CA16 57D0 FDE1 9F47 C001 1F93 AC08 2262 |