Esempio n. 1
0
    def onLoad(self):
        #UI
        self.window = self.requestDockWindow('SceneReferenceEditor',
                                             title='Scene Reference',
                                             size=(120, 120),
                                             minSize=(120, 120),
                                             dock='right')

        #Components
        self.tree = self.window.addWidget(
            SceneReferenceTreeWidget(multiple_selection=True,
                                     editable=True,
                                     drag_mode='internal'))

        self.tool = self.addToolBar('global_object_manager',
                                    self.window.addToolBar())
        self.delegate = MOAILuaDelegate(self)
        self.delegate.load(_getModulePath('SceneReferenceEditor.lua'))

        self.addTool('global_object_manager/add_group',
                     label='Add Group',
                     icon='add_folder')
        self.addTool('global_object_manager/add', label='Add', icon='add')
        self.addTool('global_object_manager/remove',
                     label='Remove',
                     icon='remove')

        if self.getModule('introspector'):
            import SceneReferenceNodeEditor

        registerSearchEnumerator(globalObjectNameSearchEnumerator)
        registerSearchEnumerator(globalObjectSearchEnumerator)
Esempio n. 2
0
 def onLoad(self):
     self.projectScanScheduled = False
     self.projectScanTimer = self.mainWindow.startTimer(
         10, self.checkProjectScan)
     signals.connect('app.start', self.postStart)
     registerSearchEnumerator(assetSearchEnumerator)
     registerSearchEnumerator(assetFolderSearchEnumerator)
Esempio n. 3
0
	def onLoad( self ):
		#UI
		self.window = self.requestDockWindow( 'SceneReferenceEditor',
			title     = 'Scene Reference',
			size      = (120,120),
			minSize   = (120,120),
			dock      = 'right'
			)

		#Components
		self.tree = self.window.addWidget( 
				SceneReferenceTreeWidget( 
					multiple_selection = True,
					editable           = True,
					drag_mode          = 'internal'
				)
			)

		self.tool = self.addToolBar( 'global_object_manager', self.window.addToolBar() )
		self.delegate = MOAILuaDelegate( self )
		self.delegate.load( _getModulePath( 'SceneReferenceEditor.lua' ) )

		self.addTool( 'global_object_manager/add_group',    label = 'Add Group', icon = 'add_folder' )
		self.addTool( 'global_object_manager/add',    label = 'Add', icon = 'add' )
		self.addTool( 'global_object_manager/remove', label = 'Remove', icon = 'remove' )
		
		if self.getModule('introspector'):
			import SceneReferenceNodeEditor

		registerSearchEnumerator( globalObjectNameSearchEnumerator )
		registerSearchEnumerator( globalObjectSearchEnumerator )
Esempio n. 4
0
	def onLoad( self ):
		self.deviceTypes  = {}
		self.containers   = {}
		self.devices      = {}

		self.activeDevice = None
		registerSearchEnumerator( deviceSearchEnumerator )
		#load device history
		signals.connect( 'project.done_deploy', self.onDoneDeploy )
Esempio n. 5
0
	def onLoad( self ):
		self.deviceTypes  = {}
		self.containers   = {}
		self.devices      = {}

		self.activeDevice = None
		registerSearchEnumerator( deviceSearchEnumerator )
		#load device history
		signals.connect( 'project.done_deploy', self.onDoneDeploy )
Esempio n. 6
0
    def onLoad(self):
        #UI
        self.window = self.requestDockWindow('GlobalObjectManager',
                                             title='Global Objects',
                                             size=(120, 120),
                                             minSize=(120, 120),
                                             dock='left')

        #Components
        self.treeFilter = self.window.addWidget(GenericTreeFilter(),
                                                expanding=False)
        self.tree = self.window.addWidget(
            GlobalObjectTreeWidget(multiple_selection=True,
                                   editable=True,
                                   drag_mode='internal'))
        self.treeFilter.setTargetTree(self.tree)

        self.tool = self.addToolBar('global_object_manager',
                                    self.window.addToolBar())
        self.delegate = MOAILuaDelegate(self)
        self.delegate.load(_getModulePath('GlobalObjectManager.lua'))

        # self.creatorMenu=self.addMenu(
        # 	'global_object_create',
        # 	{ 'label':'Create Global Object' }
        # 	)

        self.addTool('global_object_manager/add', label='Add', icon='add')
        self.addTool('global_object_manager/remove',
                     label='Remove',
                     icon='remove')
        self.addTool('global_object_manager/clone',
                     label='Clone',
                     icon='clone')
        self.addTool('global_object_manager/add_group',
                     label='Add Group',
                     icon='add_folder')
        self.addTool('global_object_manager/----')
        self.addTool('global_object_manager/refresh',
                     label='Refresh',
                     icon='refresh')

        # self.addMenuItem( 'main/find/find_global_object',
        # 	dict( label = 'Find In Global Objects', shortcut = 'ctrl+alt+f' ) )

        #SIGNALS
        signals.connect('moai.clean', self.onMoaiClean)

        signals.connect('global_object.added', self.onObjectAdded)
        signals.connect('global_object.removed', self.onObjectRemoved)
        signals.connect('global_object.renamed', self.onObjectRenamed)

        if self.getModule('introspector'):
            from . import GlobalObjectNodeEditor

        registerSearchEnumerator(globalObjectNameSearchEnumerator)
        registerSearchEnumerator(globalObjectSearchEnumerator)
