def __init__(self, dbBackend, newScreen=None, userData=None, controller=None): # setup variables self.reagents = [] self.screenSolutions = {} self.observations = {} self.observationDates = [] self.observationDate = 0 self.drops = {} ## dictionary keys are (wellNr, dropNr) tuple self.reservoirs = {} self.scores = oDict () self.eventListeners = {} self.changed = False self.undoQueue = [] self.backups = [] ## list to contain backup docs for undo actions dataStructures.changingItems.append(self) self.noRows = 0 self.noCols = 0 self.userData = userData self.dbBackend = dbBackend self.controller = controller if newScreen: self.InitNewScreen(newScreen) else: self.BuildTray()
def Reset(self): self.reagents = [] self.screenSolutions = {} self.observations = {} self.observationDates = [] self.drops = {} ## dictionary keys are (wellNr, dropNr) tuple self.reservoirs = {} self.scores = oDict ()
def InitScoring(self): self.scores = oDict() try: scorelist = self.dbBackend.GetItems('ScoreList')[0] except IndexError: scorelist = None if scorelist: scores = self.dbBackend.GetChildren(scorelist,"Score") for score in scores: self.screen.AddChild(score) self.scores[score.GetProperty('ScoreNr')] = score scorelist.Delete() else: scores = self.dbBackend.GetItems('Score') for score in scores: self.scores[score.GetProperty('ScoreNr')] = score