Add some prep work for sorting the stats page
This commit is contained in:
parent
b39f766941
commit
4f754fa881
|
@ -36,6 +36,8 @@ class GuiPlayerStats (threading.Thread):
|
||||||
self.main_window = mainwin
|
self.main_window = mainwin
|
||||||
self.sql = querylist
|
self.sql = querylist
|
||||||
|
|
||||||
|
self.liststore = None
|
||||||
|
|
||||||
self.MYSQL_INNODB = 2
|
self.MYSQL_INNODB = 2
|
||||||
self.PGSQL = 3
|
self.PGSQL = 3
|
||||||
self.SQLITE = 4
|
self.SQLITE = 4
|
||||||
|
@ -238,10 +240,8 @@ class GuiPlayerStats (threading.Thread):
|
||||||
def reset_style_render_func(self, treeviewcolumn, cell, model, iter):
|
def reset_style_render_func(self, treeviewcolumn, cell, model, iter):
|
||||||
cell.set_property('foreground', 'black')
|
cell.set_property('foreground', 'black')
|
||||||
|
|
||||||
def ledger_style_render_func(self, treeviewcolumn, cell, model, iter):
|
def ledger_style_render_func(self, tvcol, cell, model, iter):
|
||||||
str = cell.get_property('text')
|
str = cell.get_property('text')
|
||||||
#Weird, if you set for one cell it affects all others unless you set explicitly
|
|
||||||
cell.set_property('foreground', 'black')
|
|
||||||
if '-' in str:
|
if '-' in str:
|
||||||
str = str.replace("-", "")
|
str = str.replace("-", "")
|
||||||
str = "(%s)" %(str)
|
str = "(%s)" %(str)
|
||||||
|
@ -252,6 +252,16 @@ class GuiPlayerStats (threading.Thread):
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def sortcols(self, col, n):
|
||||||
|
#This doesn't actually work yet
|
||||||
|
if n == 0:
|
||||||
|
# Card values can stay the same for the moment.
|
||||||
|
return
|
||||||
|
if col.get_sort_order() == gtk.SORT_ASCENDING:
|
||||||
|
col.set_sort_order(gtk.SORT_DESCENDING)
|
||||||
|
else:
|
||||||
|
col.set_sort_order(gtk.SORT_ASCENDING)
|
||||||
|
self.liststore.set_sort_column_id(n, col.get_sort_order())
|
||||||
|
|
||||||
def addTable(self, vbox, query, flags, playerids, sitenos, limits, type, seats, groups, dates):
|
def addTable(self, vbox, query, flags, playerids, sitenos, limits, type, seats, groups, dates):
|
||||||
counter = 0
|
counter = 0
|
||||||
|
@ -271,8 +281,8 @@ class GuiPlayerStats (threading.Thread):
|
||||||
cols_to_show = [x for x in self.columns if x[colshow]]
|
cols_to_show = [x for x in self.columns if x[colshow]]
|
||||||
hgametypeid_idx = colnames.index('hgametypeid')
|
hgametypeid_idx = colnames.index('hgametypeid')
|
||||||
|
|
||||||
liststore = gtk.ListStore(*([str] * len(cols_to_show)))
|
self.liststore = gtk.ListStore(*([str] * len(cols_to_show)))
|
||||||
view = gtk.TreeView(model=liststore)
|
view = gtk.TreeView(model=self.liststore)
|
||||||
view.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH)
|
view.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH)
|
||||||
#vbox.pack_start(view, expand=False, padding=3)
|
#vbox.pack_start(view, expand=False, padding=3)
|
||||||
vbox.add(view)
|
vbox.add(view)
|
||||||
|
@ -282,6 +292,7 @@ class GuiPlayerStats (threading.Thread):
|
||||||
numcell = gtk.CellRendererText()
|
numcell = gtk.CellRendererText()
|
||||||
numcell.set_property('xalign', 1.0)
|
numcell.set_property('xalign', 1.0)
|
||||||
listcols = []
|
listcols = []
|
||||||
|
idx = 0
|
||||||
|
|
||||||
# Create header row eg column: ("game", True, "Game", 0.0, "%s")
|
# Create header row eg column: ("game", True, "Game", 0.0, "%s")
|
||||||
for col, column in enumerate(cols_to_show):
|
for col, column in enumerate(cols_to_show):
|
||||||
|
@ -291,6 +302,9 @@ class GuiPlayerStats (threading.Thread):
|
||||||
s = column[colheading]
|
s = column[colheading]
|
||||||
listcols.append(gtk.TreeViewColumn(s))
|
listcols.append(gtk.TreeViewColumn(s))
|
||||||
view.append_column(listcols[col])
|
view.append_column(listcols[col])
|
||||||
|
#listcols[col].set_clickable(True)
|
||||||
|
#listcols[col].set_sort_indicator(True)
|
||||||
|
#listcols[col].connect("clicked", self.sortcols, idx)
|
||||||
if column[colformat] == '%s':
|
if column[colformat] == '%s':
|
||||||
if column[colxalign] == 0.0:
|
if column[colxalign] == 0.0:
|
||||||
listcols[col].pack_start(textcell, expand=True)
|
listcols[col].pack_start(textcell, expand=True)
|
||||||
|
@ -308,6 +322,7 @@ class GuiPlayerStats (threading.Thread):
|
||||||
listcols[col].set_cell_data_func(numcell, self.ledger_style_render_func)
|
listcols[col].set_cell_data_func(numcell, self.ledger_style_render_func)
|
||||||
else:
|
else:
|
||||||
listcols[col].set_cell_data_func(numcell, self.reset_style_render_func)
|
listcols[col].set_cell_data_func(numcell, self.reset_style_render_func)
|
||||||
|
idx = idx+1
|
||||||
|
|
||||||
rows = len(result) # +1 for title row
|
rows = len(result) # +1 for title row
|
||||||
|
|
||||||
|
@ -348,7 +363,7 @@ class GuiPlayerStats (threading.Thread):
|
||||||
treerow.append(column[colformat] % value)
|
treerow.append(column[colformat] % value)
|
||||||
else:
|
else:
|
||||||
treerow.append(' ')
|
treerow.append(' ')
|
||||||
iter = liststore.append(treerow)
|
iter = self.liststore.append(treerow)
|
||||||
sqlrow += 1
|
sqlrow += 1
|
||||||
row += 1
|
row += 1
|
||||||
vbox.show_all()
|
vbox.show_all()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user