Example #1
0
if TYPICAL_GUI_CANVAS:
	# Create canvas for displaying GUI objects
	canvas = viz.addGUICanvas()
	canvas.alignment(viz.ALIGN_CENTER)

	# Set canvas as default so all GUI objects are automatically added to it
	viz.MainWindow.setDefaultGUICanvas(canvas)

	controlPanel = vizinfo.InfoPanel(text='Navigate with WASD', title='Canvas Example')

	controlPanel.addSection('Render Mode')
	radio_world_overlay = controlPanel.addLabelItem('World Overlay', viz.addRadioButton('RenderMode'))
	radio_world = controlPanel.addLabelItem('World', viz.addRadioButton('RenderMode'))
	radio_screen_ortho = controlPanel.addLabelItem('Screen Ortho', viz.addRadioButton('RenderMode'))
	radio_world_overlay.set(1)

	controlPanel.addSeparator()
	manual_cursor = controlPanel.addLabelItem('Manual Cursor',viz.addCheckbox())
	select_world = controlPanel.addItem(viz.addButtonLabel('Select World'))


	canvas.setRenderWorldOverlay([800,600],40,3)

if NODE3D_CANVAS:
	pigeon = viz.addAvatar('pigeon.cfg',scale=[200]*3)
	pigeon.addAction(vizact.spin(0,1,0,45))
	pigeon.enable(viz.DEPTH_TEST,op=viz.OP_ROOT)

	#Add the pigeon to the panel
	panel = vizinfo.InfoPanel('Find the pigeons before they fly away',align=viz.ALIGN_CENTER,fontSize=22,icon=False)
	panel.addItem(pigeon,align=viz.ALIGN_CENTER)
Example #2
0
    def __init__(self, canvas, controller):
        super(LayerMenu, self).__init__(canvas, 'layer', 'Layer Selection')

        # Store controller instance
        self.controller = controller

        #Store region, layer, and mode data from config to populate menu
        self.regions = config.OntologicalGroups.regions  #collections.OrderedDict type
        self.layers = config.OntologicalGroups.layers  #collections.OrderedDict type
        self.modes = config.MenuConfig.Modes
        self.getPanel().fontSize(50)

        #####################
        '''LAYER TAB PANEL SETUP'''
        #####################

        #creating tab panel tp
        byRegionPanel = vizdlg.TabPanel(align=viz.ALIGN_LEFT_TOP,
                                        parent=canvas)

        #creating sub panels for tab panels(all layer data is stored in config.layers) storing sub panels in laypan
        layPan = {}

        for i, l in enumerate(self.regions.iteritems()):
            layPan[l[0]] = vizdlg.GridPanel(parent=canvas, fontSize=50)

        #creating dict of checkboxes for layers
        self.checkBox = {}

        for key in self.regions.iterkeys():
            self.checkBox[key] = {}
            for cb in self.layers.iterkeys():
                self.checkBox[key][cb] = viz.addCheckbox(parent=canvas)

        #remove checkboxes from non-functioning region-layer selections
        for key in config.MenuConfig.RemoveCheckFromTab.iterkeys():
            for cb in config.MenuConfig.RemoveCheckFromTab[key]:
                self.checkBox[key][cb].disable()

        #populate panels with layers and checkboxes
        for i in self.regions.iterkeys():
            for j in self.layers.iterkeys():
                layPan[i].addRow([viz.addText(j), self.checkBox[i][j]])
            byRegionPanel.addPanel(i, layPan[i], align=viz.ALIGN_LEFT_TOP)

        #############################################
        """CREATE TOTAL LAYER SELECTION CHECKBOXES"""
        #############################################

        #creating grib panel to put checkboxes on
        selectAllPanel = vizdlg.GridPanel(parent=canvas, fontSize=50)

        #creating checkboxes
        self.selectAllOf = {}

        for i in self.layers.iterkeys():
            self.selectAllOf[i] = viz.addCheckbox(parent=canvas)

        #adding checkboxes to panel
        for i in self.layers:
            selectAllPanel.addRow([
                viz.addText('Load All ' + i, fontSize=50), self.selectAllOf[i]
            ])

        ###################################
        '''CREATE START AND STOP BUTTONS'''
        ###################################

        #creating grid panels to add start and back buttons to
        setGrid = vizdlg.GridPanel(parent=canvas)

        #create back and start buttons and add to grid panel
        backButton = viz.addButtonLabel('Back')
        startButton = viz.addButtonLabel('Start')
        setGrid.addRow([backButton, startButton])

        #add back and state button actions
        vizact.onbuttondown(backButton, self.controller.backMenu)
        vizact.onbuttondown(startButton,
                            lambda: viztask.schedule(self.controller.start))

        ############################
        '''ADD ITEMS TO GAME MENU'''
        ############################

        #add tab panel to info panel
        byRegionPanel.setCellPadding(5)
        self.addItem(byRegionPanel, align=viz.ALIGN_LEFT_TOP)

        #add grid panel to info panel
        self.addItem(selectAllPanel, align=viz.ALIGN_LEFT_TOP)

        #start and back buttons
        self.addItem(setGrid, align=viz.ALIGN_RIGHT_TOP)

        #change scale depending on display mode
        self.setScale(*[i * config.menuScale[self.name] for i in [1, 1, 1]])

        #rendering
        bb = self.getBoundingBox()
        self.canvas.setRenderWorldOverlay([bb.width * 1.8, bb.height * 1.8],
                                          fov=bb.height * .1,
                                          distance=1)

        #############################
        """BUTTON CALLBACK"""
        #############################

        viz.callback(viz.BUTTON_EVENT, controller.onAllSelection)