Esempio n. 7
0
    def onLoad(self):
        self.container = self.requestDocumentWindow(
            "MockTextureManager",
            title="TextureManager",
            size=(500, 300),
            minSize=(500, 300),
            # allowDock = False
        )
        self.toolbar = self.addToolBar("texture_manager", self.container.addToolBar())

        self.window = window = self.container.addWidgetFromFile(_getModulePath("TextureManager.ui"))

        self.tree = addWidgetWithLayout(
            TextureTreeWidget(
                window.containerTree, drag_mode="internal", editable=True, multiple_selection=True, expanded=False
            )
        )
        self.tree.module = self

        self.treeFilter = GenericTreeFilter(window.containerTree)
        window.containerTree.layout().insertWidget(0, self.treeFilter)
        self.treeFilter.setTargetTree(self.tree)

        self.propEditor = addWidgetWithLayout(PropertyEditor(window.containerProp))

        self.canvas = addWidgetWithLayout(MOAIEditCanvas(window.containerPreview))
        self.canvas.loadScript(_getModulePath("TextureManager.lua"))

        self.addMenuItem("main/asset/----")
        self.addMenuItem(
            "main/asset/texture_manager", {"label": "Texture Manager", "on_click": lambda menu: self.setFocus()}
        )

        self.addTool("asset/show_texture_manager", label="Texture Manager", on_click=lambda item: self.setFocus())

        self.addTool("texture_manager/add_group", label="Add Group", icon="add")
        self.addTool("texture_manager/remove_group", label="Remove Group", icon="remove")
        self.addTool("texture_manager/----")
        self.addTool("texture_manager/assign_group", label="Assign Group", icon="in")
        self.addTool("texture_manager/----")
        self.addTool("texture_manager/assign_processor", label="Assign Processor", icon="compose")
        self.addTool("texture_manager/clear_processor", label="Clear Processor", icon="remove")
        self.addTool("texture_manager/----")
        self.addTool("texture_manager/rebuild", label="Rebuild", icon="refresh")

        self.addShortcut(self.container, "=", self.regroupTo)
        self.addShortcut(self.container, "-", self.regroup, "default")

        self.propEditor.propertyChanged.connect(self.onPropertyChanged)

        signals.connect("texture.add", self.onTextureAdd)
        signals.connect("texture.remove", self.onTextureRemove)

        registerSearchEnumerator(textureGroupSearchEnumerator)
Esempio n. 8
0
	def onLoad( self ):
		#UI
		self.window = self.requestDockWindow( 'GlobalObjectManager',
			title     = 'Global Objects',
			size      = (120,120),
			minSize   = (120,120),
			dock      = 'left'
			)

		#Components
		self.tree = self.window.addWidget( 
				GlobalObjectTreeWidget( 
					multiple_selection = True,
					editable           = True,
					drag_mode          = 'internal'
				)
			)

		self.tool = self.addToolBar( 'global_object_manager', self.window.addToolBar() )
		self.delegate = MOAILuaDelegate( self )
		self.delegate.load( _getModulePath( 'GlobalObjectManager.lua' ) )

		# self.creatorMenu=self.addMenu(
		# 	'global_object_create',
		# 	{ 'label':'Create Global Object' }
		# 	)

		self.addTool( 'global_object_manager/add',    label = 'Add', icon = 'add' )
		self.addTool( 'global_object_manager/remove', label = 'Remove', icon = 'remove' )
		self.addTool( 'global_object_manager/clone',  label = 'Clone', icon = 'clone' )
		self.addTool( 'global_object_manager/add_group',    label = 'Add Group', icon = 'add_folder' )
		self.addTool( 'global_object_manager/----' )
		self.addTool( 'global_object_manager/refresh',    label = 'Refresh', icon = 'refresh' )
		
		# self.addMenuItem( 'main/find/find_global_object', 
		# 	dict( label = 'Find In Global Objects', shortcut = 'ctrl+alt+f' ) )

		#SIGNALS
		signals.connect( 'moai.clean', self.onMoaiClean )

		signals.connect( 'global_object.added',   self.onObjectAdded )
		signals.connect( 'global_object.removed', self.onObjectRemoved )
		signals.connect( 'global_object.renamed', self.onObjectRenamed )

		if self.getModule('introspector'):
			import GlobalObjectNodeEditor

		registerSearchEnumerator( globalObjectNameSearchEnumerator )
		registerSearchEnumerator( globalObjectSearchEnumerator )
