ジャンプ先: 概要. 戻り値. フラグ. Python 例.
treeLister(
[string]
, [addFavorite=string], [addItem=[string, string, script]], [addVnnItem=[string, string, string, string]], [annotation=string], [backgroundColor=[float, float, float]], [clearContents=boolean], [collapsePath=string], [defineTemplate=string], [docTag=string], [dragCallback=script], [dropCallback=script], [enable=boolean], [enableBackground=boolean], [enableKeyboardFocus=boolean], [executeItem=string], [exists=boolean], [expandPath=string], [expandToDepth=int], [favoritesCallback=script], [favoritesList=boolean], [fullPathName=boolean], [height=int], [highlightColor=[float, float, float]], [isObscured=boolean], [itemScript=string], [manage=boolean], [noBackground=boolean], [numberOfPopupMenus=boolean], [parent=string], [popupMenuArray=boolean], [preventOverride=boolean], [refreshCommand=script], [removeFavorite=string], [removeItem=string], [resultsPathUnderCursor=boolean], [selectPath=string], [statusBarMessage=string], [useTemplate=string], [visible=boolean], [visibleChangeCommand=script], [vnnString=boolean], [width=int])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
treeLister は、取り消し可能、照会可能、および編集可能です。
このコマンドは、ツリー形式のコントロールを作成、編集、照会します。オプションの引数はコントロールの名前です。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
addFavorite, addItem, addVnnItem, annotation, backgroundColor, clearContents, collapsePath, defineTemplate, docTag, dragCallback, dropCallback, enable, enableBackground, enableKeyboardFocus, executeItem, exists, expandPath, expandToDepth, favoritesCallback, favoritesList, fullPathName, height, highlightColor, isObscured, itemScript, manage, noBackground, numberOfPopupMenus, parent, popupMenuArray, preventOverride, refreshCommand, removeFavorite, removeItem, resultsPathUnderCursor, selectPath, statusBarMessage, useTemplate, visible, visibleChangeCommand, vnnString, width
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
addFavorite(af)
|
string
|
 
|
|
お気に入りフォルダに項目パスを追加します。項目パスは、実際にツリー内に存在する必要はありません。
|
|
addItem(add)
|
[string, string, script]
|
 
|
|
コントロールに項目を追加します。引数は項目パス、アイコン パス、コマンドです。ここでの項目パスはツリーのルートから項目名までのパス、アイコン パスは結果リストに表示されるアイコン、コマンドは項目を左クリックしたときに実行されるスクリプトです。
|
|
addVnnItem(avi)
|
[string, string, string, string]
|
 
|
|
コントロールに VNN (Virtual Node Network)アイテムを追加します。引数は item-path、icon-path、vnn-string、vnn-action です。ここで、item-path はツリーのルートから項目名までのパス、icon-path は結果リストに表示されるアイコンです。vnn-string は、項目を中マウス ボタンでドラッグするときに使用され、vnn-action は、項目を左マウス ボタンでクリックすると実行されるスクリプトです。vnn-string は「VNN runtime,VNN library,VNN node」で構成する必要があります。VNN library には「/」で区切られたサブライブラリを含めることができます。
|
|
annotation(ann)
|
string
|
 
|
|
|
backgroundColor(bgc)
|
[float, float, float]
|
 
|
|
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。 backgroundColor を設定する場合、enableBackground を false に指定していない限り、バックグラウンドは自動的に有効になります。
|
|
clearContents(clr)
|
boolean
|
|
|
|
collapsePath(cp)
|
string
|

|
|
|
defineTemplate(dt)
|
string
|
|
|
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。 templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
|
|
docTag(dtg)
|
string
|
 
|
|
コントロールにドキュメンテーション フラグを追加します。ドキュメンテーション フラグは、ディレクトリ構造になっています。 (例: -dt render/multiLister/createNode/material)
|
|
dragCallback(dgc)
|
script
|

|
|
中マウス ボタンを押すとコールされるコールバックを追加します。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
|

|
|
ドラッグ&ドロップ操作をドロップ位置で解放したときにコールされるコールバックを追加します。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'」)。
|
|
enable(en)
|
boolean
|
 
|
|
コントロールの有効、無効です。既定では true に設定されていて、コントロールは有効になっています。false を指定するとコントロールはグレー表示になって無効になります。
|
|
enableBackground(ebg)
|
boolean
|
 
|
|
コントロールのバックグラウンド カラーを有効にします。
|
|
enableKeyboardFocus(ekf)
|
boolean
|
 
