75 lines
1.8 KiB
C++
75 lines
1.8 KiB
C++
|
// gestione tabelle di magazzino
|
|||
|
|
|||
|
#include <modaut.h>
|
|||
|
#include <tabapp.h>
|
|||
|
#include <tabutil.h>
|
|||
|
|
|||
|
// applicazione per la gestione delle tabelle di lavanderia
|
|||
|
class Tab_app_lav : public TTable_application
|
|||
|
{
|
|||
|
|
|||
|
protected: // TRelation_application
|
|||
|
virtual bool user_destroy() ;
|
|||
|
virtual bool user_create() ;
|
|||
|
|
|||
|
virtual TMask * set_mask(TMask * _m=NULL);
|
|||
|
|
|||
|
public:
|
|||
|
Tab_app_lav() {}
|
|||
|
virtual ~Tab_app_lav() {}
|
|||
|
};
|
|||
|
|
|||
|
HIDDEN inline Tab_app_lav& app() { return (Tab_app_lav&)main_app(); }
|
|||
|
|
|||
|
|
|||
|
// costruttore
|
|||
|
// alloca/cambia la maschera dell'applicazione
|
|||
|
TMask * Tab_app_lav::set_mask(TMask * _m)
|
|||
|
{
|
|||
|
if (_m != NULL)
|
|||
|
return Tab_application::set_mask(_m);
|
|||
|
else
|
|||
|
{
|
|||
|
const TString& tabname = get_tabname();
|
|||
|
TString maskname; get_mask_name(maskname);
|
|||
|
return Tab_application::set_mask(new TMask_tabmag(maskname, tabname));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
bool Tab_app_lav::user_create()
|
|||
|
{
|
|||
|
/*
|
|||
|
la Tab_application::user_create() apre la maschera TMask in modo automatico
|
|||
|
basandosi sul parametro passato sulla linea di comando e sulla convenzione
|
|||
|
nome = "BATB"+parametro;
|
|||
|
ORA:
|
|||
|
- questa convenzione cambier<EFBFBD> per separare i programmi (e le maschere)
|
|||
|
dei vari pacchetti
|
|||
|
In tal caso ridefinire il metodo virtual mask_name()
|
|||
|
- secondo il nuovo stile, gli handler vanno posti in maschere derivate
|
|||
|
dalla TMask (TMask_tabmag, TMask_tabcau, ecc), pertanto occorre che
|
|||
|
la maschera aperta sia del tipo corretto
|
|||
|
per questo motivo la maschera viene creata dalla user_create()
|
|||
|
*/
|
|||
|
|
|||
|
bool ok = Tab_application::user_create();
|
|||
|
|
|||
|
if (ok)
|
|||
|
TMask& mask = *set_mask();
|
|||
|
|
|||
|
return ok;
|
|||
|
}
|
|||
|
|
|||
|
bool Tab_app_lav::user_destroy()
|
|||
|
{
|
|||
|
return Tab_application::user_destroy();
|
|||
|
}
|
|||
|
|
|||
|
int mg0100(int argc, char* argv[])
|
|||
|
{
|
|||
|
Tab_app_lav a;
|
|||
|
a.run(argc, argv, TR("Tabella"));
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|