2005-04-21 15:39:13 +00:00
# ifndef __CI0400_H
# define __CI0400_H
2005-04-18 15:31:21 +00:00
2005-04-21 15:39:13 +00:00
///////////////////////////////////////////////////////////
// TImmissioneDocumenti_mask
///////////////////////////////////////////////////////////
2005-04-18 15:31:21 +00:00
2005-04-21 15:39:13 +00:00
class TImmissioneDocumenti_mask : public TAlmanac_mask
{
2005-04-26 18:43:47 +00:00
TString_array _filters ; // filtri tipodoc per ogni tab
TArray _flags ; // array di TBit_array. Ognuno di essi <20> lungo 366 e rappresenta i flag di presenza documenti per ogni giorno dell'anno. Ogni page della maschera ha bisogno di un bitarray diverso
TBit_array _ordered ;
2005-05-08 11:47:35 +00:00
TBit_array _insert ;
TBit_array _modify ;
2005-06-05 14:13:14 +00:00
TBit_array _doccoll ;
TBit_array _modcoll ;
TString_array _numcoll ;
TString_array _tipocoll ;
TString_array _statocoll ;
TString_array _varcoll ;
2005-04-26 18:43:47 +00:00
2005-04-21 15:39:13 +00:00
protected :
public :
// ereditato da TAlmanac_mask
2005-04-22 15:37:43 +00:00
virtual bool is_date_void ( int currpage , TDate & cdate ) ;
2005-04-21 15:39:13 +00:00
virtual void change_year ( int newyear ) ;
2005-05-05 15:17:38 +00:00
public :
// metodi di accesso
2005-04-26 18:43:47 +00:00
const TString_array & filters ( ) const { return _filters ; }
const TArray & flags ( ) const { return _flags ; }
const TBit_array & ordered ( ) const { return _ordered ; }
2005-06-05 14:13:14 +00:00
const TBit_array & doc_coll ( ) const { return _doccoll ; }
const TBit_array & mod_coll ( ) const { return _modcoll ; }
const TString_array & num_coll ( ) const { return _numcoll ; }
const TString_array & tipo_coll ( ) const { return _tipocoll ; }
const TString_array & stato_coll ( ) const { return _statocoll ; }
const TString_array & var_coll ( ) const { return _varcoll ; }
2005-04-26 18:43:47 +00:00
TString_array & filters ( ) { return _filters ; }
TArray & flags ( ) { return _flags ; }
TBit_array & ordered ( ) { return _ordered ; }
2005-05-08 11:47:35 +00:00
TBit_array & insert ( ) { return _insert ; }
TBit_array & modify ( ) { return _modify ; }
2005-06-05 14:13:14 +00:00
TBit_array & doc_coll ( ) { return _doccoll ; }
TBit_array & mod_coll ( ) { return _modcoll ; }
TString_array & num_coll ( ) { return _numcoll ; }
TString_array & tipo_coll ( ) { return _tipocoll ; }
TString_array & stato_coll ( ) { return _statocoll ; }
TString_array & var_coll ( ) { return _varcoll ; }
2005-04-18 15:31:21 +00:00
2005-04-21 15:39:13 +00:00
public :
// apertura del foglio interno di gestione dei documenti
2005-04-26 18:43:47 +00:00
virtual void open_day_mask ( TDate date ) ;
2005-04-21 15:39:13 +00:00
private :
// chiamata del programma ve0
2005-05-08 11:47:35 +00:00
void call_ve0 ( int exitval , TRelation & relation , TDate & date , const TString & codnum , const TString & doctype = EMPTY_STRING , byte currpage = 0 ) ;
2005-04-21 15:39:13 +00:00
public :
// Costruttore
2005-04-21 16:37:52 +00:00
TImmissioneDocumenti_mask ( ) : TAlmanac_mask ( " ci0400a " ) { }
2005-04-21 15:39:13 +00:00
// Distruttore
~ TImmissioneDocumenti_mask ( ) { }
} ;
///////////////////////////////////////////////////////////
// TImmissioneDocumenti_app
///////////////////////////////////////////////////////////
class TImmissioneDocumenti_app : public TSkeleton_application
{
TImmissioneDocumenti_mask * _mask ;
int _year ; // anno corrente
private :
void init_tabs ( ) ;
void init_flags ( ) ;
protected :
virtual bool create ( void ) ;
virtual void main_loop ( ) ;
virtual bool destroy ( void ) ;
public :
2005-04-22 15:37:43 +00:00
bool has_documents ( int currpage , TDate & day ) ; // passata come funzione alla maschera
2005-04-22 11:18:23 +00:00
void change_year ( int newyear , bool init_flg = true ) ; // passata come funzione alla maschera
2005-04-26 18:43:47 +00:00
TImmissioneDocumenti_mask & mask ( ) const { return * _mask ; }
2005-04-21 15:39:13 +00:00
public :
2005-04-22 15:37:43 +00:00
TImmissioneDocumenti_app ( ) { change_year ( TDate ( TODAY ) . year ( ) , false ) ; }
2005-04-21 15:39:13 +00:00
virtual ~ TImmissioneDocumenti_app ( ) { }
} ;
inline TImmissioneDocumenti_app & immissione_documenti_app ( ) { return ( TImmissioneDocumenti_app & ) main_app ( ) ; }
# endif // __CI0400_H