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

概要

progressBar [-annotation string] [-backgroundColor float float float] [-beginProgress] [-defineTemplate string] [-docTag string] [-dragCallback script] [-dropCallback script] [-enable boolean] [-endProgress] [-exists] [-height int] [-isCancelled] [-isInterruptable] [-isMainProgressBar boolean] [-isObscured] [-manage boolean] [-maxValue int] [-minValue int] [-numberOfPopupMenus] [-parent string] [-popupMenuArray] [-preventOverride boolean] [-progress int] [-status string] [-step int] [-useTemplate string] [-visible boolean] [-width int] [string]

progressBar は「元に戻す」が可能、「照会」が可能、「編集」が可能です。

進行状況を視覚的に表す、プログレス バーのコントロールを作成します。

戻り値

stringコントロールへのフル パス名。

戻り値の型は照会モードでは照会フラグが基になります。

フラグ

annotation, backgroundColor, beginProgress, defineTemplate, docTag, dragCallback, dropCallback, enable, endProgress, exists, height, isCancelled, isInterruptable, isMainProgressBar, isObscured, manage, maxValue, minValue, numberOfPopupMenus, parent, popupMenuArray, preventOverride, progress, status, step, useTemplate, visible, width
ロング ネーム(ショート ネーム) 引数型 プロパティ
-exists(-ex) create
指定したオブジェクトが存在するかどうかによって、 true または false を返します。他のフラグは無視されます。
-defineTemplate(-dt) string create
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに 追加するモードに、コマンドのモードを変更します。 templateName がカレントのテンプレートとして設定されていれば、 その後コマンドが実行されるたびに、この引数がデフォルトの引数として使用されます。
-useTemplate(-ut) string create
コマンドに、カレント以外のコマンド テンプレートの使用を強制します。
-parent(-p) string createquery
コントロールの親のレイアウトです。
-enable(-en) boolean createqueryedit
コントロールの有効、無効です。デフォルトでは true に設定されていて、コントロールは有効になっています。false を指定すると コントロールはグレー表示になって無効になります。
-width(-w) int createqueryedit
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
-height(-h) int createqueryedit
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
-visible(-vis) boolean createqueryedit
コントロールの可視の状態です。デフォルトでは、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって 異なることに注意してください。
-isObscured(-io) query
コントロールが実際に表示されるかどうかを返します。 コントロールは、次の場合に隠れた状態になります。 非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、 コントロールまたは親のレイアウトを制御できない場合、あるいは コントロールのウィンドウが非表示またはアイコン化されている場合。
-manage(-m) boolean createqueryedit
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。デフォルトでは、コントロールは管理できるように作成されます。
-numberOfPopupMenus(-npm) query
このコントロールにアタッチされるポップアップ メニューの数を返します。
-popupMenuArray(-pma) query
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
-preventOverride(-po) boolean createqueryedit
true の場合、コントロールのコントロールは親のレイアウトの条件によって無効にされ右マウス ボタン メニューを使用した コントロール アトリビュートのオーバーライドは無効です。
-annotation(-ann) string createqueryedit
コントロールに文字列値で注釈を付けます。
-backgroundColor(-bgc) float float float createedit
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です(Windows のみのフラグです)。
-docTag(-dtg) string createqueryedit
コントロールにドキュメンテーション フラグを追加します。ドキュメンテーション フラグは、 階層のようなディレクトリ構造になっています。 例: -dt render/multiLister/createNode/material
-dragCallback(-dgc) script createedit
中マウス ボタンを押すと呼び出されるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。

global proc string[] callbackName(string $dragControl, int $x, int $y, int $mods)

proc はドロップ先に転送される文字配列を返します。 規則により、配列の先頭文字列はユーザ設定可能なメッセージ タイプを表しています。アプリケーションで定義されたドラッグ元のコントロールは、このコールバックを無視する可能性があります。$mods で、キー モディファイアである CTL と SHIFT をテストできます。有効な値は、0 == モディファイアなし、1 == SHIFT、2 == CTL、3 == CTL + SHIFT です。

Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。 この場合、Python コールバックの書式は次のようになります。

def callbackName( dragControl, x, y, modifiers ):

この引数の値は、上記の MEL バージョンの引数と同じです。

Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、キー「dragControl」、「x」、「y」、「modifiers」と共に 辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例:「print '%(dragControl)s %(x)d %(y)d %(modifiers)d'」)。

