From 5f15a4f9286befff3bc0fa745efa318e25bae13d Mon Sep 17 00:00:00 2001 From: eblade Date: Mon, 27 Oct 2008 06:29:39 -0400 Subject: [PATCH] Configuration.py: add "bgcolor" and "fgcolor" to node HUD: table hud and stat windows respect "bgcolor" and "fgcolor" on a per site basis Tables: force tw.number to be an int in Unix --- pyfpdb/Configuration.py | 8 ++++++++ pyfpdb/HUD_main.py | 1 - pyfpdb/Hud.py | 21 ++++++++++++++++++--- pyfpdb/Tables.py | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/pyfpdb/Configuration.py b/pyfpdb/Configuration.py index 4e29dba1..c6262c54 100755 --- a/pyfpdb/Configuration.py +++ b/pyfpdb/Configuration.py @@ -53,6 +53,14 @@ class Site: self.site_path = node.getAttribute("site_path") self.HH_path = node.getAttribute("HH_path") self.decoder = node.getAttribute("decoder") + + self.hudbgcolor = node.getAttribute("bgcolor") + if self.hudbgcolor == "": + self.hudbgcolor = "#FFFFFF" + self.hudfgcolor = node.getAttribute("fgcolor") + if self.hudfgcolor == "": + self.hudfgcolor = "#000000" + self.layout = {} for layout_node in node.getElementsByTagName('layout'): diff --git a/pyfpdb/HUD_main.py b/pyfpdb/HUD_main.py index 8217deb5..a157cf46 100644 --- a/pyfpdb/HUD_main.py +++ b/pyfpdb/HUD_main.py @@ -29,7 +29,6 @@ Main for FreePokerTools HUD. # to do no hud window for hero # to do things to add to config.xml # to do font and size -# to do bg and fg color # to do opacity # Standard Library modules diff --git a/pyfpdb/Hud.py b/pyfpdb/Hud.py index c4099b5b..940050ac 100644 --- a/pyfpdb/Hud.py +++ b/pyfpdb/Hud.py @@ -59,9 +59,9 @@ class Hud: self.stat_windows = {} self.popup_windows = {} self.font = pango.FontDescription("Sans 8") - + # Set up a main window for this this instance of the HUD - self.main_window = gtk.Window() + self.main_window = gtk.Window() # self.window.set_decorated(0) self.main_window.set_gravity(gtk.gdk.GRAVITY_STATIC) #self.main_window.set_keep_above(True) @@ -72,8 +72,15 @@ class Hud: self.ebox = gtk.EventBox() self.label = gtk.Label("Right click to close HUD for %s\nor Save Stat Positions." % (table.name)) + + self.label.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(config.supported_sites[self.table.site].hudbgcolor)) + self.label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse(config.supported_sites[self.table.site].hudfgcolor)) + self.main_window.add(self.ebox) self.ebox.add(self.label) + self.ebox.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(config.supported_sites[self.table.site].hudbgcolor)) + self.ebox.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse(config.supported_sites[self.table.site].hudfgcolor)) + self.main_window.move(self.table.x, self.table.y) # A popup window for the main window @@ -351,9 +358,17 @@ class Stat_Window: self.label.append([]) for c in range(self.game.cols): self.e_box[r].append( gtk.EventBox() ) + + self.e_box[r][c].modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(parent.config.supported_sites[self.table.site].hudbgcolor)) + self.e_box[r][c].modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse(parent.config.supported_sites[self.table.site].hudfgcolor)) + Stats.do_tip(self.e_box[r][c], 'farts') self.grid.attach(self.e_box[r][c], c, c+1, r, r+1, xpadding = 0, ypadding = 0) self.label[r].append( gtk.Label('xxx') ) + + self.label[r][c].modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(parent.config.supported_sites[self.table.site].hudbgcolor)) + self.label[r][c].modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse(parent.config.supported_sites[self.table.site].hudfgcolor)) + self.e_box[r][c].add(self.label[r][c]) self.e_box[r][c].connect("button_press_event", self.button_press_cb) # font = pango.FontDescription("Sans 8") @@ -544,7 +559,7 @@ if __name__== "__main__": c = Configuration.Config() #tables = Tables.discover(c) - t = Tables.discover_table_by_name(c, "Corona") + t = Tables.discover_table_by_name(c, "Chelsea") if t is None: print "Table not found." db = Database.Database(c, 'fpdb', 'holdem') diff --git a/pyfpdb/Tables.py b/pyfpdb/Tables.py index a5090fd7..752c5929 100644 --- a/pyfpdb/Tables.py +++ b/pyfpdb/Tables.py @@ -96,7 +96,7 @@ def discover_posix(c): if re.match('[\(\)\d\s]+', mo.group(2)): continue # this is a popup tw = Table_Window() tw.site = c.supported_sites[s].site_name - tw.number = mo.group(1) + tw.number = int(mo.group(1), 0) tw.title = mo.group(2) tw.width = int( mo.group(3) ) tw.height = int( mo.group(4) )