|
|
有効にすると、[Tab]キーを押してコントロールに移動し、キーボードまたはマウスで値を選択することができます。このフラグは通常、編集(Edit)コントロールやリスト(List)コントロールなど、既定で表示されるコントロールのフォーカス サポートをオフにする場合に使用します。無効にすると、テキスト フィールド内のテキストをマウスで選択することは引き続きできますが、コピーすることはできなくなります(Linux で[中クリックして貼り付け](Middle Click Paste)が有効になっている場合は除きます)。
|
|
executeItem(ei)
|
string
|
|
|
|
exists(ex)
|
boolean
|
|
|
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
|
|
expandPath(ep)
|
string
|

|
|
|
expandToDepth(etd)
|
int
|
|
|
|
favoritesCallback(fcb)
|
script
|

|
|
このスクリプトは、お気に入りを追加または除去するときにコールされます。項目パスと、項目をお気に入りに追加(True)するか除去(False)するかを示すブーリアンの 2 つの引数が渡されます。
|
|
favoritesList(fl)
|
boolean
|
|
|
|
fullPathName(fpn)
|
boolean
|
|
|
すべての親を含むウィジェットのフル パス名を返します。
|
|
height(h)
|
int
|
 
|
|
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
highlightColor(hlc)
|
[float, float, float]
|
 
|
|
コントロールのハイライト カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
|
|
isObscured(io)
|
boolean
|
|
|
コントロールが実際に表示されるかどうかを返します。コントロールは、次の場合に隠れた状態になります。非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、コントロールまたは親のレイアウトを制御できない場合、あるいはコントロールのウィンドウが非表示またはアイコン化されている場合。
|
|
itemScript(isc)
|
string
|
|
|
渡された項目のパスの言語とスクリプト コマンドを 2 要素のリストとして返します。1 番目の要素は文字列「MEL」または「Python」で、2 番目の要素はコマンド スクリプトです。Python のコール可能なコマンド付きの項目は文字列として戻されることに注意してください。
照会モードでは、このフラグに値が必要になります。
|
|
manage(m)
|
boolean
|
 
|
|
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。既定では、コントロールは管理できるように作成されます。
|
|
noBackground(nbg)
|
boolean
|

|
|
コントロールのバックグラウンドをクリア/リセットします。バックグラウンドは、true を渡すと一切描画されず、false を渡すと描画されます。このフラグの状態は、このコントロールの子に継承されます。
|
|
numberOfPopupMenus(npm)
|
boolean
|
|
|
このコントロールにアタッチされるポップアップ メニューの数を返します。
|
|
parent(p)
|
string
|

|
|
|
popupMenuArray(pma)
|
boolean
|
|
|
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
|
|
preventOverride(po)
|
boolean
|
 
|
|
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
|
|
refreshCommand(rc)
|
script
|
 
|
|
リフレッシュ ボタンを押したときに実行されるコマンドです。注: 既定ではリフレッシュ ボタンは非表示です。このコマンド スクリプトがアタッチされている場合は、自動的に表示されます。
|
|
removeFavorite(rf)
|
string
|

|
|
項目をお気に入りから除去します。お気に入り項目のフル パス、またはフル パスの末尾のみのどちらでも受け取ります。
|
|
removeItem(rem)
|
string
|

|
|
|
resultsPathUnderCursor(ruc)
|
boolean
|
|
|
結果パネル(右パネル)でマウス カーソルの下にある項目のパスを返します。項目がない場合は空の文字列を返します。
|
|
selectPath(sp)
|
string
|

|
|
|
statusBarMessage(sbm)
|
string
|

|
|
マウスがコントロール上にある場合にステータス バーに表示する追加の文字列です。
|
|
useTemplate(ut)
|
string
|
|
|
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
|
|
visible(vis)
|
boolean
|
 
|
|
コントロールの可視の状態です。既定では、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって異なることに注意してください。
|
|
visibleChangeCommand(vcc)
|
script
|
 
|
|
コントロールの可視の状態が変更されたときに実行されるコマンドです。
|
|
vnnString(vnn)
|
boolean
|
|
|
渡された項目パスの VNN (Virtual Node Network)文字列を返します。
|
|
width(w)
|
int
|
 
|
|
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
w = cmds.window(width=200)
fl = cmds.formLayout()
tl = cmds.treeLister()
cmds.formLayout(fl, e=True,
af=((tl, 'top', 0),
(tl, 'left', 0),
(tl, 'bottom', 0),
(tl, 'right', 0)))
cmds.showWindow(w)
items=['root/branchone/leafone',
'root/branchone/leaftwo',
'root/branchtwo/leafthree']
cmds.treeLister(tl, e=True, add=[(i, 'sphere.png', cmds.sphere) for i in items])