Example #3
0
	def __init__(self,canvas):
		vizinfo.InfoPanel.__init__(self, '',title = 'Game Menu',fontSize = 100,align=viz.ALIGN_CENTER_CENTER,icon=False,parent= canvas)
		self.layers = config.layers
		self.modes = config.modes
		
		self.name = 'game'
		self.canvas = canvas
		self.active = False
		self.getPanel().fontSize(50)
		self.setPanelVisible(viz.OFF, animate = False)

		self.menuVisible = False	
		
		#####################
		'''LAYER TAB PANEL SETUP'''
		#####################
		
		#creating tab panel tp 
		tp = vizdlg.TabPanel(align = viz.ALIGN_LEFT_TOP, parent = canvas)
		
		#creating sub panels for tab panels(all layer data is stored in config.layers) storing sub panels in laypan
		layPan = {}
		
		for i, l in enumerate(self.layers):
			layPan[l] = vizdlg.GridPanel(parent = canvas)
		
		#creating dict of checkboxes for layers
		self.checkBox = {}
		
		for cb in [cb for l in self.layers.values() for cb in l]:
			self.checkBox[cb] = viz.addCheckbox(parent = canvas)
		
		#add layers and textboxes to panels
		for i in self.layers:
			for j in self.layers[i]:
				layPan[i].addRow([viz.addText(j), self.checkBox[j]])
			tp.addPanel(i, layPan[i], align = viz.ALIGN_LEFT_TOP)
		
		###############################################
		'''CREATING MODES PANEL'''
		###############################################
		
		#creating labels for modes
		self.modeLabels = {}
		
		for l in self.modes.keys():
			self.modeLabels[l] = viz.addText(l, parent = canvas)
		
		#creating radio buttons for modes
		self.modeGroup = viz.addGroup(parent = canvas)
		self.radioButtons = {}
		
		for rb in self.modes.keys():
			self.radioButtons[rb] = viz.addRadioButton(self.modeGroup, parent = canvas)
		
		#creating grid panel to add mode to
		modeGrid = vizdlg.GridPanel(parent = canvas)
		
		#adding modes and radio buttons to grid panel
		for i in self.modes.keys():
			modeGrid.addRow([self.modeLabels[i], self.radioButtons[i]])
		
		###################################
		'''CREATE START AND STOP BUTTONS'''
		###################################
		
		#creating grid panels to add start and back buttons to
		setGrid = vizdlg.GridPanel(parent = canvas)
		
		#create back and start buttons and add to grid panel
		backButton = viz.addButtonLabel('Back')
		startButton = viz.addButtonLabel('Start')
		setGrid.addRow([backButton, startButton])
		
		#add back and state button actions
		vizact.onbuttondown(backButton, self.back)
		vizact.onbuttondown(startButton, self.start)
		
		############################
		'''ADD ITEMS TO GAME MENU'''
		############################
		
		#directions
		self.addItem(viz.addText('Select Parts of the Skeletal System You Wish to Puzzle and Select a Mode:', parent = canvas), fontSize = 30, align = viz.ALIGN_LEFT_TOP)
		
		#add tab panel to info panel
		tp.setCellPadding(5)
		self.addItem(tp, align = viz.ALIGN_LEFT_TOP)
		
		#modes
		self.addItem(modeGrid, align = viz.ALIGN_LEFT_TOP)
	
		#start and back buttons
		self.addItem(setGrid, align = viz.ALIGN_RIGHT_TOP)
		
		#change scale depending on display mode
		self.setScale(*[i*config.menuScale[self.name] for i in [1,1,1]])
		
		#rendering
		bb = self.getBoundingBox()
		self.canvas.setRenderWorldOverlay([bb.width*1.8, bb.height*1.8], fov = bb.height*.1, distance = 1)
