//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 (TPtr &base,char *n) : menu (base,n) {}; }; class MenuACamicia : public menu { protected: virtual void action (void *par); public: MenuACamicia (TPtr &base,char *n) : menu (base,n) {}; }; class MenuAMaglione : public menu { protected: virtual void action (void *par); public: MenuAMaglione (TPtr &base,char *n) : menu (base,n) {}; }; class MenuAPantaloni : public menu { protected: virtual void action (void *par); public: MenuAPantaloni (TPtr &base,char *n) : menu (base,n) {}; }; class MenuACintura : public menu { protected: virtual void action (void *par); public: MenuACintura (TPtr &base,char *n) : menu (base,n) {}; }; class MenuACravatta : public menu { protected: virtual void action (void *par); public: MenuACravatta (TPtr &base,char *n) : menu (base,n) {}; }; class MenuScegli : public menu { protected: virtual void action (void *par); public: MenuScegli (TPtr &base,char *n) : menu (base,n) {}; }; class MenuScarta : public menu { protected: virtual void action (void *par); public: MenuScarta (TPtr &base,char *n) : menu (base,n) {}; }; class MenuCompra : public menu { protected: virtual void action (void *par); public: MenuCompra (TPtr &base,char *n) : menu (base,n) {}; }; class MenuCerca : public menu { protected: virtual void action (void *par); public: MenuCerca (TPtr &base,char *n) : menu (base,n) {}; }; class MenuModello : public menu { protected: virtual void action (void *par); public: MenuModello (TPtr &base,char *n) : menu (base,n) {}; }; class MenuTagliaPiu : public menu { protected: virtual void action (void *par); public: MenuTagliaPiu (TPtr &base,char *n) : menu (base,n) {}; }; class MenuTagliaMeno : public menu { protected: virtual void action (void *par); public: MenuTagliaMeno (TPtr &base,char *n) : menu (base,n) {}; }; class MenuTaglia : public menu { protected: virtual void action (void *par); public: MenuTaglia (TPtr &base,char *n) : menu (base,n) {}; }; class MenuColore : public menu { protected: virtual void action (void *par); public: MenuColore (TPtr &base,char *n) : menu (base,n) {}; }; class MenuVediScelti : public menu { protected: virtual void action (void *par); public: MenuVediScelti (TPtr &base,char *n) : menu (base,n) {}; }; class MenuVediDisponibili : public menu { protected: virtual void action (void *par); public: MenuVediDisponibili (TPtr &base,char *n) : menu (base,n) {}; }; #endif