#ifndef __CI0400_H #define __CI0400_H /////////////////////////////////////////////////////////// // TImmissioneDocumenti_mask /////////////////////////////////////////////////////////// class TImmissioneDocumenti_mask : public TAlmanac_mask { TString_array _filters; // filtri tipodoc per ogni tab TArray _flags; // array di TBit_array. Ognuno di essi è 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; protected: public: // ereditato da TAlmanac_mask virtual bool is_date_void(int currpage, TDate& cdate); virtual void change_year(int newyear); public: // metodi di accesso const TString_array & filters() const { return _filters;} const TArray & flags() const { return _flags;} const TBit_array & ordered() const { return _ordered;} TString_array & filters() { return _filters;} TArray & flags() { return _flags;} TBit_array & ordered() { return _ordered;} public: // apertura del foglio interno di gestione dei documenti virtual void open_day_mask(TDate date); private: // chiamata del programma ve0 void call_ve0(int exitval, TRelation& relation, TDate& date, const TString& codnum, const TString& doctype = EMPTY_STRING); public: // Costruttore TImmissioneDocumenti_mask() : TAlmanac_mask("ci0400a") { } // 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: bool has_documents(int currpage, TDate& day); // passata come funzione alla maschera void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera TImmissioneDocumenti_mask & mask() const {return *_mask; } public: TImmissioneDocumenti_app() { change_year(TDate(TODAY).year(), false); } virtual ~TImmissioneDocumenti_app() {} }; inline TImmissioneDocumenti_app& immissione_documenti_app() { return (TImmissioneDocumenti_app&)main_app(); } #endif // __CI0400_H