GUIKit の例題:ActionApp
GUIKit の例題:ActionApp
GUIKitで提供されていた機能は,組込みのWolfram言語にネイティブのインターフェース構造およびコントロール関数で利用できるようになった.
Needs["GUIKit`"]ActionApp[] := GUIRun["Wolfram/Example/ActionApp"]def = Block[{$Path = $GUIPath},
Get["Wolfram/Example/ActionApp.m"]]例題
この例はWidget["Action"]オブジェクトを利用して,簡単にメニュー項目,ツールバー,文脈的なポップアップメニューやボタン等の典型的なユーザインターフェース要素を結合したり,これを作ったりする方法を示す.
ActionApp[];ActionAppの例題にはアクションウィジェットを持つユーザインターフェースのほとんどの定義が集中しているので,多くの言語およびロケール用のローカライズされたバージョンを追加するのも比較的簡単である.ActionAppウィジェットの定義の次の変形はウィジェット定義ようにローカライズされたデータを整理するひとつの方法を示している.
注意:サンプルとした言語のローカライズした文字列は正確なものではなく,ローカライズしたバージョンがどのように見えるかを示す目的で実装してあるに過ぎない.特定言語のフォントやリソースがインストールされていないために使用中のマシンで完全に表示されない言語があるかもしれない.
Block[{Language = "French"},
GUIRun["Wolfram/Example/ActionAppLocalized"]]Block[{Language = "Korean"},
GUIRun["Wolfram/Example/ActionAppLocalized"]]Block[{Language = "Russian"},
GUIRun["Wolfram/Example/ActionAppLocalized"]]Block[{Language = "English"},
GUIRun["Wolfram/Example/ActionAppLocalized"]]Block[{Language = "Japanese"},
GUIRun["Wolfram/Example/ActionAppLocalized"]]このローカライズコンテンツのためのサンプルテクニックでは,Wolfram言語を使ってウィジェット定義と相対的なファイルシステム中のローカライズした定義をロード・検索するKeyString["key"]関数を加える.定義自体がWolfram言語式であることの利点のひとつは,ローカライズしたリソースを実装するのにどのキーを使うのかを明らかにするツールを書くことができる点である.
def = Block[{$Path = $GUIPath},
Get["Wolfram/Example/ActionAppLocalized.m"]] ;Cases[def, KeyString[str_String] :> str, {0, ∞}] // Uniondef = Block[{$Path = $GUIPath},
Get["Wolfram/Example/ActionAppLocalized.m"]]