Esempio n. 9
0
    def onLoad(self):
        self.externRunning = False
        self.projectScanPaused = False

        self.mainToolBar = self.addToolBar(
            'asset',
            self.getMainWindow().requestToolBar('main'))
        ####
        self.addMenu('main/asset', {'label': '&Asset'})
        self.addMenuItem('main/asset/reset_all_asset',
                         dict(label='Reset Asset Library'))
        self.addMenuItem('main/asset/clear_free_meta',
                         dict(label='Clear Metadata'))

        self.addMenuItem('main/asset/touch_all_scenes',
                         dict(label='Touch All Scenes'))

        self.projectScanTimer = self.getMainWindow().startTimer(
            20, self.checkProjectScan)
        registerSearchEnumerator(assetSearchEnumerator)
        registerSearchEnumerator(assetFolderSearchEnumerator)

        signals.connect('external_player.start', self.onExternRunStart)
        signals.connect('external_player.stop', self.onExternRunStop)
Esempio n. 10
0
    def onLoad(self):
        #UI
        self.windowTitle = 'Scenegraph'
        self.container = self.requestDockWindow('SceneGraphEditor',
                                                title='Scenegraph',
                                                size=(200, 200),
                                                minSize=(200, 200),
                                                dock='left')

        #Components
        self.treeFilter = self.container.addWidget(GenericTreeFilter(
            self.container),
                                                   expanding=False)
        self.tree = self.container.addWidget(
            SceneGraphTreeWidget(self.container,
                                 sorting=True,
                                 editable=True,
                                 multiple_selection=True,
                                 drag_mode='internal'))
        self.treeFilter.setTargetTree(self.tree)
        self.tree.module = self
        self.tool = self.addToolBar('scene_graph', self.container.addToolBar())
        self.delegate = MOAILuaDelegate(self)
        self.delegate.load(getModulePath('SceneGraphEditor.lua'))

        self.entityCreatorMenu = self.addMenu('main/scene/entity_create',
                                              {'label': 'Create Entity'})

        self.componentCreatorMenu = self.addMenu('main/scene/component_create',
                                                 {'label': 'Create Component'})

        #menu
        self.addMenuItem('main/file/open_scene',
                         dict(label='Open Scene', shortcut='ctrl+shift+o'))

        self.addMenuItem('main/file/close_scene',
                         dict(label='Close Scene', shortcut='Ctrl+W'))
        self.addMenuItem('main/scene/save_scene',
                         dict(label='Save', shortcut='Ctrl+S'))
        self.addMenuItem('main/scene/locate_scene_asset',
                         dict(label='Locate Scene Asset'))

        self.addMenu('main/scene/----')

        self.addMenu('component_context', dict(label='Selected Component'))
        self.addMenuItem('component_context/remove_component',
                         dict(label='Remove'))

        self.addMenuItem('component_context/----')

        self.addMenuItem('component_context/copy_component',
                         dict(label='Copy'))
        self.addMenuItem('component_context/paste_component',
                         dict(label='Paste Component Here'))
        self.addMenuItem('component_context/----')

        self.addMenuItem('component_context/move_component_up',
                         dict(label='Move Up'))

        self.addMenuItem('component_context/move_component_down',
                         dict(label='Move Down'))

        self.addMenuItem('component_context/----')
        self.addMenuItem('component_context/edit_component_alias',
                         dict(label='Edit Alias'))

        self.addMenu('main/entity', dict(label='Entity'))
        self.addMenuItem('main/entity/add_empty_entity',
                         dict(label='Create Empty', shortcut='ctrl+alt+N'))
        self.addMenuItem('main/entity/add_entity',
                         dict(label='Create', shortcut='ctrl+shift+N'))
        self.addMenuItem('main/entity/----')
        self.addMenuItem('main/entity/group_entity',
                         dict(label='Group Entites', shortcut='ctrl+G'))
        self.addMenuItem(
            'main/entity/create_group',
            dict(label='Create Empty Group', shortcut='ctrl+shift+G'))
        self.addMenuItem('main/entity/----')
        self.addMenuItem(
            'main/entity/load_prefab',
            dict(label='Load Prefab', shortcut='ctrl+alt+shift+N'))
        self.addMenuItem(
            'main/entity/load_prefab_in_container',
            dict(label='Load Prefab In Container', shortcut='ctrl+shift+='))
        self.addMenuItem('main/entity/----')
        self.addMenuItem('main/entity/remove_entity', dict(label='Remove'))
        self.addMenuItem('main/entity/clone_entity',
                         dict(label='Clone', shortcut='ctrl+d'))
        self.addMenuItem('main/entity/----')
        self.addMenuItem('main/entity/add_component',
                         dict(label='Add Component', shortcut='ctrl+alt+='))
        self.addMenuItem('main/entity/assign_layer',
                         dict(label='Assign Layer', shortcut='ctrl+alt+L'))
        self.addMenuItem('main/entity/toggle_visibility',
                         dict(label='Toggle Visibility', shortcut='ctrl+/'))
        self.addMenuItem('main/entity/freeze_entity_pivot',
                         dict(label='Freeze Pivot'))

        self.addMenuItem('main/entity/----')
        self.addMenuItem('main/find/find_entity',
                         dict(label='Find In Scene', shortcut='ctrl+f'))
        self.addMenuItem('main/find/find_entity_in_group',
                         dict(label='Find In Group', shortcut='ctrl+shift+f'))
        self.addMenuItem('main/find/find_entity_group',
                         dict(label='Find Group', shortcut='ctrl+alt+f'))

        #Toolbars
        self.addTool('scene_graph/select_scene',
                     label='Select Scene',
                     icon='settings')
        self.addTool('scene_graph/----')
        self.addTool('scene_graph/create_group',
                     label='+ Group',
                     icon='add_folder')
        self.addTool('scene_graph/----')
        self.addTool('scene_graph/make_proto',
                     label='Convert To Proto',
                     icon='proto_make')
        self.addTool('scene_graph/create_proto_instance',
                     label='Create Proto Instance',
                     icon='proto_instantiate')
        self.addTool('scene_graph/create_proto_container',
                     label='Create Proto Container',
                     icon='proto_container')
        self.addTool('scene_graph/----')
        self.addTool('scene_graph/fold_all', label='F')
        self.addTool('scene_graph/unfold_all', label='U')
        self.addTool('scene_graph/refresh_tree', label='R')
        # self.addTool( 'scene_graph/load_prefab', label = '+ P' )
        # self.addTool( 'scene_graph/save_prefab', label = '>>P' )

        self.addTool('scene/refresh', label='refresh', icon='refresh')

        #SIGNALS
        signals.connect('moai.clean', self.onMoaiClean)

        signals.connect('scene.clear', self.onSceneClear)
        signals.connect('scene.change', self.onSceneChange)

        signals.connect('selection.changed', self.onSelectionChanged)
        signals.connect('selection.hint', self.onSelectionHint)

        signals.connect('preview.start', self.onPreviewStart)
        signals.connect('preview.stop', self.onPreviewStop)

        # signals.connect( 'animator.start',     self.onAnimatorStart     )
        # signals.connect( 'animator.stop' ,     self.onAnimatorStop      )

        signals.connect('entity.added', self.onEntityAdded)
        signals.connect('entity.removed', self.onEntityRemoved)
        signals.connect('entity.renamed', self.onEntityRenamed)
        signals.connect('entity.modified', self.onEntityModified)
        signals.connect('entity.visible_changed', self.onEntityVisibleChanged)
        signals.connect('entity.pickable_changed',
                        self.onEntityPickableChanged)

        signals.connect('prefab.unlink', self.onPrefabUnlink)
        signals.connect('prefab.relink', self.onPrefabRelink)
        signals.connect('proto.unlink', self.onPrefabUnlink)
        signals.connect('proto.relink', self.onPrefabRelink)

        signals.connect('app.ready', self.postAppReady)

        signals.connect('component.added', self.onComponentAdded)
        signals.connect('component.removed', self.onComponentRemoved)

        signals.connect('project.presave', self.preProjectSave)

        registerSearchEnumerator(sceneObjectSearchEnumerator)
        registerSearchEnumerator(entityNameSearchEnumerator)
        registerSearchEnumerator(componentNameSearchEnumerator)
        registerSearchEnumerator(layerNameSearchEnumerator)
