def construir(self): '''Cria a janela com os widgets e configura o label para ser atualizado com o tempo decorrido.''' ### Janela ### self.root = root_config(self.pararCb, u'%s - Atividade: %s' % (TITLE, self.atividade.nome)) self.root.wm_attributes('-topmost', 1) ### Frames ### mainFrame = tk.Frame(self.root) mainFrame.pack() ### Labels ### atividadeLabel = tk.Label(mainFrame, text='Decorrido/Saldo: ', justify='left') atividadeLabel.pack(side='left', expand=True) self.tempoDecorridoLbl = tk.Label(mainFrame, text=formatah(-self.cronometro.decorridoh, True)) self.tempoDecorridoLbl.pack(side='left', expand=True) tempoSaldoLbl = tk.Label(mainFrame, text='/ ' + formatah(self.atividade.saldo)) tempoSaldoLbl.pack(side='left', expand=True) ### Buttons ### pausarBtn = tk.Checkbutton(mainFrame, text='Pausar', command=self.pausarCb) pausarBtn.pack(side='left') pararBtn = tk.Button(mainFrame, text='Finalizar', command=self.pararCb) pararBtn.pack(side='left')
def _refresh(self): self.tempoDecorridoLbl.config( text=formatah(-self.cronometro.decorridoh, segundos=True)) if not self.cronometro.isparado: self.tempoDecorridoLbl.after(200, self._refresh) else: self.fechar()
def _refresh(self): self.tempoDecorridoLbl.config(text=formatah(-self.cronometro.decorridoh, segundos=True)) if not self.cronometro.isparado: self.tempoDecorridoLbl.after(200, self._refresh) else: self.fechar()
def construir(self): '''Cria a janela com os widgets e configura o label para ser atualizado com o tempo decorrido.''' ### Janela ### self.root = root_config( self.pararCb, u'%s - Atividade: %s' % (TITLE, self.atividade.nome)) self.root.wm_attributes('-topmost', 1) ### Frames ### mainFrame = tk.Frame(self.root) mainFrame.pack() ### Labels ### atividadeLabel = tk.Label(mainFrame, text='Decorrido/Saldo: ', justify='left') atividadeLabel.pack(side='left', expand=True) self.tempoDecorridoLbl = tk.Label(mainFrame, text=formatah( -self.cronometro.decorridoh, True)) self.tempoDecorridoLbl.pack(side='left', expand=True) tempoSaldoLbl = tk.Label(mainFrame, text='/ ' + formatah(self.atividade.saldo)) tempoSaldoLbl.pack(side='left', expand=True) ### Buttons ### pausarBtn = tk.Checkbutton(mainFrame, text='Pausar', command=self.pausarCb) pausarBtn.pack(side='left') pararBtn = tk.Button(mainFrame, text='Finalizar', command=self.pararCb) pararBtn.pack(side='left')
def escolher_ativ(): '''escolher_ativ() -> atividade Exibe as atividades cadastradas, o saldo de horas e espera que o usuário informe qual delas deseja começar.''' atividades = sorted(data.Atividade.all(), key=lambda x: x.saldo, reverse=True) opcoes = [] for i, a in enumerate(atividades): opcoes.append('%d- %s (Saldo: %s)' % (i, a.nome, formatah(a.saldo))) opcao = gui.escolher('Qual atividade deseja iniciar?', opcoes) if opcao: return atividades[int(opcao.split('-')[0])] else: return None
if data.creditar_tudo(toth, inicio, timestamp): # guarda a data do último crédito timestamp = datetime.date.today() debito = 0 try: atividade = escolher_ativ() if atividade.saldo > 0: debito = debitar(atividade) else: if gui.perguntar( 'Esta atividade não possui mais horas a serem' + ' cumpridas.\nDeseja continuar mesmo assim?'): debito = debitar(atividade, False) except gui.FimAlcancado: debito = atividade.saldo gui.notificar(u'Você acabou de cumprir as horas da atividade:\n' + atividade.nome) except AttributeError, e: # usuário clicou em Sair, ou não... =/ break finally: if debito and gui.perguntar(u'Confirma %s horas gastas com %s?' % (formatah(debito), atividade.nome)): atividade.debitarh(debito) data.salvar_config(toth, inicio, timestamp) if __name__ == '__main__': main()
if (not timestamp) or (datetime.date.today() > timestamp): if data.creditar_tudo(toth, inicio, timestamp): # guarda a data do último crédito timestamp = datetime.date.today() debito = 0 try: atividade = escolher_ativ() if atividade.saldo > 0: debito = debitar(atividade) else: if gui.perguntar('Esta atividade não possui mais horas a serem' + ' cumpridas.\nDeseja continuar mesmo assim?'): debito = debitar(atividade, False) except gui.FimAlcancado: debito = atividade.saldo gui.notificar(u'Você acabou de cumprir as horas da atividade:\n' + atividade.nome) except AttributeError, e: # usuário clicou em Sair, ou não... =/ break finally: if debito and gui.perguntar(u'Confirma %s horas gastas com %s?' % (formatah(debito), atividade.nome)): atividade.debitarh(debito) data.salvar_config(toth, inicio, timestamp) if __name__ == '__main__': main()