ジャンプ先: 概要. 戻り値. フラグ. MEL 例.

概要

scriptTable [-afterCellChangedCmd script] [-annotation string] [-backgroundColor float float float] [-cellBackgroundColorCommand script] [-cellChangedCmd script] [-cellForegroundColorCommand script] [-cellIndex int int] [-cellValue string] [-clearRow int] [-clearTable] [-columnFilter int string] [-columnWidth int int] [-columns int] [-defineTemplate string] [-deleteRow int] [-docTag string] [-dragCallback script] [-dropCallback script] [-editable boolean] [-enable boolean] [-enableBackground boolean] [-enableKeyboardFocus boolean] [-excludingHeaders] [-exists] [-fullPathName] [-getCellCmd script] [-height int] [-highlightColor float float float] [-insertRow int] [-isObscured] [-label int string] [-manage boolean] [-multiEditEnabled boolean] [-noBackground boolean] [-numberOfPopupMenus] [-parent string] [-popupMenuArray] [-preventOverride boolean] [-rowHeight int] [-rows int] [-rowsRemovedCmd script] [-rowsToBeRemovedCmd script] [-selectedCells int[]] [-selectedColumns int[]] [-selectedRow] [-selectedRows int[]] [-selectionBehavior int] [-selectionChangedCmd script] [-selectionMode int] [-sortEnabled boolean] [-statusBarMessage string] [-underPointerColumn] [-underPointerRow] [-useDoubleClickEdit boolean] [-useTemplate string] [-visible boolean] [-visibleChangeCommand script] [-width int] [name]

scriptTable は、取り消し可能、照会可能、および編集可能です。

このコマンドは、スクリプト テーブルのコントロールを作成、編集、照会します。

戻り値

string作成されたスクリプト テーブルのコントロールへのフル パス名

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

afterCellChangedCmd, annotation, backgroundColor, cellBackgroundColorCommand, cellChangedCmd, cellForegroundColorCommand, cellIndex, cellValue, clearRow, clearTable, columnFilter, columnWidth, columns, defineTemplate, deleteRow, docTag, dragCallback, dropCallback, editable, enable, enableBackground, enableKeyboardFocus, excludingHeaders, exists, fullPathName, getCellCmd, height, highlightColor, insertRow, isObscured, label, manage, multiEditEnabled, noBackground, numberOfPopupMenus, parent, popupMenuArray, preventOverride, rowHeight, rows, rowsRemovedCmd, rowsToBeRemovedCmd, selectedCells, selectedColumns, selectedRow, selectedRows, selectionBehavior, selectionChangedCmd, selectionMode, sortEnabled, statusBarMessage, underPointerColumn, underPointerRow, useDoubleClickEdit, useTemplate, visible, visibleChangeCommand, width
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
-afterCellChangedCmd(-acc) script createedit
セルの値が変更された後にコールするスクリプトを設定します。プロシージャは、値が変更された行とカラムを指定する 2 つの整数引数でコールされます。3 番目の引数は、そのセルに入力された文字列です。プロシージャは、値を返す必要はありません。渡される行と列の番号は 1 ベースです(つまり、(1,1)は左上のセルです)。このプロシージャは次のようなフォームになります。

global proc procedureName(int $row, int $column, string $value)

-annotation(-ann) string createqueryedit
コントロールに文字列値で注釈を付けます。
-backgroundColor(-bgc) float float float createqueryedit
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
backgroundColor を設定する場合、enableBackground を false に指定していない限り、バックグラウンドは自動的に有効になります。
-cellBackgroundColorCommand(-cbc) script createedit
セルのバックグラウンド カラーが必要な場合にコールするスクリプトを設定します。プロシージャは、必要な値を含む行とカラムを指定する 2 つの整数引数でコールされ、セルの RGB カラーの値である整数の配列を返します。渡される行と列の番号は 1 ベースです(つまり、(1,1)は左上のセルです)。このプロシージャは次のような形式になります。
global proc int[] procedureName(int $row, int $column) {
return {255,0,0}; // セルのバックグラウンド カラーとして赤を返します。
}
-cellChangedCmd(-ccc) script createedit
セルの値が変更された場合にコールするスクリプトを設定します。プロシージャは、値が変更された行とカラムを指定する 2 つの整数引数でコールされます。3 番目の引数は、そのセルに入力された文字列です。プロシージャは、その値を受け取るかどうかを示す整数値を返します(受け取る場合は 1、受け取らない場合は 0 を返します)。渡される行と列の番号は 1 ベースです(つまり、(1,1)は左上のセルです)。このプロシージャは次のようなフォームになります。