Esempio n. 11
0
	def onLoad( self ):
		self.configPath = self.getProject().getConfigPath( _DEPLOY_CONFIG_FILE )
		#UI
		self.container = self.requestDocumentWindow( 'DeployManager',
			title     = 'Deployment Manager',
			allowDock = False,
			minSize   = ( 300, 300 ),
			maxSize   = ( 300, 300 )
			)

		#Components
		self.window = self.container.addWidgetFromFile( _getModulePath('DeployManager.ui') )

		self.delegate = MOAILuaDelegate( self )
		self.delegate.load( _getModulePath( 'DeployManager.lua' ) )

		#scene tree
		layout = QtGui.QVBoxLayout()
		self.window.containerSceneTree.setLayout( layout )
		layout.setSpacing( 0 )
		layout.setMargin( 0 )

		self.treeScene = DeploySceneTree( 
			self.window.containerSceneTree,
			editable = True,
			sorting  = False,
			multiple_selection = False
			)
		self.treeScene.manager = self
		layout.addWidget( self.treeScene )

		sceneToolbar = QtGui.QToolBar( self.window.containerSceneTree )
		layout.addWidget( sceneToolbar )
		self.sceneTool = self.addToolBar( 'deploy_scene', sceneToolbar )
		self.addTool( 'deploy_scene/add_scene',         label = 'add'     ,icon = 'add'    )
		self.addTool( 'deploy_scene/remove_scene',      label = 'remove'  ,icon = 'remove' )
		self.addTool( 'deploy_scene/move_up_scene',     label = 'up'      ,icon = 'arrow-up'     )
		self.addTool( 'deploy_scene/move_down_scene',   label = 'down'    ,icon = 'arrow-down'   )
		self.addTool( 'deploy_scene/----' )
		self.addTool( 'deploy_scene/edit_scene',   label = 'change target scene' ,icon = 'pencil'   )
		self.addTool( 'deploy_scene/----' )
		self.addTool( 'deploy_scene/set_entry_scene',   label = 'set as entry' ,icon = 'flag'   )

		#deploy target tree
		layout = QtGui.QVBoxLayout()
		self.window.containerTargetTree.setLayout( layout )
		layout.setSpacing( 0 )		
		layout.setMargin( 0 )

		self.treeTarget = DeployTargetTree( 
			self.window.containerTargetTree,
			editable = True,
			multiple_selection = False
			)
		self.treeTarget.manager = self
		layout.addWidget( self.treeTarget )

		targetToolbar = QtGui.QToolBar( self.window.containerTargetTree )
		layout.addWidget( targetToolbar )
		self.targetTool = self.addToolBar( 'deploy_target', targetToolbar )
		self.addTool( 'deploy_target/add_target',    label = '+' )
		self.addTool( 'deploy_target/remove_target', label = '-' )

		#target property
		self.propertyTarget = addWidgetWithLayout(
			PropertyEditor( self.window.containerTargetProp )
		)

		#menu
		self.addMenuItem( 'main/file/----' )
		self.addMenuItem( 'main/file/deploy_manager', 
			dict( label = 'Deploy Manager', shortcut = 'F11' )
			)

		self.addMenuItem( 'main/file/deploy_build', 
			dict( label = 'Deploy Build', shortcut = 'Ctrl+F11' )
			)
		
		
		# self.container.show()
		self.window.buttonOK.clicked.connect( self.onButtonOK )

		#other
		registerSearchEnumerator( deployTargetSearchEnumerator )

		signals.connect( 'project.pre_deploy', self.preDeploy )
		signals.connect( 'project.deploy', self.onDeploy )
		signals.connect( 'project.post_deploy', self.postDeploy )
