コード例 #1
0
ファイル: imperian_gui.py プロジェクト: dmoggles/pymudclient
class CountdownTimer(BlackEventBox):
    def __init__(self, max_value):
        BlackEventBox.__init__(self)
        self.l = FormattedLabel(0)
        self.l.modify_font(pango.FontDescription("monospace 12"))

        self.max_value = max_value
        self.add(self.l)

    def set_value(self, value):
        self.l.set_text("%0.2f" % value)
        if value > self.max_value:
            self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.RED))
            self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.OFF_WHITE))
        else:
            self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.BG_BLACK))
            if value == 0:
                self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.OFF_WHITE))
            elif value < 0.25 * self.max_value:
                self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.GREEN))
            elif value < 0.5 * self.max_value:
                self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.YELLOW))
            elif value < 0.75 * self.max_value:
                self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.ORANGE))
            else:
                self.l.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.RED))
コード例 #2
0
ファイル: imperian_gui.py プロジェクト: dmoggles/pymudclient
class ToggleLabel(BlackEventBox):
    def __init__(self, label, color):
        BlackEventBox.__init__(self)
        self.label = FormattedLabel(label)
        self.color = color
        self.label.modify_font(pango.FontDescription("monospace 12"))
        self.label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(self.color))
        self.add(self.label)

    def set_state(self, state):
        if state:
            self.label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.BG_BLACK))
            self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(self.color))
        else:
            self.label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(self.color))
            self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(ge.BG_BLACK))