Index: uikit.py ================================================================== --- uikit.py +++ uikit.py @@ -84,11 +84,11 @@ # entries = [ {"titlerow":"first", "interndat":123}, {"titlerow":"..."}, ] # Keys not mentioned in the datamap get ignored, and defaults are applied # for missing cols. All values must already be in the correct type however. # @staticmethod - def columns(widget, datamap=[], entries=None, pix_entry=False, typecast=0): + def columns(widget, datamap=[], entries=None, pix_entry=False): # create treeviewcolumns? if (not widget.get_column(0)): # loop through titles datapos = 0 @@ -146,15 +146,14 @@ # add data? if (entries is not None): #- expand datamap vartypes = [] #(str, str, bool, str, int, int, gtk.gdk.Pixbuf, str, int) rowmap = [] #["title", "desc", "bookmarked", "name", "count", "max", "img", ...] - if (not rowmap): - for desc in datamap: - for var in xrange(2, len(desc)): - vartypes.append(desc[var][1]) # content types - rowmap.append(desc[var][0]) # dict{} column keys in entries[] list + for desc in datamap: + for var in xrange(2, len(desc)): + vartypes.append(desc[var][1]) # content types + rowmap.append(desc[var][0]) # dict{} column keys in entries[] list # create gtk array storage ls = gtk.ListStore(*vartypes) # could be a TreeStore, too #log.UI(vartypes, len(vartypes)) #log.DATA(rowmap, len(rowmap)) @@ -204,11 +203,11 @@ #if entries: # log.ROWS(row, len(row)) # apply array to widget widget.set_model(ls) - return ls + return ls, rowmap, pix_entry pass