Hello
I'm having a bit of trouble with attribute editor template.
My node has a string attribute, and I'd like to use scrollField for that.
I got it to work OK, unless I "Copy Tab" the AttributeEditor windows for several nodes - then it breaks, edits are not saved to wrong nodes.
Is there any example how to handle string attributes in AETemplates ?
Here's my code. It seems the problem is related to having just one scrollField control for all attributes, but I couldn't get it to work with multiple scrollFields
global proc ShotOverrideNode_ShotOverrideTemplateNew(string $attr)
{
scrollField -h 800 -nl 25
-ec ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
-kpc ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
-cc ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
ShotOverrideNode_AT_ShotOverrideText;
ShotOverrideNode_ShotOverrideTemplateReplace $attr;
}
global proc ShotOverrideNode_ShotOverrideTemplateReplace(string $attr)
{
string $txt = `getAttr $attr`;
$txt = `strip $txt`;
scrollField -e -text $txt ShotOverrideNode_AT_ShotOverrideText;
scrollField -e
-ec ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
-kpc ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
-cc ("ShotOverrideNode_AE_UpdateOverrideText " + $attr)
ShotOverrideNode_AT_ShotOverrideText;
}
global proc ShotOverrideNode_AE_UpdateOverrideText(string $attr)
{
string $txt = `scrollField -q -tx ShotOverrideNode_AT_ShotOverrideText`;
setAttr -type "string" $attr $txt;
}
global proc AEShotOverrideNodeTemplate ( string $nodeName )
{
editorTemplate -beginScrollLayout;
editorTemplate -beginLayout "ShotOverride" -collapse 0;
editorTemplate -ccu "ShotOverrideNode_ShotOverrideTemplateNew"
"ShotOverrideNode_ShotOverrideTemplateReplace" "ShotOverride";
editorTemplate -endLayout;
editorTemplate -addExtraControls;
editorTemplate -endScrollLayout;
}
thanks.