campo-sirio/ci/ci0400.h
guy ba045459a4 Patch level : 10.0
Files correlati     : ci0.exe ci0400a.msk
Ricompilazione Demo : [ ]
Commento            :
Corretta colorazione celle del calendario


git-svn-id: svn://10.65.10.50/trunk@18236 c028cbd2-c16b-5b4b-a496-9718f37d4682
2009-02-10 15:18:13 +00:00

106 lines
3.5 KiB
C++
Executable File

#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;
TBit_array _insert;
TBit_array _modify;
TBit_array _doccoll;
TBit_array _modcoll;
TBit_array _delclosed;
TString_array _numcoll;
TString_array _tipocoll;
TString_array _statocoll;
TString_array _varcoll;
protected:
virtual void next_page(int p);
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
// ereditato da TAlmanac_mask
virtual bool is_date_void(int currpage, const 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;}
const TBit_array & doc_coll() const { return _doccoll;}
const TBit_array & mod_coll() const { return _modcoll;}
const TBit_array & del_closed() const { return _delclosed;}
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;}
TString_array & filters() { return _filters;}
TArray & flags() { return _flags;}
TBit_array & ordered() { return _ordered;}
TBit_array & insert() { return _insert;}
TBit_array & modify() { return _modify;}
TBit_array & doc_coll() { return _doccoll;}
TBit_array & mod_coll() { return _modcoll;}
TBit_array & del_closed() { return _delclosed;}
TString_array & num_coll() { return _numcoll;}
TString_array & tipo_coll() { return _tipocoll;}
TString_array & stato_coll() { return _statocoll;}
TString_array & var_coll() { return _varcoll;}
void update_current_calendar(int year);
public:
// apertura del foglio interno di gestione dei documenti
virtual void open_day_mask(const TDate & date);
private:
// chiamata del programma ve0
void call_ve0(int exitval, TRelation& relation, const TDate& date, const TString& codnum, const TString& doctype = EMPTY_STRING, byte currpage = 0);
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, const 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