Esempio n. 12
0
from gii.core import *
from gii.SearchView  import requestSearchView, registerSearchEnumerator

##----------------------------------------------------------------##
def assetCreatorSearchEnumerator( typeId, context, option ):
	if not context in [ 'asset_creator' ] : return None
	result = []
	for creator in AssetLibrary.get().assetCreators:
		entry = ( creator, creator.getLabel(), 'asset_creator', None )
		result.append( entry )
	return result

registerSearchEnumerator( assetCreatorSearchEnumerator  )
Esempio n. 13
0
    def onLoad(self):
        self.container = self.requestDocumentWindow(
            'MockTextureManager',
            title='TextureManager',
            size=(500, 300),
            minSize=(500, 300),
            # allowDock = False
        )
        self.toolbar = self.addToolBar('texture_manager',
                                       self.container.addToolBar())

        self.window = window = self.container.addWidgetFromFile(
            _getModulePath('TextureManager.ui'))

        self.tree = addWidgetWithLayout(
            TextureTreeWidget(window.containerTree,
                              drag_mode='internal',
                              editable=True,
                              multiple_selection=True,
                              expanded=False))
        self.tree.module = self

        self.treeFilter = GenericTreeFilter(window.containerTree)
        window.containerTree.layout().insertWidget(0, self.treeFilter)
        self.treeFilter.setTargetTree(self.tree)

        self.propEditor = addWidgetWithLayout(
            PropertyEditor(window.containerProp))

        self.canvas = addWidgetWithLayout(
            MOCKEditCanvas(window.containerPreview))
        self.canvas.loadScript(_getModulePath('TextureManager.lua'))

        self.addMenuItem('main/asset/----')
        self.addMenuItem('main/asset/texture_manager', {
            'label': 'Texture Manager',
            'on_click': lambda menu: self.setFocus()
        })

        self.addTool('texture_manager/rebuild',
                     label='Rebuild',
                     icon='refresh')
        self.addTool('texture_manager/----')
        self.addTool('texture_manager/add_group',
                     label='Add Group',
                     icon='add')
        self.addTool('texture_manager/remove_group',
                     label='Remove Group',
                     icon='remove')
        self.addTool('texture_manager/----')
        self.addTool('texture_manager/assign_group',
                     label='Assign Group',
                     icon='in')
        self.addTool('texture_manager/----')
        self.addTool('texture_manager/assign_processor',
                     label='Assign Processor',
                     icon='compose')
        self.addTool('texture_manager/clear_processor',
                     label='Clear Processor',
                     icon='remove')
        self.addTool('texture_manager/----')
        self.addTool('texture_manager/apply', label='Apply Changes')

        self.addShortcut(self.container, '=', self.regroupTo)
        self.addShortcut(self.container, '-', self.regroup, 'default')

        self.propEditor.propertyChanged.connect(self.onPropertyChanged)

        registerSearchEnumerator(textureGroupSearchEnumerator)
