bool cMenus::handleMenu( pClient ps ) { if( ps==NULL ) return false; pChar pc=ps->currChar(); if ( ! pc ) return false; cClientPacket* p = NULL; uint32_t serial; if( isIconList( ps->toInt() ) ) { p = new cPacketResponseToDialog(); p->receive( ps ); serial = ((cPacketResponseToDialog*)p)->serial.get(); } else { p = new cPacketMenuSelection(); p->receive( ps ); serial = ((cPacketMenuSelection*)p)->serial.get(); } P_MENU menu = Menus.getMenu( serial ); if ( ! menu ) return false; uint32_t menu_serial = menu->serial; menu->handleButton( ps, p ); removeMenu( menu_serial, pc ); return true; }
void Menu::removeMenu(Oficina &oficina){ cout << "1 - Remover Funcionário" << endl; cout << "2 - Remover Veiculo de Funcionário" << endl; cout << "3 - Remover Cliente" << endl; cout << "4 - Remover Veiculo de Cliente" << endl; cout << "5 - Remover Servico de veiculo" << endl; cout << "0 - Sair" << endl; int opcao; cin >> opcao; switch(opcao){ case 0: menu(oficina); break; case 1:{ string nomeF; cin.sync(); cout << "Insira o nome do funcionário: "; getline(cin,nomeF); Funcionario f(nomeF); try{ oficina.removeFuncionario(f); }catch(FuncionarioInexistente &e){ cout << e.getNome() << " não é um funcionário.\n"; } oficina.guardaFuncionarios(); removeMenu(oficina); break; } case 2:{ string matricula, nome; try{ cin.sync(); cout << "Insira o nome do funcionário: "; getline(cin,nome); oficina.getFuncionarioNome(nome); cout << "Insira a matrícula do veículo: "; cin >> matricula; Veiculo *v = oficina.getVeiculoMatricula(matricula); oficina.removeVeiculoFuncionario(v,nome); }catch(FuncionarioInexistente &e){ cout << e.getNome() << " não é um funcionário.\n"; }catch(VeiculoInexistente &e){ cout << e.getMatricula() << " não existe.\n"; } oficina.guardaFuncionarios(); removeMenu(oficina); break; } case 3:{ string nome; cin.sync(); cout << "Insira o nome do cliente: "; getline(cin,nome); try{ oficina.getClienteNome(nome); Cliente c(nome); oficina.removeCliente(c); }catch(ClienteInexistente &e){ cout << e.getNome() << " não é um cliente.\n"; }catch(VeiculoInexistente &e){ cout << e.getMatricula() << " não existe.\n"; } oficina.guardaVeiculos(); oficina.guardaClientes(); oficina.guardaFuncionarios(); removeMenu(oficina); break; } case 4:{ string matricula, nome; try{ cin.sync(); cout << "Insira o nome do cliente: "; getline(cin,nome); oficina.getClienteNome(nome); cout << "Insira a matrícula do veículo: "; cin >> matricula; vector<Funcionario> f = oficina.getFuncionariosVeiculo(oficina.getVeiculoMatricula(matricula)); Veiculo *v = oficina.getVeiculoMatricula(matricula); for(unsigned int i = 0; i < f.size(); i++){ oficina.removeVeiculoFuncionario(v,f[i].getNome()); } oficina.removeVeiculoCliente(v,nome); oficina.removeVeiculo(v); }catch(ClienteInexistente &e){ cout << e.getNome() << " não é um funcionário.\n"; }catch(VeiculoInexistente &e){ cout << e.getMatricula() << " não existe.\n"; } oficina.guardaVeiculos(); oficina.guardaClientes(); oficina.guardaFuncionarios(); removeMenu(oficina); break; } case 5:{ int ano,mes,dia,hora,minutos; cout << "Data para agendamento" << endl; cout << "Ano: "; cin >> ano; cout << "Mês: "; cin >> mes; cout << "Dia: "; cin >> dia; cout << "Hora: "; cin >> hora; cout << "Minuto: "; cin >> minutos; Date d(ano,mes,dia,hora,minutos); vector<Servico *> ls = oficina.getServicos(d); for(unsigned int i = 0; i < ls.size(); i++){ oficina.removeServico(ls[i]); } oficina.guardaVeiculos(); removeMenu(oficina); break; } default: cout << "Opção inválida. Insira outra vez." << endl; removeMenu(oficina); break; } }
bool pActionsModel::removeMenu( const QString& path, bool removeEmptyPath ) { return removeMenu( action( path ), removeEmptyPath ); }
bool pActionsModel::removeAction( QAction* action, bool removeEmptyPath ) { return removeMenu( action, removeEmptyPath ); }
void GUI::removeQuantityQuestionPrompt() { removeMenu("quantityQuestion"); movingBlocked=false; quantityReturnValue = 0; }
void GUI::removeNotification(std::string arg) { movingBlocked = false; removeMenu("notification"); }
void GUI::removeQuestionPrompt() { if(movingBlocked) movingBlocked = false; removeMenu("questionPrompt"); }