class JanelaPrincipal(QtGui.QDialog): def __init__(self, ui_dir): QtGui.QDialog.__init__(self) # Setar a interface criada no QTCreator. self.ui_dir = ui_dir self.ui = uic.loadUi(os.path.join(self.ui_dir, "janelaprincipal.ui")) self.ui.show() self.tratadorEventos = TratadorDeEventos() # Conectar eventos dos botoes self.connect(self.ui.botaoAdcionar, QtCore.SIGNAL("clicked()"), self.clicouAdcionar) self.connect(self.ui.botaoBuscar, QtCore.SIGNAL("clicked()"), self.clicouBuscar) self.connect(self.ui.botaoListar, QtCore.SIGNAL("clicked()"), self.clicouListar) self.connect(self.ui.botaoRemover, QtCore.SIGNAL("clicked()"), self.clicouRemover) # TODO Preencher os campo dos tipos de busca possiveis tabelaPaciente = TabelaPaciente() opcoesPesquisa = [tabelaPaciente.obterCampoIdade(), tabelaPaciente.obterCampoNome(), tabelaPaciente.obterCampoNumeroFamilia(), tabelaPaciente.obterCampoNumeroArea(), tabelaPaciente.obterCampoNumeroMicroArea()] self.ui.modosPesquisa.insertItems(0, opcoesPesquisa) # Delegar tabela de pacientes para uma classe self.__tabelaPacientes = TabelaPacientesGUI(self.ui.tabelaPacientes) # Disparar evento para listar os pacientes existentes self.tratadorEventos.dispararEvento(eventos_sistema.LISTAR_PACIENTES) def clicouAdcionar(self): enderecoGUI = EnderecoGUI(rua = str(self.ui.entradaRua.text()), numero = str(self.ui.entradaNumero.text()), complemento = str(self.ui.entradaComplemento.text())) pacienteGUI = PacienteGUI(nome = str(self.ui.entradaNome.text()), numArea = str(self.ui.entradaArea.text()), numMicroArea = str(self.ui.entradaMicroArea.text()), numFamilia = str(self.ui.entradaFamilia.text()), dataNascimento = DataNascimento(self.ui.entradaDataNasc.text()), endereco = enderecoGUI) self.tratadorEventos.dispararEvento(evento = eventos_sistema.ADCIONAR_PACIENTE, paciente = pacienteGUI) def clicouBuscar(self): #TODO ao disparar o evento deve construir um ParametroPesquisa utilizando a #TabelaPaciente para definir o nome do campo da busca self.tratadorEventos.dispararEvento(evento = eventos_sistema.BUSCA_PACIENTE, parametro_pesquisa = ParametroDePesquisa(str(self.ui.modosPesquisa.currentText()), str(self.ui.entradaBusca.text()))) def clicouListar(self): self.tratadorEventos.dispararEvento(eventos_sistema.LISTAR_PACIENTES) def clicouRemover(self): self.tratadorEventos.dispararEvento(evento = eventos_sistema.REMOVER_PACIENTE, paciente = self.__tabelaPacientes.obterPacienteSelecionado())
def __init__(self, ui_dir): QtGui.QDialog.__init__(self) # Setar a interface criada no QTCreator. self.ui_dir = ui_dir self.ui = uic.loadUi(os.path.join(self.ui_dir, "janelaprincipal.ui")) self.ui.show() self.tratadorEventos = TratadorDeEventos() # Conectar eventos dos botoes self.connect(self.ui.botaoAdcionar, QtCore.SIGNAL("clicked()"), self.clicouAdcionar) self.connect(self.ui.botaoBuscar, QtCore.SIGNAL("clicked()"), self.clicouBuscar) self.connect(self.ui.botaoListar, QtCore.SIGNAL("clicked()"), self.clicouListar) self.connect(self.ui.botaoRemover, QtCore.SIGNAL("clicked()"), self.clicouRemover) # TODO Preencher os campo dos tipos de busca possiveis tabelaPaciente = TabelaPaciente() opcoesPesquisa = [tabelaPaciente.obterCampoIdade(), tabelaPaciente.obterCampoNome(), tabelaPaciente.obterCampoNumeroFamilia(), tabelaPaciente.obterCampoNumeroArea(), tabelaPaciente.obterCampoNumeroMicroArea()] self.ui.modosPesquisa.insertItems(0, opcoesPesquisa) # Delegar tabela de pacientes para uma classe self.__tabelaPacientes = TabelaPacientesGUI(self.ui.tabelaPacientes) # Disparar evento para listar os pacientes existentes self.tratadorEventos.dispararEvento(eventos_sistema.LISTAR_PACIENTES)
@author: katcipis <*****@*****.**> ''' from banco_dados import inicia_bd from gui.JanelaPrincipal import JanelaPrincipal from PyQt4 import QtGui from eventos.TratadorDeEventos import TratadorDeEventos from eventos import eventos_sistema from modelo import tratador_eventos import os import sys if(not inicia_bd.iniciar_bd()): print('Erro ao iniciar banco de dados, abortando !!!') app = QtGui.QApplication(sys.argv) janela = JanelaPrincipal(os.path.join(os.getcwd(), "arquivos_qt")) tratadorEventos = TratadorDeEventos() #Eventos tratados pelo modelo logico tratadorEventos.registraTratador(eventos_sistema.ADCIONAR_PACIENTE, tratador_eventos.adciona_paciente) tratadorEventos.registraTratador(eventos_sistema.BUSCA_PACIENTE, tratador_eventos.busca_paciente) tratadorEventos.registraTratador(eventos_sistema.REMOVER_PACIENTE, tratador_eventos.remove_paciente) tratadorEventos.registraTratador(eventos_sistema.LISTAR_PACIENTES, tratador_eventos.listar_pacientes) #TODO respostas de eventos que devem ser tratados pela GUI #tratadorEventos.registraTratador() #tratadorEventos.registraTratador() #tratadorEventos.registraTratador() sys.exit(app.exec_())