def __init__(self): # get a logger self.log = logging.getLogger("GTK_Main") # save init values self.fullscreen = False # this is technicaly not consistant as it is not chnaged on system uests self.robot = Robot(self.BT_ADDRESS) self.feed_radio = "real" self.fix_colour = False self.half_time = False # do some jazz to see if we are on dice and or video pc self.hostname = gethostname() self.are_in_inf = False self.are_on_vision_pc = False if self.hostname.endswith("inf.ed.ac.uk"): self.are_in_inf = True if self.hostname.split(".")[0] in [ "lappy", "mitsubishi", "lexus", "honda" ]: self.are_on_vision_pc = True # setup the window builder = gtk.Builder() builder.add_from_file("main_ui.xml") self.window = builder.get_object("window_main") # change out the image with are video widget video_holder_box = builder.get_object("box_videoHolder") video_holder_img = builder.get_object("image_videoHolder") self.gst = GstDrawingArea() video_holder_box.remove(video_holder_img) video_holder_box.add(self.gst) # connect to GUI events self.window.set_events(gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK) self.window.connect("key_press_event", self.on_key_press) self.window.connect("key_release_event", self.on_key_release) self.window.connect("destroy", self.clean_quit) builder.connect_signals(self) # get all wigets that are needed later self.table_manualControl = builder.get_object("table_manualControl") # show the GUI self.gst.show() self.window.show() self.log.debug("GTK windows complete")
def __init__(self): # save init values self.fullscreen = False # this is technicaly not consistant as it is not chnaged on system uests self.robot = None self.log = logging.getLogger("GTK_Main") self.state = self.STATE_IDLE # do some jazz to see if we are on dice and or video pc self.hostname = gethostname() self.are_in_inf = False self.are_on_vision_pc = False if self.hostname.endswith("inf.ed.ac.uk"): self.are_in_inf = True if self.hostname.split(".")[0] in [ "lappy", "mitsubishi", "lexus", "honda" ]: self.are_on_vision_pc = True # setup the window self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title("SDP 6") self.window.set_default_size(850, 400) self.window.set_events(gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK) self.window.connect("key_press_event", self.on_key_press) self.window.connect("key_release_event", self.on_key_release) self.window.connect("destroy", self.clean_quit) # add widgets root_widget = gtk.HBox() self.window.add(root_widget) vbox_rightpanel = gtk.VBox() root_widget.add(vbox_rightpanel) vbox_leftpanel = gtk.VBox() vbox_leftpanel.set_size_request(150, 0) root_widget.add(vbox_leftpanel) hbox_rightpanel_top = gtk.HBox() vbox_rightpanel.add(hbox_rightpanel_top) hbox_rightpanel_bottom = gtk.HBox() hbox_rightpanel_bottom.set_size_request(0, 100) vbox_rightpanel.add(hbox_rightpanel_bottom) hbox_leftpanel_feed = gtk.HBox() hbox_leftpanel_feed.set_size_request(150, 0) vbox_leftpanel.add(hbox_leftpanel_feed) self.button = gtk.ToggleButton("Start Feed") self.button.connect("clicked", self.start_stop) hbox_leftpanel_feed.add(self.button) vbox_leftpanel_feed_radio = gtk.VBox() hbox_leftpanel_feed.add(vbox_leftpanel_feed_radio) radio1 = gtk.RadioButton(group=None, label="Real") radio1.set_active(True) radio1.connect("toggled", self.radio_feed_change) vbox_leftpanel_feed_radio.add(radio1) self.feed_radio = "real" radio2 = gtk.RadioButton(group=radio1, label="Test") vbox_leftpanel_feed_radio.add(radio2) self.button_fixcolour = gtk.ToggleButton("Fix Colour") hbox_leftpanel_feed.add(self.button_fixcolour) button = gtk.Button("Save Frame") button.connect("clicked", self.save_frame) vbox_leftpanel.add(button) self.button_connect = gtk.ToggleButton("Connect") self.button_connect.connect("clicked", self.__connect) vbox_leftpanel.add(self.button_connect) for i in range(0, 4): button = gtk.Button("test " + str(i)) vbox_leftpanel.add(button) self.gst = GstDrawingArea() hbox_rightpanel_top.add(self.gst) #self.vte = vte.Terminal() #self.vte.connect ("child-exited", self.respawn_vte) #self.vte.fork_command() #hbox_rightpanel_bottom.add(self.vte) self.window.show_all() self.log.debug("GTK windows complete")