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

Synopsis

channelBox [-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] [-enableKeyboardFocus boolean] [-enableLabelSelection boolean] [-execute string boolean] [-exists] [-fieldWidth int] [-fixedAttrList string[]] [-fullPathName] [-height int] [-highlightColor float float float] [-historyObjectList] [-hyperbolic boolean] [-inputs] [-isObscured] [-labelWidth int] [-longNames boolean] [-mainListConnection string] [-mainObjectList] [-manage boolean] [-maxHeight int] [-maxWidth int] [-niceNames boolean] [-noBackground boolean] [-nodeRegex string] [-numberOfPopupMenus] [-outputObjectList] [-outputs] [-parent string] [-popupMenuArray] [-precision int] [-preventOverride boolean] [-rebuildCommand script] [-select string] [-selectedHistoryAttributes] [-selectedMainAttributes] [-selectedOutputAttributes] [-selectedShapeAttributes] [-shapeObjectList] [-shapes] [-showNamespace boolean] [-showTransforms boolean] [-speed float] [-statusBarMessage string] [-takeFocus] [-ufeFixedAttrList string string[]] [-update] [-useManips string] [-useTemplate string] [-visible boolean] [-visibleChangeCommand script] [-width int] [string]

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, enableKeyboardFocus, enableLabelSelection, execute, exists, fieldWidth, fixedAttrList, fullPathName, height, highlightColor, historyObjectList, hyperbolic, inputs, isObscured, labelWidth, longNames, mainListConnection, mainObjectList, manage, maxHeight, maxWidth, niceNames, noBackground, nodeRegex, numberOfPopupMenus, outputObjectList, outputs, parent, popupMenuArray, precision, preventOverride, rebuildCommand, select, selectedHistoryAttributes, selectedMainAttributes, selectedOutputAttributes, selectedShapeAttributes, shapeObjectList, shapes, showNamespace, showTransforms, speed, statusBarMessage, takeFocus, ufeFixedAttrList, update, useManips, useTemplate, visible, visibleChangeCommand, width
Long name (short name) Argument types Properties
-annotation(-ann) string createqueryedit
Annotate the control with an extra string value.
-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.
-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.
-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.
-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
-attributeEditorMode(-aem) boolean queryedit
Modifies what appears in the channel box for use in the attribute editor. Default is false. Queried, returns a boolean.
-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.
-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.
-defineTemplate(-dt) string create
Puts the command in a mode where any other flags and arguments 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) string createqueryedit
Add a documentation flag to the control. The documentation flag has a directory structure. (e.g., -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 CTRL and SHIFT. Possible values are 0 == No modifiers, 1 == SHIFT, 2 == CTRL, 3 == CTRL + 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'")

-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.
-enableBackground(-ebg) boolean createqueryedit
Enables the background color of the control.
-enableKeyboardFocus(-ekf) boolean createqueryedit
If enabled, the user can navigate to the control with the tab key and select values with the keyboard or mouse. This flag would typically be used to turn off focus support from controls that get it by default, like Edit and List controls. If disabled, text in text fields can still be selected with the mouse but cannot be copied (except on Linux when "Middle Click Paste" is enabled).
-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.
-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.
-exists(-ex) create
Returns whether the specified object exists or not. Other flags are ignored.
-fieldWidth(-fw) int queryedit
An optional flag which is used to modify the width assigned to fields appearing in the channelBox.
-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.
-fullPathName(-fpn) query
Return the full path name of the widget, which includes all the parents.
-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.
-highlightColor(-hlc) float float float createqueryedit
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.
-historyObjectList(-hol) 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.
-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.
-inputs(-in) query
Returns the items shown under the 'INPUTS' heading in the channel box.
-isObscured(-io) 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.
-labelWidth(-lw) int queryedit
An optional flag which is used to modify the width assigned to labels appearing in the channelBox.
-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.
-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.
-mainObjectList(-mol) 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.
-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.
-maxHeight(-mh) int queryedit
An optional flag which is used to limit the height of the channelBox.
-maxWidth(-mw) int queryedit
An optional flag which is used to limit the width of the channelBox.
-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.
-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.
-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
-numberOfPopupMenus(-npm) query
Return the number of popup menus attached to this control.
-outputObjectList(-ool) 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.
-outputs(-out) query
Returns the items shown under the 'OUTPUTS' heading in the channel box.
-parent(-p) string createquery
The parent layout for this control.
-popupMenuArray(-pma) query
Return the names of all the popup menus attached to this control.
-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.
-preventOverride(-po) boolean createqueryedit
If true, this flag prevents overriding the control's attribute via the control's right mouse button menu.
-rebuildCommand(-rbc) script createqueryedit
Command that gets executed when the channel box is rebuilt, e.g. when a new object is selected.
-select(-s) string editmultiuse
Allows programmatic selection of items (nodes or plugs) in the channel box. Selection is equivalent to clicking the item with the mouse; therefore only items currently shown in the channel box can be selected this way.
-selectedHistoryAttributes(-sha) query
Returns a list of strings, the names of all the selected attributes in the INPUT section of the channel box.
-selectedMainAttributes(-sma) query
Returns a list of strings, the names of all the selected attributes in the top section of the channel box.
-selectedOutputAttributes(-soa) query
Returns a list of strings, the names of all the selected attributes in the OUTPUT section of the channel box.
-selectedShapeAttributes(-ssa) query
Returns a list of strings, the names of all the selected attributes in the middle (shape) section of the channel box.
-shapeObjectList(-sol) 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.
-shapes(-shp) query
Returns the items shown under the 'SHAPES' heading in the channel box.
-showNamespace(-sn) boolean createqueryedit
Controls whether or not the namespace of an object is displayed if the object is not in the root namespace.
-showTransforms(-st) boolean queryedit
Controls whether this control will display transform attributes only, or all other attributes. False by default. Queried, returns a boolean.
-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.
-statusBarMessage(-sbm) string createedit
Extra string to display in the status bar when the mouse is over the control.
-takeFocus(-tf) edit
causes the channel box to take over the keyboard focus, if it can.
-ufeFixedAttrList(-ual)
2023
string string[] createqueryedit
Forces the channel box to only display attributes for the given UFE runtime with the specified names, in the order they are specified. The attribute list accepts wildcard ('?' for one char, '*' for many) and will use pattern matching for finding attributes to display. If an empty list is specified, then the channel box will display no attributes for the given UFE runtime (since there is no keyable attribute concept in UFE).

In query mode, this flag can accept a value.

-update(-u) edit
This flag can be used to force an update of the channel box display, for example after changing a display preference.
-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.)
-useTemplate(-ut) string create
Forces the command to use a command template other than the current one.
-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.
-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.

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 be used more than once in a command.

MEL examples

window;
formLayout form;
channelBox dave;
formLayout -e
    -af dave "top" 0
    -af dave "left" 0
    -af dave "right" 0
    -af dave "bottom" 0
    form;
showWindow;

// Color all attributes names, which have an attribute name
// beginning with "T", white (with a black background) for
// all current and future nodes.
// Then, color all attributes beginning with "A", which are
// contained in nodes that have their names beginning with "D", black.

channelBox -attrRegex "T*" -attrColor 1.0 1.0 1.0 -attrBgColor 0.0 0.0 0.0 "cb1";
channelBox -e -nodeRegex "*" -attrRegex "A*" -attrColor 0 0 0 "cb1";