Go to: Synopsis. Return value. Flags. Python examples.

Synopsis

channelBox( [string] , [annotation=string], [attrBgColor=[float, float, float]], [attrColor=[float, float, float]], [attrFilter=string], [attrRegex=string], [attributeEditorMode=boolean], [backgroundColor=[float, float, float]], [containerAtTop=boolean], [defineTemplate=string], [docTag=string], [dragCallback=script], [dropCallback=script], [enable=boolean], [enableBackground=boolean], [enableLabelSelection=boolean], [execute=[string, boolean]], [exists=boolean], [fieldWidth=int], [fixedAttrList=[string,...]], [fullPathName=string], [height=int], [historyObjectList=boolean], [hyperbolic=boolean], [isObscured=boolean], [labelWidth=int], [longNames=boolean], [mainListConnection=string], [mainObjectList=boolean], [manage=boolean], [maxHeight=int], [maxWidth=int], [niceNames=boolean], [noBackground=boolean], [nodeRegex=string], [numberOfPopupMenus=boolean], [outputObjectList=boolean], [parent=string], [popupMenuArray=boolean], [precision=int], [preventOverride=boolean], [selectedHistoryAttributes=boolean], [selectedMainAttributes=boolean], [selectedOutputAttributes=boolean], [selectedShapeAttributes=boolean], [shapeObjectList=boolean], [showNamespace=boolean], [showTransforms=boolean], [speed=float], [takeFocus=boolean], [update=boolean], [useManips=string], [useTemplate=string], [visible=boolean], [visibleChangeCommand=script], [width=int])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

channelBox is undoable, queryable, and editable.

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.

Return value

string(the name of the new channel box)

In query mode, return type is based on queried flag.

Flags

annotation, attrBgColor, attrColor, attrFilter, attrRegex, attributeEditorMode, backgroundColor, containerAtTop, defineTemplate, docTag, dragCallback, dropCallback, enable, enableBackground, enableLabelSelection, execute, exists, fieldWidth, fixedAttrList, fullPathName, height, historyObjectList, hyperbolic, isObscured, labelWidth, longNames, mainListConnection, mainObjectList, manage, maxHeight, maxWidth, niceNames, noBackground, nodeRegex, numberOfPopupMenus, outputObjectList, parent, popupMenuArray, precision, preventOverride, selectedHistoryAttributes, selectedMainAttributes, selectedOutputAttributes, selectedShapeAttributes, shapeObjectList, showNamespace, showTransforms, speed, takeFocus, update, useManips, useTemplate, visible, visibleChangeCommand, width
Long name (short name) Argument types Properties
exists(ex) boolean create
Returns true|false depending upon whether the specified object exists. Other flags are ignored.
defineTemplate(dt) string create
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.
useTemplate(ut) string create
Force the command to use a command template other than the current one.
parent(p) string createquery
The parent layout for this control.
enable(en) boolean createqueryedit
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.
width(w) int createqueryedit
The width of the control. The control will attempt to be this size if it is not overruled by parent layout conditions.
height(h) int createqueryedit
The height of the control. The control will attempt to be this size if it is not overruled by parent layout conditions.
visible(vis) boolean createqueryedit
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 createqueryedit
Command that gets executed when visible state of the control changes.
isObscured(io) boolean query
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.
manage(m) boolean createqueryedit
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.
numberOfPopupMenus(npm) boolean query
Return the number of popup menus attached to this control.
popupMenuArray(pma) boolean query
Return the names of all the popup menus attached to this control.
preventOverride(po) boolean createqueryedit
If true, this flag disallows overriding the control's attribute via the control's right mouse button menu.
annotation(ann) string createqueryedit
Annotate the control with an extra string value.
backgroundColor(bgc) [float, float, float] createqueryedit
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.
noBackground(nbg) boolean createedit
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.
enableBackground(ebg) boolean createqueryedit
Enables the background color of the control.
docTag(dtg) string createqueryedit
Add a documentation flag to the control. The documentation flag has a directory structure like hierarchy. Eg. -dt render/multiLister/createNode/material
dragCallback(dgc) script createedit
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 createedit
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'")

fullPathName(fpn) string query
Return the full path name of the widget, which includes all the parents
precision(pre) int queryedit
Controls the number of digits to the right of the decimal point that will be displayed for float-valued channels. Default is 3. Queried, returns an int.
longNames(ln) boolean queryedit
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.
niceNames(nn) boolean queryedit
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.
attributeEditorMode(aem) boolean queryedit
Modifies what appears in the channel box for use in the attribute editor. Default is false. Queried, returns a boolean.
enableLabelSelection(els) boolean queryedit
Enables the selection of attributes in the channelBox when used in conjunction with -attributeEditorMode. Default is false. Queried, returns a boolean.
maxWidth(mw) int queryedit
An optional flag which is used to limit the width of the channelBox.
maxHeight(mh) int queryedit
An optional flag which is used to limit the height of the channelBox.
labelWidth(lw) int queryedit
An optional flag which is used to modify the width assigned to labels appearing in the channelBox.
fieldWidth(fw) int queryedit
An optional flag which is used to modify the width assigned to fields appearing in the channelBox.
showTransforms(st) boolean queryedit
Controls whether this control will display transform attributes only, or all other attributes. False by default. Queried, returns a boolean.
mainObjectList(mol) boolean query
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.
shapeObjectList(sol) boolean query
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.
historyObjectList(hol) boolean query
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.
outputObjectList(ool) boolean query
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.
selectedMainAttributes(sma) boolean query
Returns a list of strings, the names of all the selected attributes in the top section of the channel box.
selectedShapeAttributes(ssa) boolean query
Returns a list of strings, the names of all the selected attributes in the middle (shape) section of the channel box.
selectedHistoryAttributes(sha) boolean query
Returns a list of strings, the names of all the selected attributes in the INPUT section of the channel box.
selectedOutputAttributes(soa) boolean query
Returns a list of strings, the names of all the selected attributes in the OUTPUT section of the channel box.
execute(exe) [string, boolean] edit
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.
mainListConnection(mlc) string createqueryedit
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.
fixedAttrList(fal) [string,...] createqueryedit
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.
useManips(mnp) string createqueryedit
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.)
takeFocus(tf) boolean edit
causes the channel box to take over the keyboard focus, if it can.
hyperbolic(hyp) boolean createqueryedit
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.
speed(spd) float createqueryedit
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.
showNamespace(sn) boolean createqueryedit
Controls whether or not the namespace of an object is displayed if the object is not in the root namespace.
attrColor(ac) [float, float, float] createqueryedit
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.
attrBgColor(bc) [float, float, float] createqueryedit
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.
nodeRegex(nr) string createqueryedit
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
attrRegex(ar) string createqueryedit
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
update(u) boolean edit
This flag can be used to force an update of the channel box display, for example after changing a display preference.
attrFilter(af) string queryedit
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.
containerAtTop(cat) boolean queryedit
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 command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can have multiple arguments, passed either as a tuple or a list.

Python examples

import maya.cmds as cmds

cmds.window()
cmds.formLayout( 'form' )
cmds.channelBox( 'dave' )
cmds.formLayout( 'form', e=True, af=(('dave', 'top', 0), ('dave', 'left', 0), ('dave', 'right', 0), ('dave', 'bottom', 0)) )
cmds.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

cmds.channelBox( 'cb1', attrRegex='T*', attrColor=(1.0, 1.0, 1.0), attrBgColor=(0.0, 0.0, 0.0) )
cmds.channelBox( 'cb1', e=True, nodeRegex='D*', attrRegex='A*', attrColor=(0, 0, 0) )