GladeとGlade2でgladeファイルのフォーマットが違うのね。しかも読み込みとか出来ないし。requireするライブラリ名が変わっているとか、Glade関連のメソッド名とか引数が変わっているし。Ruby/Gtkとruby/Gtk2への移行で、参考になるサイトを探すのが手間なんだよなあ。
このサンプルの場合、gladeのプロパティ画面のシグナルタブのハンドラの名前に対応する、メソッド名をdefで定義すればOK、ってことに気付くのにしばらくかかったヨ。
#!/usr/bin/ruby # Debian woody向け # ruby libglade-ruby libgtk-rubyのインストールが必要 require 'gtk' require 'lglade' class Test def initialize @glade = GladeXML.new("test.glade") {|handler| method(handler)} @entry = @glade.getWidget("entry1") end def on_button1_pressed @entry.set_text("button pressed!") end def on_button2_pressed Gtk.main_quit end end Test.new Gtk.main
#!/usr/bin/ruby # Debian sarge向け # ruby libgtk2-ruby libglade2-rubyのインストールが必要 require 'gtk2' require 'libglade2' Gtk.init class Test def initialize @glade = GladeXML.new("test2.glade", nil, nil, nil, GladeXML::FILE) {|handler| method(handl er)} @entry = @glade.get_widget("entry1") end def on_button1_pressed @entry.set_text("button pressed!") end def on_button2_pressed Gtk.main_quit end end Test.new Gtk.main
ダウンロード: 上記サンプルのダウンロード(Rubyスクリプト、Gladeファイル) 参考サイト: Ruby/GTK2 チュートリアル http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?gtk2-tut GladeXMLのリファレンス http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?cmd=view&p=GladeXML&key=GladeXML#Object+Hierarchy Ruby-GNOME2 Project Website http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi
画面定義の.gladeファイルをGlade1とGlade2の間での変換をするためのメモ。libglade-convertというコマンドがあるので、それを用いて変換しなきゃなんないらしい。Glade2のほうで、旧gladeフォーマットも読み込んで変換してくれたらいいのに..。
libglade-convertコマンド * woodyではlibglade2-0パッケージに含まれる # apt-get install libglade2-0 * sargeではlibglade2-devパッケージに含まれる # apt-get install libglade2-dev
asahi.com - 「まんが日本昔ばなし」ゴールデン復活 http://www.asahi.com/culture/nikkan/NIK200508120013.html
mplayerとかのパッケージを配布されている阿川さんのサイトが、ドメイン切れになってしまっているので、atty.jpからatty.skr.jpに変更してアクセスしてください。9/1にドメイン復帰されるそうです。
阿川さんのblog http://d.hatena.ne.jp/atty/ 阿川さんのmplayerのページ (9/1まではこちら) http://atty.skr.jp/?Zaurus%2Fmplayer