def show_blankScreen(self, shouldDisplay): if shouldDisplay: print ("Showing blank projection") self.blankScreen = BlankScreen(self) elif self.blankScreen: self.blankScreen.hide()
class MobileEyeUI: def __init__(self): self.gladefile = "./ui/MobileEyeProjectorUI.glade" self.wTree = gtk.glade.XML(self.gladefile) self.window = self.wTree.get_widget("RootWindow") self.window.fullscreen() self.isFullscreen = True self.window.connect("key_press_event", self.on_RootWindow_key_press_event) self.bluetoothLabel = self.wTree.get_widget("bluetoothLabel") self.bluetoothLabel.set_text("Initialising Program") self.window.show() self.bluetoothThread = BluetoothThread.BluetoothThread( self.update_bluetooth_label, self.show_blankScreen, self.show_markers, self.change_markers ) if self.window: self.window.connect("destroy", self.on_RootWindow_destroy) def on_RootWindow_destroy(self, widget): self.close_program() def on_RootWindow_key_press_event(self, widget, event): # keyname = gtk.gdk.keyval_name(event.keyval) # print "Key %s (%d) was pressed" % (keyname, event.keyval) if event.keyval == 65307: # Escape Key Pressed print "Escape Key Pressed" self.close_program() elif event.keyval == 102: if self.isFullscreen == True: self.window.unfullscreen() self.isFullscreen = False else: self.window.fullscreen() self.isFullscreen = True elif event.keyval == 114: self.bluetoothThread.signal_reset_connection() def close_program(self): self.bluetoothThread.signal_kill_thread() self.bluetoothLabel.set_text("Waiting for Bluetooth Socket to close") while gtk.events_pending(): gtk.main_iteration(block=False) self.bluetoothThread.join() gtk.main_quit() def update_bluetooth_label(self, msg): self.bluetoothLabel.set_text(msg) def startBluetoothThread(self): self.bluetoothThread.start() def show_blankScreen(self, shouldDisplay): if shouldDisplay: print ("Showing blank projection") self.blankScreen = BlankScreen(self) elif self.blankScreen: self.blankScreen.hide() def show_markers(self, shouldDisplay, rotationAngle): print ("Showing markers") if self.blankScreen: self.blankScreen.show_markers(shouldDisplay, rotationAngle) def change_markers(self, cornerCoords): print ("Changing markers") if self.blankScreen: self.blankScreen.change_marker(cornerCoords) def send_bluetooth_msg(self, msg): self.bluetoothThread.send(msg)