[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00237] Re: signal delete_event on Mhc::DayBook
ruby-ext に持って行った方がいいかな。
On Fri, 26 Nov 1999 07:29:21 +0900,
Yasushi Shoji <yashi@xxxxxxxxx> said:
> Ruby/Gtk 0.22では、signalを emitする methodすら無いですね(^^;
そうなんですよ。gemcal では、signal 名 -> proc のハッシュを自分
で持って、むりやり emit 動作をさせています。
> signal のルーティングとはどういう事でしょうか?
なんていったらいいのかよく分からないのですが、ok_button と
ng_button を持つようなコンテナ Widget を作った場合に、ある
signal は ok_button に、別の signal は ng_button に connect した
いようなときです。
Gtk のコンテナウィジェットだと、ok/ng_button を直に外に見せて、
そいつに signal_connect しますよね。これが OO の王道なのかもしれ
ませんが、そのへんよく知らないもので。。
container .ok_button .signal_connect('clicked'){ ...}
それを例えば、
container .signal_connect('ok'){ ...}
と書きたいのです。今は container の signal_connect を再定義して、
そこで場合分けをしていますが、実はもっとうまい方法があるんではな
いか? と思ったりしているわけです。
calendar .day[31] .signal_connect('clicked'){|w| w .open(31)}
と書かずに、Gtk::CList のように
calendar .signal_connect('day-button-clicked'){|w,d| w .open(d)}
と書きたい。
--
nom