Ruby-gtk2 on Mac 10.6 Snow LeopardでHello World ++

これまでGUIが必要なプログラムはVBAIRで書いてたけど,Ruby-Gtk+2で書けばMulti-Platformで動くって事で始めてみた.
OSXRuby-Gtk+2はMac Portsで簡単に入る

sudo port install rb-gnome

結構時間がかかる.

インストールが終わったら

require 'gtk2'

で使えるようになる.

Ruby-GNOME2 Projectのサイトを参考にサンプルコード書いてみた.
ボタンを押せば,テキストエリアに"Hello World"と表示されたり,クリックした回数分の2のべき乗算の結果が表示される.

#!/usr/bin/env ruby

require 'gtk2'

$count = 0
Base = 2
def get_text(count)
    return "#{Base}**#{count} = #{Base**count}"
end

##テキストエリアを定義
$ans_txt = Gtk::Entry.new
$ans_txt.max_length = 100
$ans_txt.text = ""

##HelloWorldボタンを定義
helloworld_button = Gtk::Button.new("Hello World")
helloworld_button.signal_connect("clicked"){
    $ans_txt.text =  "Hello World"
}

##べき乗算計算ボタンを定義
calc_button = Gtk::Button.new("Calc")
calc_button.signal_connect("clicked"){
    $count += 1
    $ans_txt.text = get_text($count)
}

##Windowの終了
window = Gtk::Window.new
window.signal_connect("delete_event"){
    puts "delete event occurred"
    false
}

##プログラムの終了
window.signal_connect("destroy"){
    puts "destroy event occurred"
    Gtk.main_quit
}

##各ボタンとテキストエリアを縦に整列
packbox = Gtk::VBox.new(false, 0)
packbox.pack_start(helloworld_button, true, true, 0)
packbox.pack_start(calc_button, true, true, 0)
packbox.pack_start($ans_txt, true, true, 0)

window.border_width = 10
window.add(packbox)
window.title = "Ruby/GTK+2 Test Code"
window.show_all

Gtk.main

追記:
貼り付けたコードにはインデントがあるんだけど,表示されない.はてなの引用でどうやって行頭下げるの???
できた〜〜〜