edf71af3d7
git-svn-id: svn://10.65.10.50/trunk@2784 c028cbd2-c16b-5b4b-a496-9718f37d4682
83 lines
2.8 KiB
C++
Executable File
83 lines
2.8 KiB
C++
Executable File
#ifndef __VARMASK_H
|
|
|
|
#define __VARMASK_H
|
|
|
|
#include <mask.h>
|
|
#include <msksheet.h>
|
|
|
|
// @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, bool destroy );
|
|
|
|
// @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 <p fld_id> 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 <p fld_id> sotto forma di stringa
|
|
virtual const TString& get(short fld_id) const;
|
|
// @cmember Definsce l'handler del campo <p fld_id>
|
|
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);
|
|
|
|
};
|
|
|
|
// @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 <t SPREADSHEET_GETMASK>)
|
|
SPREADSHEET_GETMASK _getmask;
|
|
|
|
protected:
|
|
// @cmember Ricopia i campi della maschera nel record <p n>-esimo
|
|
virtual void mask2row(int n, TToken_string & rec);
|
|
// @cmember Ricopia i campi del record <p n>-esimo nella maschera
|
|
virtual void row2mask(int n, TToken_string & rec);
|
|
|
|
|
|
public:
|
|
// @cmember Setta il membro <p _set_getmask> con il valore <p n>
|
|
void set_getmask(SPREADSHEET_GETMASK n)
|
|
{ _getmask = n; }
|
|
|
|
// @cmember esegue la maschera di edit dello speadsheet;
|
|
virtual KEY run_editmask(int n);
|
|
// @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
|