global proc int procedureName(int $row, int $column, string $value)

-cellForegroundColorCommand(-cfc) script createedit
セルのフォアグラウンド カラーが必要な場合にコールするスクリプトを設定します。プロシージャは、必要な値を含む行とカラムを指定する 2 つの整数引数でコールされ、セルの RGB カラーの値である整数の配列を返します。渡される行と列の番号は 1 ベースです(つまり、(1,1)は左上のセルです)。このプロシージャは次のような形式になります。
global proc int[] procedureName(int $row, int $column) {
return {0,0,0}; // テキスト カラーとして黒を返します。
}
-cellIndex(-ci) int int queryedit
cellValue とともに使用され、行と列のインデックスを与えます。このフラグと引数は、-q フラグより前にコマンドに渡されなければなりません(例を参照)。

照会モードでは、このフラグに値が必要になります。

-cellValue(-cv) string queryedit
-cellIndex フラグで参照される行と列のインデックスによって、テーブルのセル値を照会および設定します。
編集モードでは、-multiEditEnabled フラグが true で任意のセルが選択されている場合、-cellIndex フラグは使用されずに選択されたセルが変更されます。
-clearRow(-cr) int edit
指定した行のすべてのセルの内容をクリアします。クリアされたセルを埋めるために、-gcc フラグで指定したプロシージャが呼び出されます。行番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-clearTable(-ct) edit
テーブル内のすべてのセルの内容をクリアします。クリアされたセルを埋めるために、-gcc フラグで指定したプロシージャが呼び出されます。
-columnFilter(-cf) int string createedit
指定した列を文字列の値でフィルタします。列 0 にフィルタを設定するとすべての列にフィルタが適用されます。フィルタは大文字と小文字を区別し、ワイルドカードをサポートします。ワイルドカード照合: ワイルドカード照合は完全な正規表現よりもはるかに簡単で、機能は 4 つしかありません。c 任意の文字は、次に説明するものを除いて、その文字自体を表します。したがって、c は文字 c に一致します。? は 任意の 1 文字に一致します。これは、完全な正規表現における . と同じです。* は 0 文字以上の任意の文字列に一致します。これは、完全な正規表現における .* と同じです。[...] 文字列の集合は、完全な正規表現と同様に角括弧で表されます。文字クラス内では、バックスラッシュには特別な意味はありません。(つまり、「y*u」、「??Val??」、「[MyThe]Value」または「MyValue」内の任意の文字列で「MyValue」を検索できます。)列番号は 1 ベースです。(つまり、先頭の行は 0 ではなく 1 です。)
-columnWidth(-cw) int int createeditmultiuse
指定したカラムの幅を設定します。カラム番号は 1 ベースです(つまり、先頭のカラムは 0 ではなく 1 です)。
-columns(-c) int createqueryedit
テーブルにカラム番号を設定します。
-defineTemplate(-dt) string create
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。 templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
-deleteRow(-dr) int edit
指定された行を削除します。行番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-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 で、キー モディファイアである CTRL と SHIFT をテストできます。 有効な値は、0 == モディファイアなし、1 == SHIFT、2 == CTRL、3 == CTRL + 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'」)。

-editable(-ed) boolean createqueryedit
テーブルの編集状態です。既定では true に設定されていて、テーブルを編集できます。false の場合は、テーブルは「読み取り専用」になるので、テーブルに入力することはできません。
-enable(-en) boolean createqueryedit
コントロールの有効、無効です。既定では true に設定されていて、コントロールは有効になっています。false を指定するとコントロールはグレー表示になって無効になります。
-enableBackground(-ebg) boolean createqueryedit
コントロールのバックグラウンド カラーを有効にします。
-enableKeyboardFocus(-ekf) boolean createqueryedit
有効にすると、[Tab]キーを押してコントロールに移動し、キーボードで値を選択することができます。有効でない場合は、マウスのみを使用できます。このフラグは通常、編集コントロールやリスト コントロールなどで既定で使用されるコントロールから、キーボード フォーカスのサポートをオフにするために使用されます。
-excludingHeaders(-eh) query
行または列の数を照会する場合、返される数にはヘッダーは含まれません。
-exists(-ex) create
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
-fullPathName(-fpn) query
すべての親を含むウィジェットのフル パス名を返します。
-getCellCmd(-gcc) script createedit
セルの内容が必要な場合にコールするスクリプトを設定します。プロシージャは、必要な値を含む行とカラムを指定する 2 つの整数引数でコールされ、セルの値である文字列を返します。渡される行とカラムの番号は 1 ベースです(つまり、(1,1)は左上のセルです)。このプロシージャは次のようなフォームになります。

