いがらしです。 「[ruby-ext:00303] ruby-gtk-0.19 patch」で 、 thitoshi / ne.scphys.kyoto-u.ac.jp (TAKAHASHI Hitoshi)さんは書きました: > 京都大学の高橋です。 > > ここ1ヶ月ほどずっと忙しかったんですが、最近ちょっと時間ができたので > 「testgtk をマイナーなところから攻めてみよう」シリーズの続きを > 書きました。今回は、 > > ・entry.rb > ・shapedwindow.rb > ・wmhints.rb > > の3つです。足りないメソッドや定数を追加するための rbgdk.c へのパッチも > 含まれています。 どうもありがとうございます。取り込みました。 スクリプトとパッチ自体には問題はないと思いますが、 動かしてみたらRuby/GTKのバグが見つかりました。 [shapedwindow.rb] Gtk::Widget#get_eventsで例外が出るのでおかしいなと思ったら あちこちでNUM2INTを使って値を返していたので、 gtkwindow.cを修正しました。 [entry.rb] (バグじゃないのですが) gtkcompat.hによると gtk_toggle_button_set_state が gtk_toggle_button_set_active に変更されたようなので、Ruby/GTKでもそれに合わせて Gtk::ToggleButton#set_active を定義して、これを使うようにしました。 Gtk::ToggleButton#set_state も残してあります。 > 問題がありましたらご指摘下さい。(まだ ruby1.3.x に移行してません ^^;;) 1.2で使っていると分からないバグというのは結構あるので できれば1.3に移行していただくと嬉しいです(^_^) Ruby/GTKが0.25くらいになったらruby1.2.xのサポートは 打ち切りたいなぁ、と思っています。 > ところで、wmhints.rb を書いてて > Gdk::Bitmap::create_from_data が非常に使いにくかったんですが、 > もっといい書き方がありますでしょうか? > 本家の testgtk.c では #include "circles.xbm" 一行で終ってるところ > なんですが、、、、 いい書き方ですか……ちょっと分かりません。 Cでは#includeで済んでしまうので gdk_bitmap_create_from_xbm は用意されていないんでしょうね。 xbmファイルからの読み込みはそれほど需要もないでしょうし。 根本的解決ではないですが、 あらかじめcircles.xbmをxpmに変換しておいて、 Gdk::Pixmap::create_from_xpm で読み込むように修正してしまいましょうか? 手元では実際にそうしてしまっていますが。 #昨日はRuby/GTKしようとしたら突然マウスのボタンが #いかれてしまいました……。 #さすがにマウスなしでGUIのデバッグはできないので、 #とりあえず間に合わせの安物を買ってはきたのですが、 #おかげでせっかく時間ができたと思ったのに #あまり作業できませんでした。 ---- 五十嵐 宏 (Hiroshi IGARASHI)