class JanelaDeCadastro(TKUtils.Janela()):
    def __init__(self, titulo):
        super().__init__()

        self.eventos = None
        self.titulo = titulo

        self.corpo = None
        self.botao_cancelar = None
        self.botao_confirmar = None

    def iniciar(self, texto, campos):
        self.texto = texto
        self.quantidade_de_campos = campos

        self.title(self.titulo)
        self.geometry('360x280')
        self.resizable(0, 0)

        self.criar_corpo()

        self.criar_botao_cancelar()
        self.criar_botao_confirmar()

    def criar_corpo(self):
        self.corpo = TKUtils.obter_container(master=self, cnf={'bd': 10})

    def criar_botao_cancelar(self):
        cnf, grid = {}, {}

        cnf['text'] = 'Cancelar'
        cnf['bg'] = 'red'
        cnf['command'] = self.eventos['cancelar']

        grid['row'] = self.quantidade_de_campos
        grid['column'] = 0
        grid['sticky'] = 'W'

        self.botao_cancelar =\
            TKUtils.obter_botao(master=self.corpo, cnf=cnf, grid=grid)

    def criar_botao_confirmar(self):
        cnf, grid = {}, {}

        cnf['text'] = self.texto
        cnf['bg'] = 'green'
        cnf['command'] = self.eventos['confirmar']

        grid['row'] = self.quantidade_de_campos
        grid['column'] = 1
        grid['sticky'] = 'E'
        grid['pady'] = 200 - self.quantidade_de_campos * 24

        self.botao_confirmar =\
            TKUtils.obter_botao(master=self.corpo, cnf=cnf, grid=grid)
Exemple #2
0
class JanelaDeErro(TKUtils.Janela()):

    def __init__(self, erro):
        super().__init__()

        self.title('Janela de Erro')
        self.geometry(f'{len(erro) * 16}x140')
        self.resizable(0, 0)

        self.msg_de_erro = erro

        self.container = None
        self.label_de_erro = None
        self.botao_confirmar = None

        self.criar_container()

    def criar_container(self):
        cnf = {}
        cnf['bd'] = 10

        self.container = TKUtils.obter_container(master=self, cnf=cnf)

        self.criar_label_de_erro()
        self.criar_botao_confirmar()

    def criar_label_de_erro(self):
        cnf, pack = {}, {}

        cnf['text'] = self.msg_de_erro
        cnf['fg'] = 'red'
        cnf['font'] = ('arial', 16, 'bold')

        pack['pady'] = 10

        self.label_de_erro =\
            TKUtils.obter_label(master=self, cnf=cnf, pack=pack)

    def criar_botao_confirmar(self):
        cnf, pack = {}, {}

        cnf['text'] = 'OK'
        cnf['bg'] = 'green'
        cnf['command'] = self.destroy

        pack['pady'] = 25
        pack['side'] = 'bottom'

        self.botao_confirmar =\
            TKUtils.obter_botao(master=self, cnf=cnf, pack=pack)
Exemple #3
0
class JanelaDeSorteio(TKUtils.Janela()):
    def __init__(self, elemento, atividade):
        super().__init__()

        self.elemento = elemento
        self.atividade = atividade

        self.container = None
        self.label_do_elemento = None
        self.label_da_atividade = None

    def iniciar(self):
        self.title('Grande Felizardo(a)')
        self.geometry(f'{len(self.elemento) * 18 + 100}x100')
        self.resizable(0, 0)

        self.container = self.criar_container()

        texto = f'Aluno: {self.elemento}'
        self.label_do_elemento = self.criar_label(texto=texto, cor='red')

        texto = f'Atividade: {self.atividade["titulo"]}'
        self.label_do_elemento = self.criar_label(texto=texto, cor='green')

    def criar_container(self):
        return TKUtils.obter_container(master=self)

    def criar_label(self, texto, cor):
        cnf, pack = {}, {}

        cnf['text'] = texto
        cnf['bd'] = 4
        cnf['fg'] = cor
        cnf['font'] = ('times new roman', 22, 'bold')

        return TKUtils.obter_label(master=self.container, cnf=cnf, pack=pack)
Exemple #4
0
class View(TKUtils.Janela()):
    def __init__(self, controller):
        super().__init__()

        self.controller = controller

        self.navbar = None
        self.home = None
        self.aluno = None
        self.grupo = None
        self.atividade = None
        self.sobre = None

        self.janela_de_erro = None
        self.janela_de_sorteio = None

        self.container_ativo = ''

    def segundo_init(self):
        self.title('StuKi®')
        self.geometry('960x490')
        self.resizable(0, 0)

        TKUtils.definir_icone(master=self, nome_do_icone='icone')

    def iniciar(self):
        self.criar_navbar()
        self.criar_container_home()

        self.mainloop()

    def criar_navbar(self):
        controller = self.controller.navbar
        self.navbar = Navbar(master=self, controller=controller)

        self.controller.navbar.evento_elemento_montado()

    def criar_container_home(self):
        controller = self.controller.home
        self.home = Home(master=self, controller=controller)

        self.container_ativo = 'home'
        self.controller.home.evento_elemento_montado()

    def criar_container_aluno(self):
        controller = self.controller.aluno
        self.aluno = Aluno(master=self, controller=controller)

        self.container_ativo = 'aluno'
        self.controller.aluno.evento_elemento_montado()

    def criar_container_atividade(self):
        controller = self.controller.atividade
        self.atividade = Atividade(master=self, controller=controller)

        self.container_ativo = 'atividade'
        self.controller.atividade.evento_elemento_montado()

    def criar_container_grupo(self):
        controller = self.controller.grupo
        self.grupo = Grupo(master=self, controller=controller)

        self.container_ativo = 'grupo'
        self.controller.grupo.evento_elemento_montado()

    def criar_container_sobre(self):
        pass

    def destruir_container_ativo(self):
        if self.container_ativo == 'home':
            self.home.destroy()
        elif self.container_ativo == 'aluno':
            self.aluno.destroy()
        elif self.container_ativo == 'atividade':
            self.atividade.destroy()
        elif self.container_ativo == 'grupo':
            self.grupo.destroy()
        elif self.container_ativo == 'sobre':
            self.sobre.destroy()

        self.container_ativo = ''

    def criar_janela_de_erro(self, erro):
        self.janela_de_erro = JanelaDeErro(erro=erro)

    def criar_janela_de_sorteio(self, atividade, aluno='', grupo=''):
        elemento = aluno if aluno else grupo['nome']

        self.janela_de_sorteio =\
            JanelaDeSorteio(elemento=elemento, atividade=atividade)

        self.janela_de_sorteio.iniciar()