This command creates a channel box, which is sensitive to the active list. It displays certain attributes (channels) of the last node on the active list, and provides a two-way connection to keep the widget up to date. Note: when setting the color of attribute names, that color is only valid for its current Maya session; each subsequent session will display the default color for the attribute name(s) listed in the Channel Box. Any subsequent attributes that are added to the Channel Box will be affected by prior regular expressions in their current Maya session.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
annotation (ann) | unicode | ||
|
|||
attrBgColor (bc) | float, float, float | ||
Controls the background text color of specific attribute names. As with the foreground option, this text coloring also depends on the node name choice for the nodeRegex flag. Arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. If attrRegex is unspecified then it will assume a value of “*” for a regular expression. The same idea simultaneously applies to the flag nodeRegex. Note: nodes that are renamed will have their node name coloring be affected in the channel box. |
|||
attrColor (ac) | float, float, float | ||
Controls the foreground text color of specific attribute names. This text coloring also depends on the node name choice for the nodeRegex flag. Arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. If attrRegex is unspecified then it will assume a value of “*” for a regular expression. The same idea simultaneously applies to the flag nodeRegex. Note: nodes that are renamed will have their node name coloring be affected in the channel box. |
|||
attrFilter (af) | unicode | ||
Specifies the name of an itemFilter object to be placed on the channel box. This filters the attributes displayed. A filter of “0” can be used to reset the filter. |
|||
attrRegex (ar) | unicode | ||
Specifies a valid regular expression to specify which attribute names should be selected for foreground text coloring. If attrRegex is unspecified then it will assume a value of “*” for a regular expression. The same idea simultaneously applies to the flag nodeRegex. The attrColor flag is required to be specified. Note: this regular expression will be treated as though it were case-insensitve |
|||
attributeEditorMode (aem) | bool | ||
|
|||
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. |
|||
containerAtTop (cat) | bool | ||
This flag can be used to specify whether or not the container is drawn at the top of the channel box when a node in the container is selected.Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list. |
|||
defineTemplate (dt) | unicode | ||
Puts a 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. |
|||
docTag (dtg) | unicode | ||
|
|||
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 “dragControl” value 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 “dragControl” value 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’”) |
|||
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 | ||
|
|||
enableLabelSelection (els) | bool | ||
|
|||
execute (exe) | unicode, bool | ||
Immediately executes the command string once for every cell (or every selected cell, if the boolean argument is TRUE) in the channel box, for every matching selected object (ie, for every object would be affected if you changed a cell value.) Before the command is executed, “#A” is substituted with the name of the attribute, and “#N” with the name of the node, and “#P” with the full path name of the node. |
|||
exists (ex) | bool | ||
|
|||
fieldWidth (fw) | int | ||
|
|||
fixedAttrList (fal) | <type ‘unicode’>, ... | ||
Forces the channel box to only display attributes with the specified names, in the order they are specified. If an empty list is specified, then the channel box will revert to its default behaviour of listing all keyable attributes. |
|||
fullPathName (fpn) | unicode | ||
|
|||
height (h) | int | ||
|
|||
historyObjectList (hol) | bool | ||
Returns a list of strings, the names of every INPUT node associated with an object on the main object list that is of the same type as the node displayed in the INPUT section of the channel box. |
|||
hyperbolic (hyp) | bool | ||
Determines whether or not the distance that the mouse has been dragged should be interpreted as a linear or hyperbolic function. The default is set to hyperbolic being false. |
|||
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. |
|||
labelWidth (lw) | int | ||
|
|||
longNames (ln) | bool | ||
Controls whether long or short attribute names will be used in the interface. Note that this flag is ignored if the -niceNames flag is set. Default is short names. Queried, returns a boolean. |
|||
mainListConnection (mlc) | unicode | ||
Specifies the name of a selectionConnection object which the editor will use as its source of content. The channel box will only display the (last) item contained in the selectionConnection object. If a NULL string (“”) is specified, then the channel box will revert to its default behaviour of working on the active list. |
|||
mainObjectList (mol) | bool | ||
Returns a list of strings, the names of every object on the active list that is the same type as the object displayed in the top (main) section of the channel box. |
|||
manage (m) | bool | ||
|
|||
maxHeight (mh) | int | ||
|
|||
maxWidth (mw) | int | ||
|
|||
niceNames (nn) | bool | ||
Controls whether the attribute names will be displayed in a more user-friendly, readable way. When this is on, the longNames flag is ignored. When this is off, attribute names will be displayed either long or short, according to the longNames flag. Default is on. Queried, returns a boolean. |
|||
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. |
|||
nodeRegex (nr) | unicode | ||
Specifies a valid regular expression to specify which node names should (potentially) have their attributes selected for foreground text coloring. If nodeRegex is unspecified then it will assume a value of “*’ for a regular expression. The same idea simultaneously applies to the flag attrRegex. The attrColor flag is required to be specified. Note: this regular expression will be treated as though it were case-insensitve Note: nodes in namespaces have regular expressions applied as though those nodes weren’t in namespaces |
|||
numberOfPopupMenus (npm) | bool | ||
|
|||
outputObjectList (ool) | bool | ||
Returns a list of strings, the names of every OUTPUT node associated an object on the main object list that is of the same type as the node displayed in the OUTPUT section of the channel box. |
|||
parent (p) | unicode | ||
|
|||
popupMenuArray (pma) | bool | ||
|
|||
precision (pre) | int | ||
|
|||
preventOverride (po) | bool | ||
|
|||
selectedHistoryAttributes (sha) | bool | ||
|
|||
selectedMainAttributes (sma) | bool | ||
|
|||
selectedOutputAttributes (soa) | bool | ||
|
|||
selectedShapeAttributes (ssa) | bool | ||
|
|||
shapeObjectList (sol) | bool | ||
Returns a list of strings, the names of every shape associated with an object on the main object list that is of the same type as the object displayed in the middle (shape) section of the channel box. |
|||
showNamespace (sn) | bool | ||
|
|||
showTransforms (st) | bool | ||
|
|||
speed (spd) | float | ||
Controls the speed at which the attributes are changed based on the distance the mouse has been dragged. Common settings for slow/medium/fast are 0.1/1.0/10.0 respectively. The default is 1.0. |
|||
takeFocus (tf) | bool | ||
|
|||
update (u) | bool | ||
|
|||
useManips (mnp) | unicode | ||
When you click on a field or label in the channel box, the tool switches to a manipulator that can change that value if you drag in the 3d view. This flag controls the kind of manips. Allowed values are “none” (self-explanatory), “invisible” (you won’t see anything, but dragging in the window will adjust any of the selected attributes), and “standard” (the same as invisible, except for scale, rotate, and translate, which will be represented by their usual manips.) |
|||
useTemplate (ut) | unicode | ||
|
|||
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 | ||
|
|||
width (w) | int | ||
|
Derived from mel command maya.cmds.channelBox
Example:
import pymel.core as pm
pm.window()
# Result: ui.Window('window1') #
pm.formLayout( 'form' )
# Result: ui.FormLayout('window1|form') #
pm.channelBox( 'dave' )
# Result: ui.ChannelBox('window1|form|dave') #
pm.formLayout( 'form', e=True, af=(('dave', 'top', 0), ('dave', 'left', 0), ('dave', 'right', 0), ('dave', 'bottom', 0)) )
# Result: ui.FormLayout('window1|form') #
pm.showWindow()
// Color all attributes names, which have an attribute name
// beginning with "T", white for all current and future objects
// in the current Maya session
pm.channelBox( 'cb1', attrRegex='T*', attrColor=(1.0, 1.0, 1.0), attrBgColor=(0.0, 0.0, 0.0) )
pm.channelBox( 'cb1', e=True, nodeRegex='D*', attrRegex='A*', attrColor=(0, 0, 0) )