The editorTemplate command allows the user to specify the conceptual layout of an attribute editor and leave the details of exactly which UI elements are used in the final result to the automatic dialog generation mechanism.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
addAdskAssetControls (aac) | bool | ||
|
|||
addComponents (acp) | bool | ||
|
|||
addControl (ac) | bool | ||
The first argument is the name of the attribute for which you wish to add a control. You can assume that when the editor is created from the template, an appropriate type of control will be used. The second string argument is optional, and can be used to specify a command (or script) to be executed when the attribute is changed. |
|||
addDynamicControl (adc) | bool | ||
As -addControl with the exception that the attribute for which the control is to be created/attached is dynamic. [Note: -addControl will also work for dynamic attributes, but will not preserve their order in the attribute editor]. |
|||
addExtraControls (aec) | bool | ||
By default, if there are attributes of a node which you do not -addControl or -suppress, then controls will be created automatically and appended to the end of editor created from the template. This flag allows you to specify a particular place in the template for such controls to be automatically inserted. If dynamic attributes have not already been addressed with -addControl, they will also be placed here. A frameLayout will automatically be generated for you when you use this flag. |
|||
addSeparator (addSeparator) | bool | ||
|
|||
annotation (ann) | unicode | ||
This flag can only be used with the -addControl or the -addDynamicControl flags. The string will be used as an annotation on the controls created in the attribute editor. |
|||
beginLayout (bl) | unicode | ||
Begins a layout in the template with the title specified by the string argument. Items between this flag and its corresponding -endLayout flag will be contained within the layout. You can assume that when the editor is created from the template, an appropriate type of layout will be used. (frameLayout). |
|||
beginNoOptimize (bn) | bool | ||
|
|||
beginScrollLayout (bsl) | bool | ||
|
|||
callCustom (ccu) | bool | ||
Specifies that at this point in the template when building the dialog, the procedure specified by the first argument is to be called to create some UI objects when a new node type is edited. The procedure specified by the second argument is to be called if an attribute editor already exists and another node of the same type is now to be edited. The replacing procedure should connect any controls created by the creating procedure to the equivalent attributes in the new node. A list of zero or more attributes specifies the attributes which the two procedures will involve. The procedures should have the signature: proc AEcustomNew(string attributeName1, string attributeName2) The number of attributes specified in the call should correspond to the number of attributes in the procedure signature. |
|||
collapse (cl) | bool | ||
This flag is only valid when used in conjunction with a -bl/beginLayout flag. It is used to specify the initial expand/collapse state of the layout. A true value will cause the layout to be collapsed upon creation, while a false value will expand the layout. The default is true (ie. collapsed). |
|||
debugMode (dbm) | bool | ||
dimControl (dc) | unicode, unicode, bool | ||
This flag is only useful AFTER a control has already been created (using the -addControl flag). The first argument is the node name and the second is the attribute whose control you wish to affect. The third argument is a boolean which specifies whether to dim (true) or undim (false) the associated control. |
|||
endLayout (el) | bool | ||
|
|||
endNoOptimize (en) | bool | ||
|
|||
endScrollLayout (esl) | bool | ||
|
|||
extraControlsLabel (ecl) | unicode | ||
By default the label is Extra Attributes. Specify an alternate label or an empty string to hide the label. This flag must be used in conjuction with the -aec/addExtraControls flag. |
|||
interruptOptimize (io) | bool | ||
|
|||
label (l) | unicode | ||
This flag can only be used with the -addControl or the -addDynamicControl flags. And it must be specified FIRST. The string will override the name of the attribute that will be displayed in the attribute editor. |
|||
listExtraAttributes (lea) | unicode | ||
|
|||
preventOverride (po) | bool | ||
If true, this flag disallows overriding the control’s attribute via the control’s right mouse button menu. Flag can have multiple arguments, passed either as a tuple or a list. |
|||
queryControl (qc) | unicode, unicode | ||
This flag is only useful AFTER a control has already been created (using the -addControl flag). The first argument is the node name and the second is the attribute whose control you wish to query. Note that in most cases, using this flag is identical to issuing a getAttr command, however, in the case of textFields (e.g. for message attributes), the text value currently being displayed will be returned, NOT the actual attribute value. |
|||
queryLabel (ql) | unicode, unicode | ||
This flag is only useful AFTER a control has already been created (using the -addControl flag). The first argument is the node name and the second is the attribute whose control label you wish to query. In most cases this flag returns the same value as the attribute’s nice name, but when a -label flag was present on the -addControl command that created the control, -queryLabel will return that value instead |
|||
suppress (s) | unicode | ||
|
Derived from mel command maya.cmds.editorTemplate
Example:
import pymel.core as pm
# You will most likely want to use this command when defining the controls
# that appear in the Attribute Editor for a custom node created in a plugin.
# To see how this is done compile and load the transCircleNode plugin. Then
# create a node of type "transCircle" and show the Attribute Editor.
# Now look at the AEtransCircleTemplate.mel script to see how the
# editorTemplate command is used to define the controls that appear in
# the Attribute Editor.
# As you may have noticed the name of the template script must match the
# node type you create, ie. AEnodeTypeTemplate.mel.