def changeTool(self, toolId, **context): if self.currentToolId == toolId: return toolClass, options = self.toolRegistry.get(toolId, None) if not toolClass: logging.warning('No scene tool found: %s' % toolId) return toolObj = toolClass() toolObj._toolId = toolId if self.currentTool: self.currentTool.onStop() self.currentTool = toolObj self.currentToolId = toolId toolObj.onStart(**context) for button, buttonToolId in _SceneToolButtons.items(): if buttonToolId == toolId: button.setDown(True) else: button.setDown(False) signals.emit('scene_tool.change', self.currentToolId)
def changeTool( self, toolId, **context ): if self.currentToolId == toolId: return toolClass, options = self.toolRegistry.get( toolId, None ) if not toolClass: logging.warning( 'No scene tool found: %s' % toolId ) return toolObj = toolClass() toolObj._toolId = toolId if self.currentTool: self.currentTool.onStop() self.currentTool = toolObj self.currentToolId = toolId toolObj.onStart( **context ) for button, buttonToolId in _SceneToolButtons.items(): if buttonToolId == toolId: button.setDown( True ) else: button.setDown( False ) signals.emit( 'scene_tool.change', self.currentToolId )
def onEntityAdded( self, entity, context = None ): if context == 'new': self.setFocus() pnode = entity.parent if pnode: self.tree.setNodeExpanded( pnode, True ) self.tree.setFocus() # self.tree.editNode( entity ) self.tree.selectNode( entity ) signals.emit( 'scene.update' ) self.markDirty()
def onComponentRemoved( self, com, entity ): signals.emit( 'scene.update' ) self.markDirty()
def onEntityRemoved( self, entity ): if entity: self.tree.removeNode( entity ) signals.emit( 'scene.update' ) self.markDirty()
def renameEntity( self, target, name ): #TODO:command pattern target.setName( target, name ) signals.emit( 'entity.modified', target )