GTK+

カスタムウィジェットで立方体を回しやすくしてみた

陰線消去(というか陰線を点線に)して立方体を表示するプログラムがあります。ところが立方体を回すためには、矢印ボタンをカチカチ何度も押さなければいけなくて、ぎこちなかった。そこで操作の労力が減るように、カスタムウィジェットを作った。みためは…

Ruby/Gtk2 でカスタムウィジェットを作る

長いあいだ Ruby/Gtk2 でカスタムウィジェットの作りかたがよくわからなかったけど、今日 rbbr を読んでいてやりかたがわかった。クラス定義の中で GLib::Object.type_register を呼び出して GObject システムに型を登録してから、GLib::MetaInterface.signa…

設定ダイアログを楽して作れないかな

例えばこういうオブジェクトを用意して…… Person = Struct.new :name, :age, :kawaii yukarin = Person.new 'Yukari', 17, true p yukarin #=> #<struct Person name="Yukari", age=17, kawaii=true> どういう風に表示したいか表にして…… table = [[yukarin, :name, :string], [yukarin, :age, :spin], [yukarin</struct>…

Ruby/GTK のレイアウトを作るための DSL を作った

こんなのは DSL って言わないかもしれないけれど、ウィジェットの親子関係がインデントで表せてわかりやすいです。あと、名前付きオプション引数でウィジェットのプロパティが設定できたり、シグナル名を書くだけで convention で名前が付いてコールバックが…