def CreateSettings(self): self = Gui(debug=False) self.resizable(width=False, height=False) self.maxsize(width=1024, height=768) self.maincol = self.col(weights=[0,0,1]) # Resizing of Windows MenuBar.Create(self) self.title('Doru\'s No Frills - Store Settings') StatusBar.Create(self) StoreSettings.Create(self) Modules.Check.openwindow = "Store Settings" self.mainloop()
def CreateDebug(self): self = Gui(debug=False) self.resizable(width=False, height=False) self.maxsize(width=1024, height=768) self.maincol = self.col(weights=[0,0,1]) # Resizing of Windows MenuBar.Create(self) self.title('Doru\'s No Frills - Welcome') StatusBar.Create(self) WelcomeScreen.Create(self) Modules.Check.openwindow = "WelcomeScreen" self.mainloop()
def ValidateLogin(self, Event=None): Accountlist = Account_Read() user = self.Login.userentry.get() passw = self.Login.passentry.get() result = Modules.ValidateLogic.Validate(user, passw, Accountlist) if result != False: self.endcol() # Ends original GUI column self.Login.destroy() Modules.Check.userlevel = result[0] Modules.Check.loggeduser = user Modules.Check.hourlywage = result[1] MenuBar.Create(self) StatusBar.Create(self) WelcomeScreen.Create(self) self.title('Doru\'s No Frills - Welcome') else: tkMessageBox.showwarning( 'Error', 'Username or password is incorrect, please retry')
Ignored unless useStateTags True at instantiation. """ for state in (RO.Constants.sevWarning, RO.Constants.sevError): self.tag_configure(state, color=self._sevPrefDict[state].getValue()) if __name__ == "__main__": from RO.Wdg.PythonTk import PythonTk import StatusBar root = PythonTk() text1 = Text(root, "text widget", height=5, width=20) text2 = Text(root, readOnly=True, helpText="read only text widget", height=5, width=20) statusBar = StatusBar.StatusBar(root) text1.grid(row=0, column=0, sticky="nsew") text2.grid(row=1, column=0, sticky="nsew") statusBar.grid(row=2, column=0, sticky="ew") root.grid_rowconfigure(0, weight=1) root.grid_rowconfigure(1, weight=1) root.grid_columnconfigure(0, weight=1) text1.insert("end", "this is an editable text widget\n") text2.insert("end", "this is a read-only text widget\n") root.mainloop()
else: print("=============================") print("[ ! ] Unrecognized Command.") print("=============================") print("\n") print("=============================") print("\n") continue if file_name >= 'a': print( "[ ! ] Enter a number or < x > to finish.") continue else: _pk = pk.Pokemon() sb.StatusBar() if int(option) == 0: _pk.get_stats_hp() elif int(option) == 1: _pk.get_stats_attack() elif int(option) == 2: _pk.get_stats_defence() else: if os.stat(files[int(file_name)]).st_size != 0: _wc = wc.WordsCounter(files[int(file_name)]) _wc.show_name()
def __init__(self, master, name, dispatcher=None, **kargs): Tkinter.Frame.__init__(self, master, **kargs) srArgs = self._getScriptFuncs(isFirst=True) helpURL = srArgs.pop("HelpURL", None) row = 0 self.scriptFrame = Tkinter.Frame(self) self.scriptFrame.grid(row=row, column=0, sticky="news") self.scriptFrameRow = row self.rowconfigure(row, weight=1) self.columnconfigure(0, weight=1) row += 1 scriptStatusBar = StatusBar.StatusBar( master=self, helpURL=helpURL, helpText="script status and messages", ) scriptStatusBar.grid(row=row, column=0, sticky="ew") row += 1 cmdStatusBar = StatusBar.StatusBar( master=self, dispatcher=dispatcher, summaryLen=30, playCmdSounds=False, helpURL=helpURL, ) cmdStatusBar.grid(row=row, column=0, sticky="ew") row += 1 buttonFrame = Tkinter.Frame(self) startButton = Button.Button( master=buttonFrame, text="Start", helpText="Start the script", helpURL=helpURL, ) startButton.pack(side="left") pauseButton = Button.Button( master=buttonFrame, helpURL=helpURL, ) pauseButton.pack(side="left") cancelButton = Button.Button( master=buttonFrame, text="Cancel", helpText="Halt the script", helpURL=helpURL, ) cancelButton.pack(side="left") buttonFrame.grid(row=row, column=0, sticky="w") row += 1 # set up contextual menu functions for all widgets # (except script frame, which is handled in reload) startButton.ctxSetConfigFunc(self._setCtxMenu) pauseButton.ctxSetConfigFunc(self._setCtxMenu) cancelButton.ctxSetConfigFunc(self._setCtxMenu) scriptStatusBar.ctxSetConfigFunc(self._setCtxMenu) cmdStatusBar.ctxSetConfigFunc(self._setCtxMenu) BasicScriptWdg.__init__(self, master=self.scriptFrame, name=name, dispatcher=dispatcher, statusBar=scriptStatusBar, cmdStatusBar=cmdStatusBar, startButton=startButton, pauseButton=pauseButton, cancelButton=cancelButton, **srArgs)
def __init__(self): #Game states, tells the game what code to run depending on the current state self.__states = {const.GAME_STATE_MENU : self.stateMainMenu, const.GAME_STATE_RUNNING : self.stateGameRunning, const.GAME_STATE_PLAYER_DEAD : self.statePlayerDead, const.GAME_STATE_PLAYER_WINS : self.statePlayerWins, const.GAME_STATE_QUITTING : self.stateQuitting, const.GAME_STATE_HIGHSCORES : self.stateHighScores} #Initialize pygame pygame.init() #Setup music and sound self.musicFile = str(Path.cwd() / "sounds" / "music1.mp3") pygame.mixer.pre_init(44100, -16, 2, 2048) pygame.mixer.init() pygame.mixer.music.load(self.musicFile) self.explodeSound = pygame.mixer.Sound(str(Path.cwd() / "sounds" / "bomb.wav")) self.deathSound = pygame.mixer.Sound(str(Path.cwd() / "sounds" / "yell.wav")) self.bossDieSound = pygame.mixer.Sound(str(Path.cwd() / "sounds" / "boss_no.wav")) #Setup misc pygame settings such as clock for timers and font for text self.__clock = pygame.time.Clock() self.start_ticks = 0.0 self.font = pygame.font.Font(None, const.FONT_SIZE) #Setup game progression booleans self.gameRunning = True self.gameOver = False self.playerWins = False self.exitingToMenu = False self.musicOn = True self.soundOn = True #Makes game start in main menu self.gameState = const.GAME_STATE_MENU #Setup screen parameters and the pygame window self.__screenWidth = const.MAP_WIDTH * const.TILE_SIZE + const.SCREEN_OFFSET_X_LEFT + const.SCREEN_OFFSET_X_RIGHT self.__screenHeight = const.MAP_HEIGHT * const.TILE_SIZE + const.SCREEN_OFFSET_Y_TOP + const.SCREEN_OFFSET_Y_BOTTOM self.__screenSize = self.__screenWidth, self.__screenHeight self.__screen = pygame.display.set_mode(self.screenSize) pygame.display.set_caption("BomberDude") self.screenImage = pygame.Surface(self.screenSize) #used to store the screen to an image, useful for semi-transparent screens #Setup the MainMenu and High scores Screen self.theMainMenu = MainMenu.MainMenu(self.screen, self.__screenWidth, self.__screenHeight) self.highScores = HighScore.HighScore(self.screen, self.__screenWidth, self.__screenHeight) #Load starting level self.levelNum = 1 self.level, self.player, self.enemies, self.boss = Level.startNewLevel(self.levelNum) #Retreive total number of levels stored in data directory, requires levels to be numbered sequentially self.numLevels = 0 dataDir = Path.cwd() / "data" for f in dataDir.glob("level*.csv"): self.numLevels += 1 #Create sprite groups for all game sprite objects self.spritePlayer = pygame.sprite.Group() self.spritePlayer.add(self.player) self.spriteEnemies = pygame.sprite.Group() self.spriteEnemies.add(self.enemies) self.spriteBombs = pygame.sprite.Group() self.spriteBombBlasts = pygame.sprite.Group() self.spriteBossBombBlasts = pygame.sprite.Group() self.spritePowerups = pygame.sprite.Group() #Create status bar for displaying player information at top of screen self.statusBar = StatusBar.StatusBar(0, 0) self.statusBar.addIcon("Down.png", 0, True) self.statusBar.addIcon("powerup_boot.png", 2, False, const.ICON_SCALE + 5) #This is offset because the graphic is a little smaller than the icons self.statusBar.addIcon("powerup_range.png", 3, False) self.statusBar.addIcon("powerup_count.png", 4, False) #Player death screen imageFile = str(Path.cwd() / "graphics" / "death_screen.png") self.deathScreen = pygame.image.load(imageFile).convert_alpha() self.smallScreenRect = self.deathScreen.get_rect() self.smallScreenRect.x = int(self.__screenWidth / 2 - self.smallScreenRect.width / 2) self.smallScreenRect.y = int(self.__screenHeight / 2 - self.smallScreenRect.height / 2) #Game over screen image imageFile = str(Path.cwd() / "graphics" / "game_over_screen.png") self.gameOverImage = pygame.image.load(imageFile).convert_alpha() #Player win screen image imageFile = str(Path.cwd() / "graphics" / "you_win_screen.png") self.playerWinsImage = pygame.image.load(imageFile).convert_alpha() #Screen border image imageFile = str(Path.cwd() / "graphics" / "border.png") self.borderImage = pygame.image.load(imageFile).convert() #Debug mode allows cheats, only for developer use self.__debugMode = True
return self._projectView().JB def FV(self): return self._projectView().FV if __name__ == '__main__': root = tk.Tk() root.grid_propagate(0) root.rowconfigure(0, weight=1) root.columnconfigure(0, weight=1) root.configure(width=800, height=600) pv = ProjectViewer(root) sb = StatusBar(root) pv.grid(sticky=tkSticky.fill) sb.grid(sticky=tkSticky.horizontal + tkSticky.bottom) ''' Add an app icon Taken from: http://stackoverflow.com/questions/16081201/setting-application-icon-in-my-python-tk-base-application-on-ubuntu This works on Windows and Ubuntu only ''' # img = tk.Image("photo", file="icon_appicon.gif") img = Icon.appIcon() root.tk.call('wm', 'iconphoto', root._w, img) root.iconify() root.update()
def createStatusBar(self): self.sb = StatusBar.My_CustomStatusBar(self) self.SetStatusBar(self.sb) self.SetStatusText(u"Welcome to PyLookInside !", 0)
def initUI(self): # MESSAGGI STATUSBAR self.messages = { 'nofoto' : 'Non e\' presente alcuna foto!', 'photo' : 'Foto scattata!', 'saved' : 'Immagine salvata!', 'shooting' : 'Sto scattando foto...', 'rifle_done' : 'Raffica conclusa!', 'start' : 'Registrazione Iniziata', 'not-active' : 'ERRORE! Il sensore non e\' alimentato!', 'stop' : 'Registrazione Stoppata' } # MAIN WIDGET self.move(10, 300) self.setFixedSize(670, 630) self.setWindowTitle("SerialSensDecoder") # MAIN LAYOUT mainLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom, self) # OTHERS LAYOUT ctrlLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) statsLayout = QtGui.QGridLayout(self) settingsLayout = QtGui.QGridLayout(self) buttonsLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) bottomLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) saveLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) # WIDGETS self.imgViewer = ImgRect(self, 12, 6) self.histogram = QHistogram(self, 128) self.statusBar = StatusBar(self.messages['nofoto']) self.scattaButton = QtGui.QPushButton('Scatta', self) self.rtButton = QtGui.QPushButton('Real Time', self) self.saveImgButton = QtGui.QPushButton('Salva', self) buttonsLayout.addWidget(self.scattaButton) buttonsLayout.addWidget(self.rtButton) if (self.isSensorReady): self.deviceStatus = QtGui.QLabel('Device ready') self.deviceStatus.setStyleSheet('color: green; text-align: right') else: self.deviceStatus = QtGui.QLabel('Device NOT ready') self.deviceStatus.setStyleSheet('color: red; text-align: right') self.progressLabel = QtGui.QLabel('Saved Frames 0/0') self.savedImageAvg = QtGui.QLabel('Avg: 0') # STATS LABELS statsNames = ['_Stats_Image_Raw Image', 'Max', 'Min', 'Average'] self.statsLabel = {} for index, name in enumerate(statsNames): # Add the info label if name.startswith('_'): # Heading for headIndex, heading in enumerate(name[1:].split('_')): statsLayout.addWidget(QtGui.QLabel(str(heading)), *[index, headIndex]) else: # Row name statsLayout.addWidget(QtGui.QLabel(name)) self.statsLabel[name] = QtGui.QLabel('0') self.statsLabel['raw' + name] = QtGui.QLabel('0') statsLayout.addWidget(self.statsLabel[name], *[index, 1]) statsLayout.addWidget(self.statsLabel['raw' + name], *[index, 2]) self.statsLabel['time'] = QtGui.QLabel('0') self.statsLabel['perc'] = QtGui.QLabel('0') statsLayout.addWidget(QtGui.QLabel('Time'), *[len(statsNames),0]) statsLayout.addWidget(self.statsLabel['time'], *[len(statsNames),1]) statsLayout.addWidget(self.statsLabel['perc'], *[len(statsNames),2]) # SETTINGS LABELS self.minRange = (QtGui.QSpinBox(),[1,1]) self.maxRange = (QtGui.QSpinBox(), [2,1]) self.periodValue = (QtGui.QSpinBox(), [3,1]) settingTitleLabel = (QtGui.QLabel('SETTINGS'),[0,0]) minRangeLabel = (QtGui.QLabel('Black'), [1,0]) maxRangeLabel = (QtGui.QLabel('White'), [2,0]) periodLabel = (QtGui.QLabel('Period'), [3,0]) self.minRange[0].setMaximum(1000000) self.maxRange[0].setMaximum(1000) self.periodValue[0].setMaximum(1200) self.periodValue[0].setMinimum(1) settingsLayout.addWidget(settingTitleLabel[0], *settingTitleLabel[1]) settingsLayout.addWidget(minRangeLabel[0], *minRangeLabel[1]) settingsLayout.addWidget(maxRangeLabel[0], *maxRangeLabel[1]) settingsLayout.addWidget(periodLabel[0], *periodLabel[1]) settingsLayout.addWidget(self.minRange[0], *self.minRange[1]) settingsLayout.addWidget(self.maxRange[0], *self.maxRange[1]) settingsLayout.addWidget(self.periodValue[0], *self.periodValue[1]) # SAVE CTRL self.imageNumber = QtGui.QSpinBox() self.filename = QtGui.QLineEdit() self.filename.setMaximumWidth(200) self.imageNumber.setMaximum(2000) self.imageNumber.setMinimum(1) saveLayout.addWidget(QtGui.QLabel('FileName')) saveLayout.addWidget(self.filename) saveLayout.addWidget(QtGui.QLabel('Frames')) saveLayout.addWidget(self.imageNumber) saveLayout.addWidget(self.saveImgButton) ctrlLayout.addLayout(statsLayout) ctrlLayout.addLayout(settingsLayout) bottomLayout.addWidget(self.statusBar) bottomLayout.addWidget(self.deviceStatus) bottomLayout.addWidget(self.progressLabel) bottomLayout.addWidget(self.savedImageAvg) mainLayout.addWidget(self.imgViewer) mainLayout.addWidget(self.histogram) mainLayout.addLayout(ctrlLayout) mainLayout.addLayout(buttonsLayout) mainLayout.addLayout(saveLayout) mainLayout.addLayout(bottomLayout) self.setLayout(mainLayout) # Timer per il RT delle foto self.timerRt = QTimer() # Timer per il save self.timerSave = QTimer() self.minRange[0].setValue(5000) self.maxRange[0].setValue(400) self.periodValue[0].setValue(400) self.rangeChanged() self.show() # EVENTS self.scattaButton.clicked.connect(self.shootImage) #saveImgBtn.clicked.connect(self.saveImage) self.rtButton.clicked.connect(self.realTime) self.saveImgButton.clicked.connect(self.saveImage) # LIGHT RANGE CHANGES self.minRange[0].valueChanged.connect(self.rangeChanged) self.maxRange[0].valueChanged.connect(self.rangeChanged) # Agganciamo l'evento timeout() # all'evento scatta foto self.timerRt.timeout.connect(self.shootImage) self.timerSave.timeout.connect(self.handleSaveImage)
class MainUI(QtGui.QWidget): def __init__(self): super(MainUI, self).__init__() # Variabile che abilita il testing anche da riga di comando if ('-d' in sys.argv or '--debug' in sys.argv): self.debug = True else: self.debug = False # Crea istanza del generatore di immagini self.imgGenerator = ImgGenerator(72, self.debug) # Indice per tener traccia delle modifiche al comboBox self.index = 0 # Variabile per il loop del realtime self.start = False self.saveStart = False # Container for saved images' average self.avgSaved = [] # Variabile per init del sensore self.isSensorReady = self.imgGenerator.isReady() # Inizializza e collega i vari elementi della UI self.initUI() def initUI(self): # MESSAGGI STATUSBAR self.messages = { 'nofoto' : 'Non e\' presente alcuna foto!', 'photo' : 'Foto scattata!', 'saved' : 'Immagine salvata!', 'shooting' : 'Sto scattando foto...', 'rifle_done' : 'Raffica conclusa!', 'start' : 'Registrazione Iniziata', 'not-active' : 'ERRORE! Il sensore non e\' alimentato!', 'stop' : 'Registrazione Stoppata' } # MAIN WIDGET self.move(10, 300) self.setFixedSize(670, 630) self.setWindowTitle("SerialSensDecoder") # MAIN LAYOUT mainLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom, self) # OTHERS LAYOUT ctrlLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) statsLayout = QtGui.QGridLayout(self) settingsLayout = QtGui.QGridLayout(self) buttonsLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) bottomLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) saveLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) # WIDGETS self.imgViewer = ImgRect(self, 12, 6) self.histogram = QHistogram(self, 128) self.statusBar = StatusBar(self.messages['nofoto']) self.scattaButton = QtGui.QPushButton('Scatta', self) self.rtButton = QtGui.QPushButton('Real Time', self) self.saveImgButton = QtGui.QPushButton('Salva', self) buttonsLayout.addWidget(self.scattaButton) buttonsLayout.addWidget(self.rtButton) if (self.isSensorReady): self.deviceStatus = QtGui.QLabel('Device ready') self.deviceStatus.setStyleSheet('color: green; text-align: right') else: self.deviceStatus = QtGui.QLabel('Device NOT ready') self.deviceStatus.setStyleSheet('color: red; text-align: right') self.progressLabel = QtGui.QLabel('Saved Frames 0/0') self.savedImageAvg = QtGui.QLabel('Avg: 0') # STATS LABELS statsNames = ['_Stats_Image_Raw Image', 'Max', 'Min', 'Average'] self.statsLabel = {} for index, name in enumerate(statsNames): # Add the info label if name.startswith('_'): # Heading for headIndex, heading in enumerate(name[1:].split('_')): statsLayout.addWidget(QtGui.QLabel(str(heading)), *[index, headIndex]) else: # Row name statsLayout.addWidget(QtGui.QLabel(name)) self.statsLabel[name] = QtGui.QLabel('0') self.statsLabel['raw' + name] = QtGui.QLabel('0') statsLayout.addWidget(self.statsLabel[name], *[index, 1]) statsLayout.addWidget(self.statsLabel['raw' + name], *[index, 2]) self.statsLabel['time'] = QtGui.QLabel('0') self.statsLabel['perc'] = QtGui.QLabel('0') statsLayout.addWidget(QtGui.QLabel('Time'), *[len(statsNames),0]) statsLayout.addWidget(self.statsLabel['time'], *[len(statsNames),1]) statsLayout.addWidget(self.statsLabel['perc'], *[len(statsNames),2]) # SETTINGS LABELS self.minRange = (QtGui.QSpinBox(),[1,1]) self.maxRange = (QtGui.QSpinBox(), [2,1]) self.periodValue = (QtGui.QSpinBox(), [3,1]) settingTitleLabel = (QtGui.QLabel('SETTINGS'),[0,0]) minRangeLabel = (QtGui.QLabel('Black'), [1,0]) maxRangeLabel = (QtGui.QLabel('White'), [2,0]) periodLabel = (QtGui.QLabel('Period'), [3,0]) self.minRange[0].setMaximum(1000000) self.maxRange[0].setMaximum(1000) self.periodValue[0].setMaximum(1200) self.periodValue[0].setMinimum(1) settingsLayout.addWidget(settingTitleLabel[0], *settingTitleLabel[1]) settingsLayout.addWidget(minRangeLabel[0], *minRangeLabel[1]) settingsLayout.addWidget(maxRangeLabel[0], *maxRangeLabel[1]) settingsLayout.addWidget(periodLabel[0], *periodLabel[1]) settingsLayout.addWidget(self.minRange[0], *self.minRange[1]) settingsLayout.addWidget(self.maxRange[0], *self.maxRange[1]) settingsLayout.addWidget(self.periodValue[0], *self.periodValue[1]) # SAVE CTRL self.imageNumber = QtGui.QSpinBox() self.filename = QtGui.QLineEdit() self.filename.setMaximumWidth(200) self.imageNumber.setMaximum(2000) self.imageNumber.setMinimum(1) saveLayout.addWidget(QtGui.QLabel('FileName')) saveLayout.addWidget(self.filename) saveLayout.addWidget(QtGui.QLabel('Frames')) saveLayout.addWidget(self.imageNumber) saveLayout.addWidget(self.saveImgButton) ctrlLayout.addLayout(statsLayout) ctrlLayout.addLayout(settingsLayout) bottomLayout.addWidget(self.statusBar) bottomLayout.addWidget(self.deviceStatus) bottomLayout.addWidget(self.progressLabel) bottomLayout.addWidget(self.savedImageAvg) mainLayout.addWidget(self.imgViewer) mainLayout.addWidget(self.histogram) mainLayout.addLayout(ctrlLayout) mainLayout.addLayout(buttonsLayout) mainLayout.addLayout(saveLayout) mainLayout.addLayout(bottomLayout) self.setLayout(mainLayout) # Timer per il RT delle foto self.timerRt = QTimer() # Timer per il save self.timerSave = QTimer() self.minRange[0].setValue(5000) self.maxRange[0].setValue(400) self.periodValue[0].setValue(400) self.rangeChanged() self.show() # EVENTS self.scattaButton.clicked.connect(self.shootImage) #saveImgBtn.clicked.connect(self.saveImage) self.rtButton.clicked.connect(self.realTime) self.saveImgButton.clicked.connect(self.saveImage) # LIGHT RANGE CHANGES self.minRange[0].valueChanged.connect(self.rangeChanged) self.maxRange[0].valueChanged.connect(self.rangeChanged) # Agganciamo l'evento timeout() # all'evento scatta foto self.timerRt.timeout.connect(self.shootImage) self.timerSave.timeout.connect(self.handleSaveImage) def shootImage(self): if (self.isSensorReady): self.paintImage(self.imgGenerator.takeImage(self.periodValue[0].value())) def rangeChanged(self, val=0): """ Cambiamo i valori di max e min e quindi facciamo il refresh della compressione """ self.imgGenerator.setLightRange([self.maxRange[0].value(), self.minRange[0].value()]) self.paintImage(self.imgGenerator.updateImage()) def realTime(self): if self.start == True: # Stoppiamo il realtime sull'ultima foto # e rimettiamo il label corretto self.timerRt.stop() self.start = False self.rtButton.setText('Start') self.statusBar.changeMessage(self.messages['stop']) else: self.timerRt.start((self.periodValue[0].value() + 10) / 1000.0) self.start = True # Cambianmo la label dello scattaButton self.rtButton.setText('Stop') self.statusBar.changeMessage(self.messages['start']) def paintImage(self, imageInfo): if imageInfo is not None: self.imgViewer.showImage(imageInfo['image']) self.histogram.showImage(imageInfo['image']) perc = imageInfo['time'] / float(self.periodValue[0].value()*1000) # Update Image Stats for field in ['Max', 'Min', 'Average']: self.statsLabel[field].setText("%d" % (imageInfo[field])) self.statsLabel['raw' + field].setText("%d" % (imageInfo['raw' + field])) self.statsLabel['time'].setText("{0:d} us".format(imageInfo['time'])) self.statsLabel['perc'].setText("{0:.2%}".format(perc)) self.statusBar.changeMessage(self.messages['photo']) else: # The FPGA is online but the sensor is not active self.statusBar.changeMessage(self.messages['not-active']) def saveImage(self): self.text = self.filename.text() self.frames = self.imageNumber.value() self.saveMode = True if (self.text): self.saveMode = False if (self.frames and not self.saveStart): self.count = 0 self.savedImageAvg.setText('Avg: 0') self.saveStart = True self.timerSave.start((self.periodValue[0].value() + 10) / 1000.0) def handleSaveImage(self): if self.count == self.frames: self.timerSave.stop() self.saveStart = False if self.saveMode: self.savedImageAvg.setText('Avg: %d' % (sum(self.avgSaved) / len(self.avgSaved),)) self.avgSaved = [] self.progressLabel.setText('Saved Frames 0/0') self.filename.clear() else: self.count += 1 # Save Avg mode if self.saveMode: self.avgSaved.append(self.imgGenerator.takeImage(self.periodValue[0].value())['rawAverage']) else: self.writeToFile(self.imgGenerator.takeImage(self.periodValue[0].value())['rawImage']) self.progressLabel.setText('Saved Frames %d/%d' % (self.count, self.frames)) def writeToFile(self, image): outFile = open('logs/' + self.text +'.dat', 'a') imgLength = len(image) for index, pix in enumerate(image): ending = ',' if index == (imgLength-1): ending = '\n' outFile.write(str(pix) + ending) self.progressLabel.setText('Written Frames %d/%d' % (self.count, self.frames)) def changeStatusBar(self): self.statusBar.changeMessage(self.messages['saved'])
def beforeTriggerExec(): # (Line 77) sca.Exec(); EUDTraceLog(77) sca.Exec() # (Line 80) sys.AllyCheck(); EUDTraceLog(80) sys.AllyCheck() # (Line 81) foreach (cp : EUDLoopPlayer()) { for cp in EUDLoopPlayer(): # (Line 82) setcurpl(cp); EUDTraceLog(82) f_setcurpl(cp) # (Line 83) bgm.Play(); EUDTraceLog(83) bgm.Play() # (Line 84) sys.GetDeath(); EUDTraceLog(84) sys.GetDeath() # (Line 85) sys.GetMousePos(); EUDTraceLog(85) sys.GetMousePos() # (Line 86) cheat.Cheat(); EUDTraceLog(86) cheat.Cheat() # (Line 88) if(user.isAlive[cp] == 1) { _t1 = EUDIf() EUDTraceLog(88) if _t1(user.isAlive[cp] == 1): # (Line 89) user.posX[cp], user.posY[cp] = dwbreak(dwread_epd(user.character[cp] + 0x28 / 4))[[0,1]]; EUDTraceLog(89) _SV([_ARRW(user.posX, cp), _ARRW(user.posY, cp)], [_SRET(f_dwbreak(f_dwread_epd(user.character[cp] + 0x28 // 4)), [0, 1])]) # (Line 90) } # (Line 97) if(user.isAlive[cp] == 1) { EUDEndIf() _t2 = EUDIf() EUDTraceLog(97) if _t2(user.isAlive[cp] == 1): # (Line 98) if(MemoryXEPD(user.character[cp] + 0x4D / 4, Exactly, 3 << 8, 0xFF00)) { _t3 = EUDIf() EUDTraceLog(98) if _t3(MemoryXEPD(user.character[cp] + 0x4D // 4, Exactly, _LSH(3,8), 0xFF00)): # (Line 99) SetMemoryXEPD(user.character[cp] + 0x4D / 4, SetTo, 107 << 8 , 0xFF00); # (Line 100) } EUDTraceLog(99) DoActions(SetMemoryXEPD(user.character[cp] + 0x4D // 4, SetTo, _LSH(107,8), 0xFF00)) # (Line 101) } EUDEndIf() # (Line 103) guard.Guard(); EUDEndIf() EUDTraceLog(103) guard.Guard() # (Line 105) status.StatusBar(); // 상태바 EUDTraceLog(105) status.StatusBar() # (Line 106) screen.LightCheck(); // 밝기 조절 EUDTraceLog(106) screen.LightCheck() # (Line 107) potal.PotalCheck(); // 포탈 이동 EUDTraceLog(107) potal.PotalCheck() # (Line 108) sys.PlayerLoc(); // 플레이어 로케이션 EUDTraceLog(108) sys.PlayerLoc() # (Line 109) sys.ExpCheck(); // 경험치 변동 체크 EUDTraceLog(109) sys.ExpCheck() # (Line 110) kill.KillCheck(); // 플레이어 킬 체크 EUDTraceLog(110) kill.KillCheck() # (Line 112) inven.Inventory(); // 인벤토리 EUDTraceLog(112) inven.Inventory() # (Line 113) equip.Equip(); // 장비 EUDTraceLog(113) equip.Equip() # (Line 116) memory.MemoryCrystal(); // 저장 크리스탈 EUDTraceLog(116) memory.MemoryCrystal() # (Line 117) save.SaveCheck(); // 저장 EUDTraceLog(117) save.SaveCheck() # (Line 119) key.KeyDetect(cp); EUDTraceLog(119) key.KeyDetect(cp) # (Line 120) chat.ChatDetect(cp); EUDTraceLog(120) chat.ChatDetect(cp) # (Line 121) screen.WideCheckExec(); EUDTraceLog(121) screen.WideCheckExec() # (Line 124) } # (Line 125) unit.clickedUnit(); EUDTraceLog(125) unit.f_clickedUnit() # (Line 136) SetMemory(0x5124F0, SetTo, 28); # (Line 137) } EUDTraceLog(136) DoActions(SetMemory(0x5124F0, SetTo, 28))
menu3.grid(row=1, column=1, sticky="w") menu4 = OptionMenu(root, items = items, defValue = "MmmmmNnnnn A", callFunc = callFunc, defMenu = "Default", indicatoron = False, helpText = "indicatoron=False", ) menu4.grid(row=0, column=2, sticky="w") menu5 = OptionMenu(root, items = items, defValue = "MmmmmNnnnn A", callFunc = callFunc, defMenu = "Default", indicatoron = False, helpText = "width=12 via ['width'], indicatoron=False", ) menu5["width"] = 12 menu5.grid(row=1, column=2, sticky="w") label = Label.Label(root, width=20, anchor="w", helpText="most recently selected value") label.grid(row=2, column=0, columnspan=4, sticky="w") statusBar = StatusBar.StatusBar(root, width=20) statusBar.grid(row=3, column=0, columnspan=4, sticky="ew") root.mainloop()