getMinAndMax(rooms); createBlankTiles(); foreach (Room *r, rooms) { addRoom(r); } connect(ui->name, SIGNAL(textEdited(QString)), this, SLOT(floorNameChanged(QString))); connect(ui->z, SIGNAL(textEdited(QString)), this, SLOT(enableOkButton())); connect(ui->addRoom, SIGNAL(clicked()), this, SLOT(addRoom())); connect(ui->editRoom, SIGNAL(clicked()), this, SLOT(editRoom())); connect(ui->removeRoom, SIGNAL(clicked()), this, SLOT(removeRoom())); } FloorDialog::~FloorDialog() { delete ui; } QString FloorDialog::floorName() const { return ui->name->text(); } void FloorDialog::addRoom(Room *r)
void getBt(int Id, int ind){ int cod, getOK = false; char dado[50], codi; switch(Id){ case WINLOGIN: //janela de login switch(ind){ case 1: //bot�o entrar if((strcmp(win.id[Id].fd[1].text, "MATHEUS") == 0) && (strcmp(win.id[Id].fd[2].text, "123") == 0)){ win.id[Id].act = false; //refaz o palco hidemouseptr(); RemakeStage(); showmouseptr(); //tira o listener da janela mexit = true; }else{ MsgLine("Senha ou Usuario nao comferem!", "Incorreto", ERRO); } break; } break; case WINROOM: //janela de entrada de salas switch(ind){ case 1: //botão salvar cod = setRoom(); WinClose(WINROOM); MsgLine("Nova Sala incluida! cod: ", "Sucesso!", ALERTA); cprintf("%d", cod); break; } break; case GOOGLE: switch(ind){ case 1: //botão buscar if(strtol(win.id[GOOGLE].fd[1].text, NULL, 10) <= recordsDB(WINROOM)-1){ hidemouseptr(); //chama cabe�alho da janela de edição MakeWindow(27, 4, 43, 13, "Edita Sala", WHITE, BLACK, WINROOME); MakeField(4, 3, 4, "Numero:", BLACK, WHITE, NUMBERS, WINROOME); MakeField(15, 3, 2, "Bloco:", BLACK, WHITE, NUMBERS, WINROOME); MakeField(25, 3, 3, "Lotacao:", BLACK, WHITE, NUMBERS, WINROOME); MakeField(4, 7, 2, "Data Show:", BLACK, WHITE, CHECK, WINROOME); MakeField(15, 7, 2, "Lousa Digital:", BLACK, WHITE, CHECK, WINROOME); MakeField(4, 10, 2, "Ar Cond.:", BLACK, WHITE, CHECK, WINROOME); MakeField(15, 10, 2, "Computador:", BLACK, WHITE, CHECK, WINROOME); MakeField(30, 7, 2, "Ventilador:", BLACK, WHITE, NUMBERS, WINROOME); MakeField(30, 10, 2, "Tomadas:", BLACK, WHITE, NUMBERS, WINROOME); MakeButton(31, 12, 10, "Salva", MAGENTA, WHITE, WINROOME); MakeButton(19, 12, 3, "<-", MAGENTA, WHITE, WINROOME); MakeButton(25, 12, 3, "->", MAGENTA, WHITE, WINROOME); //agora preenche campos if(getRoom(win.id[GOOGLE].fd[1].text) == true){ showmouseptr(); last = c; WinListener(WINROOME); WinClose(GOOGLE); }else{ WinClose(WINROOME); WinClose(GOOGLE); showmouseptr(); MsgLine("Registro nao encontrado!", "405!", ERRO); } //cprintf("Acabou o listener"); }else{ MsgLine("Registro nao encontrado!", "404!", ERRO); } break; } break; case GOOGLE1: switch(ind){ case 1: //botão buscar if(strtol(win.id[GOOGLE1].fd[1].text, NULL, 10) <= recordsDB(AGEND)-1){ hidemouseptr(); //chama cabe�alho da janela de novo agendamento MakeWindow(27, 4, 43, 16, "Novo Agendamento", WHITE, BLACK, AGENDE); MakeField(4, 3, 4, "Sala:", BLACK, WHITE, NUMBERS, AGENDE); MakeField(4, 6, 2, "Dia:", BLACK, WHITE, NUMBERS, AGENDE); MakeField(8, 6, 2, "Mes:", BLACK, WHITE, NUMBERS, AGENDE); MakeField(12, 6, 4, "Ano:", BLACK, WHITE, NUMBERS, AGENDE); MakeField(4, 9, 5, "Hora Ini.:", BLACK, WHITE, HORAS, AGENDE); MakeField(16, 9, 5, "Hora Fin.:", BLACK, WHITE, HORAS, AGENDE); MakeField(4, 12, 35, "Responsavel:", BLACK, WHITE, CHARS, AGENDE); MakeButton(18, 15, 3, "<-", MAGENTA, WHITE, AGENDE); MakeButton(24, 15, 3, "->", MAGENTA, WHITE, AGENDE); //agora preenche campos if(getAgend(win.id[GOOGLE1].fd[1].text) == true){ showmouseptr(); last = c; WinListener(AGENDE); WinClose(GOOGLE1); }else{ WinClose(AGENDE); WinClose(GOOGLE1); showmouseptr(); MsgLine("Registro nao encontrado!", "405!", ERRO); } }else{ MsgLine("Registro nao encontrado!", "404!", ERRO); } break; } break; case DELROOM: switch(ind){ case 1: //apagar delay(200); hidemouseptr(); //chama cabe�alho da janela de edição MakeWindow(35, 6, 23, 7, "Certeza!?", WHITE, BLACK, SHURE); MakeField(5, 4, 4, "Deseja Apagar?", WHITE, YELLOW, NUMBERS, SHURE); MakeButton(5, 6, 5, "Sim", MAGENTA, WHITE, SHURE); MakeButton(13, 6, 5, "Nao", MAGENTA, WHITE, SHURE); showmouseptr(); WinListener(SHURE); strcpy(&dado, win.id[DELROOM].fd[1].text); WinClose(DELROOM); if(deler == true){ if(delRoom(dado) == true){ MsgLine("Registro removido com sucesso!", "Sucesso!", ALERTA); }else{ MsgLine("Registro nao encontrado!", "404!", ERRO); } } break; } break; case SHURE: switch(ind){ case 1: //sim WinClose(SHURE); deler = true; break; case 2: //não WinClose(SHURE); deler = false; break; } break; case WINROOME: switch(ind){ case 1: //salvar //cprintf("Agora sim..."); if(editRoom(c) == true) MsgLine("Editado com Sucesso!", "Sucesso!", ALERTA); else MsgLine("Erro ao Editar Arquivo!", "500!", ERRO); delay(130); break; case 2: //para frente if(c >= 1){ cod = c-1; if(cod >= 1){ //pega codigo sprintf(&dado, "%d", cod); //limpa campos TrashField(WINROOME); getOK = getRoom(dado); //agora preenche campos while((getOK == false) && (cod >= 1)){ c --; cod = c; sprintf(&dado, "%d", cod); getOK = getRoom(dado); //e manda de novo } if(getOK == true){ last = c; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "Edita Sala cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); }else{ cod = last; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "%d", cod); getOK = getRoom(dado); //e manda de novo sprintf(&dado, "Edita Sala cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); MsgLine("Comeco dos Registros", "Total!", ALERTA); } }else{ MsgLine("Comeco dos Registros", "Total!", ALERTA); } delay(120); } break; case 3: //para trás gambiarra lembra m = variavel global if(c < recordsDB(WINROOM)){ cod = c+1; if(cod < recordsDB(WINROOM)){ //pega codigo sprintf(&dado, "%d", cod); //limpa campos TrashField(WINROOME); //agora preenche campos getOK = getRoom(dado); //verifica se existe mesmo while((getOK == false) && (cod < recordsDB(WINROOM))){ c++; cod = c; sprintf(&dado, "%d", cod); getOK = getRoom(dado); //e manda de novo } if(getOK == true){ last = c; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "Edita Sala cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); }else{ cod = last; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "%d", cod); getOK = getRoom(dado); //e manda de novo sprintf(&dado, "Edita Sala cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); MsgLine("Fim dos Registros", "Total!", ALERTA); } }else{ MsgLine("Fim dos Registros", "Total!", ALERTA); } delay(120); } break; } break; case AGENDE: switch(ind){ case 1: //para frente if(c >= 1){ cod = c-1; if(cod >= 1){ //pega codigo sprintf(&dado, "%d", cod); //limpa campos TrashField(AGENDE); getOK = getAgend(dado); //agora preenche campos while((getOK == false) && (cod >= 1)){ c --; cod = c; sprintf(&dado, "%d", cod); getOK = getAgend(dado); //e manda de novo } if(getOK == true){ last = c; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "Mostra Agendamento cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); }else{ cod = last; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "%d", cod); getOK = getAgend(dado); //e manda de novo sprintf(&dado, "Mosta Agendamento cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); MsgLine("Comeco dos Registros", "Total!", ALERTA); } }else{ MsgLine("Comeco dos Registros", "Total!", ALERTA); } delay(120); } break; case 2: //para trás gambiarra lembra m = variavel global if(c < recordsDB(AGEND)){ cod = c+1; if(cod < recordsDB(AGEND)){ //pega codigo sprintf(&dado, "%d", cod); //limpa campos TrashField(AGENDE); //agora preenche campos getOK = getAgend(dado); //verifica se existe mesmo while((getOK == false) && (cod < recordsDB(AGEND))){ c++; cod = c; sprintf(&dado, "%d", cod); getOK = getAgend(dado); //e manda de novo } if(getOK == true){ last = c; //cprintf("manolo %d", last); getchar(); sprintf(&dado, "Mostra Agendamento cod: %d", c); strcpy(win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); }else{ cod = last; //cprintf("manolo %d", last); getchar(); sprintf(dado, "%d", cod); getOK = getRoom(dado); //e manda de novo sprintf(&dado, "Mostra Agendamento cod: %d", c); strcpy(&win.id[Id].label, dado); //refaz tuto hidemouseptr(); RemakeStage(); showmouseptr(); MsgLine("Fim dos Registros", "Total!", ALERTA); } }else{ MsgLine("Fim dos Registros", "Total!", ALERTA); } delay(120); } break; } break; case DELAGEND: switch(ind){ case 1: //apagar delay(200); hidemouseptr(); //chama cabe�alho da janela de edição MakeWindow(35, 6, 23, 7, "Certeza!?", WHITE, BLACK, SHURE); MakeField(5, 4, 4, "Deseja Apagar?", WHITE, YELLOW, NUMBERS, SHURE); MakeButton(5, 6, 5, "Sim", MAGENTA, WHITE, SHURE); MakeButton(13, 6, 5, "Nao", MAGENTA, WHITE, SHURE); showmouseptr(); WinListener(SHURE); strcpy(dado, win.id[DELAGEND].fd[1].text); WinClose(DELAGEND); if(deler == true){ if(delAgend(dado) == true){ MsgLine("Registro removido com sucesso!", "Sucesso!", ALERTA); }else{ MsgLine("Registro nao encontrado!", "404!", ERRO); } } break; } break; case AGEND: switch(ind){ case 1: //botao salvar //cod = setAgend(); codi = setAgend(); if(codi == 'S'){ WinClose(AGEND); MsgLine("Novo Agendamento incluido! cod: ", "Sucesso!", ALERTA); cprintf("%d", recordsDB(AGEND)-1); }else if(codi == 'N'){ MsgLine("Sala nao existe! ", "Inexistente!", ERRO); //cprintf("%c", codi); }else if(codi == 'H'){ MsgLine("Horario ja esta em uso!", "Ocupado!", ERRO); }else{ MsgLine("Erro Indeterminado!", "GATES!", ERRO); } break; } break; case RELATR: funcRelar(ind); break; } }