Esempio n. 14
0
from gii.core import *
from gii.SearchView import requestSearchView, registerSearchEnumerator


##----------------------------------------------------------------##
def assetCreatorSearchEnumerator(typeId, context, option):
    if not context in ['asset_creator']: return None
    result = []
    for creator in AssetLibrary.get().assetCreators:
        entry = (creator, creator.getLabel(), 'asset_creator', None)
        result.append(entry)
    return result


registerSearchEnumerator(assetCreatorSearchEnumerator)
Esempio n. 15
0
    def onLoad(self):
        self.configPath = self.getProject().getConfigPath(_DEPLOY_CONFIG_FILE)
        #UI
        self.container = self.requestDocumentWindow('DeployManager',
                                                    title='Deployment Manager',
                                                    allowDock=False,
                                                    minSize=(300, 300),
                                                    maxSize=(300, 300))

        #Components
        self.window = self.container.addWidgetFromFile(
            _getModulePath('DeployManager.ui'))

        self.delegate = MOAILuaDelegate(self)
        self.delegate.load(_getModulePath('DeployManager.lua'))

        #scene tree
        layout = QtGui.QVBoxLayout()
        self.window.containerSceneTree.setLayout(layout)
        layout.setSpacing(0)
        layout.setMargin(0)

        self.treeScene = DeploySceneTree(self.window.containerSceneTree,
                                         editable=True,
                                         sorting=False,
                                         multiple_selection=False)
        self.treeScene.manager = self
        layout.addWidget(self.treeScene)

        sceneToolbar = QtGui.QToolBar(self.window.containerSceneTree)
        layout.addWidget(sceneToolbar)
        self.sceneTool = self.addToolBar('deploy_scene', sceneToolbar)
        self.addTool('deploy_scene/add_scene', label='add', icon='add')
        self.addTool('deploy_scene/remove_scene',
                     label='remove',
                     icon='remove')
        self.addTool('deploy_scene/move_up_scene', label='up', icon='arrow-up')
        self.addTool('deploy_scene/move_down_scene',
                     label='down',
                     icon='arrow-down')
        self.addTool('deploy_scene/----')
        self.addTool('deploy_scene/edit_scene',
                     label='change target scene',
                     icon='pencil')
        self.addTool('deploy_scene/----')
        self.addTool('deploy_scene/set_entry_scene',
                     label='set as entry',
                     icon='flag')

        #deploy target tree
        layout = QtGui.QVBoxLayout()
        self.window.containerTargetTree.setLayout(layout)
        layout.setSpacing(0)
        layout.setMargin(0)

        self.treeTarget = DeployTargetTree(self.window.containerTargetTree,
                                           editable=True,
                                           multiple_selection=False)
        self.treeTarget.manager = self
        layout.addWidget(self.treeTarget)

        targetToolbar = QtGui.QToolBar(self.window.containerTargetTree)
        layout.addWidget(targetToolbar)
        self.targetTool = self.addToolBar('deploy_target', targetToolbar)
        self.addTool('deploy_target/add_target', label='+')
        self.addTool('deploy_target/remove_target', label='-')

        #target property
        self.propertyTarget = addWidgetWithLayout(
            PropertyEditor(self.window.containerTargetProp))

        #menu
        self.addMenuItem('main/file/----')
        self.addMenuItem('main/file/deploy_manager',
                         dict(label='Deploy Manager', shortcut='F11'))

        self.addMenuItem('main/file/deploy_build',
                         dict(label='Deploy Build', shortcut='Ctrl+F11'))

        # self.container.show()
        self.window.buttonOK.clicked.connect(self.onButtonOK)

        #other
        registerSearchEnumerator(deployTargetSearchEnumerator)

        signals.connect('project.pre_deploy', self.preDeploy)
        signals.connect('project.deploy', self.onDeploy)
        signals.connect('project.post_deploy', self.postDeploy)
