[ruby-gnome2-doc-cvs] [Hiki] update - ダイアログ

アーカイブの一覧に戻る

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 14日 (木) 22:35:17 JST


-------------------------
REMOTE_ADDR = 61.26.70.211
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/?%A5%C0%A5%A4%A5%A2%A5%ED%A5%B0
-------------------------
  = ダイアログ
  ダイアログは非常に簡単なウィジェットで,ユーザへのポップアップメッセージなどに使われるあらかじめいくつかのものがパックされたウィンドウである.
  
  ダイアログを作成するには:
  
  Gtk::Dialog.new
  
  Dialogのインスタンスを作成するとウィンドウを1つ生成される.
  そのウィンドウの最上位にはvboxと呼ばれる垂直ボックス(Gtk::VBox)がパックされ,その内側にはセパレータとaction_areaと呼ばれる水平ボックス(Gtk::HBox)が含まれる.
  vboxやaction_areaはGtk::Dialog#vbox,Gtk::Dialog#action_areaで取得することができる.
  
  vboxにはユーザへの質問や,エラーメッセージを表示する((<ラベル>))などをパックすることができる.
  そしてaction_areaにOKボタンとキャンセルボタンなどのボタンをパックし,それぞれのボタンに異なったシグナルを接続しユーザが選択した操作を行うことができる.
  
    d = Gtk::Dialog.new
    label = Gtk::Label.new("Dialog is groovy")
    d.vbox.pack_start(label, true, true, 0)
    d.add_button("OK", 0)
    d.vbox.show_all
  
  もしvboxの単純な機能だけではあなたのアプリケーションにとって不十分な場合には,他のレイアウトウィジェット(例えばテーブルなど)をvboxにパックするだけで良い。
  
  OK,キャンセルなどのボタンは通常action_areaにパックする.
  action_areaにボタンを追加するGtk::Dialog#add_buttonというメソッドが用意されている.
  
    Gtk::Dialog#add_button(button_text, response_id)
  
  ボタンのラベルはbutton_textとなり,response_idはボタンが押されたときのレスポンスIDを設定する.
  レスポンスIDには整数を渡すことができるが,Ruby/Gtk2ではあらかじめ以下の定数が定義されているので,それを利用してもよい.
  
    * Gtk::Dialog::RESPONSE_NONE
    * Gtk::Dialog::RESPONSE_REJECT
    * Gtk::Dialog::RESPONSE_DELETE_EVENT
    * Gtk::Dialog::RESPONSE_OK
    * Gtk::Dialog::RESPONSE_CANCEL
    * Gtk::Dialog::RESPONSE_CLOSE
    * Gtk::Dialog::RESPONSE_YES
    * Gtk::Dialog::RESPONSE_NO
    * Gtk::Dialog::RESPONSE_APPLY
    * Gtk::Dialog::RESPONSE_HELP
  
- {{image_left "dialog1.png"}}
- {{image_left "dialog2.png"}}
+ {{image_right "dialog1.png"}}
+ {{image_right "dialog2.png"}}
+ ((*ちょっとイマイチ.後で書き直す*))
  
    require 'gtk2'
    
    Gtk.init
    
    window = Gtk::Window.new
    window.signal_connect("destroy") {Gtk.main_quit}
    
    box1 = Gtk::HBox.new(false, 0)
    window.add(box1)
    
    button = Gtk::Button.new("dialog")
    button.signal_connect("clicked") do
    	d = Gtk::Dialog.new
    	label = Gtk::Label.new("Dialog is groovy")
    	d.vbox.pack_start(label, true, true, 0)
    	d.add_button(Gtk::Stock::OK, Gtk::Dialog::RESPONSE_OK)
    	d.add_button(Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL)
    	d.vbox.show_all
    
    	case d.run
    	when Gtk::Dialog::RESPONSE_OK
    		puts "OK"
    	when Gtk::Dialog::RESPONSE_CANCEL
    		puts "Cancel"
    	else
    		puts "else"
    	end
    	d.destroy
    end
    box1.pack_start(button, true, true, 0)
    
    quit = Gtk::Button.new("quit")
    quit.signal_connect("clicked") {Gtk.main_quit}
    box1.pack_start(quit, true, true, 0)
    
    window.show_all
    Gtk.main





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る