Merge branch 'master' of git://git.assembla.com/fpdb-eric

This commit is contained in:
Worros 2008-10-27 20:14:38 +09:00
commit 5809f28daf
4 changed files with 46 additions and 9 deletions

View File

@ -53,6 +53,20 @@ class Site:
self.site_path = node.getAttribute("site_path")
self.HH_path = node.getAttribute("HH_path")
self.decoder = node.getAttribute("decoder")
self.hudopacity = node.getAttribute("hudopacity")
if self.hudopacity == "":
self.hudopacity = 0.90
else:
self.hudopacity = float(self.hudopacity)
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'):

View File

@ -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

View File

@ -59,21 +59,28 @@ 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)
#self.main_window.set_keep_above(True)
self.main_window.set_title(table.name + " FPDBHUD")
self.main_window.connect("destroy", self.kill_hud)
self.main_window.set_decorated(False)
#self.main_window.set_transient_for(parent.get_toplevel())
self.ebox = gtk.EventBox()
self.label = gtk.Label("Close this window to\nkill the HUD for\n %s\nMinimizing it hides stats." %
(table.name))
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
@ -92,6 +99,13 @@ class Hud:
# set_keep_above(1) for windows
if os.name == 'nt':
self.topify_window(self.main_window)
else:
self.main_window.parentgdkhandle = gtk.gdk.window_foreign_new(self.table.number)
self.main_window.gdkhandle = gtk.gdk.window_foreign_new(self.main_window.window.xid)
self.main_window.gdkhandle.set_transient_for(self.main_window.parentgdkhandle)
#window.parentgdkhandle = gtk.gdk.window_foreign_new(self.table.number)
#self.main_window.gdkhandle = gtk.gdk.window_foreign_new(window.window.xid)
#self.main_window.gdkhandle.set_transient_for(window.parentgdkhandle)
def on_button_press(self, widget, event):
if event.button == 3:
@ -107,6 +121,7 @@ class Hud:
def save_layout(self, *args):
new_layout = []
# todo: have the hud track the poker table's window position regularly, don't forget to update table.x and table.y.
for sw in self.stat_windows:
loc = self.stat_windows[sw].window.get_position()
new_loc = (loc[0] - self.table.x, loc[1] - self.table.y)
@ -326,8 +341,9 @@ class Stat_Window:
self.window = gtk.Window()
self.window.set_decorated(0)
self.window.set_opacity(parent.config.supported_sites[self.table.site].hudopacity)
self.window.set_gravity(gtk.gdk.GRAVITY_STATIC)
self.window.set_keep_above(1)
#self.window.set_keep_above(1)
self.window.set_title("%s" % seat)
self.window.set_property("skip-taskbar-hint", True)
self.window.set_transient_for(parent.main_window)
@ -343,9 +359,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")
@ -536,7 +560,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')

View File

@ -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) )