//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