Example #4
0
	def __init__(self,canvas,controller):
		super(LayerMenu, self).__init__(canvas, 'layer', 'Layer Selection')
		
		# Store controller instance
		self.controller = controller
		
		#Store region, layer, and mode data from config to populate menu
		self.regions = config.OntologicalGroups.regions #collections.OrderedDict type
		self.layers = config.OntologicalGroups.layers #collections.OrderedDict type
		self.modes = config.MenuConfig.Modes
		self.getPanel().fontSize(50)
		
		#####################
		'''LAYER TAB PANEL SETUP'''
		#####################
		
		#creating tab panel tp 
		byRegionPanel = vizdlg.TabPanel(align = viz.ALIGN_LEFT_TOP, parent = canvas)
		
		#creating sub panels for tab panels(all layer data is stored in config.layers) storing sub panels in laypan
		layPan = {}
		
		for i, l in enumerate(self.regions.iteritems()):
			layPan[l[0]] = vizdlg.GridPanel(parent = canvas, fontSize = 50)
		
		#creating dict of checkboxes for layers
		self.checkBox = {}
		
		for key in self.regions.iterkeys():
			self.checkBox[key] = {}
			for cb in self.layers.iterkeys():
				self.checkBox[key][cb] = viz.addCheckbox(parent = canvas)
				
		#remove checkboxes from non-functioning region-layer selections
		for key in config.MenuConfig.RemoveCheckFromTab.iterkeys():
			for cb in config.MenuConfig.RemoveCheckFromTab[key]:
				self.checkBox[key][cb].disable()
		
		#populate panels with layers and checkboxes
		for i in self.regions.iterkeys():
			for j in self.layers.iterkeys():
				layPan[i].addRow([viz.addText(j), self.checkBox[i][j]])
			byRegionPanel.addPanel(i, layPan[i], align = viz.ALIGN_LEFT_TOP)
		
		#############################################
		"""CREATE TOTAL LAYER SELECTION CHECKBOXES"""
		#############################################
		
		#creating grib panel to put checkboxes on
		selectAllPanel = vizdlg.GridPanel(parent = canvas, fontSize = 50)
		
		#creating checkboxes
		self.selectAllOf = {}
		
		for i in self.layers.iterkeys():
			self.selectAllOf[i] = viz.addCheckbox(parent = canvas)
		
		#adding checkboxes to panel
		for i in self.layers:
			selectAllPanel.addRow([viz.addText('Load All ' + i, fontSize = 50), self.selectAllOf[i]])
		
		###################################
		'''CREATE START AND STOP BUTTONS'''
		###################################
		
		#creating grid panels to add start and back buttons to
		setGrid = vizdlg.GridPanel(parent = canvas)
		
		#create back and start buttons and add to grid panel
		backButton = viz.addButtonLabel('Back')
		startButton = viz.addButtonLabel('Start')
		setGrid.addRow([backButton, startButton])
		
		#add back and state button actions
		vizact.onbuttondown(backButton, self.controller.backMenu)
		vizact.onbuttondown(startButton, lambda: viztask.schedule(self.controller.start))
		
		############################
		'''ADD ITEMS TO GAME MENU'''
		############################
		
		#add tab panel to info panel
		byRegionPanel.setCellPadding(5)
		self.addItem(byRegionPanel, align = viz.ALIGN_LEFT_TOP)
		
		#add grid panel to info panel
		self.addItem(selectAllPanel, align = viz.ALIGN_LEFT_TOP)
	
		#start and back buttons
		self.addItem(setGrid, align = viz.ALIGN_RIGHT_TOP)
		
		#change scale depending on display mode
		self.setScale(*[i*config.menuScale[self.name] for i in [1,1,1]])
		
		#rendering
		bb = self.getBoundingBox()
		self.canvas.setRenderWorldOverlay([bb.width*1.8, bb.height*1.8], fov = bb.height*.1, distance = 1)

		#############################
		"""BUTTON CALLBACK"""
		#############################
		
		viz.callback(viz.BUTTON_EVENT, controller.onAllSelection)
