[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