def __init__(self): Gtk.HBox.__init__(self) self.set_size_request(ITEM_SIZE * 6, ITEM_SIZE * 2) vbox1 = Gtk.VBox() self.pack_start(vbox1, False, False, 20) vbox2 = Gtk.VBox() self.pack_start(vbox2, False, False, 20) index = 0 for category in get_all_categories(): color = get_color_by_type(category) box = Gtk.HBox() if index <= 5: vbox1.pack_start(box, False, False, 0) else: vbox2.pack_start(box, False, False, 0) cbox = Gtk.EventBox() cbox.set_size_request(15, 15) cbox.modify_bg(Gtk.StateType.NORMAL, color) box.pack_start(cbox, False, False, 8) label = Gtk.Label(get_category_name(category)) label.modify_font(Pango.FontDescription("8")) box.pack_start(label, False, False, 0) index += 1 self.show_all()
def __init__(self, element): Gtk.EventBox.__init__(self) self.modify_bg( Gtk.StateType.NORMAL, get_color_by_type(element["category"]) ) self.vbox = Gtk.VBox() self.add(self.vbox) hbox = Gtk.HBox() self.vbox.pack_start(hbox, False, False, 0) label = Gtk.Label(element["atomic-mass"]) label.modify_font(Pango.FontDescription("8")) label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) label.set_margin_left(8) hbox.pack_start(label, False, False, 0) label = Gtk.Label(str(element["number"])) label.props.xalign = 1 label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) label.set_margin_top(8) label.set_margin_right(8) label.modify_font(Pango.FontDescription("12")) hbox.pack_end(label, False, False, 0) label = Gtk.Label(element["symbol"]) label.modify_font(Pango.FontDescription("26")) label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) label.props.xalign = 0.1 self.vbox.pack_start(label, False, False, 0) label = Gtk.Label(element["name"]) label.modify_font(Pango.FontDescription("10")) label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) label.props.xalign = 0.1 self.vbox.pack_start(label, False, False, 0) self.show_all()
def __init__(self, element): Gtk.EventBox.__init__(self) self.element = element self.color = get_color_by_type(element["category"]) self.labels = [] self._current_color = self.color self.active = True self.set_size_request(ITEM_SIZE, ITEM_SIZE) self.modify_bg(Gtk.StateType.NORMAL, self.color) self.add_events(Gdk.EventMask.ENTER_NOTIFY_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.connect("enter-notify-event", self.__enter_cb) self.connect("leave-notify-event", self.__leave_cb) self.connect("button-release-event", self.__release_cb) self.vbox = Gtk.VBox() self.add(self.vbox) label = Gtk.Label(str(element["number"])) label.props.xalign = 1 label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) label.set_margin_top(2) label.set_margin_right(2) self.vbox.pack_start(label, False, False, 0) self.labels.append(label) label = Gtk.Label(element["symbol"]) label.modify_font(Pango.FontDescription("Bold 15")) label.modify_fg(Gtk.StateType.NORMAL, Gdk.Color(0, 0, 0)) self.vbox.pack_start(label, False, False, 0) self.labels.append(label) self.show_all()