def block_destroy(self, blocker, block=True, blockData=None): """block_destroy( blocker, block=True, blockData=None) blocker: the object creating the block block: set to False to unblock blockData: optional info associated with blocker block_destroy can be called before or during the 'on_destroy' callback. It will add blocker to a dictionary of objects blocking the Sprite's destruction.""" if _DEBUG: print 'Sprite.block_destroy', self, blocker, block, blockData if block: if self.destroy_blockers is None: blockers = CallbackWeakKeyDictionary() blockers.register_for_delete(self.destroy_blocker_callback) self.destroy_blockers = blockers self.destroy_blockers[blocker] = blockData else: if blocker in self.destroy_blockers: self.destroy_blockers.pop(blocker)
def __init__(self, projectObject=None, projectObjectName='', projectName='PUG', projectFolder="", redirect=False): # global menus self.globalMenuDict = {'__order__': [], '__ids__': {}} # selection manager stuff self.selectedObjectDict = CallbackWeakKeyDictionary() self.selectedObjectDict.register(self.on_selectedObjectDict_change) self.selectionWatcherDict = weakref.WeakKeyDictionary() # track frames and objects they view { 'frame':obj(id)} self.objFrameDict = weakref.WeakKeyDictionary() self.set_project_folder(projectFolder) self.args = (projectObject, projectObjectName, projectName, projectFolder) self.permanent_settings = [ "Rect_Pug_Python_Editor", "Rect_Component_Browser" ] self.reset_history() wx.App.__init__(self, redirect=redirect)
def _get_nodes(self): """_get_nodes()->CallbackWeakKeyDictionary of nodes""" if not hasattr(self,'_nodes'): self._nodes = CallbackWeakKeyDictionary() return self._nodes
def __init__(self): self.boxDict = CallbackWeakKeyDictionary()