ruby-****@sourc*****
ruby-****@sourc*****
2008年 10月 15日 (水) 16:41:22 JST
------------------------- REMOTE_ADDR = 222.225.51.171 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?libglade2-tut-create-src ------------------------- @@ -118,6 +118,8 @@ Gtk::Dialog#runは、ダイアログ上で何らかの"response" Signalが発生するまで待機し、Signalを受け取ると関連付けられたブロックを実行してメソッドを抜けます。"response" Signalとは、"response ID"が設定されたボタンが押されるか、またはダイアログ枠のクローズボタン(これを押したというイベントにも"response ID"が設定されています)が押された時に発生するSignalです。"response ID"はブロック引数として渡されるので、ブロック内でこの値に応じた処理を行うことができます。 +コード中の定数は事前定義されたIDです。((<「Gtk2チュートリアル」の「ダイアログ」のページ|gtk2-tut-dialog>))などに一覧があります。Gtk::Dialog::RESPONSE_CLOSEはGlade上でボタンのプロパティに表示されるものと違いますが、あれをそのまま使うと、定義されていないというエラーが出てしまうので、Gtk::Dialog::RESPONSE_??の方を使うのが簡単です。個々のIDの対応はすぐわかると思います。 + ただアバウトダイアログの場合、"response ID"の値によって処理を分ける必要はないので、以下のようなコードで済ませてしまうのが普通です。 def on_about1_activate(widget)