From: Masahiro S. ()
<sa...@to...> - 2003-07-17 06:28:10
|
さかいです。 From: Masahiro Sakai (酒井政裕) <sa...@to...> Subject: [ruby-gnome2-devel-ja] enum/flags のクラス化 Date: Sun, 06 Apr 2003 20:57:47 +0900 (JST) > GEnum/GFlagsの派生タイプを現在は整数として扱っていますが、 > これをそれぞれのクラスのオブジェクトとして扱うように > 変更しようかと考えています。 すっかり忘れていたのですが、これどうしましょっか? 自分では結構気に入っているのですが、少々やりすぎという気もしています。 現状をまとめると、 * 互換性にはそれなりに気を配ったので、 これまで動作した大抵のコードは動作しなくなったりはしないはず * 下のサンプルのように、各クラスに定数を自動定義する事は出来てます。 ですが、これは定数の定義場所と名前が現在のルールと違うので、 現在のルールを維持するには結局個別の対応が必要。 といったところです。 > とりあえず、手元では以下のような事が出来るようになっています。 > > require 'gtk2' > Gtk::Window::Type = GLib::Type['GtkWindowType'].to_class > > p Gtk::Window::Type.values > #=> [#<Gtk::Window::Type value=0 name="GTK_WINDOW_TOPLEVEL" nick="toplevel">, > # #<Gtk::Window::Type value=1 name="GTK_WINDOW_POPUP" nick="popup">] > > p Gtk::Window::Type::TOPLEVEL > #=> #<Gtk::Window::Type value=0 name="GTK_WINDOW_TOPLEVEL" nick="toplevel"> -- 酒井 政裕 / Masahiro Sakai |