pymel.core.windows.channelBox¶
- channelBox(*args, **kwargs)¶
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.
Flags:
Long Name / Short Name Argument Types Properties annotation / ann unicode Annotate the control with an extra string value. 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 0can 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 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 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. 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. 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 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’ 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. enableLabelSelection / els bool Enables the selection of attributes in the channelBox when used in conjunction with -attributeEditorMode. Default is false. Queried, returns a boolean. 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, #Ais substituted with the name of the attribute, and #Nwith the name of the node, and #Pwith the full path name of the node. exists / ex bool Returns whether the specified object exists or not. Other flags are ignored. fieldWidth / fw int An optional flag which is used to modify the width assigned to fields appearing in the channelBox. 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 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. 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. 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. inputs / inputs bool Returns the items shown under the ‘INPUTS’ heading in the channel box. 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 An optional flag which is used to modify the width assigned to labels appearing in the channelBox. 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 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 An optional flag which is used to limit the height of the channelBox. maxWidth / mw int An optional flag which is used to limit the width of the channelBox. 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 Return the number of popup menus attached to this control. 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. outputs / out bool Returns the items shown under the ‘OUTPUTS’ heading in the channel box. parent / p unicode The parent layout for this control. popupMenuArray / pma bool Return the names of all the popup menus attached to this control. precision / pre int 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 bool If true, this flag disallows overriding the control’s attribute via the control’s right mouse button menu. select / s bool 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 bool Returns a list of strings, the names of all the selected attributes in the INPUT section of the channel box. selectedMainAttributes / sma bool Returns a list of strings, the names of all the selected attributes in the top section of the channel box. selectedOutputAttributes / soa bool Returns a list of strings, the names of all the selected attributes in the OUTPUT section of the channel box. selectedShapeAttributes / ssa bool Returns a list of strings, the names of all the selected attributes in the middle (shape) section of the channel box. 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. shapes / shp bool Returns the items shown under the ‘SHAPES’ heading in the channel box. showNamespace / sn bool Controls whether or not the namespace of an object is displayed if the object is not in the root namespace. showTransforms / st bool Controls whether this control will display transform attributes only, or all other attributes. False by default. Queried, returns a boolean. 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 causes the channel box to take over the keyboard focus, if it can. update / u bool This flag can be used to force an update of the channel box display, for example after changing a display preference. 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 Force 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.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) )