From ruby-ext-admin@netlab.co.jp Tue Dec 28 06:27:57 1999 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 GAA09036; Tue, 28 Dec 1999 06:27:57 +0900 Received: from hoyogw.netlab.co.jp by voscc.nagaokaut.ac.jp id GAA81099; Tue, 28 Dec 1999 06:25: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 GAA23690; Tue, 28 Dec 1999 06:25:28 +0900 Date: Tue, 28 Dec 1999 06:25:08 +0900 From: Hiroshi IGARASHI Reply-To: ruby-ext@netlab.co.jp Subject: [ruby-ext:00796] Re: Ruby/Gtk Gtk::Editable's signal To: ruby-ext@netlab.co.jp (ruby-ext ML) Message-Id: <199912272125.GAA08687@bleu.ueda.info.waseda.ac.jp> In-Reply-To: In your message of "Tue, 28 Dec 1999 01:26:11 +0900" <199912271625.BAA01774@raiden.valley.ne.jp> References: <199912240148.KAA16716@asama.fns.se.fujitsu.co.jp> <199912271625.BAA01774@raiden.valley.ne.jp> X-ML-Name: ruby-ext X-Mail-Count: 00796 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.12 (Joyride) SEMI/1.13.6 (Komatsu) FLIM/1.13.2 (Kasanui) Emacs/20.5 (i586-pc-linux-gnu) MULE/4.0 (HANANOEN) Mime-Version: 1.0 (generated by SEMI 1.13.6 - "Komatsu") Content-Type: text/plain; charset=ISO-2022-JP Precedence: bulk Lines: 33 いがらしです。 At Tue, 28 Dec 1999 01:26:11 +0900, in [ruby-ext:00794] Re: Ruby/Gtk Gtk::Editable's signal, とみたまさひろ wrote: > > > 前のパッチでは insert-text シグナルで呼び出される関数側で、渡された > > position を変更できなかったので、苦肉の策で配列にしてみました。 > > > > C API では gint* position なので、関数中で *position = n; とすれば位置を > > 変更できたんですが、Ruby では整数の in-out parameter が使えないので…。 > > > > e = Gtk::Entry::new > > e.signal_connect("insert_text") do |a| 〜 end > > > > とすると、a = [#, "s", [0]] ってな > > 形で引数が渡されるので、a[2][0] = n として位置を変更できます。 > > 実はこれは http://main/tmtm/www/ruby/gtk/bentry.html の絡みで必要だった http://www.tmtm.org/ruby/gtk/bentry.html ですね。 Ruby/GTKのページから http://www.tmtm.org/ruby/gtk/ に リンクしちゃっていいですか? > んですが、signal_handler_block/unblock を使うことで、シグナル関数中で > position の値の変更は(とりあえず)必要なくなりました。 > > ので、position の実装をどうするかは、もっと議論してからでもいいです。 では、とりあえずpositionには値そのものが渡るようにしてしまいます。 -- 五十嵐 宏 (Hiroshi IGARASHI)