[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00233] Re: signal delete_event on Mhc::DayBook
はじめまして。
On Thu, 25 Nov 1999 17:12:38 +0900,
Yasushi Shoji <yashi@xxxxxxxxx> said:
> mhc ruby版を始めて試してみただけなので MLには参加していません。
> が、bug(?)を見付けたので一応、投げておきます。
> すでに潰されている bugでしたら読みながしてください。
どうもありがとうございます。もともと、月表示側のボタンを押す度に
新しい DayBook Window を開くようになってたのですが、今の仕様にし
たり戻したりしているうちにおかしくなってたようです。
> *** mhc-gtk.rb~ Wed Nov 10 04:43:39 1999
> --- mhc-gtk.rb Thu Nov 25 03:01:32 1999
> ***************
> *** 661,666 ****
> --- 661,667 ----
> print "GtkToplevel destroyed\n" if $DEBUG
> exit if active_other_windows == 0
> }
> + signal_connect('delete_event'){ hide; true; }
> end
>
> def destroyed?
僕の所では、このパッチだけではなおらないようです。
MhcDayBook::VISUAL が signal_connect
を奪ってしまって変な所に向けちゃってるからなんですが。
下のでうまくいきました。
実はこのへんの作法がよく分かっていないので、もし御存知なら、ポイ
ンタだけでも教えていただけると助かるのですが、新しい Widget を作っ
てそれに新しい名前の signal を追加したり、signal をルーティング
するときの作法というのは、どうするのが普通なのでしょうか。
## 今は、SignalConduit とかいうのを作って無理矢理やってます。
--
nom
--- gemcal 1999/10/07 10:09:06 1.1.1.1
+++ gemcal 1999/11/25 10:28:16
@@ -407,7 +407,13 @@
def set_date(date) ; @vbx .set_date(date) ; end
def date ; @vbx .date ; end
def set_style(*arg) ; @vbx .set_style(*arg) ; end
- def signal_connect(sig, &p); @vbx .signal_connect(sig, &p); end
+ def signal_connect(sig, &p)
+ if sig == 'delete_event'
+ super
+ else
+ @vbx .signal_connect(sig, &p)
+ end
+ end
end
def initialize(date, db, x = nil, y = nil)
--- mhc-gtk.rb 1999/11/10 09:43:39 1.2
+++ mhc-gtk.rb 1999/11/25 10:28:33
@@ -3,7 +3,7 @@
@@ -661,6 +661,7 @@
print "GtkToplevel destroyed\n" if $DEBUG
exit if active_other_windows == 0
}
+ signal_connect('delete_event'){hide; true}
end
def destroyed?