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

概要

attrFieldGrp( [groupName] , [adjustableColumn=int], [adjustableColumn2=int], [adjustableColumn3=int], [adjustableColumn4=int], [adjustableColumn5=int], [adjustableColumn6=int], [annotation=string], [attribute=string], [backgroundColor=[float, float, float]], [changeCommand=script], [columnAlign=[int, string]], [columnAlign2=[string, string]], [columnAlign3=[string, string, string]], [columnAlign4=[string, string, string, string]], [columnAlign5=[string, string, string, string, string]], [columnAlign6=[string, string, string, string, string, string]], [columnAttach=[int, string, int]], [columnAttach2=[string, string]], [columnAttach3=[string, string, string]], [columnAttach4=[string, string, string, string]], [columnAttach5=[string, string, string, string, string]], [columnAttach6=[string, string, string, string, string, string]], [columnOffset2=[int, int]], [columnOffset3=[int, int, int]], [columnOffset4=[int, int, int, int]], [columnOffset5=[int, int, int, int, int]], [columnOffset6=[int, int, int, int, int, int]], [columnWidth=[int, int]], [columnWidth1=int], [columnWidth2=[int, int]], [columnWidth3=[int, int, int]], [columnWidth4=[int, int, int, int]], [columnWidth5=[int, int, int, int, int]], [columnWidth6=[int, int, int, int, int, int]], [defineTemplate=string], [docTag=string], [dragCallback=script], [dropCallback=script], [enable=boolean], [exists=boolean], [extraLabel=string], [height=int], [hideMapButton=boolean], [isObscured=boolean], [label=string], [manage=boolean], [maxValue=float], [minValue=float], [numberOfFields=int], [numberOfPopupMenus=boolean], [parent=string], [popupMenuArray=boolean], [precision=int], [preventOverride=boolean], [rowAttach=[int, string, int]], [step=float], [useTemplate=string], [visible=boolean], [width=int])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

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

どのグループ コマンドを使用しても、カラム 1 から始まるカラムに個々のコントロールが配置されます。各コントロール(カラム)のレイアウトは、-cw/columnWidth-co/columnOffset-cat/columnAttach-cal/columnAlign-adj/adjustableColumn の各フラグを使用してカスタマイズできます。デフォルトでは、カラムはオフセットなしで左に揃えられ、幅は 100 ピクセルです。どのグループでも、1 つのカラムだけが調整できます。

このコマンドは、実装済のラベル テキストと、2 つまたは 3 つの float フィールドを加えたセットを作成します。このフィールドは指定したベクトル アトリビュートにアタッチされ、一方が変更されると、他方も変更されます。

ここで作成されたフィールドは、エクスプレッション フィールドです。通常、float フィールドとして操作する場合、「-」で始まるエクスプレッションであればどんなものでも入力することができます。

また、このフィールドは、マウスの右ボタンで起動できる自動メニューを設定することもできます。このメニューの内容は、フィールドで監視されるアトリビュートの状態によって異なります。

戻り値

stringコントロールのフル ネーム。

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

フラグ

adjustableColumn, adjustableColumn2, adjustableColumn3, adjustableColumn4, adjustableColumn5, adjustableColumn6, annotation, attribute, backgroundColor, changeCommand, columnAlign, columnAlign2, columnAlign3, columnAlign4, columnAlign5, columnAlign6, columnAttach, columnAttach2, columnAttach3, columnAttach4, columnAttach5, columnAttach6, columnOffset2, columnOffset3, columnOffset4, columnOffset5, columnOffset6, columnWidth, columnWidth1, columnWidth2, columnWidth3, columnWidth4, columnWidth5, columnWidth6, defineTemplate, docTag, dragCallback, dropCallback, enable, exists, extraLabel, height, hideMapButton, isObscured, label, manage, maxValue, minValue, numberOfFields, numberOfPopupMenus, parent, popupMenuArray, precision, preventOverride, rowAttach, step, useTemplate, visible, width
ロング ネーム(ショート ネーム) 引数型 プロパティ
exists(ex) boolean 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) boolean query
コントロールが実際に表示されるかどうかを返します。 コントロールは、次の場合に隠れた状態になります。 非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、 コントロールまたは親のレイアウトを制御できない場合、あるいは コントロールのウィンドウが非表示またはアイコン化されている場合。
manage(m) boolean createqueryedit
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。デフォルトでは、コントロールは管理できるように作成されます。
numberOfPopupMenus(npm) boolean query
このコントロールにアタッチされるポップアップ メニューの数を返します。
popupMenuArray(pma) boolean 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'」)。

