[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[palm-unix-j:00332] Re: jpilot-0.99.3



足永です.

At Tue, 15 Oct 2002 09:40:04 +0900 (JST),
Hiroshi Miura wrote:
> 
> 三浦です。
> 
> すいません。
> このgtk_factory_xxxxx()ですが、GTKのチュートリアルに載っていないようですし、
> gnomepadやgimpの例をみても、よく理解できない点がありましたので、
> もうすこし教えていただけませんか?

ItemFactoryに関してはメニューの項にチラっとだけ載ってますね

http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-13.html#ss13.3

> 
>   この関数をつかうことで、メッセージカタログの扱いにどのような違いがありますか?

メニューパスは,表示以外に個々のメニューアイテムを識別するためのID的な役
割も果たします.
例えはメインメニューの "表示" を一時的に選択できないようにしたい場合は

widget = gtk_item_factory_get_item (item_factory, "/View");
gtk_widget_set_sensitive (widget, FALSE);

とかする訳ですが,この時に渡す文字列が言語環境に依存すると色々困った事に
なります.JPilotで英語と日本語のメニューが分かれて表示されてしまうのもそ
の一つですね.

なので,メニューを作成する時には翻訳しないでおいて(このため,メニュー関
連のメッセージに関してはN_()マクロで置き換えました),実際に表示する時に
のみ翻訳するようにGtk+内部でよろしくやってもらえるように指定必要がありま
す.

それがgtk_item_factory_set_translate_func()です.


>   この関数は、メニューのみに有効ですか?

メニューにのみ有効です.