pymel.core.windows.treeView¶
- treeView(*args, **kwargs)¶
This command creates a custom control.
Flags:
Long Name / Short Name Argument Types Properties addItem / ai unicode, unicode Adds a tree view item to the tree view. First argument specifies the item’s name, second argument specifies the item’s parent (use an empty string to have it at the top level of the tree) allowDragAndDrop / adr bool Allow the user to perform drag and drop of treeView items. If enabled, re-ordering / re-parenting operations can be perfomed with the middle mouse button. This flag takes precendence over other drag and drop related flags. Defaults to true. allowHiddenParents / ahp bool If not cleared(default), the treeView will make parent nodes of visible nodes automatically visible allowMultiSelection / ams bool Specify multi or single selection mode. Allow the user to perform multiple selection by holding ctrl or shift key while selecting items of treeView items. Defaults to true. allowReparenting / arp bool Allow the user to reparent items in the tree view using the middle mouse button. Defaults to true. If false, user can still reorder items within a group using the middle mouse button. annotation / ann unicode Annotate the control with an extra string value. attachButtonRight / abr int Sets tree view item’s buttons to appear on the right or left. Argument specifies if they are to be attached to the right, if it is set to false they will attach on the left. backgroundColor / bgc float, float, float The background color of the control. The arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. When setting backgroundColor, the background is automatically enabled, unless enableBackground is also specified with a false value. borderHighlite / bh unicode, bool Sets an item’s border as highlit or not. First Argument specifies item, second argument specifies on or off. borderHighliteColor / bcl unicode, float, float, float Sets the color an item’s border highlite will turn when highlite is enabled. first parameter specifies layer three float values specify RGB values, between 0 and 1. buttonErase / bef bool If buttonErase was set true , then even if the button of the treeView item is set invisible , the treeView will still erase the buttonRect of this treeView item with background . First argument is the item name , second argument is whether buttonErase was set true or false buttonState / bst unicode, int, unicode Sets the state of a button. First argument specifies the layer, second argument specifies which button, third argument specifies the state Possible states: buttonUp- button is up buttonDown- button is down buttonThirdState- button is in state three (used by the 3StateButtonbutton style) buttonStyle / bs unicode, int, unicode Sets the type of button, used to indicate possible states and if the button is reset upon release. First argument specifies the layer, second argument specifies which button, third argument specifies the type of button Possible button types: pushButton- two possible states, button is reset to up upon release 2StateButton- two possible states, button changes state on click 3StateButton- three button states, button changes state on click buttonTextIcon / bti unicode, int, unicode Sets a one letter text to use as the icon to use for a specific button on a specific item. First argument specifies the item, second argument specifies the button, third argument specifies the icon text. buttonTooltip / btp unicode, int, unicode Sets a tooltip for specific button on a specific item. First argument specifies the item, second argument specifies the button, third argument specifies the tooltip. buttonTransparencyColor / btc unicode, int, float, float, float Sets the background color of a button that will be used if buttonTransparencyOverride is enabled. First argument specifies item, second argument specifies button, three floats specify RGB values, between 0 and 1. buttonTransparencyOverride / bto unicode, int, bool Sets a button’s background as being overridden or not. First argument specifies item, second argument specifies button, third argument specifies overridden or not. buttonVisible / bvf unicode, int, bool Sets a button as visible or not. First Argument specifies item. Second Argument specifies a button. Third Argument specifies visible or not. children / ch unicode Query the children of an item. If the argument is null, all items will be returned. clearSelection / cs bool Clears all selected items. contextMenuCommand / cmc script Set the callback function to be invoked just before any attached context menu is shown. This can be used as a replacement to, or in addition to the postMenuCommand flag on the popupMenu command. The function should accept a string which will be the item that was clicked on (empty if no item was hit). The function should return true if the menu should be shown, false otherwise. defineTemplate / dt unicode Puts the command in a mode where any other flags and args are parsed and added to the command template specified in the argument. They will be used as default arguments in any subsequent invocations of the command when templateName is set as the current template. displayLabel / dl unicode, unicode Set a label for the item that is different than the string that identifies the item. This label will be used in the display of the item. The first parameter specifies the item, the second specifies the display label. displayLabelSuffix / dls unicode, unicode Set a suffix for the display label for the item. This suffix will not be shown when renaming the item in the tree view. docTag / dtg unicode Add a documentation flag to the control. The documentation flag has a directory structure like hierarchy. Eg. -dt render/multiLister/createNode/material dragAndDropCommand / dad script Sets the callback function to be invoked upon drag and drop of layers. the callback function should take as parameters: - a string array of the dropped items - a string array of the items previous parents - an integer array of the items previous indexes - a string for the item(s) new parent - an integer array for the item’s new indexes - a string for the item that now comes before the dropped items - a string for the item that now comes after the dropped items dragCallback / dgc script Adds a callback that is called when the middle mouse button is pressed. The MEL version of the callback is of the form: global proc string[] callbackName(string $dragControl, int $x, int $y, int $mods) The proc returns a string array that is transferred to the drop site. By convention the first string in the array describes the user settable message type. Controls that are application defined drag sources may ignore the callback. $mods allows testing for the key modifiers CTL and SHIFT. Possible values are 0 == No modifiers, 1 == SHIFT, 2 == CTL, 3 == CTL + SHIFT. In Python, it is similar, but there are two ways to specify the callback. The recommended way is to pass a Python function object as the argument. In that case, the Python callback should have the form: def callbackName( dragControl, x, y, modifiers ): The values of these arguments are the same as those for the MEL version above. The other way to specify the callback in Python is to specify a string to be executed. In that case, the string will have the values substituted into it via the standard Python format operator. The format values are passed in a dictionary with the keys dragControl, x, y, modifiers. The dragControlvalue is a string and the other values are integers (eg the callback string could be print ‘%(dragControl)s %(x)d %(y)d %(modifiers)d’ dropCallback / dpc script Adds a callback that is called when a drag and drop operation is released above the drop site. The MEL version of the callback is of the form: global proc callbackName(string $dragControl, string $dropControl, string $msgs[], int $x, int $y, int $type) The proc receives a string array that is transferred from the drag source. The first string in the msgs array describes the user defined message type. Controls that are application defined drop sites may ignore the callback. $type can have values of 1 == Move, 2 == Copy, 3 == Link. In Python, it is similar, but there are two ways to specify the callback. The recommended way is to pass a Python function object as the argument. In that case, the Python callback should have the form: def pythonDropTest( dragControl, dropControl, messages, x, y, dragType ): The values of these arguments are the same as those for the MEL version above. The other way to specify the callback in Python is to specify a string to be executed. In that case, the string will have the values substituted into it via the standard Python format operator. The format values are passed in a dictionary with the keys dragControl, dropControl, messages, x, y, type. The dragControlvalue is a string and the other values are integers (eg the callback string could be print ‘%(dragControl)s %(dropControl)s %(messages)r %(x)d %(y)d %(type)d’ editLabelCommand / elc script Set the callback function to be invoked when the user changes the name of an item by double clicking it in the UI. The callback should accept two string arguments: the item name and the new name. The item name refers to the name of the item and not the display label. The callback function should return a string. An empty string indicates that the rename operation was invalid and the control should revert to the original name. If the rename operation is valid the callback should return a string that identifies the item, possibly different from the new display name entered by the user. enable / en bool The enable state of the control. By default, this flag is set to true and the control is enabled. Specify false and the control will appear dimmed or greyed-out indicating it is disabled. enableBackground / ebg bool Enables the background color of the control. enableButton / eb unicode, int, int Sets a specific button on a specific item to being usable or not. First argument specifies the item, second argument specifies the button, third argument specifies on or off. enableKeys / enk bool By default the treeview does not accept input from the keyboard. By enabling keyboard support The treeview will support up/down navigation using the up/down arrow keys. enableLabel / enl unicode, int enables or disables the label of a tree view item from being displayed. The first parameter specifies the item, the second specifies on or off. exists / ex bool Returns whether the specified object exists or not. Other flags are ignored. expandCollapseCommand / ecc script Set the callback function to be invoked upon hitting the expand/collapse button. The function should take as parameters: - a string for the item for which the expand/collapse button was hit - an integer for the state of expansion expandItem / ei unicode, bool Expands or collapses an item’s children. First argument specifies the item, second argument specifies expanded or collapsed. flatButton / fb int font / fn unicode, unicode The first parameter specifies the item string for the TtreeViewNode in the TtreeNodeMap. The second string specifies the font for the text. Valid values are boldLabelFont, smallBoldLabelFont, tinyBoldLabelFont, plainLabelFont, smallPlainLabelFont, obliqueLabelFont, smallObliqueLabelFont, fixedWidthFontand smallFixedWidthFont. fontFace / ff unicode, int Sets the font face used for the specified item’s text: 0 for normal, 1 for bold, 2 for italic. fullPathName / fpn bool Return the full path name of the widget, which includes all the parents height / h int The height of the control. The control will attempt to be this size if it is not overruled by parent layout conditions. hideButtons / hb bool Hides the buttons for an item in the tree view. Can only be used when adding the item to the tree with the addItemflag. Space for the buttons is left to make sure items still line up correctly under their parent. highlightColor / hlc float, float, float The highlight color of the control. The arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. highlite / hl unicode, bool Sets an item as highlit. Highliting is shown by outlining the item. First parameter specifies the item, the second specifies the highliting or not. highliteColor / hc unicode, float, float, float Sets the color an item’s highlite will turn when highlite is enabled. first parameter specifies layer three float values specify RGB values, between 0 and 1. ignoreButtonClick / ibc unicode, int, int Sets a specific button on a specific item to ignore the button clicks First argument specifies the item ,second argument specifies the button, third argument specifies on or off image / i unicode, int, unicode Sets an image to use as the icon for the button. First argument specifies the item, second argument specifies the button, third argument specifies the image. isItemExpanded / iie unicode Is the item in the tree view expanded. isLeaf / il unicode Query whether an item is a leaf. isObscured / io bool Return whether the control can actually be seen by the user. The control will be obscured if its state is invisible, if it is blocked (entirely or partially) by some other control, if it or a parent layout is unmanaged, or if the control’s window is invisible or iconified. item / it unicode Specify the item to query. Used with the flag selectionColorand itemAnnotation. itemAnnotation / ia unicode, unicode Annotate the specified item with an extra string value. When used for query, this flag has no argument and needs to be used with the flag item. itemDblClickCommand / idc script Set the callback function to be invoked when an item in the tree has been double clicked. The callback should accept one string, the display label of the item that was double clicked. If this callback is defined, it supersedes the normal item renaming behavior. itemDblClickCommand2 / dc2 script Set the callback function to be invoked when an item in the tree has been double clicked. This callback is similar to itemDblClickCommand(idc), but it accepts two strings: the name and the display label of the item that was double clicked. If this callback is defined, it supersedes the normal item renaming behavior itemExists / iex unicode Queries the existence of the specified Tree View item. itemIndex / idx unicode Get the index for the specified item in the list of children of the item’s parent. Index is 0-based. itemParent / ip unicode If the specified item is a child, it returns the parent item. If the specified item is not a child it returns nothing. itemRenamedCommand / irc script Set the callback function to be invoked when an item in the tree has been renamed. This occurs if there is a successful return of the command attached by editLabelCommandor unconditionally if there is no editLabelCommand. The callback should accept two strings, the old name and the new name of the item that was renamed. itemSelected / isl unicode Queries the item is currently selected or not. itemVisible / iv unicode, bool Control the given item’s visibility. labelBackgroundColor / lbc unicode, float, float, float Set the background color for text label for a particular item in the tree. The first parameter specifies layer. Set (-1.0, -1.0, -1.0) to restore the background to the default of transparent manage / m bool Manage state of the control. An unmanaged control is not visible, nor does it take up any screen real estate. All controls are created managed by default. noBackground / nbg bool Clear/reset the control’s background. Passing true means the background should not be drawn at all, false means the background should be drawn. The state of this flag is inherited by children of this control. numberOfButtons / nb int Specifies the number of buttons for items in the tree. numberOfPopupMenus / npm bool Return the number of popup menus attached to this control. ornament / ornament unicode, int, int, int Sets an item as having an ornament (a small colored circle), its on/off state, if it should have a dot, and its size. First Argument specifies item, second argument specifies on or off, third argument specifies dotted or not, fourth argument specifies radius (in pixels). ornamentColor / orc unicode, float, float, float Sets the color an ornament will be draw with for the specified layer. parent / p unicode The parent layout for this control. popupMenuArray / pma bool Return the names of all the popup menus attached to this control. pressCommand / pc <type ‘int’>, script Sets the callback function to be invoked upon clicking a treeView button. First argument specifies which treeView button. Second argument specifies the callback function to be executed the callback function should take as parameters: - a string for the clicked button’s item - an int for the clicked button’s state preventOverride / po bool If true, this flag disallows overriding the control’s attribute via the control’s right mouse button menu. removeAll / ra bool Removes all items from the tree view. removeItem / ri unicode Removes a tree view item from the tree view. If this item has children items, all children items are removed. First argument specifies the item’s name. reverseTreeOrder / rto bool Controls the order the tree will be drawn in (reversed if true). rightPressCommand / rpc <type ‘int’>, script Sets the callback function to be invoked upon right clicking a treeView button. First argument specifies which treeView button. Second argument specifies the callback function to be executed the callback function should take as parameters: - a string for the clicked button’s item - an int for the clicked button’s state select / sl unicode, int selectCommand / sc script Set the callback function to be invoked when an item is selected or deselected in the tree. The function should accept one string argument and one integer argument: the item name and the select state respectively. If the function returns true, the select/deselect is considered valid and will occur normally, otherwise it will be disallowed. name and selectItem / si unicode, bool Sets an item’s selected state. first argument specifies the item, second argument specifies selection status. When used for query without arguments, return all selected items in the treeview. selectionChangedCommand / scc script Set the callback function to be invoked when a complete selection operation triggered by the user has occurred successfully. The callback is invoked if the selectCommandcallback has returned a non-empty value (or always there is no selectCommandcallback). This differs from selectCommand in that a simple selection replacement will generate two callbacks with selectCommand(one for deselect of the old item and one for select of the new), whereas selectionChangedCommandwill only be invoked once, after the selection is complete. The callback is not passed any parameters and does not need to return any value (i.e. It is simply a notification mechanism). selectionColor / scl unicode, float, float, float Sets the color an item will turn to indicate that it is selected. first parameter specifies the item three float values specify RGB values, between 0 and 1. When used for query, this flag has no argument and needs to be used with the flag item. It returns the color an item will become if it is selected. showItem / shi unicode Show the item. Scroll the list as necessary so that item is visible. textColor / tc unicode, float, float, float Sets the label’s text color for the specified layer. first argument specifies layer. three float values specify RGB values, between 0 and 1. useTemplate / ut unicode Forces the command to use a command template other than the current one. visible / vis bool The visible state of the control. A control is created visible by default. Note that a control’s actual appearance is also dependent on the visible state of its parent layout(s). visibleChangeCommand / vcc script Command that gets executed when visible state of the control changes. width / w int The width of the control. The control will attempt to be this size if it is not overruled by parent layout conditions. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.treeView
Example:
import pymel.core as pm def selectTreeCallBack(*args): print 'selection' def pressTreeCallBack(*args): print 'press' from maya import cmds window = pm.window() layout = pm.formLayout() control = pm.treeView( parent = layout, numberOfButtons = 3, abr = False ) pm.formLayout(layout,e=True, attachForm=(control,'top', 2)) # Result: ui.FormLayout('window1|formLayout82') # pm.formLayout(layout,e=True, attachForm=(control,'left', 2)) # Result: ui.FormLayout('window1|formLayout82') # pm.formLayout(layout,e=True, attachForm=(control,'bottom', 2)) # Result: ui.FormLayout('window1|formLayout82') # pm.formLayout(layout,e=True, attachForm=(control,'right', 2)) # Result: ui.FormLayout('window1|formLayout82') # pm.showWindow( window ) pm.treeView( control, e=True, addItem = ("layer 1", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 2", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 3", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 4", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 5", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 6", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 7", "layer 2")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 8", "layer 2")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 9", "layer 2")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 10", "layer 8")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 11", "layer 2")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 12", "")) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, e=True, addItem = ("layer 13", "layer 10")) # Result: u'window1|formLayout82|treeView1' # pm.treeView(control,edit=True,pressCommand=[(1,pressTreeCallBack),(2,pressTreeCallBack),(3,pressTreeCallBack)]) # Result: u'window1|formLayout82|treeView1' # pm.treeView(control,edit=True,selectCommand=selectTreeCallBack) # Result: u'window1|formLayout82|treeView1' # pm.treeView( control, edit=True, removeAll = True ) # Result: u'window1|formLayout82|treeView1' #