columnWidth(cw) [int, int] createeditmultiuse
引数は、カラム番号、カラム幅です。 指定したカラムの幅を設定します。ここで、最初のパラメータがカラム(インデックスは 1 から始まる)を指定し、2 つめのパラメータが幅を指定します。
columnWidth1(cw1) int createedit
第 1 カラムの幅を設定します。カラムがちょうど 1 つではない場合は、無視されます。
columnWidth2(cw2) [int, int] createedit
2 つのカラムの幅を設定します。カラムがちょうど 2 つではない場合は、無視されます。
columnWidth3(cw3) [int, int, int] createedit
3 つのカラムすべての幅を設定します。カラムがちょうど 3 つではない場合は、無視されます。
columnWidth4(cw4) [int, int, int, int] createedit
4 つのカラムすべての幅を設定します。カラムがちょうど 4 つではない場合は、無視されます。
columnWidth5(cw5) [int, int, int, int, int] createedit
5 つのカラムすべての幅を設定します。カラムがちょうど 5 つではない場合は、無視されます。
columnWidth6(cw6) [int, int, int, int, int, int] createedit
6 つのカラムすべての幅を設定します。カラムがちょうど 6 つではない場合は、無視されます。
columnAttach(cat) [int, string, int] createeditmultiuse
引数は、カラム番号、アタッチメント タイプ、オフセットです。 指定可能なアタッチメントは、「left」、「right」、または「both」です。 カラムのアタッチメント タイプとオフセットを指定します。
columnAttach2(ct2) [string, string] createedit
2 つのカラムのアタッチメント タイプを設定します。カラムがちょうど 2 つではない場合は、無視されます。有効な値は「left」、「right」、「both」です。
columnAttach3(ct3) [string, string, string] createedit
3 つのカラムすべてのアタッチメント タイプを設定します。カラムがちょうど 3 つではない場合は、無視されます。有効な値は「left」、「right」、「both」です。
columnAttach4(ct4) [string, string, string, string] createedit
4 つのカラムすべてのアタッチメント タイプを設定します。カラムがちょうど 4 つではない場合は、無視されます。有効な値は「left」、「right」、「both」です。
columnAttach5(ct5) [string, string, string, string, string] createedit
5 つのカラムすべてのアタッチメント タイプを設定します。カラムがちょうど 5 つではない場合は、無視されます。有効な値は「left」、「right」、「both」です。
columnAttach6(ct6) [string, string, string, string, string, string] createedit
6 つのカラムすべてのアタッチメント タイプを設定します。カラムがちょうど 6 つではない場合は、無視されます。有効な値は「left」、「right」、「both」です。
columnOffset2(co2) [int, int] createedit
このフラグは -columnAttach2 フラグと併用します。そのフラグを併用しない場合、このフラグは無視されます。2 つのカラムのオフセットを設定します。適用されるオフセットは、-columnAttach2 フラグで指定したアタッチメントに基づいています。カラムがちょうど 2 つではない場合は、無視されます。
columnOffset3(co3) [int, int, int] createedit
このフラグは -columnAttach3 フラグと併用します。そのフラグを併用しない場合、このフラグは無視されます。3 つのカラムのオフセットを設定します。適用されるオフセットは、-columnAttach3 フラグで指定したアタッチメントに基づいています。カラムがちょうど 3 つではない場合は、無視されます。
columnOffset4(co4) [int, int, int, int] createedit
このフラグは -columnAttach4 フラグと併用します。そのフラグを併用しない場合、このフラグは無視されます。4 つのカラムのオフセットを設定します。適用されるオフセットは、-columnAttach4 フラグで指定したアタッチメントに基づいています。カラムがちょうど 4 つではない場合、このフラグは無視されます。
columnOffset5(co5) [int, int, int, int, int] createedit
このフラグは -columnAttach5 フラグと併用します。そのフラグを併用しない場合、このフラグは無視されます。5 つのカラムのオフセットを設定します。適用されるオフセットは、-columnAttach5 フラグで指定したアタッチメントに基づいています。カラムがちょうど 5 つではない場合は、無視されます。
columnOffset6(co6) [int, int, int, int, int, int] createedit
このフラグは -columnAttach6 フラグと併用します。そのフラグを併用しない場合、このフラグは無視されます。6 つのカラムのオフセットを設定します。適用されるオフセットは、-columnAttach6 フラグで指定したアタッチメントに基づいています。カラムがちょうど 6 つではない場合は、無視されます。
rowAttach(rat) [int, string, int] createeditmultiuse
引数は、カラム、アタッチメント タイプ、オフセットです。 指定可能なアタッチメントは、「top」、「bottom」、または「both」です。 行全体のアタッチメント タイプとオフセットを指定します。
columnAlign(cal) [int, string] createeditmultiuse
引数は、カラム番号、アラインメント タイプです。 指定可能なアライメントは、「left」、「right」、または「center」です。 指定したカラムのアラインメント タイプを設定します。
columnAlign2(cl2) [string, string] createedit
2 つのカラムのテキスト アラインメントを設定します。カラムがちょうど 2 つではない場合は、無視されます。有効な値は「left」、「right」、「center」です。
columnAlign3(cl3) [string, string, string] createedit
3 つのカラムすべてのテキスト アラインメントを設定します。カラムがちょうど 3 つではない場合は、無視されます。有効な値は「left」、「right」、「center」です。
columnAlign4(cl4) [string, string, string, string] createedit
4 つのカラムすべてのテキスト アラインメントを設定します。カラムがちょうど 4 つではない場合は、無視されます。有効な値は「left」、「right」、「center」です。
columnAlign5(cl5) [string, string, string, string, string] createedit
5 つのカラムすべてのテキスト アラインメントを設定します。カラムがちょうど 5 つではない場合は、無視されます。有効な値は「left」、「right」、「center」です。
columnAlign6(cl6) [string, string, string, string, string, string] createedit
6 つのカラムすべてのテキスト アラインメントを設定します。カラムがちょうど 6 つではない場合は、無視されます。有効な値は「left」、「right」、「center」です。
adjustableColumn(adj) int createedit
親のレイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。カラムの値は 1 から始まるインデックスです。0 を指定して、以前はサイズ調整可能であったカラムをオフに切り替えることもできます。
adjustableColumn2(ad2) int createedit
親のレイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。カラムがちょうど 2 つではない場合は、無視されます。
adjustableColumn3(ad3) int createedit
親のレイアウトのサイズ変更に従ってカラム サイズを変化させるカラムを指定します。カラムがちょうど 3 つではない場合は、無視されます。
adjustableColumn4(ad4) int createedit
親のレイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。カラムがちょうど 4 つではない場合、このフラグは無視されます。
adjustableColumn5(ad5) int createedit
親のレイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。カラムがちょうど 5 つではない場合は、無視されます。
adjustableColumn6(ad6) int createedit
親のレイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。カラムがちょうど 6 つではない場合は、無視されます。
attribute(at) string createqueryedit
タイプ ベクトルの固有のアトリビュートの名前です。新しく作成されたフィールドはアトリビュートにアタッチされ、一方を変更すると、もう一方も変更されます。「vector」アトリビュートは、子が 2 つまたは 3 つの double 値のアトリビュートからなる複合アトリビュートです。
label(l) string createqueryedit
デフォルトでは、このフィールドのラベルがアトリビュートの名前になります。このフラグを使用して、設定したい名前(文字列)にオーバーライドすることができます。
extraLabel(el) string createqueryedit
すべてのフィールドの右側に位置するオプションの文字列を設定します。
numberOfFields(nf) int create
フィールド数を設定します。有効な値は 2 または 3 です。指定されていない場合は、デフォルトの 3 です。注: ウィジェットを作成するときに -at フラグを使用した場合、アトリビュートにある子の数によってフィールドの数が決まります。注: 作成後、フィールドの数を -e フラグで変更することはできません。
minValue(min) float createqueryedit
すべてのフィールドの最小値を設定します。
maxValue(max) float createqueryedit
すべてのフィールドの最大値を設定します。
precision(pre) int createedit
すべてのフィールドの精度を設定します。
step(s) float createqueryedit
すべてのフィールドの増分を設定します。
hideMapButton(hmb) boolean create
このコントロールで、マップ ボタンを強制的に非表示にします。
changeCommand(cc) script createedit
float フィールドが変更されると、コマンド文字列を実行します。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python の例

import maya.cmds as cmds

#    Create an object and a window containing an 'attrFieldGrp' that will
#    manipulate the position of that object.
#
object = cmds.sphere()
window = cmds.window(title='attrFieldGrp Example')
cmds.columnLayout()
cmds.attrFieldGrp( attribute='%s.translate' % object[0] )
cmds.showWindow()