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

概要

treeView( [string] , [addItem=[string, string]], [allowReparenting=boolean], [annotation=string], [attachButtonRight=int], [backgroundColor=[float, float, float]], [borderHighlite=[string, int]], [borderHighliteColor=[string, float, float, float]], [buttonState=[string, int, string]], [buttonStyle=[string, int, string]], [buttonTextIcon=[string, int, string]], [buttonTooltip=[string, int, string]], [buttonTransparencyColor=[string, int, float, float, float]], [buttonTransparencyOverride=[string, int, boolean]], [buttonVisible=[string, int, int]], [children=string], [clearSelection=boolean], [contextMenuCommand=string], [defineTemplate=string], [displayLabel=[string, string]], [displayLabelSuffix=[string, string]], [docTag=string], [dragAndDropCommand=string], [dragCallback=script], [dropCallback=script], [editLabelCommand=string], [enable=boolean], [enableButton=[string, int, int]], [enableLabel=[string, int]], [exists=boolean], [expandCollapseCommand=string], [expandItem=[string, int]], [font=string], [fontFace=[string, int]], [height=int], [hideButtons=boolean], [highlite=[string, int]], [highliteColor=[string, float, float, float]], [isItemExpanded=string], [isLeaf=string], [isObscured=boolean], [itemExists=string], [itemIndex=string], [itemParent=string], [itemRenamedCommand=string], [itemVisible=[string, boolean]], [labelBackgroundColor=[string, float, float, float]], [manage=boolean], [numberOfButtons=int], [numberOfPopupMenus=boolean], [ornament=[string, int, int, int]], [ornamentColor=[string, float, float, float]], [parent=string], [popupMenuArray=boolean], [preventOverride=boolean], [removeAll=boolean], [reverseTreeOrder=[string, boolean]], [rightPressCommand=[int, string]], [selectCommand=string], [selectItem=[string, int]], [selectionChangedCommand=string], [selectionColor=[string, float, float, float]], [textColor=[string, float, float, float]], [useTemplate=string], [visible=boolean], [width=int])

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

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

このコマンドはカスタム コントロールを作成します。

戻り値

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

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

フラグ

addItem, allowReparenting, annotation, attachButtonRight, backgroundColor, borderHighlite, borderHighliteColor, buttonState, buttonStyle, buttonTextIcon, buttonTooltip, buttonTransparencyColor, buttonTransparencyOverride, buttonVisible, children, clearSelection, contextMenuCommand, defineTemplate, displayLabel, displayLabelSuffix, docTag, dragAndDropCommand, dragCallback, dropCallback, editLabelCommand, enable, enableButton, enableLabel, exists, expandCollapseCommand, expandItem, font, fontFace, height, hideButtons, highlite, highliteColor, isItemExpanded, isLeaf, isObscured, itemExists, itemIndex, itemParent, itemRenamedCommand, itemVisible, labelBackgroundColor, manage, numberOfButtons, numberOfPopupMenus, ornament, ornamentColor, parent, popupMenuArray, preventOverride, removeAll, reverseTreeOrder, rightPressCommand, selectCommand, selectItem, selectionChangedCommand, selectionColor, textColor, 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'」)。

