import sys from Utility.compat import convertINI class GUIManager: def __init__(self, utility): self.utility = utility self.utility.guiman = self self.maxid = 26 self.active = [] convertINI(utility) self.getColumnData() # Method used to compare two elements of self.active def compareRank(self, a, b): if a[1] < b[1]: return -1 if a[1] > b[1]: return 1 else: return 0 def getNumCol(self): return len(self.active) def getIDfromRank(self, rankid): return self.active[rankid][0] def getTextfromRank(self, rankid): colid = self.active[rankid][0] return self.utility.lang.get('column' + str(colid) + "_text") def getValuefromRank(self, rankid): colid = self.active[rankid][0] return self.utility.config.Read("column" + str(colid) + "_width", "int") def getColumnData(self): self.active = [] # Get the list of active columns for colid in range(4, self.maxid): rank = self.utility.config.Read("column" + str(colid) + "_rank", "int") if (rank != -1): self.active.append([colid, rank]) # Sort the columns by rank self.active.sort(self.compareRank) # Make sure that the columns are in an order that makes sense # (i.e.: if we have a config with IDs of 4, 99, 2000 then # we'll convert that to 0, 1, 2) for i in range(0, len(self.active)): colid = self.active[i][0] rank = i self.active[i][1] = rank self.utility.config.Write("column" + str(colid) + "_rank", rank) self.utility.config.Flush()