pymel.core.windows.editorTemplate

editorTemplate(*args, **kwargs)

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.

Flags:
Long name (short name) Argument Types Properties
addAdskAssetControls (aac) bool ../../../_images/create.gif
 
Adds controls for dynamic attributes of adskMaterial nodes and organizes them in a layout according to the XML ui description specified in the asset library.
addComponents (acp) bool ../../../_images/create.gif
 
This flag will add a frameLayout with a channel box which will display any selected components for the object.
addControl (ac) bool ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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 ../../../_images/create.gif
 
Adds a separator to the template.
annotation (ann) unicode ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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 ../../../_images/create.gif
 
Specifies that the layout of items between this flag and its corresponding -endNoOptimize flag is not to be optimized to minimize space.
beginScrollLayout (bsl) bool ../../../_images/create.gif
 
Begins a scrollLayout. Items between this flag and its corresponding -endScrollLayout flag will be contained within the layout.
callCustom (ccu) bool ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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 ../../../_images/create.gif
 
Ends a layout in the template started by -beginLayout.
endNoOptimize (en) bool ../../../_images/create.gif
 
Ends a set of non-optimized items.
endScrollLayout (esl) bool ../../../_images/create.gif
 
Ends a scrollLayout.
extraControlsLabel (ecl) unicode ../../../_images/create.gif
 

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 ../../../_images/create.gif
 
Enforces a division between two sets of items whose layouts may be optimized.
label (l) unicode ../../../_images/create.gif
 

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 ../../../_images/create.gif
 
List extra attributes.This flag is only useful AFTER a control has already been created (using the -addControl flag). The first argument is the node name.
preventOverride (po) bool ../../../_images/create.gif
 

If true, this flag disallows overriding the control’s attribute via the control’s right mouse button menu.Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list.

queryControl (qc) unicode, unicode ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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

queryName (qn) unicode, unicode ../../../_images/create.gif
 

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 name you wish to query.

removeControl (rc) unicode, unicode ../../../_images/create.gif
 

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 remove.

suppress (s) unicode ../../../_images/create.gif
 
Prevent a control for the attribute specified by the string argument from appearing in the editor created from the template.

Derived from mel command maya.cmds.editorTemplate

Example:

import pymel.core as pm

import maya.cmds as cmds

# 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.

Previous topic

pymel.core.windows.editor

Next topic

pymel.core.windows.exclusiveLightCheckBox

Core

Core Modules

Other Modules

This Page