From: Masafumi Y. <my...@gm...> - 2014-10-13 12:57:21
|
横山です。 2014年10月13日 19:34 Kouhei Sutou <ko...@co...>: >> おそらく全てWindowに関するものなので、2.2.0以前のようにWindow >> クラスにぶら下げようと思っているのですが、どうでしょうか? > > いえ、2.2.1方式にしましょう! > > 実は、Ruby-GNOME2プロジェクトの名前つけルールというのがある > んですが、それではクラスのネストを深くせずに2.2.1のように1レ > ベルでフラットにするルールにしています。 > > http://ruby-gnome2.sourceforge.jp/hiki.cgi?Naming+and+Conversion+Rules#Class%2FModule+names > > プロジェクトとして統一感があるAPIの方が使いやすいと思うので、 > 2.2.1のスタイルに寄せて、2.2.0ですでに定義されている名前はめ > んどうでない範囲でdeprecatedだけど使える、ようにしましょう。 > > で、enumやflagsは定数ではなくシンボルで指定するのを推奨にし > ましょう。 > > x.y = Gdk::XXX::YYY # 非推奨 > x.y = :yyy # 推奨 > > これならどのレベルに定数があるかを気にしなくても使えます。 > それに、どんな値を指定したい(↑なYYYとかyyy)か、という大事 > なところだけに注目できて、コードがスッキリします。 わかりました!ぼちぼち直していきます。 > ↑が基本方針として。。。 > GDK_PARENT_RELATIVEは悩ましいですね。。。 > ところで、これ、なにに使うやつなんですかねぇ。 こんな感じですが、よくわかりませんでした。。。 /** * GDK_PARENT_RELATIVE: * * A special value, indicating that the background * for a window should be inherited from the parent window. */ #define GDK_PARENT_RELATIVE 1L https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#GDK-PARENT-RELATIVE:CAPS Ruby-GNOME2とGTK+本家のリポジトリーをgrepしてみましたが、 定義だけされていて、どこからも使われていないようでした。 >> ちなみに、2.2.1でも"Window"から始まるenumはすでにWindowクラス >> にぶら下がっているのですが、上記のAttributesTypeなどはflags >> なのでぶら下がっていないようです。 > > あぁ、すでにその方向でがんばっちゃっていたんですね。。。 > せっかくですけど戻しましょうか。。。 そうですね、統一されていた方がよさそうなので戻しておきます。 |