//Commesso: Commesso.h
#ifndef CAPO_H
#include "capo.h"
#endif
#ifndef MAGAZ_H
#include "magaz.h"
#endif
#ifndef MENU_H
#include "menu.h"
#endif
#ifndef COMMESSO_H
#define COMMESSO_H
class Commesso {
Capo *scelti; // Lista dei capi scelti (dal magazzino)
Capo *comprati; // Lista dei capi comprati (scelti dall'utente)
AttrList *criteri; // Lista dei criteri imposti dal cliente
Magazzino *mag; // Magazzino nel quale trovari i capi
public:
enum CapoScelto { Maglione, Camicia, Pantaloni, Cintura, Cravatta };
Commesso (Magazzino *m) { mag = m; scelti = 0; comprati = 0;
criteri = 0; };
// Azioni del commesso
void Scegli (CapoScelto scelto);
void Cerca ();
void Compra ();
void ListaScelti ();
void ListaDisponibili ();
void ToScelti ();
void ToDisponibili ();
void AddCriterio (AttrList::modo m, AttrList::tipo_t t);
};
/* Tutti i 'Menu...' sono uguali.
* Contebgono un costruttore con parametri che inizializza la superclasse 'menu'
* e la definizione della funzione virtuale pura di 'menu' 'action'
*/
class MenuCommesso : public menu {
protected:
virtual void action (void *par);
public:
MenuCommesso (menu **base,char *n) : menu (base,n) {};
};
class MenuACamicia : public menu {
protected:
virtual void action (void *par);
public:
MenuACamicia (menu **base,char *n) : menu (base,n) {};
};
class MenuAMaglione : public menu {
protected:
virtual void action (void *par);
public:
MenuAMaglione (menu **base,char *n) : menu (base,n) {};
};
class MenuAPantaloni : public menu {
protected:
virtual void action (void *par);
public:
MenuAPantaloni (menu **base,char *n) : menu (base,n) {};
};
class MenuACintura : public menu {
protected:
virtual void action (void *par);
public:
MenuACintura (menu **base,char *n) : menu (base,n) {};
};
class MenuACravatta : public menu {
protected:
virtual void action (void *par);
public:
MenuACravatta (menu **base,char *n) : menu (base,n) {};
};
class MenuScegli : public menu {
protected:
virtual void action (void *par);
public:
MenuScegli (menu **base,char *n) : menu (base,n) {};
};
class MenuScarta : public menu {
protected:
virtual void action (void *par);
public:
MenuScarta (menu **base,char *n) : menu (base,n) {};
};
class MenuCompra : public menu {
protected:
virtual void action (void *par);
public:
MenuCompra (menu **base,char *n) : menu (base,n) {};
};
class MenuCerca : public menu {
protected:
virtual void action (void *par);
public:
MenuCerca (menu **base,char *n) : menu (base,n) {};
};
class MenuModello : public menu {
protected:
virtual void action (void *par);
public:
MenuModello (menu **base,char *n) : menu (base,n) {};
};
class MenuTagliaPiu : public menu {
protected:
virtual void action (void *par);
public:
MenuTagliaPiu (menu **base,char *n) : menu (base,n) {};
};
class MenuTagliaMeno : public menu {
protected:
virtual void action (void *par);
public:
MenuTagliaMeno (menu **base,char *n) : menu (base,n) {};
};
class MenuTaglia : public menu {
protected:
virtual void action (void *par);
public:
MenuTaglia (menu **base,char *n) : menu (base,n) {};
};
class MenuColore : public menu {
protected:
virtual void action (void *par);
public:
MenuColore (menu **base,char *n) : menu (base,n) {};
};
class MenuVediScelti : public menu {
protected:
virtual void action (void *par);
public:
MenuVediScelti (menu **base,char *n) : menu (base,n) {};
};
class MenuVediDisponibili : public menu {
protected:
virtual void action (void *par);
public:
MenuVediDisponibili (menu **base,char *n) : menu (base,n) {};
};
#endif