global proc string procedureName(int $row, int $column)

-height(-h) int createqueryedit
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
-highlightColor(-hlc) float float float createqueryedit
コントロールのハイライト カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
-insertRow(-ir) int edit
指定した行の前に空の行を挿入します。新しいセルを埋めるために、-gcc フラグで指定したプロシージャがコールされます。行番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-isObscured(-io) query
コントロールが実際に表示されるかどうかを返します。コントロールは、次の場合に隠れた状態になります。非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、コントロールまたは親のレイアウトを制御できない場合、あるいはコントロールのウィンドウが非表示またはアイコン化されている場合。
-label(-l) int string createeditmultiuse
指定したカラムのラベルを設定します。カラム番号は 1 ベースです(つまり、先頭のカラムは 0 ではなく 1 です)。
-manage(-m) boolean createqueryedit
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。既定では、コントロールは管理できるように作成されます。
-multiEditEnabled(-mee) boolean createqueryedit
True: scriptTable はマルチ編集関数をサポートします。
-noBackground(-nbg) boolean createedit
コントロールのバックグラウンドをクリア/リセットします。バックグラウンドは、true を渡すと一切描画されず、false を渡すと描画されます。このフラグの状態は、このコントロールの子に継承されます。
-numberOfPopupMenus(-npm) query
このコントロールにアタッチされるポップアップ メニューの数を返します。
-parent(-p) string createquery
コントロールの親のレイアウトです。
-popupMenuArray(-pma) query
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
-preventOverride(-po) boolean createqueryedit
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
-rowHeight(-rh) int createqueryedit
scriptTable の各行の高さを設定します。
-rows(-r) int createqueryedit
テーブルにローの番号を設定します。
-rowsRemovedCmd(-rrc) script createedit
[Delete]キーまたは[Backspace]キーを押して行を削除した後に呼び出すスクリプトを設定します。プロシージャは、選択した行が削除されたことを示す 1 つの引数で呼び出されます。渡される行は 1 ベースです。このプロシージャは次のようなフォームになります。

global proc procedureName(int $rows[])

-rowsToBeRemovedCmd(-rtc) script createedit
[Delete]キーまたは[Backspace]キーを押したときに呼び出すスクリプトを設定します。プロシージャは、削除する選択中の行を示す 1 つの引数で呼び出されます。プロシージャは、選択中の行を削除するかどうかを示す整数値を返します(削除する場合は 1、削除しない場合は 0 を返します)。渡される行は 1 ベースです。このプロシージャは次のようなフォームになります。

global proc int procedureName(int $rows[])

