def checkTrial(self): if (self.thisTrial < self.numTrials): self.container1.grid_forget() another_trial = Choice(self.myParent, self.myBlockData, self.myPics, (self.thisTrial + 1), self.possibleTimes, self.picqueue) else: self.myBlockData['time_end'] = misc.getCurrTime() self.container1.grid_forget() our_breakinstance = our_break.Break(self.myParent, self.myBlockData, self.myPics)
def cycleVis(self, event=None): #kill extraneous after stuff, in case of keyboard interrupt if (self.currAfter): self.myParent.after_cancel(self.currAfter) #default choice made self.currTrialData['choice_made'] = 0 #pics have been shuffled already if (self.visState == 0): self.imageTuple = self.picqueue.pop() self.image1 = self.imageTuple[0] self.currTrialData['pic_id'] = self.imageTuple[2] self.photoimage1 = ImageTk.PhotoImage(self.image1) self.picLabel.configure(image = self.photoimage1) self.picLabel.grid(column=0, row=1) #self.currTime = self.getNextTime() self.currTrialData['time_begin'] = misc.getCurrTime() self.currTrialData['pic_length'] = 200 self.currAfter = self.myParent.after(2000, self.cycleVis) elif (self.visState == 1): self.currTrialData['time_end'] = misc.getCurrTime() self.imageFile = "./blankscreen.jpg" self.image1 = Image.open(self.imageFile) self.photoimage1 = ImageTk.PhotoImage(self.image1) self.picLabel.configure(image = self.photoimage1) self.currTrialData['mask_begin'] = misc.getCurrTime() self.currAfter = self.myParent.after(1000, self.cycleVis) elif (self.visState == 2): self.currTrialData['mask_end'] = misc.getCurrTime() self.image2 = self.imageTuple[1] self.photoimage2 = ImageTk.PhotoImage(self.image2) self.picLabel.configure(image = self.photoimage2) self.currTrialData['time2_begin'] = misc.getCurrTime() self.currTrialData['time2_end'] = misc.getCurrTime() self.currAfter = self.myParent.after(2000, self.cycleVis) gc.collect() elif (self.visState == 3): self.picLabel.grid_forget() self.choice1.grid(column=0, row=1, sticky=(N, W, S)) self.choice2.grid(column=1, row=1, sticky=(N, E, S)) elif (self.visState == 4): self.choice1.grid_forget() self.choice2.grid_forget() self.feedbackLabel.configure(text=self.getFeedback(self.currTrialData['choice_made'], self.currTrialData['pic_id'])) self.feedbackLabel.grid(column=0, row=1) self.currAfter = self.myParent.after(500, self.checkTrial) self.visState += 1 if (self.visState > 4): self.visState = 0
def toChoiceCallback(self, event): ''' toChoiceCallback pressed in block screen, goes to choice screen''' self.container1.grid_forget() self.myBlockData['time_begin'] = misc.getCurrTime() choiceinstance = choice.Choice(self.myParent, self.myBlockData, self.myPics, 0)
def choice1Callback(self, event):#eventually, we can just call choice again self.currTrialData["choice_made"] = 1 self.currTrialData['time_click'] = misc.getCurrTime() misc.postData(self.currTrialData, "www.stanford.edu", "/group/pdplab/cgi-bin/mobiletrialscript.php") self.cycleVis()
def choice2Callback(self, event): self.currTrialData["choice_made"] = -1 self.currTrialData['time_click'] = misc.getCurrTime() misc.postData(self.currTrialData, "www.stanford.edu", "/group/pdplab/cgi-bin/mobiletrialscript.php") self.cycleVis()