mgear.core.callbackManager module
API for creating, deleting, debuging callbacks
# examples ——————————————————————– # module cb.selectionChangedCB(“testingSessssslection”, cb.testFunc) cb.RECORDED_CALLBACKS cb.removeAllSessionCB()
# manager A e = cb.CallbackManager() e.namespace e.debug = False e.selectionChangedCB(“synopticUI1”, cb.testFunc) e.newSceneCB(“synopticNewScene”, cb.testFunc) e.removeManagedCB(“synopticUI1”) e.removeManagedCB(“synopticNewScene”)
e.attributeChangedCB(“attrChanged”, cb.testFunc, “pSphere1”, [“tx”]) e.removeManagedCB(“attrChanged”)
e.MANAGER_CALLBACKS e.removeAllManagedCB()
# manager b r = cb.CallbackManager() r.selectionChangedCB(“synopticUI1”, cb.testFunc) r.MANAGER_CALLBACKS r.removeAllManagedCB()
__author__ = “Rafael Villar” __email__ = “rav@ravrigs.com”
- class mgear.core.callbackManager.AttributeChangedManager(m_node, attributes, func)
Bases:
object
mini class that will be called upon when attrChanged callback is run this will check the plugs passed in to see if it is an attr of desired name
- attributes
[tx, ty] of SHORT NAMED attrs to monitor
- Type:
list
- func
to call when criteria met
- Type:
function
- m_node
mobject
- Type:
om.MOBJECT
- attributeChanged(id, plug1, plug2, payload)
actual function that will be called when attrChanged callback is created
- Parameters:
id (int) – 2056 is the desired, attr changed id
plug1 (om.MPlug) – MPlug attr to query
- Returns:
n/a
- Return type:
n/a
- class mgear.core.callbackManager.CallbackManager
Bases:
object
Convenience to manage callbacks
- debug
should callbacks created by manager produce print outs
- Type:
bool
- MANAGER_CALLBACKS
record of all created callbacks
- Type:
dict
- namespace
namespace to put callbacks under
- Type:
str
- addNamespace(callback_name)
used in the decorator, add namespace to any name provided
- Parameters:
callback_name (str) – name of callback
- Returns:
provided name with namespace
- Return type:
str
- attributeChangedCB(callback_name, func, node, attributes)
- checkDebug(debugInfo, *args)
safely check if manager is in debug mode
- Parameters:
debugInfo (list) – callback name, function being called with args
*args – args to pass to the function associated with callback
- newSceneCB(callback_name, func)
- registerManagerCB()
decorator, adds debug and namespace to every callback created
- Parameters:
func (function) – function to wrap
- Returns:
wrapped function
- Return type:
function
- removeAllManagedCB()
remove all the callbacks created my this manager
- removeManagedCB(callback_name)
remove specific callback under this manager
- Parameters:
callback_name (str) – name
- selectionChangedCB(callback_name, func)
- setNamespace(namespace)
set the namespace to put callbacks under
- Parameters:
namespace (str) – desired namespace
- timeChangedCB(callback_name, func)
- userTimeChangedCB(callback_name, func)
- wrapWithDebug(debugInfo, func)
so every function that is associated with a callback is swapped out for this one, so it will check for debugging
- Parameters:
debugInfo (list) – callback name, mayacallback id, functions to call
func (function) – to wrap with this debug checker
- Returns:
partial function that will check for debug
- Return type:
function
- class mgear.core.callbackManager.UserTimeChangedManager(func)
Bases:
object
mini class that will be called upon when timeChanged callback is run this will check to see if playback is active, if so BREAK
- attributes
[tx, ty] of SHORT NAMED attrs to monitor
- Type:
list
- func
to call when criteria met
- Type:
function
- m_node
mobject
- Type:
om.MOBJECT
- userTimeChanged(*args)
Check if playback is active, if so return without calling func
- mgear.core.callbackManager.attributeChangedCB(callback_name, func, node, attributes)
call the provided function any of the provided attributes are changed
- Parameters:
callback_name (str) – name of the callback
func (function) – to be called upon
node (str) – name of node to montior for attr changes
attributes (list) – of SHORTNAMED attributes to monitor
- Returns:
maya id to created callback
- Return type:
long
- mgear.core.callbackManager.checkAndRecordCB(callback_name, callback_id, callback_info={})
will remove any callbacks of the same name prior to creating a new one
- Parameters:
callback_name (str) – desired name of the callback, readable
callback_id (long) – api method of identifying callbacks
- mgear.core.callbackManager.getMObject(node)
get the mobject of any name provided, so it can have cb’s assined to it
- Parameters:
node (str) – of node
- Returns:
MOBJECT
- Return type:
om.MObject
- mgear.core.callbackManager.newSceneCB(callback_name, func)
When a new scene is opened, call the provided function
- Parameters:
callback_name (str) – name you want to assign cb
func (function) – will be called upon
- Returns:
maya id to created callback
- Return type:
long
- mgear.core.callbackManager.registerSessionCB(func)
decorator to ensure that every callback created is recorded
- Parameters:
func (function) – function that will create the callback
- Returns:
function
- Return type:
function
- mgear.core.callbackManager.removeAllCBFromNode(node)
remove all callbacks from the provided node
- Parameters:
node (str) – name of node to remove callbacks from
- mgear.core.callbackManager.removeAllSessionCB()
Remove all the callbacks created in this session, provided they are in the RECORDED_CALLBACKS dict
- mgear.core.callbackManager.removeCB(callback_identifier, callback_info={})
Remove callback from scene and RECORDED_CALLBACKS(or provided dict)
- Parameters:
callback_identifier (str) – name of callback
callback_info (dict, optional) – dict to remove callback from
- mgear.core.callbackManager.removeCBviaMayaID(mayaID, callback_info={})
This if have the maya pointer only, this will remove it from the recorded_callbacks as well
- Parameters:
mayaID (long) – maya point to a callback
callback_info (dict, optional) – remove it from desired cb recorder
- mgear.core.callbackManager.removeNamespaceCB(namespace)
Remove all callbacks under the provided namespace
- Parameters:
namespace (str) – uuid or other type of namespace
- mgear.core.callbackManager.sampleCallback(callback_name, func)
argument order is important. Callback_name and func must always be first must always return the mayaID to the callback :param callback_name: name you want to assign cb :type callback_name: str :param func: will be called upon :type func: function
- Returns:
maya id to created callback
- Return type:
long
- mgear.core.callbackManager.selectionChangedCB(callback_name, func)
When the selection is changed call the provided function
- Parameters:
callback_name (str) – name you want to assign cb
func (function) – will be called upon
- Returns:
maya id to created callback
- Return type:
long
- mgear.core.callbackManager.testFunc(*args)
test function used for debugging/dev
- Parameters:
*args – things that will printed
- mgear.core.callbackManager.timeChangedCB(callback_name, func)
ANYTIME the time is changed, call the provided function
- Parameters:
callback_name (str) – name you want to assign cb
func (function) – will be called upon
- Returns:
maya id to created callback
- Return type:
long
- mgear.core.callbackManager.userTimeChangedCB(callback_name, func)
Callback triggers during user timeChange, skips PLAYBACK
- Parameters:
callback_name (str) – name you want to assign cb
func (function) – will be called upon
- Returns:
maya id to created callback
- Return type:
long