Esempio n. 16
0
	def onLoad( self ):
		#UI
		self.windowTitle = 'Scenegraph'
		self.container = self.requestDockWindow( 'SceneGraphEditor',
			title     = 'Scenegraph',
			size      = (200,200),
			minSize   = (200,200),
			dock      = 'left'
			)

		#Components
		self.treeFilter = self.container.addWidget(
			GenericTreeFilter(
				self.container
			),
			expanding = False
		)
		self.tree = self.container.addWidget( 
				SceneGraphTreeWidget( 
					self.container,
					sorting  = True,
					editable = True,
					multiple_selection = True,
					drag_mode = 'internal'
				)
			)
		self.treeFilter.setTargetTree( self.tree )
		self.tree.module = self
		self.tool = self.addToolBar( 'scene_graph', self.container.addToolBar() )
		self.delegate = MOAILuaDelegate( self )
		self.delegate.load( getModulePath( 'SceneGraphEditor.lua' ) )

		self.entityCreatorMenu=self.addMenu(
			'main/scene/entity_create',
			{ 'label':'Create Entity' }
			)

		self.componentCreatorMenu=self.addMenu(
			'main/scene/component_create',
			{ 'label':'Create Component' }
			)


		#menu
		self.addMenuItem(
			'main/file/open_scene', 
			dict( label = 'Open Scene', shortcut = 'ctrl+shift+o' )
			)

		self.addMenuItem( 'main/file/close_scene', 
			dict( label = 'Close Scene', shortcut = 'Ctrl+W' )
			)
		self.addMenuItem( 'main/scene/save_scene',
			dict( label = 'Save', shortcut = 'Ctrl+S' )
			)
		self.addMenuItem( 'main/scene/locate_scene_asset',
			dict( label = 'Locate Scene Asset' )
			)

		self.addMenu( 'main/scene/----' )
		
		self.addMenu( 'component_context', dict( label = 'Selected Component' ) )
		self.addMenuItem( 'component_context/remove_component', 
			dict( label = 'Remove' )
			)

		self.addMenuItem( 'component_context/----' )
		
		self.addMenuItem( 'component_context/copy_component', 
			dict( label = 'Copy' )
			)
		self.addMenuItem( 'component_context/paste_component', 
			dict( label = 'Paste Component Here' )
			)
		self.addMenuItem( 'component_context/----' )
		
		self.addMenuItem( 'component_context/move_component_up', 
			dict( label = 'Move Up' )
			)

		self.addMenuItem( 'component_context/move_component_down', 
			dict( label = 'Move Down' )
			)
		

		self.addMenu( 'main/entity', dict( label = 'Entity' ) )
		self.addMenuItem( 'main/entity/add_empty_entity',    dict( label = 'Create Empty', shortcut = 'ctrl+alt+N' ) )
		self.addMenuItem( 'main/entity/add_entity',          dict( label = 'Create',       shortcut = 'ctrl+shift+N' ) )
		self.addMenuItem( 'main/entity/----' )
		self.addMenuItem( 'main/entity/group_entity',        dict( label = 'Group Entites',    shortcut = 'ctrl+G' ) )
		self.addMenuItem( 'main/entity/create_group',        dict( label = 'Create Empty Group',    shortcut = 'ctrl+shift+G' ) )
		self.addMenuItem( 'main/entity/----' )
		self.addMenuItem( 'main/entity/load_prefab',         dict( label = 'Load Prefab', shortcut = 'ctrl+alt+shift+N' ) )
		self.addMenuItem( 'main/entity/load_prefab_in_container', dict( label = 'Load Prefab In Container', shortcut = 'ctrl+shift+=' ) )
		self.addMenuItem( 'main/entity/----' )
		self.addMenuItem( 'main/entity/remove_entity',       dict( label = 'Remove'  ) )
		self.addMenuItem( 'main/entity/clone_entity',        dict( label = 'Clone',  shortcut = 'ctrl+d' ) )
		self.addMenuItem( 'main/entity/----' )
		self.addMenuItem( 'main/entity/add_component',       dict( label = 'Add Component', shortcut = 'ctrl+alt+=' ) )
		self.addMenuItem( 'main/entity/assign_layer',        dict( label = 'Assign Layer', shortcut = 'ctrl+alt+L' ) )
		self.addMenuItem( 'main/entity/toggle_visibility',   dict( label = 'Toggle Visibility', shortcut = 'ctrl+/' ) )
		self.addMenuItem( 'main/entity/freeze_entity_pivot', dict( label = 'Freeze Pivot' ) )

		self.addMenuItem( 'main/entity/----' )
		self.addMenuItem( 'main/find/find_entity', dict( label = 'Find In Scene', shortcut = 'ctrl+f' ) )
		self.addMenuItem( 'main/find/find_entity_in_group', dict( label = 'Find In Group', shortcut = 'ctrl+shift+f' ) )
		self.addMenuItem( 'main/find/find_entity_group', dict( label = 'Find Group', shortcut = 'ctrl+alt+f' ) )

		#Toolbars
		self.addTool( 'scene_graph/select_scene',    label ='Select Scene', icon = 'settings' )
		self.addTool( 'scene_graph/----'  )
		self.addTool( 'scene_graph/create_group',    label ='+ Group', icon = 'add_folder' )
		self.addTool( 'scene_graph/----'  )
		self.addTool( 'scene_graph/make_proto',    label = 'Convert To Proto', icon = 'proto_make' )
		self.addTool( 'scene_graph/create_proto_instance',    label = 'Create Proto Instance', icon = 'proto_instantiate' )
		self.addTool( 'scene_graph/create_proto_container',    label = 'Create Proto Container', icon = 'proto_container' )
		self.addTool( 'scene_graph/----'  )
		self.addTool( 'scene_graph/fold_all',    label = 'F' )
		self.addTool( 'scene_graph/unfold_all',  label = 'U' )
		self.addTool( 'scene_graph/refresh_tree',  label = 'R' )
		# self.addTool( 'scene_graph/load_prefab', label = '+ P' )
		# self.addTool( 'scene_graph/save_prefab', label = '>>P' )

		self.addTool( 'scene/refresh', label = 'refresh', icon='refresh' )

		#SIGNALS
		signals.connect( 'moai.clean',        self.onMoaiClean        )

		signals.connect( 'scene.clear',       self.onSceneClear      )
		signals.connect( 'scene.change',      self.onSceneChange     )

		signals.connect( 'selection.changed', self.onSelectionChanged )
		signals.connect( 'selection.hint',    self.onSelectionHint    )

		signals.connect( 'preview.start',     self.onPreviewStart     )
		signals.connect( 'preview.stop' ,     self.onPreviewStop      )

		# signals.connect( 'animator.start',     self.onAnimatorStart     )
		# signals.connect( 'animator.stop' ,     self.onAnimatorStop      )

		signals.connect( 'entity.added',      self.onEntityAdded      )
		signals.connect( 'entity.removed',    self.onEntityRemoved    )
		signals.connect( 'entity.renamed',    self.onEntityRenamed    )
		signals.connect( 'entity.modified',    self.onEntityModified    )
		signals.connect( 'entity.visible_changed',    self.onEntityVisibleChanged )
		signals.connect( 'entity.pickable_changed',   self.onEntityPickableChanged )


		signals.connect( 'prefab.unlink',     self.onPrefabUnlink    )
		signals.connect( 'prefab.relink',     self.onPrefabRelink    )
		signals.connect( 'proto.unlink',      self.onPrefabUnlink    )
		signals.connect( 'proto.relink',      self.onPrefabRelink    )

		signals.connect( 'app.ready', self.postAppReady )


		signals.connect( 'component.added',   self.onComponentAdded   )
		signals.connect( 'component.removed', self.onComponentRemoved )

		signals.connect( 'project.presave',   self.preProjectSave )

		registerSearchEnumerator( sceneObjectSearchEnumerator )
		registerSearchEnumerator( entityNameSearchEnumerator )
		registerSearchEnumerator( componentNameSearchEnumerator )
		registerSearchEnumerator( layerNameSearchEnumerator )