コード例 #1
0
    def _init_ui(self):
        logger.info("Initialising GTK UI")
        self.area = VirtualLCD(self)
        # self.area.connect("expose_event", self._expose)
        self.hboxes = []
        self.buttons = {}
        zoomed_size = self.get_zoomed_size()
        self.area.set_size_request(zoomed_size[0], zoomed_size[1])
        self.vbox = gtk.VBox()
        self.vbox.add(self.area)
        rows = gtk.VBox()
        for row in self.get_key_layout():
            hbox = gtk.HBox()
            for key in row:
                key_text = " ".join(g15driver.get_key_names(list(key)))
                g_button = gtk.Button(key_text)
                g_button.connect("pressed", self._simulate_key, key,
                                 g15driver.KEY_STATE_DOWN)
                g_button.connect("released", self._simulate_key, key,
                                 g15driver.KEY_STATE_UP)
                hbox.add(g_button)
                self.buttons[key] = g_button
            rows.add(hbox)

        self.event_box = gtk.EventBox()
        self.event_box.add(rows)
        self.vbox.add(self.event_box)

        # self.main_window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.main_window = gtk.Window(gtk.WindowType.TOPLEVEL)
        self.main_window.set_title("Gnome15")
        self.main_window.set_icon_from_file(
            g15icontools.get_app_icon(self.conf_client, "gnome15"))
        self.main_window.add(self.vbox)
        self.main_window.connect("delete-event", self._window_closed)

        control = self.get_control_for_hint(g15driver.HINT_DIMMABLE)
        if control:
            if isinstance(control.value, int):
                v = (65535 / control.upper) * control.value
                # self.event_box.modify_bg(gtk.STATE_NORMAL, gdk.Color(v, v, v))
                self.event_box.modify_bg(gtk.StateType.NORMAL,
                                         gdk.Color(v, v, v))
            else:
                # self.event_box.modify_bg(
                #     gtk.STATE_NORMAL,
                #     gdk.Color(
                #         control.value[0] << 8,
                #         control.value[1] << 8,
                #         control.value[2] << 8)
                # )
                self.event_box.modify_bg(
                    gtk.StateType.NORMAL,
                    gdk.Color(control.value[0] << 8, control.value[1] << 8,
                              control.value[2] << 8))

        self.main_window.show_all()
        logger.info("Initialised GTK UI")
        self.connected = True
        logger.info("Connected")
コード例 #2
0
ファイル: lens.py プロジェクト: AgenttiX/gnome15
 def _on_sections_synchronized(self, sections_model, *args):
     # Column0: display name
     # Column1: GIcon in string format
     sections_model.clear()
     for device in g15devices.find_all_devices():
         if device.model_id == 'virtual':
             icon_file = g15icontools.get_icon_path([
                 "preferences-system-window", "preferences-system-windows",
                 "gnome-window-manager", "window_fullscreen"
             ])
         else:
             icon_file = g15icontools.get_app_icon(self._gconf_client,
                                                   device.model_id)
         icon = Gio.FileIcon(Gio.File(icon_file))
         sections_model.append(device.model_fullname, icon.to_string())
コード例 #3
0
ファイル: driver_gtk.py プロジェクト: FPar/gnome15
 def _init_ui(self):
     logger.info("Initialising GTK UI")
     self.area = VirtualLCD(self)
     #self.area.connect("expose_event", self._expose)
     self.hboxes = []
     self.buttons = {}
     zoomed_size = self.get_zoomed_size()
     self.area.set_size_request(zoomed_size[0], zoomed_size[1])        
     self.vbox = gtk.VBox ()            
     self.vbox.add(self.area)
     rows = gtk.VBox()
     for row in self.get_key_layout():
         hbox = gtk.HBox()
         for key in row:
             key_text = " ".join(g15driver.get_key_names(list(key)))
             g_button = gtk.Button(key_text)
             g_button.connect("pressed", self._simulate_key, key, g15driver.KEY_STATE_DOWN)
             g_button.connect("released", self._simulate_key, key, g15driver.KEY_STATE_UP)
             hbox.add(g_button)
             self.buttons[key] = g_button
         rows.add(hbox)
         
     self.event_box = gtk.EventBox()
     self.event_box.add(rows)
     self.vbox.add(self.event_box)
     
     self.main_window = gtk.Window(gtk.WINDOW_TOPLEVEL)
     self.main_window.set_title("Gnome15") 
     self.main_window.set_icon_from_file(g15icontools.get_app_icon(self.conf_client, "gnome15"))
     self.main_window.add(self.vbox)
     self.main_window.connect("delete-event", self._window_closed)
     
     control = self.get_control_for_hint(g15driver.HINT_DIMMABLE) 
     if control:       
         if isinstance(control.value, int):
             v = ( 65535 / control.upper ) * control.value
             self.event_box.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(v, v, v))
         else:
             self.event_box.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(control.value[0] << 8, control.value[1] << 8, control.value[2] << 8))
     
     self.main_window.show_all()
     logger.info("Initialised GTK UI")
     self.connected = True
     logger.info("Connected")
コード例 #4
0
def get_app_icon(gconf_client, icon, size=128):
    return g15icontools.get_app_icon(gconf_client, icon, size)