#ifndef __VARMASK_H #define __VARMASK_H #include // @doc EXTERNAL // @type SPREADSHEET_GETMASK | Prototipo funzione che ritorna una maschera di edit diversa a seconda della riga typedef TMask* (*SPREADSHEET_GETMASK)( int numriga, TMask& fullmask); // @doc EXTERNAL // @class TVariable_mask | Maschere con spreadsheet a righe variabili e con campi virtuali // // @base public | TMask class TVariable_mask : public TMask { // @author:(INTERNAL) Matteo protected: bool present( short fld_id ) const { return ( id2pos( fld_id ) >= 0 ); }; public: // @cmember Esegue il check e i messaggi sul campo

della maschera virtual void check_field( short fld_id ); // @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk) TVariable_mask( const char* name, int num = 0, int max = MAX_PAGES); // @cmember Setta il campo con una stringa virtual void set(short fld_id, const char* str, bool hit=FALSE); // @cmember Ritorna il contenuto del campo

sotto forma di stringa virtual const TString& get(short fld_id) const; // @cmember Definisce l'handler del campo

virtual void set_handler(short fld_id, CONTROL_HANDLER handler); // @cmember Permette di mostrare/nascondere un campo virtual void show(short fld_id = -1, bool on = TRUE); // @cmember Abilita/disabilita un campo virtual void enable(short fld_id, bool on = TRUE); // @cmember Legge il campo da file virtual TMask_field* parse_field(TScanner& scanner); // @cmember Distruttore virtual ~TVariable_mask() {} }; // @doc EXTERNAL // @class TVariable_sheet_field | Classe per la gestione dei campi di uno spreadsheet con righe variabili // // @base public | TSheet_field class TVariable_sheet_field : public TSheet_field { // @author:(INTERNAL) Alex + Guido // @cmember:(INTERNAL) Funzione per l'apertura della maschera di edit della riga // (vedi ) SPREADSHEET_GETMASK _getmask; protected: public: // @cmember Setta il membro

con il valore

void set_getmask(SPREADSHEET_GETMASK n) { _getmask = n; } // @cmember Funzione eseguita dopo ogni insert virtual void post_insert(int r); // @cmember Ritorna la maschera corrispondente ad una riga dello spreadsheet virtual TMask& sheet_mask() const; // @cmember Costruttore TVariable_sheet_field(TMask* m) : TSheet_field(m) {} // @cmember Distruttore virtual ~TVariable_sheet_field(); }; #endif