Example #5
0
    def __init__(self, canvas):
        vizinfo.InfoPanel.__init__(self,
                                   '',
                                   title='Game Menu',
                                   fontSize=100,
                                   align=viz.ALIGN_CENTER_CENTER,
                                   icon=False,
                                   parent=canvas)
        self.layers = config.layers
        self.modes = config.modes

        self.name = 'game'
        self.canvas = canvas
        self.active = False
        self.getPanel().fontSize(50)
        self.setPanelVisible(viz.OFF, animate=False)

        self.menuVisible = False

        #####################
        '''LAYER TAB PANEL SETUP'''
        #####################

        #creating tab panel tp
        tp = vizdlg.TabPanel(align=viz.ALIGN_LEFT_TOP, parent=canvas)

        #creating sub panels for tab panels(all layer data is stored in config.layers) storing sub panels in laypan
        layPan = {}

        for i, l in enumerate(self.layers):
            layPan[l] = vizdlg.GridPanel(parent=canvas)

        #creating dict of checkboxes for layers
        self.checkBox = {}

        for cb in [cb for l in self.layers.values() for cb in l]:
            self.checkBox[cb] = viz.addCheckbox(parent=canvas)

        #add layers and textboxes to panels
        for i in self.layers:
            for j in self.layers[i]:
                layPan[i].addRow([viz.addText(j), self.checkBox[j]])
            tp.addPanel(i, layPan[i], align=viz.ALIGN_LEFT_TOP)

        ###############################################
        '''CREATING MODES PANEL'''
        ###############################################

        #creating labels for modes
        self.modeLabels = {}

        for l in self.modes.keys():
            self.modeLabels[l] = viz.addText(l, parent=canvas)

        #creating radio buttons for modes
        self.modeGroup = viz.addGroup(parent=canvas)
        self.radioButtons = {}

        for rb in self.modes.keys():
            self.radioButtons[rb] = viz.addRadioButton(self.modeGroup,
                                                       parent=canvas)

        #creating grid panel to add mode to
        modeGrid = vizdlg.GridPanel(parent=canvas)

        #adding modes and radio buttons to grid panel
        for i in self.modes.keys():
            modeGrid.addRow([self.modeLabels[i], self.radioButtons[i]])

        ###################################
        '''CREATE START AND STOP BUTTONS'''
        ###################################

        #creating grid panels to add start and back buttons to
        setGrid = vizdlg.GridPanel(parent=canvas)

        #create back and start buttons and add to grid panel
        backButton = viz.addButtonLabel('Back')
        startButton = viz.addButtonLabel('Start')
        setGrid.addRow([backButton, startButton])

        #add back and state button actions
        vizact.onbuttondown(backButton, self.back)
        vizact.onbuttondown(startButton, self.start)

        ############################
        '''ADD ITEMS TO GAME MENU'''
        ############################

        #directions
        self.addItem(viz.addText(
            'Select Parts of the Skeletal System You Wish to Puzzle and Select a Mode:',
            parent=canvas),
                     fontSize=30,
                     align=viz.ALIGN_LEFT_TOP)

        #add tab panel to info panel
        tp.setCellPadding(5)
        self.addItem(tp, align=viz.ALIGN_LEFT_TOP)

        #modes
        self.addItem(modeGrid, align=viz.ALIGN_LEFT_TOP)

        #start and back buttons
        self.addItem(setGrid, align=viz.ALIGN_RIGHT_TOP)

        #change scale depending on display mode
        self.setScale(*[i * config.menuScale[self.name] for i in [1, 1, 1]])

        #rendering
        bb = self.getBoundingBox()
        self.canvas.setRenderWorldOverlay([bb.width * 1.8, bb.height * 1.8],
                                          fov=bb.height * .1,
                                          distance=1)