campo-sirio/include/varmask.h
alex baa1e34d5c Patch level : 10.0 163
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Riportata la versione 3.2 patch 1262


git-svn-id: svn://10.65.10.50/trunk@17631 c028cbd2-c16b-5b4b-a496-9718f37d4682
2008-11-14 00:40:30 +00:00

85 lines
2.9 KiB
C++
Executable File

#ifndef __VARMASK_H
#define __VARMASK_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);
// @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:
// @cmember Controlla se il campo <p fld_id> esiste
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 Setta il campo con una stringa
virtual void set(short fld_id, const char* str, byte hit=0x0);
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di stringa
virtual const TString& get(short fld_id) const;
// @cmember Definisce 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 Azzera il campo
void reset(short fld_id = 0);
// @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 Costruttore (crea la maschera leggendo la descrizione dal file .msk)
TVariable_mask();
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
TVariable_mask( const char* name, int num = 0, int max = MAX_PAGES);
// @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 <t SPREADSHEET_GETMASK>)
SPREADSHEET_GETMASK _getmask;
protected:
public:
// @cmember Setta il membro <p _set_getmask> con il valore <p n>
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 alla riga corrente dello spreadsheet
virtual TMask& sheet_mask() const;
// @cmember Ritorna la maschera corrispondente ad una riga dello spreadsheet
virtual TMask& sheet_row_mask(int row) const;
// @cmember Costruttore
TVariable_sheet_field(TMask* m) : TSheet_field(m)
{}
// @cmember Distruttore
virtual ~TVariable_sheet_field();
};
#endif