移動先: 概要 戻り値 MEL の例

概要

int addPanelCategory( string $name, string $insertAfter, string $cmd )

パネル(Panels)プルダウン メニューに新しいカテゴリを追加します。パネル プルダウンは、異なるカメラ ビューや異なるレイアウトを切り替えるためのビューポートごとに指定されるメニューです。新しいカテゴリは、ユーザ定義可能な別のプルダウン メニューに重なる新しいボタンによって定義されます。たとえば、「Stereo」という独自のカメラ タイプを定義し、便利なようにすべての立体視カメラをパネル プルダウン内の別カテゴリに表示するとします。プラグインの最初のロード時にこのタイプのカメラを定義するプラグインから実行できる操作は、以下の形式の MEL コマンドの発行です。
    addPanelCategory( "Stereo", "Perspective", "buildStereoPulldown" );
前の呼び出しで、パネル プルダウン メニューに Stereo という新しいボタンが追加されます。新しいボタンは、既存のパース ビュー(Perspective)ボタンの直後に配置されます。立体視ボタンは重ねて表示されるアイコンを表示します。このボタンを選択すると、ユーザが実装する MEL プロシージャ「buildStereoPulldown」が呼び出され、ユーザは重ねて表示されるメニューのエントリを定義できます。パース ビュー(Perspective)リストの構築例は、次のとおりです。

global proc buildPerspectivePulldown( string $parent, string $panel )
{
string $cameras[] = `listCameras -perspective`;

// Rebuild menu
//
setParent -m $parent;
menu -e -deleteAllItems $parent;

for ($camera in $cameras) {
menuItem -l $camera -command
("lookThroughModelPanel "+$camera+" "+$panel);
}
}

パース ビュー以外のタイプのカメラでは、カメラ タイプを特定するために何らかの特別な意味を定義したい場合もあります。

この装置はカメラ固有ではありません。重ねて表示される新しいメニュー項目をパネル(Panels)メニューに追加する一般的なメカニズムです。たとえば、カスタム モデル パネルをリスト表示することもできます。

ユーザが新しいカテゴリを追加する可能性がもっとも高いのは、プラグイン コードから新しいデータをロードする場合です。特定のカテゴリがすでに追加されているかどうかを判断するために、コマンド listPanelCategories() が提供されています。 カテゴリを削除するために、removePanelCategory() コマンドが提供されています。

戻り値

なし

引数

変数名 変数型 説明
$namestring追加時に重ねて表示される新しいボタンに表示されるカテゴリの名前です。名前はラベルを指定します。
$insertAfterstring直後に挿入されるメニュー項目です。 ボタンのラベル値で、たとえば「Perspective」、「Layouts」などがあります。パネル(Panels)メニューはまだ構築されていない場合があるので、$insertAfter ボタンが存在するかの確認は、メニューが掲示されるまで実行されません。
$cmdstring新しいカテゴリ ボタンを押したときに実行される MEL コマンドです。一般的に、これによりオンデマンド プルダウン メニューが構築されます。

MEL の例

  addPanelCategory( "Stereo", "Perspective", "buildStereoPulldown" );