font(fn) string createqueryedit
テキストのフォントです。有効な値は、「boldLabelFont」、「smallBoldLabelFont」、「tinyBoldLabelFont」、「plainLabelFont」、「smallPlainLabelFont」、「obliqueLabelFont」、「smallObliqueLabelFont」、「fixedWidthFont」、「smallFixedWidthFont」です。
labelBackgroundColor(lbc) [string, float, float, float] createedit
ツリー内の特定項目のテキスト ラベルにバックグランド カラーを設定します。最初のパラメータはレイヤを指定します。
バックグラウンドを「transparent」のデフォルトに復元するには、(-1.0, -1.0, -1.0) を設定します。
allowReparenting(arp) boolean createqueryedit
ツリー ビューで中マウス ボタンを使用して項目をリペアレント化できるようにします。デフォルトは true です。 false に設定しても、ツリー ビューで中マウス ボタンを使用して項目の順序を変更することは可能です。
displayLabel(dl) [string, string] createeditmultiuse
項目に対し、それを特定する文字列と異なるラベルを設定します。このラベルは項目の表示に使用します。1 番目のパラメータは項目を指定し、2 番目は表示ラベルを指定します。
displayLabelSuffix(dls) [string, string] createeditmultiuse
項目の表示ラベルに拡張子を指定します。この拡張子は、項目の名前をツリー ビューで変更する場合は表示されません。
hideButtons(hb) boolean createedit
ツリー ビュー内の項目のボタンを非表示にします。「addItem」フラグを使用してツリーに項目を追加する場合にのみ使用できます。操作後も項目が親の配下に並ぶよう、ボタンのための場所はそのまま残ります。
editLabelCommand(elc) string createedit
ユーザが項目を UI 上でダブルクリックして名前を変更したときに、コールバック関数が起動されるように設定します。コールバックは、2 つの文字列引数を受け入れる必要があります。項目名と新しい名前です。項目名は、表示ラベルではなく項目の名前を参照します。コールバック関数は文字列を返す必要があります。空文字列は、コントロールを元の名前に戻すことを示します。名前の変更操作が有効な場合、コールバックは項目を特定する文字列を返す必要があります。これはユーザが入力する新しい表示名とは異なる可能性があります。
itemRenamedCommand(irc) string createedit
ツリー内の項目の名前が変更されたときにコールバック関数が起動されるように設定します。これは、「editLabelCommand」によってアタッチされたコマンドが成功して戻ってきたとき、あるいは editLabelCommand がない場合は無条件に発生します。コールバックは 2 つの文字列を受け入れる必要があります。名前が変更される項目の、古い名前と新しい名前です。
selectCommand(sc) string createedit
ツリー内の項目の名前が変更されたときにコールバック関数が起動されるように設定します。関数は、1 つの文字列引数と 1 つの整数引数を受け入れる必要があります。それぞれ、項目名と選択状態です。関数が true を返した場合、選択/選択解除は有効とみなされ正常に実行されます。そうでない場合は許可されません。
selectionChangedCommand(scc) string createedit
ユーザによって起動された完全な選択操作が正常に発生した場合に、コールバック関数を起動するように設定します。このコールバックは、「selectCommand」コールバックが空でない値を返した場合に(または、「selectCommand」コールバックがない場合は常に)起動します。「selectCommand」との違いは、単純な選択置換では「selectCommand」によって 2 つのコールバックが生成される(1 つが古い項目の選択解除、もう 1 つが新しい項目の選択)のに対して、「selectionChangedCommand」は選択が完了したときに 1 回だけ起動されるということです。コールバックにはパラメータは渡されず、戻り値も必要ありません(単なる通知メカニズムです)。
contextMenuCommand(cmc) string createedit
アタッチされたいずれかのコンテキストメニューが表示される直前にコールバック関数が起動されるように設定します。これは popupMenu コマンドの postMenuCommand フラグの代わりとして、またはこのフラグに追加して使用できます。この関数は、クリックした項目に該当する文字列(項目をクリックしていない場合、空文字列)を受け入れる必要があります。関数は、メニューを表示する場合に true を、表示しない場合に false を返す必要があります。
isItemExpanded(iie) string query
ツリー ビューの項目が展開されているかどうかを示します。
numberOfButtons(nb) int createedit
ツリー内の項目に対してボタンの数を指定します。
enableLabel(enl) [string, int] createedit
ツリー ビュー項目のラベルの表示と非表示を切り替えます。1 番目のパラメータは項目を指定し、2 番目はオンまたはオフを指定します。
itemExists(iex) string createquery
指定したツリー ビュー項目の存在を照会します。
itemIndex(idx) string createquery
指定した項目の親の子リストから、その項目のインデックスを取得します。これは 0 から始まるインデックスです。
itemParent(ip) string createquery
指定したレイヤが子の場合、親レイヤを返します。指定したレイヤが子の場合、何も返しません。
enableButton(eb) [string, int, int] createeditmultiuse
指定した項目の指定したボタンを使用可能または不可能に指定します。 1 番目の引数は項目、2 番目はボタン、3 番目はオンまたはオフを指定します。
buttonTooltip(btp) [string, int, string] createeditmultiuse
指定した項目上の指定したボタンにツール ヒントを指定します。 1 番目の引数は項目、2 番目はボタン、3 番目はツール ヒントを指定します。
buttonTextIcon(bti) [string, int, string] createeditmultiuse
指定した項目上の指定したボタンを示すアイコンとして使用する 1 文字のテキストを設定します。1 番目の引数は項目、2 番目はボタン、3 番目はアイコン テキストを指定します。
buttonStyle(bs) [string, int, string] createeditmultiuse
ボタンのタイプ、指定可能な状態および放したときにリセットされるかどうかを設定します。1 番目の引数はレイヤ、2 番目は対象のボタン、3 番目はボタン タイプを指定します。 可能なボタン タイプは次のとおりです。「pushButton」 - 可能な状態は 2 つです。ボタンを放すと up にリセットされます。 「2StateButton」 - 可能な状態は 2 つです。ボタンの状態はクリックで変化します。 「3StateButton」 - 可能な状態は 3 つです。ボタンの状態はクリックで変化します。
buttonState(bst) [string, int, string] createqueryeditmultiuse
ボタンの状態を設定します。 1 番目の引数はレイヤ、2 番目は対象のボタン、3 番目は状態を指定します。 可能な状態は次のとおりです。「buttonUp」 - ボタンは上がっています。 「buttonDown」 - ボタンは下がっています。 「buttonThirdState」 - ボタンは第 3 の状態にあります(「3StateButton」ボタンスタイルで使用)
attachButtonRight(abr) int createedit
ツリー ビュー項目のボタンの表示を右または左に設定します。 右にアタッチする場合は引数によって指定されます。false に設定されると左にアタッチされます。
expandCollapseCommand(ecc) string createedit
展開/折り畳みボタンをクリックしたときにコールバック関数が起動されるように設定します。この関数は次のものをパラメータとして使用する必要があります。 - 展開/折り畳みボタンをクリックした項目に対する文字列 - 展開状態を表す整数
dragAndDropCommand(dad) string createedit
レイヤのドラッグ&ドロップ時にコールバック関数が起動されるように設定します。 コールバック関数は次のものをパラメータとして使用する必要があります。 - ドロップされた項目の文字配列 - 項目の以前の親の文字配列 - 項目の以前のインデックスの整数配列 - 項目の新しい親の文字列 - 項目の新しいインデックスの整数配列 - ドロップされた項目の前に来るようになった項目の文字列 - ドロップされた項目の後に来るようになった項目の文字列
textColor(tc) [string, float, float, float] createedit
指定したレイヤに対する、ラベルのテキスト文字列を設定します。 1 番目の引数はレイヤを指定します。 0 ~ 1 までの 3 つの float 値は、RGB 値を指定します。
selectItem(si) [string, int] createqueryedit
項目の選択状態を設定します。 1 番目の引数はレイヤを指定し、2 番目は選択状態を指定します。
clearSelection(cs) boolean createedit
選択項目をすべてクリアします。
selectionColor(scl) [string, float, float, float] createedit
項目が選択されたときに変化する色を設定します。 1 番目のパラメータはレイヤを指定します。 0 ~ 1 までの 3 つの float 値は、RGB 値を指定します。
highlite(hl) [string, int] createedit
項目を強調表示に設定します。強調表示は、項目をアウトラインすることで行われます。 1 番目のパラメータ
highliteColor(hc) [string, float, float, float] createedit
強調表示を有効にしたときに、項目の強調表示として使用される色を設定します。 1 番目のパラメータはレイヤを指定します。 0 ~ 1 までの 3 つの float 値は、RGB 値を指定します。
addItem(ai) [string, string] createeditmultiuse
ツリー ビュー項目をツリー ビューに追加します。 1 番目の引数は項目名を、2 番目の引数は項目の親を指定します(項目をツリーのトップ レベルに配置する場合は空文字列を使用します)。
removeAll(ra) boolean createedit
項目をツリー ビューからすべて削除します。
expandItem(ei) [string, int] createedit
項目の子を展開するか折り畳みます。 1 番目の引数は項目を指定し、2 番目は展開または折り畳みを指定します。
borderHighlite(bh) [string, int] createqueryedit
項目の境界を強調表示するかしないかを設定します。 1 番目の引数は項目を指定し、2 番目はオンまたはオフを指定します。
borderHighliteColor(bcl) [string, float, float, float] createqueryedit
強調表示を有効にしたときに、項目の境界の強調表示として使用される色を設定します。 1 番目のパラメータはレイヤを指定します。 0 ~ 1 までの 3 つの float 値は、RGB 値を指定します。
ornament(ornament) [string, int, int, int] createedit
項目にオーナメント(小さなカラー付きサークル)を付けるかどうか、オーナメントのサイズ、およびオーナメントの中央にドットを付けるかどうかを設定します。1 番目の引数は項目、2 番目はオンまたはオフ、3 番目は半径(ピクセル単位)、4 番目はドットの有無を指定します。
ornamentColor(orc) [string, float, float, float] createedit
指定したレイヤで、オーナメントを描画する色を設定します。
reverseTreeOrder(rto) [string, boolean] createedit
ツリーを描画する順序をコントロールします(true の場合、逆順になります)。
fontFace(ff) [string, int] createedit
指定した項目のテキストに使用するフォント フェースを設定します。0 は通常、1 は太字、2 は斜体です。
itemVisible(iv) [string, boolean] createqueryedit
指定した項目の可視性をコントロールします。
buttonTransparencyOverride(bto) [string, int, boolean] createeditmultiuse
ボタンのバックグランドをオーバーライドするかどうかを設定します。 1 番目の引数は項目、2 番目はボタン、3 番目はオーバーライドの有無を指定します。
buttonTransparencyColor(btc) [string, int, float, float, float] createeditmultiuse
buttonTransparencyOverride が有効な場合に使用される、ボタンのバックグラウンド カラーを設定します。1 番目の引数は項目、2 番目はボタン、3 番目は RGB 値(0 ~ 1)を指定します。
rightPressCommand(rpc) [int, string] createeditmultiuse
ボタンを右クリックしたときにコールバック関数が起動されるように設定します。1 番目の引数はボタンを指定します。 2 番目の引数は実行するコールバック関数を指定します。 コールバック関数は次のものをパラメータとして使用する必要があります。 - ボタンをクリックした項目に対する文字列 - クリックされたボタンの状態を表す整数
buttonVisible(bvf) [string, int, int] createquerymultiuse
ボタンを表示/非表示に設定します。 1 番目の引数は項目を指定します。 2 番目の引数はボタンを指定します。 3 番目の引数は表示/非表示を指定します。
children(ch) string query
項目の子を照会します。引数が null の場合は、すべての項目が返されます。
isLeaf(il) string query
項目がリーフかどうかを照会します。

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

