Beispiel #1
0
class DetalhesDoFuncionario(AbstractTela):
    def __init__(self, func):
        self.__validator = validator
        self.window = Window('Detalhes do funcionário')
        layout = [
            [Text('Funcionário:')],
        ]
        veics = []
        for veic in func.veiculos_cadastrados:
            veics.append([
                Text(
                    f'     Placa: {veic.placa} -  Marca: {veic.marca} - Modelo: {veic.modelo} '
                )
            ])
        fields_out_of_validator = [
            [Text((f'Bloqueado : {func.bloqueado}'))],
            [Text('Veiculos :')],
        ] + veics
        for k in self.__validator.keys():
            repres = k.title(
            ) if k != 'data_nascimento' else 'Data de nascimento'
            layout.append([Text(f'{repres} : {getattr(func, k)}')])
        layout += fields_out_of_validator
        layout.append([Button('Voltar')])
        self.window.layout(layout)
Beispiel #2
0
class AtualizaFuncionario(AbstractTela):
    def __init__(self, field, value):
        self.__validator = validator
        self.window = Window('Atualiza funcionário')
        layout = [[
            Text(f'Informe o/a {field} do funcionário:'),
            Input(key=field, default_text=value)
        ], [Button('Ok!'), Button('Manter')]]
        self.window.layout(layout)
Beispiel #3
0
class AdicionaFuncionario(AbstractTela):
    def __init__(self, field):
        self.__validator = validator
        self.window = Window('Adiciona funcionário')
        layout = [[
            Text(f'Informe o/a {field} do funcionário:'),
            Input(key=field)
        ], [Button('Ok!')]]
        self.window.layout(layout)
Beispiel #4
0
class TelaListaFuncionarios(AbstractTela):
    def __init__(self, funcs):
        self.window = Window('Funcionários')
        layout = [
            [Text('Funcionários:')],
        ]
        for func in funcs:
            layout.append([Text(f'{func.matricula} - {func.nome}')])
        layout.append([Button('Voltar')])
        self.window.layout(layout)
Beispiel #5
0
def safe_close(window: sg.Window):
    """Closes and disposes of a window in a way that won't cause tkinter-related threading errors"""
    window.close()
    window.layout = None
    window.TKroot = None
    gc.collect()