Ejemplo n.º 1
0
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;

}
Ejemplo n.º 2
0
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;
	}
}
Ejemplo n.º 3
0
bool pActionsModel::removeMenu( const QString& path, bool removeEmptyPath )
{
    return removeMenu( action( path ), removeEmptyPath );
}
Ejemplo n.º 4
0
bool pActionsModel::removeAction( QAction* action, bool removeEmptyPath )
{
    return removeMenu( action, removeEmptyPath );
}
Ejemplo n.º 5
0
void GUI::removeQuantityQuestionPrompt()
{
    removeMenu("quantityQuestion");
    movingBlocked=false;
    quantityReturnValue = 0;
}
Ejemplo n.º 6
0
void GUI::removeNotification(std::string arg)
{
    movingBlocked = false;
    removeMenu("notification");
}
Ejemplo n.º 7
0
void GUI::removeQuestionPrompt()
{
    if(movingBlocked)
        movingBlocked = false;
    removeMenu("questionPrompt");
}