ruby-****@sourc*****
ruby-****@sourc*****
2008年 10月 13日 (月) 10:58:07 JST
------------------------- REMOTE_ADDR = 222.225.51.171 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?libglade2-tut-create-src ------------------------- @@ -6,7 +6,7 @@ 「"xxxx is not implemented yet."と表示されるようになっていますので自分で実装したいところから書き換えて行くイメージ」 と書きました。実際それで動きますし、Ruby-GNOME2-0.9.1までは確かにその方法が一般的(?)でした。 -でも、その方法だと「機能追加などでGUIを変更したとき、hwedit_glade.rbを毎回作り直す(バックアップを取っておいてイベントハンドラ部分を書き直す」というような「手動マージ作業」を行う必要があります。 +でも、その方法だと「機能追加などでGUIを変更したとき、hwedit_glade.rbを毎回作り直す(バックアップを取っておいてシグナルハンドラ部分を書き直す」というような「手動マージ作業」を行う必要があります。 もっと複雑なこと、たとえば自前の定数を書いてみたり、メソッドを追加してみたりするとなおさらマージ作業が大変になりますし、Ruby/Libglade2がバージョンアップしたときに自動的に追加されるメソッドが増えるかもしれません。 このように、ruby-glade-create-templateは最初の1回のテンプレート生成だけは使えるのですが、2度目以降はあまり使えないツールになってしまい、とたんに生産性が落ちてしまいます。 @@ -40,11 +40,11 @@ Gtk.main_quit end -"((<プライマリ(メイン)ウィンドウを作る|libglade2-tut-mainwindow>))"のページで少し説明したように、プログラムのウィンドウのクローズボタンをクリックしたときに正しくプログラムを終了させるのに最低限必要な処理を書きます。(今の時点ではon_main_window_delete_eventは変更しなくても動作しますが) +「((<プライマリ(メイン)ウィンドウを作る|libglade2-tut-mainwindow>))」のページで少し説明したように、プログラムのウィンドウのクローズボタンをクリックしたときに正しくプログラムを終了させるのに最低限必要な処理を書きます。(今の時点ではon_main_window_delete_eventは変更しなくても動作しますが) -※ 他のイベントハンドラもカスタマイズが必要になったときのために消さずに残しておきます。 +※ 他のシグナルハンドラもカスタマイズが必要になったときのために消さずに残しておきます。 -要はinitializeとイベントハンドラを上書きするようなサブクラスを作るわけです。 +要はinitializeとシグナルハンドラを上書きするようなサブクラスを作るわけです。 この部分だけ、きっと手間に感じると思いますが、一度作れば後は楽チンなこと間違いなしです。 end @@ -71,8 +71,8 @@ したがって、先のPROG_PATHはこれを指定してしまうというのも一案でしょう。 私はこの辺の設定周りは別ファイル化(config.rbとか)にして、インストーラを起動するときに自動的に生成するようにしています。 -=== イベントハンドラの実装 -さて、後は気の向くままにイベントハンドラたちを実装しましょう。@glade["textview1"]というような形でそれぞれウィジェットのインスタンスを呼び出すことができます。"textview1"はGlade-2上で設定した(あるいはデフォルトのままではウィジェット + 番号という形になる)ウィジェット名です。 +=== シグナルハンドラの実装 +さて、後は気の向くままにシグナルハンドラたちを実装しましょう。@glade["textview1"]というような形でそれぞれウィジェットのインスタンスを呼び出すことができます。"textview1"はGlade-2上で設定した(あるいはデフォルトのままではウィジェット + 番号という形になる)ウィジェット名です。 ただ、いちいちそのように書くのも手間なので良く使うウィジェットはインスタンス変数に代入しておくと便利です。 ここに例を置いておきます。