Site Top
ruby Top

□rvm
・PATHを通す
・rvmsudoコマンド

□Glade3
・rubyで読み込む
・GtkBox

□rubyでCGI
・formデータ受け取る
・CGIをオフラインで動かす
拙作のしょーもないサンプル

・Glade3fixer.rb
・Firefox_killer.rb
・Link_creator.rb
・unzip_sjis.rb
・mp3conv.rb
・URLdecoder.rb


番外編

・MacOSX10.4でruby

uw_yocida@mac.com
uw_yocida(twitter)

□Glade3 ー Glade3fixer ー ダウンロード:Glade3fixer018.zip(約6KB)
あらかじめBox名を手動で変更しておいてくださいこのツールの動作には、ruby1.9系の他、GUIにGtk2を使っているので、予めインストールしておく必要があります。

Glade3で作成したxml形式の.gladeファイルを、GtkBoxのページで説明したようなやり方で、rubyで読み込めるように変換・修正するツールです。

といっても、xml形式を解析するだけの能力は私には無いので、このツールを使って変換する前に、Glade3上で各Box(GtkBox)が縦方向の配置なのか、横方向の配置なのか分かるように、図のように各Boxの名前の先頭を「V」(縦方向)とか「H」(横方向)とかで始まる名前に、手動で変更しておく必要があります。

Glade3fixerとか偉そうな名前をつけてしまいましたが、要するにBoxの名前の頭文字を参考にして、GtkBoxの文字列をGtkVBoxやGtkHBoxに変換するだけの、単なる文字列一括置換ツールがGlade3fixerの正体です。すいません。

ただの文字列一括置換機能だけだとあまりにあんまりなので、おまけの機能として、このツールでGlade3のファイルを変換する際に、そのGlade3ファイルを読み込んで表示させるrubyスクリプトのテンプレート(もどき)を出力する機能も、無理やり付け足してみました。


メインウィンドウ Glade3fixer.rbスクリプトを起動すると、こんな感じのウィンドウが表示されます。
ウィンドウやボタンの見た目は、Xubuntuの外観の設定などで変わると思いますので、あまり気にしないでください。

1行目と2行目にあらかじめ入力されている文字列は、Glade3のファイルを変換する際に必要な文字列ですので、どういった文字列を検索・置換するのか分かっているなら変更しても良いですが、そうでない場合はそっとしておきましょう。

Open file」ボタンを押すと、ファイルを選択するためのダイアログが開きます。
ファイル選択ダイアログでファイルを選んで、OKボタンを押した段階で変換処理が行われますので、注意してください。

処理結果ウィンドウ変換が正常に行われると、右図のように文字列を何個置換したかが表示されます。

もしここで1個も置換されていない場合は、前述したようにGlade3上でBox名の頭文字を、「V」や「H」で始まる名前に変更しているか、再度チェックしてみてください。
Glade3は各パーツの名前を常にチェックしていて、名前が被っている場合は変更しようとしても変更されないので、名前が被らないように変更するのがポイントよね(誰だお前?)

ちなみに、1個も置換処理が行われなくても、念の為にバックアップファイルが作成されます。
バックアップファイル名は、変換元ファイルが「sample.glade」なら、「sample_BUP.glade」という名前で作成されます。

rubyテンプレウィンドウ

メインウィンドウの「rubyテンプレ作成」にチェックを入れてから、Glade3ファイルの変換をすると、そのGlade3ファイルを使ったrubyスクリプトのテンプレートが、別ウィンドウで表示されます。

テンプレートをCOPY」ボタンで、テンプレートの内容がクリップボードにコピーされるので、適当なテキストエディタ上でペーストして使ってみてください。

ちなみに、メインで表示したいWindowの名前を「window_main」、終了ボタンに使いたいボタンの名前を「button_quit」という名前に、Glade3上であらかじめ設定しておくと、ほぼテンプレートの内容そのままのrubyスクリプトでも、ウィンドウの表示と終了ボタンが機能するハズです……機能するんじゃないかな……ちょっと覚悟はしておけ。

ただし、このテンプレートのウィンドウ表示や終了ボタンの処理は、Glade3上でノーマルなWindowを使った場合しか基本的には想定していませんので、Dialog BoxやAbout Dialog、File Chooser Dialogなどのウィンドウを使う場合には、このテンプレートそのままでは上手く動かない可能性が高いので、それなりにあちこち修正する必要があると思います。

上手くいったらラッキー……くらいに思っておくのが吉でしょう。