YamaKen
yamak****@bp*****
2004年 2月 7日 (土) 00:12:14 JST
At Fri, 06 Feb 2004 22:31:47 +0900 (JST), yusuk****@cheru***** wrote: > > uimのプリエディット属性に文節セパレータを追加する事を提案します。 > > 反対意見が無いようであれば実装してみます。 > これ自体は賛成です。変更を行う際に思うところを書いておきます。 > > *preedit属性の定数のいくつかはor(論理和)しても良いということにする > 僕がドキュメントに明記するだけで良いと思うのですが、今までuimを使った > ソフトのほとんどがorしないことを前提としたコードになっているので、 > この機会になんとかしたいです。orが許されれば、後からこっそりマスクを > 追加することもできますし、意味のビットと見掛けのビットを共存させて > どちらか好きな方を解釈して表示もできると思います。 それで問題ないと思います。今のところIMKit-uimではbitwise-andを取っ て検出してるので一応大丈夫です。Qt側の制限で排他的に1つの属性し か有効にできませんが。 > *UPeAttr*という名前を変更する。 > なんとなく意味不明なので、他の定数と同時に変えてしまいたいです。 実は私もこの名前にはなかなか馴染めませんでした。これ以上分かりや すくするには結局フルネームにするのがいいんじゃないでしょうか。そ んなに頻繁に出てくる名前でもないので。 enum UPreeditAttr { UPreeditAttr_None = 0, UPreeditAttr_UnderLine = 1, UPreeditAttr_Reverse = 2, UPreeditAttr_Cursor = 4, UPreeditAttr_Separator = 8, }; その他の定数というと以下のUKeyとUKeyModifierですが、modifierの方 の定数がUKey_Shiftのような名前になっているのはUKeyと区別がつかな いのでまずいと思います。 enum UKey { ... UKey_Shift_key, UKey_Control_key, UKey_Alt_key, UKey_Meta_key, UKey_Other = 1000 }; enum UKeyModifier { UKey_Shift = 1, UKey_Control = 2, UKey_Alt = 4, UKey_Meta = 8, UKey_Pseudo0 = 16, UKey_Pseudo1 = 32, }; 以下のような変更でどうでしょうか。UMod_というプリフィクスは単体 では分かりずらいですが、UMod_Controlのようにキーの名前と合わされ ばほとんど誤解される事もないと思います。 enum UKeyModifier { UMod_Shift = 1, UMod_Control = 2, UMod_Alt = 4, UMod_Meta = 8, UMod_Pseudo0 = 16, UMod_Pseudo1 = 32, }; この変更に各ブリッジが追従できたら、enum UKeyの方で定義されてい るUKey_Shift_key等を本来の自然な名前であるUKey_Shiftに直せばよい と思います。 ------------------------------- ヤマケン yamak****@bp*****