-dropCallback(-dpc) script createedit
ドラッグ&ドロップ操作をドロップ位置で解放したときに呼び出されるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。

global proc callbackName(string $dragControl, string $dropControl, string $msgs[], int $x, int $y, int $type)

proc は、ドラッグ元から転送される文字配列を受け取ります。 msgs 配列の先頭文字列はユーザ定義のメッセージ タイプを表します。 アプリケーションで定義されたドロップ先のコントロールでは、このコールバックが無視されることがあります。$type の値は、1 == 移動、2 == コピー、3 == リンクのいずれかです。

Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。 この場合、Python コールバックの書式は次のようになります。

def pythonDropTest( dragControl, dropControl, messages, x, y, dragType ):

この引数の値は、上記の MEL バージョンの引数と同じです。

Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、 キー「dragControl」、「dropControl」、「messages」、「x」、「y」、「type」と共に 辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例:「print '%(dragControl)s %(dropControl)s %(messages)r %(x)d %(y)d %(type)d'」)。

-isCancelled(-ic) query
操作を解除しようとした場合、true を返します。 その他の場合、false を返します。
-progress(-pr) int createqueryedit
コントロールに現在表示される進捗状況です。 値は常に最小値と最大値の間になり、デフォルト値はコントロールが作成された時点の最小値です。
-step(-s) int edit
指定した量の単位で -pr/progress の値を増分します。
-minValue(-min) int createqueryedit
プログレス インジケータの最小値または「開始」値です。 プログレス値が -min/minValue より小さい場合、プログレス値は最小に設定されます。 デフォルト値は 0 で、
-maxValue(-max) int createqueryedit
プログレス インジケータの最大値または「終了」値です。 プログレス値が -max/maxValue より大きい場合、プログレス値は最大に設定されます。 デフォルト値は 100 です。
-isMainProgressBar(-imp) boolean createqueryedit
この progressBar を使用して、ファイルを開く/保存するなどすべての基本的な操作の進行状況を示すかどうかを決定します。

メインの progressBar の動作は、基本操作が継続している場合のみ表示されるため、大幅に異なります。

デフォルトは false で、「メイン」のプログレス バーとして認識されるのは 1 つだけです。

-status(-st) string createqueryedit
メイン プログレス バーに対してのみ有効

progressBar が表示されているときに、helpLine コントロールの内容を表示します。ヘルプ ラインを直接設定するかわりにこれを使うと、戻る前にグラフィックを強制的にリフレッシュします。
-isInterruptable(-ii) createqueryedit
メイン プログレス バーに対してのみ有効

isCancelled フラグを、操作のキャンセルの試行に対応させる場合に true を返します。これを true に設定すると、操作をキャンセルできることを伝える ヘルプ ライン表示メッセージを作成します。
-beginProgress(-bp) createedit
メイン プログレス バーに対してのみ有効
メイン プログレス バーを表示します(通常はヘルプ ラインにあります)。 これは通常、長さの計算を開始しようとするときに、MEL を通じて発行されます。
-endProgress(-ep) edit
メイン プログレス バーに対してのみ有効
メイン プログレス バーを非表示にします。他のフラグは併用できません。これは通常、-ic/isCancelled フラグが設定された場合、もしくはプログレス値が最大値になった場合に、MEL を通じて発行されます。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : 1 つのコマンドで複数回使用可能なフラグ

MEL の例

// Create a custom progressBar in a windows ...

string $window = `window`;
    columnLayout;

    string $progressControl = `progressBar -maxValue 10 -width 300`;
    button -label "Make Progress!" -command ("progressBar -edit -step 1 " + $progressControl);

showWindow $window;

// Or, to use the progress bar in the main window ...

global string $gMainProgressBar;  // This is defined on maya startup

progressBar -edit
    -beginProgress
    -isInterruptable true
    -status "Example Calculation ..."
    -maxValue 5000
    $gMainProgressBar;

int $i;
for($i=0; $i < 5000; $i++) {
    if(`progressBar -query -isCancelled $gMainProgressBar`)
        break;

    progressBar -edit
        -step 1 $gMainProgressBar;
}

progressBar -edit
    -endProgress
    $gMainProgressBar;