Python 例

import maya.cmds as cmds

from maya import cmds
window = cmds.window()
layout = cmds.formLayout()

control = cmds.treeView( parent = layout, numberOfButtons = 3, abr = False )

cmds.formLayout(layout,e=True, attachForm=(control,'top', 2))
cmds.formLayout(layout,e=True, attachForm=(control,'left', 2))
cmds.formLayout(layout,e=True, attachForm=(control,'bottom', 2))
cmds.formLayout(layout,e=True, attachForm=(control,'right', 2))

cmds.showWindow( window )

cmds.treeView( control, e=True, addItem = ("layer 1", ""))
cmds.treeView( control, e=True, addItem = ("layer 2", ""))
cmds.treeView( control, e=True, addItem = ("layer 3", ""))
cmds.treeView( control, e=True, addItem = ("layer 4", ""))
cmds.treeView( control, e=True, addItem = ("layer 5", ""))
cmds.treeView( control, e=True, addItem = ("layer 6", ""))
cmds.treeView( control, e=True, addItem = ("layer 7", "layer 2"))
cmds.treeView( control, e=True, addItem = ("layer 8", "layer 2"))
cmds.treeView( control, e=True, addItem = ("layer 9", "layer 2"))
cmds.treeView( control, e=True, addItem = ("layer 10", "layer 8"))
cmds.treeView( control, e=True, addItem = ("layer 11", "layer 2"))
cmds.treeView( control, e=True, addItem = ("layer 12", ""))
cmds.treeView( control, e=True, addItem = ("layer 13", "layer 10"))

cmds.treeView( control, edit=True, removeAll = True )