Operaのユーザースクリプトを管理するツールをVisualuRubyで作った

RubyでGUIが作れるというので勉強も兼ねてVisualuRubyに挑戦。

userjsmanager.zip
2007/12/20:エディタが正確に開けない不具合が早速出たので修正。

userjsmanager.exeを実行すると、GreaseMonkeyほぼまんまの管理画面が現れるので、そちらを弄ったことがあるなら操作上迷うことは無いだろう。詳しくは同梱のテキストを参照。

VisualuRubyの利点

  • Rubyで書ける
  • 少ない記述でGUIを簡単に作れる(形だけなら)
  • exerbでスタンドアローン化できる

VisualuRubyの不満点

  • ウインドウスタイルが一部登録されていない
  • カスタムドローが未実装(力技で実装可能)
  • ドキュメントが貧弱すぎる
  • コントロールの配置が面倒
  • 検索しても情報が全然出てこない(マイナーすぎる)

開発途中だから仕方が無いか。一応気合でなんとかなる。

コントロールの配置については、Formdesignerを使えばある程度は解消するが、配置したコントロールをクリックすると大きさが変わってしまったり、出力するとウインドウスタイルが全部整数になってしまうので、若干手直しが必要になる。

原因不明というか、結局分からなかったもの

  • ステータスバーの文字コードが不明(何を入れても2バイト文字が化ける)
  • Enterキーの入力を取れない。ダイアログのデフォルトボタンを動作させたいのだが。
  • グリッドレイアウトで、片方を固定、もう片方を可変にしたい。(ネガティブマージンのように)
  • オーナードローボタン上のビットマップの透過色設定。

やりたいこと

  • 適用順番の入れ替え(ファイル名が変わってしまうのが難点)
  • スクリプトの更新を調べてダウンロード

雑感

簡単にGUIが書けるのは確かだが、結局はWindowsのコントロールを使うので、構築上ある程度の縛りは受ける。

それはいいんだが、現時点ではWindowsAPIの資料を漁るのが必須なのが正直めどい。そこまで凝ったGUIを作れなくてもいいので、Rubyの知識だけで書ける様になるのが一番の理想か。

余談

exerbのguiモードでコンパイルしたらAVGが反応したので思わず吹いた。久々にAVGのダイアログ見たわ。

cuiにしたら反応しなくなったので良かったが。ってか、コードのどこに反応したんだ?