-selectedCells(-sc) int[] queryedit
セルを選択するか、現在選択されているセルを返します。インデックスのリストを返します。各ペアの 1 番目は行、2 番目は列で、選択したセルごとに繰り返されます。返されるセルの番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1、先頭の列は 0 ではなく 1 です)。
-selectedColumns(-scs) int[] queryedit
列を選択するか、現在選択されている列を返します。全体を選択した各列のインデックスのリストを返します。返される列番号は 1 ベースです。
-selectedRow(-sr) query
選択した現在行です。行番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-selectedRows(-srs) int[] queryedit
編集モードでは、引数として与えられた行を選択します。照会モードでは、全体を選択した行のインデックスのリストを返します。行番号は 1 ベースです。
-selectionBehavior(-sb) int createqueryedit
選択の動作を設定します。有効な値は 0~2 の範囲です。0 - 単一項目の選択。1 - 行のみの選択。2 - 列のみの選択。
-selectionChangedCmd(-scc) script createedit
ユーザによって起動された完全な選択操作が正常に発生した場合に呼び出すスクリプトを設定します。スクリプトが渡すパラメータはなく、値を返す必要もありません(つまり、単なる通知メカニズムです)。
-selectionMode(-sm) int createqueryedit
選択モードを設定します。有効な値は 0~4 の範囲です。
0 - 項目を選択できません。
1 - ユーザが項目を選択した場合、既に選択している項目は解除されます。選択された項目をクリックしても選択を解除することはできません。
2 - ユーザが通常の方法で項目を選択した場合、その項目の選択状態が切り替わり、その他の項目はそのままです。マウスをドラッグすると、複数の項目を切り替えることができます。
3 - ユーザが通常の方法で項目を選択した場合、選択がクリアされ、新しい項目が選択されます。ただし、ユーザが[Ctrl]キーを押しながら項目をクリックした場合、クリックされた項目が切り替わり、その他の項目はすべてそのままです。ユーザが[Shift]キーを押しながら項目をクリックした場合、現在の項目とクリックした項目の間ですべての項目が、クリックした項目の状態に応じて選択または選択解除されます。マウスをドラッグすると、複数の項目を選択できます。
4 - ユーザが通常の方法で項目を選択した場合、選択がクリアされ、新しい項目が選択されます。ただし、ユーザが[Shift]キーを押しながら項目をクリックした場合、現在の項目とクリックした項目の間ですべての項目が、クリックした項目の状態に応じて選択または選択解除されます。
-sortEnabled(-se) boolean createqueryedit
scriptTable を列ごとにソートできるようにします。既定値は false で、行全体がソートされます。
-statusBarMessage(-sbm) string createedit
マウスがコントロール上にある場合にステータス バーに表示する追加の文字列です。
-underPointerColumn(-upc) query
マウス カーソルがある列です。返されるカラム番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-underPointerRow(-upr) query
マウス カーソルがある行です。返される行番号は 1 ベースです(つまり、先頭の行は 0 ではなく 1 です)。
-useDoubleClickEdit(-udc) boolean createqueryedit
これによってセル編集モードをコントロールします。
False: セルをクリックして選択します(行選択では行の最後のセルが編集されます。列選択では列の最後のセルが編集されます)(既定)。
True: セルをダブルクリックした場合のみ編集します。
-useTemplate(-ut) string create
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
-visible(-vis) boolean createqueryedit
コントロールの可視の状態です。既定では、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって異なることに注意してください。
-visibleChangeCommand(-vcc) script createqueryedit
コントロールの可視の状態が変更されたときに実行されるコマンドです。
-width(-w) int createqueryedit
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます コマンド内でフラグを複数回使用できます。

MEL 例

proc int edit_cell(int $row, int $column, string $value){
    return 1;
}

string $window = `window -widthHeight 400 300`;
string $form = `formLayout`;
string $table = `scriptTable -rows 4 -columns 2
    -label 1 "Column 1" -label 2 "Column 2" -cellChangedCmd edit_cell`;
string $addButton = `button -label "Add Row"
    -command ("scriptTable -edit -insertRow 1 $table")`;
string $deleteButton = `button -label "Delete Row"
    -command ("scriptTable -edit -deleteRow 1 $table")`;

formLayout -edit
    -attachForm     $table        "top"    0
    -attachForm     $table        "left"   0
    -attachControl  $table        "bottom" 0 $addButton
    -attachForm     $table        "right"  0

    -attachNone     $addButton    "top"
    -attachForm     $addButton    "left"   0
    -attachForm     $addButton    "bottom" 0
    -attachPosition $addButton    "right"  0 50

    -attachNone     $deleteButton "top"
    -attachPosition $deleteButton "left"   0 50
    -attachForm     $deleteButton "bottom" 0
    -attachForm     $deleteButton "right"  0
    $form;

showWindow $window;

// Set and query cells
scriptTable -edit -cellIndex 1 1 -cellValue "MyValue" $table;
scriptTable -cellIndex 1 1 -query -cellValue $table;

// Select and query rows, columns and cells
scriptTable -edit -selectedRows {1, 3} $table;
scriptTable -query -selectedRows $table;
scriptTable -edit -selectedColumns {1} $table;
scriptTable -query -selectedColumns $table;
scriptTable -edit -selectedCells {1,2,2,1,3,2,4,1} $table;
scriptTable -query -selectedCells $table;

// Set a filter for the first column
scriptTable -edit -columnFilter 1 "MyValue" $table;
// Set a filter for all columns
scriptTable -edit -columnFilter 0 "MyValue" $table;