scripted/parentAddedMsgCmd.py
44 import maya.OpenMaya
as OpenMaya
45 import maya.OpenMayaMPx
as OpenMayaMPx
47 kPluginCmdName =
"spParentAddedMsg"
52 def removeCallback(id):
54 OpenMaya.MMessage.removeCallback( id )
56 sys.stderr.write(
"Failed to remove callback\n" )
59 def dagParentAddedCallback( child, parent, clientData ):
60 print "dagParentAddedCallback..."
61 print "\tchild %s" % child.fullPathName()
62 print "\tparent %s" % parent.fullPathName()
63 print "\tclient data %s" % clientData
65 def createParentAddedCallback(stringData):
69 id = OpenMaya.MDagMessage.addParentAddedCallback( dagParentAddedCallback, stringData )
71 sys.stderr.write(
"Failed to install dag parent added callback\n" )
78 class scriptedCommand(OpenMayaMPx.MPxCommand):
80 OpenMayaMPx.MPxCommand.__init__(self)
81 def doIt(self,argList):
84 print "Message callaback already installed"
86 print "Installing parent added callback message"
87 messageId = createParentAddedCallback(
"_noData_" )
91 return OpenMayaMPx.asMPxPtr( scriptedCommand() )
94 def initializePlugin(mobject):
95 mplugin = OpenMayaMPx.MFnPlugin(mobject)
97 mplugin.registerCommand( kPluginCmdName, cmdCreator )
99 sys.stderr.write(
"Failed to register command: %s\n" % name )
103 def uninitializePlugin(mobject):
106 removeCallback( messageId )
108 mplugin = OpenMayaMPx.MFnPlugin(mobject)
110 mplugin.deregisterCommand( kPluginCmdName )
112 sys.stderr.write(
"Failed to unregister command: %s\n" % kPluginCmdName )