パレットの作成

パレットはキーボードの拡張のようなものである.パレットを使うとタイプセット文字を入力したり,ノートブックにスタイルを付けたり,評価を実行したり等,Wolframシステムで多くのアクションを実行することができる.他のノートブックと同様に,パレットもメニュー項目あるいはプログラムを使って作成することができる.
CreatePalette[expr]
expr を含むパレットノートブックをフロントエンドで作成し,開く
PaletteNotebook[{cell1,cell2,}]
フロントエンドで操作することのできるパレットノートブックのインセル表現
パレット作成ツール
パレットノートブックには独特の特性がある.パレットノートブックを現行選択のノートブックとすることはできるが,通常InputNotebookにはなり得ない.このため,パレットはフロントエンドのキーボード入力の対象となるノートブックへの操作を行うことができる.詳細は「カーネルからのノートブック操作」を参照のこと.
プログラムを使ったパレットの作成
CreatePalette[expr]expr を含む保存されていないパレットノートブックを作成し,それを別のウィンドウで開く.パレットを保存するためには,ウィンドウを閉じ,保存ダイアログが現れたらファイルを保存する.あるいはNotebookSaveを使ってプログラムでパレットノートブックを保存する.
以下はPasteButtonを使って記号を入力ノートブックにペーストするパレットである.PasteButtonはパレットで使えるよう特別に設計されたボタンである.これは挿入点で内容を直接入力ノートブックにペーストする.これをRawBoxesと一緒に使うと,PasteButtonは未解釈のボックスを入力ノートブックにペーストする.

1.gif

また,PaletteNotebookを使ってパレットノートブックのインセル表現を作成することもできる.ボタンをクリックするかCreatePalettePaletteNotebook式をラップすると,そのノートブックを含む別のウィンドウをフロントエンドで開くことができる.
RawBoxes[boxes]boxes をそれ以上解釈せず文字通りに挿入するので,その記号は入力式あるいはテキストセルの一部として使うことができる.
Cell[BoxData["\<\"π\"\>"],"cellstyle"]
解釈されたボックス構造
Cell[BoxData["π"],"cellstyle"]
解釈されていないボックス構造
ボックス構造の比較
入力(Input)セル:
テキスト(Text)セル:

π ° × ÷ ¬

"π"のボックス構造がパレットの文字列として解釈されるならば,スタイルに関係なくフロントエンドはπを常に文字列として扱う.
入力(Input)セル:
テキスト(Text)セル:
π
次のパレットは,フロントエンドトークンを使ってアクティブなノートブックにスタイル付きのセルを挿入する.フロントエンドトークンは,通常メニューを使って行うようにカーネル内からフロントエンドコマンドを実行する.フロントエンドトークンのリストは「フロントエンドトークン」を参照のこと.

3.gif

以下のパレットはWolfram言語ドキュメントセンターにリンクされている.また入力ノートブックの出力セルすべてを削除したり,カーネルを終了したりすることができる.
CreatePalette基本数学アシスタントパレットを含むいくつかのWolframシステムパレットを作成するのに使用された.

4.gif

パレットの仕上げと保存
CreatePaletteはデフォルトで,通常のパレットの外観と動作に適するようにオプションが設定されたノートブックを作成する.しかし,MagnificationDynamicUpdating等のオプションも便利であるかもしれない.

1.  これらのオプションをプログラムで設定する場合は,上記のオプションのそれぞれをCreatePalette文の中で指定する.以下がその例である.

CreatePalette[expr,Magnification->1.0,DynamicUpdating->True]

注意:DynamicUpdating->Trueの設定は,パレットの機能が完全にデバッグされ,すぐに使える状態になるまで行ってはならない.この設定では,フロントエンドがバグを含む可能性があるかどうか分からない動的評価を放棄することができないからである.

2.  オプションインスペクタを使ってこれらのオプションを設定する場合は,パレットを選んでからオプションインスペクタを開く.

ノートブック設定 表示設定で,グローバル設定の継承を避けるようにMagnificationを明示的に設定する.

セル設定 評価設定DynamicUpdating->Trueと明示的に設定し,ユーザのフロントエンドで動的更新が無効になっていてもDynamicが有効になるようにする.

パレットを保存したい場合,パレットウィンドウの閉じるボタンをクリックするとパレットを保存するかどうかを尋ねられる.NotebookSaveを使ってプログラムでパレットノートブックを保存することもできる.
Wolframシステムにパレットをインストールする
パレットがメインのパレットメニューに現れるようにするためには,パレットをPalettePathにインストールしなければならない.
パレットをインストールする最も簡単な方法は,パレット パレットのインストールWolfram言語の項目のインストールダイアログでソースファイル,パレット名,インストールディレクトリを入力しOKをクリックすることである.

5.gif

パレットはWolframシステムアプリケーションの一部としてインストールすることもできる.アプリケーションにパレットを加えるためには,アプリケーションフォルダ内にFrontEnd\Palettes\ディレクトリを作成し,この場所にパレットを保存する.例えばパレットMyPalette.nbは,MyApplication\FrontEnd\Palettes\に置く.
高度な例題

依存オープナビュー

Dynamicの第2引数は,もう一方のオープナビューの状態を制御して,一度に1つのオープナビューだけが開いたままでいるようにするために使うことができる.

6.gif

パレットの状態はTaggingRulesを使って追跡および制御することもできる.動的変数とは異なり,TaggingRulesはフロントエンドにより自動的にキャッシュされるため,インストールされているパレットはたとえ保存不可だとしても複数のフロントエンドセッションに渡りそのコントロールオブジェクト状態を覚えておくことができる.このドキュメントではこれ以上は触れないが,チュートリアル「パレットの状態の保存と追跡」で詳細と例題をご覧いただきたい.

関数の適用と評価

パレットは評価を実行し,結果をノートブックに返すことができる.
次の多項式を考えてみる.式をハイライトし,上のパレットのExpand[]を選ぶ.Wolfram言語は選択範囲に関数を適用し,結果となる式をその場で評価する.
適用前
適用後