예제 #1
0
파일: Sprite.py 프로젝트: bcorfman/pug
    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)
예제 #2
0
    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)
예제 #3
0
파일: Scene.py 프로젝트: bcorfman/pug
 def _get_nodes(self):
     """_get_nodes()->CallbackWeakKeyDictionary of nodes"""
     if not hasattr(self,'_nodes'):
         self._nodes = CallbackWeakKeyDictionary()
     return self._nodes
예제 #4
0
 def __init__(self):
     self.boxDict = CallbackWeakKeyDictionary()