Hi.
I am trying to make Parm Menu Tool to move parameter position. It's just getting parmTemplate and remove original one and putting it on before the parameter above the original one by insertBefore(). It basically works but if it's located on top in folder, I want get it out of the folder. So in that case, I tried to put on before the folder that contained original parameter. But It doesn't work. If the parameter was under the folder, it works.
Please check the picture, in my head, the target Folder for insertBefore(Folder, Parm) is same at the cases labelA and LabelB. but somehow labelA can't go Before Folder. If anyone know the any trick, please let me know.
parm = kwargs["parms"][0]
parmTmp = parm.parmTemplate()
node = parm.node()
parmGroup = node.parmTemplateGroup()
parmIndexes = parmGroup.findIndices(parmTmp)
curFolder = parmGroup
parmHierarchy = [curFolder]
for i in parmIndexes:
curItem = curFolder.parmTemplates()[i]
if curItem.type().name() == "Folder":
curFolder = curItem
parmHierarchy.append(curItem)
index = parmIndexes[-1]
if index == 0:
parmUp = parmHierarchy[-1]
else:
parmUp = parmHierarchy[-1].parmTemplates()[index-1]
print parmUp
parmGroup.remove(parmTmp)
parmGroup.insertBefore(parmUp,parmTmp)
node.setParmTemplateGroup(parmGroup)
Thanks,
Ryoji