Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
    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()