Files correlati : ci0.exe Ricompilazione Demo : [ ] Commento : Modulo rilevazione ore step 2 git-svn-id: svn://10.65.10.50/branches/R_10_00@21132 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			246 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __CILIB_H
 | |
| #define __CILIB_H
 | |
| 
 | |
| #ifndef __AUTOMASK_H
 | |
| #include <automask.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef __RECARRAY_H
 | |
| #include <recarray.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef __TABMOD_H
 | |
| #include <tabmod.h>
 | |
| #endif
 | |
| 
 | |
| 
 | |
| ///////////////////////////////////////////////////////////
 | |
| // TAlmanac_field
 | |
| ///////////////////////////////////////////////////////////
 | |
| 
 | |
| // @doc EXTERNAL
 | |
| 
 | |
| // @class TAlmanac_field | Windowed Field per la gestione di un calendario
 | |
| //
 | |
| // @base public | TWindowed_field
 | |
| class TAlmanac_field : public TWindowed_field
 | |
| {
 | |
|   // @author:(INTERNAL) Brugno
 | |
| 
 | |
|   // @access Protected Member
 | |
|   // @cmember:(INTERNAL) Parametro di visualizzazione: Separazione tra le celle del calenbdario
 | |
|   int _padding;
 | |
|   // @cmember:(INTERNAL) Parametro di visualizzazione: flag di visulizzazione del nome del mese
 | |
|   bool _showmonthname;
 | |
| 
 | |
|   // @access Protected Member
 | |
|   // @cmember:(INTERNAL) Variabile interna: Data correntemente selezionato nel calendario
 | |
|   TDate _selecteddate;
 | |
|   TDate _dateinsert;
 | |
| 	TField_window * _image;
 | |
| 
 | |
|   // @access Protected Member
 | |
| protected: 
 | |
|   // override da TWindowed_field
 | |
|   virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
 | |
|   void adjust_selected_day();
 | |
| 
 | |
|   // @access Public Member
 | |
| public:
 | |
|   // @cmember Gestione del giorno correntemente selezionato: restituisce la data selezionata
 | |
|   const TDate& selected_date() const { return _selecteddate; }
 | |
|   // @cmember Gestione del giorno correntemente selezionato: restituisce il giorno selezionato
 | |
|   int selected_day() { return _selecteddate.day(); }
 | |
|   // @cmember Gestione del giorno correntemente selezionato: restituisce il giorno selezionato
 | |
|   int selected_month() { return _selecteddate.month(); }
 | |
|   // @cmember Gestione del giorno correntemente selezionato: restituisce true se il giorno selezionato è uguale al parametro
 | |
|   bool is_selected(int tday) { return (tday==selected_day()); }
 | |
|   // @cmember Gestione del giorno correntemente selezionato: setta il giorno selezionato al valore specificato
 | |
|   void set_selected_day(int nday); 
 | |
|   // @cmember Gestione del giorno correntemente selezionato: avanza il giorno selezionato del valore relativo specificato
 | |
|   void move_selected_day(int ddays);
 | |
|   // @cmember Gestione del giorno correntemente selezionato: setta il mese selezionato al valore specificato
 | |
|   void set_selected_month(int nmonth); 
 | |
|   // @cmember Gestione del giorno correntemente selezionato: avanza il mese selezionato del valore relativo specificato
 | |
|   void move_selected_month(int dmonths);
 | |
|   // @cmember Gestione del giorno correntemente selezionato: restituisce l'anno selezionato
 | |
|   int selected_year() { return _selecteddate.year(); }
 | |
|   // @cmember Gestione del giorno correntemente selezionato: setta l'anno selezionato al valore specificato
 | |
|   void set_selected_year(int nyear); 
 | |
|   // @cmember Gestione del giorno correntemente selezionato: setta il giorno selezionato
 | |
|   void set_selected_date(const TDate& sdate) { _selecteddate = sdate; } 
 | |
| 	void force_update(bool update_image = false);
 | |
| 
 | |
|   // @access Public Member
 | |
| public:
 | |
|   // @cmember Gestione dei parametri di visulizzazione: setta il flag di visulizzazione dei mesi
 | |
|   void set_show_month_name(bool on = true) { _showmonthname = on; }
 | |
|   // @cmember Gestione dei parametri di visulizzazione: setta lo spazio fra le celle del calendario
 | |
|   void set_padding(int p) { _padding = p; }
 | |
| 
 | |
|   // @cmember Gestione dei parametri di visulizzazione: ritorna il flag di visulizzazione dei mesi
 | |
|   bool show_month_name() const { return _showmonthname; }
 | |
|   // @cmember Gestione dei parametri di visulizzazione: ritorna lo spazio fra le celle del calendario
 | |
|   int padding() const { return _padding; }
 | |
| 
 | |
|   // @access Public Member
 | |
| public:
 | |
|   bool is_date_void(int currpage, const TDate& cdate);
 | |
|   // @cmember Gestione selezione: Setta la prima data dell'anno con l'inserimento attivo
 | |
| 	void set_insert_date(const TDate & d) { _dateinsert = d; }
 | |
| 	bool can_insert(const TDate &d) const { return d >= _dateinsert; }
 | |
|   
 | |
|   void create(short id, const RCT& rct, WINDOW parent); // Internal use only
 | |
|   // @access Public Member
 | |
| public:
 | |
|   // @cmember Costruttore
 | |
|   TAlmanac_field(TMask* m) : TWindowed_field(m),_showmonthname(true), _selecteddate(TODAY), _dateinsert(botime), _padding(2), _image(NULL) {}
 | |
|   // @cmember Distruttore
 | |
|   virtual ~TAlmanac_field() { }
 | |
| };
 | |
| 
 | |
| ///////////////////////////////////////////////////////////
 | |
| // TAlmanac_mask
 | |
| ///////////////////////////////////////////////////////////
 | |
| 
 | |
| // @doc EXTERNAL
 | |
| 
 | |
| // @class TAlmanac_mask | Maschera generica per la gestione di un calendario
 | |
| //
 | |
| // @base public | TAutomask
 | |
| class TAlmanac_mask : public TAutomask
 | |
| {
 | |
|   // @author:(INTERNAL) Brugno
 | |
|   // @cmember:(INTERNAL) Puntatori ai campi calendario
 | |
|   TPointer_array _almanacs;
 | |
| 
 | |
|   // @access Protected Member
 | |
| protected:
 | |
|   // override da TAutomask
 | |
|   virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | |
|   virtual void set_focus();
 | |
| 
 | |
|   // @access Public Member
 | |
| public:
 | |
| 	// shortcut per l'accesso all'almanacco della pagina corrente
 | |
|   TAlmanac_field& almanac(byte page = -1) const ;
 | |
|   // override da TAutomask
 | |
|   virtual TMask_field* parse_field(TScanner& scanner);
 | |
|   // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
 | |
|   int activate_almanac(short id, const char* title);
 | |
|   // @cmember Gestione calendari: Cambia l'anno su tutti i calendari
 | |
|   void set_year(int newyear); 
 | |
|   // @cmember Gestione calendari: Ritorna il giorno selezionato nella pagina corrente
 | |
|   const TDate& selected_day() const;
 | |
|   // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
 | |
|   virtual bool is_date_void(int currpage, const TDate& cdate);
 | |
|   // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
 | |
|   virtual void change_year(int newyear); 
 | |
|   // @cmember Chiama la maschera o lo sheet legato al gioro  selezionato
 | |
|   virtual void open_day_mask(const TDate & date = botime) { }
 | |
| 
 | |
|   // @cmember Costruttore
 | |
|   TAlmanac_mask(const char * name); 
 | |
|   // @cmember Distruttore
 | |
|   virtual ~TAlmanac_mask() { }
 | |
| };
 | |
| 
 | |
| 
 | |
|                                 ////////////////////////////
 | |
|                                 ////    TRISOATT_KEY    ////
 | |
|                                 ////////////////////////////
 | |
| 
 | |
| //Classe TRisoatt_key
 | |
| class TRisoatt_key : public TString80
 | |
| {
 | |
| public:
 | |
|   TRisoatt_key & operator =(const TRisoatt_key& roakey) { return *this; }
 | |
| 
 | |
|   const char     tipo()   const;
 | |
|   const TString& cod()    const;
 | |
|   const int      anno()   const;
 | |
|   const TString& mese()   const;
 | |
|   const TString& giorno()  const;
 | |
|   const TString& tpora()  const;
 | |
| 	const TString& data() const; 
 | |
| 
 | |
|   //costruttore
 | |
|   TRisoatt_key(const char risoatt, const char* codice, const int anno, const char* mese, const char * giorno, const char* tpora);
 | |
|   TRisoatt_key(const char risoatt, const char* codice, const TDate & data, const char* tpora);
 | |
|   TRisoatt_key(const char* roakey);
 | |
| };
 | |
| 
 | |
|                                 ////////////////////////
 | |
|                                 ////    TRISOATT    ////
 | |
|                                 ////////////////////////
 | |
| 
 | |
| //Classe TRisoatt
 | |
| class TRisoatt : public TRectype
 | |
| {
 | |
| private:
 | |
|   bool read(const TRisoatt_key& chiave);
 | |
| 
 | |
| public:
 | |
|   TRisoatt & operator =(const TRisoatt& ris) { return *this; }
 | |
| 
 | |
|   const TString& chiave() const;
 | |
|   const TString& descr()  const;
 | |
|   const real     valuni() const;
 | |
|   
 | |
|   //costruttore
 | |
|   TRisoatt(const TRectype& r);
 | |
|   TRisoatt(const TRisoatt_key& chiave);
 | |
| 
 | |
|   virtual ~TRisoatt() {}  
 | |
| };
 | |
| 
 | |
|                                 ////////////////////////
 | |
|                                 ////    TRISOATT    ////
 | |
|                                 ////////////////////////
 | |
| 
 | |
| //Classe TRisoatt
 | |
| class TDisp_risoatt : public TRectype
 | |
| {
 | |
| public:
 | |
|   TDisp_risoatt & operator =(const TDisp_risoatt& ris) { return *this; }
 | |
| 
 | |
|   const TString& chiave()   const;
 | |
|   const long     id()    const;
 | |
|   const int      ore_prev() const;
 | |
|   const int      ore_cons() const;
 | |
|   
 | |
| 	void set_id(long id); 
 | |
|   //costruttore
 | |
|   TDisp_risoatt(const TRectype& r);
 | |
| 
 | |
|   virtual ~TDisp_risoatt() {}  
 | |
| };
 | |
| 
 | |
|                                 ////////////////////////////////
 | |
|                                 ////    TRILEVAMENTO_ORE    ////
 | |
|                                 ////////////////////////////////
 | |
| 
 | |
| //Classe TRilevamento_ore
 | |
| class TRilevamento_ore : public TRectype
 | |
| {
 | |
| private:
 | |
| 
 | |
| public:
 | |
| 	int read(const char tipo, const long id, TReclock lock = _nolock);
 | |
|   int read(const char tipo, const int anno, const int mese, const int giorno, const char tipora, const char* codice, const char* tpora, const char* codcosto, const char* codcms, const char* codfase, TReclock lock = _nolock);
 | |
| 	int remove();
 | |
| 	void update_id();
 | |
| 	int write_rewrite();
 | |
| 	int rewrite_write();
 | |
| 
 | |
| 	const TRilevamento_ore & operator =(const TRilevamento_ore & rilore) { TRectype::operator =(rilore); return *this; }
 | |
| 
 | |
|   TRilevamento_ore(const TRectype& rec);
 | |
|   TRilevamento_ore(const TRilevamento_ore& rilore);
 | |
|   TRilevamento_ore(const char tipo, const long id);
 | |
|   TRilevamento_ore(const char tipo, const int anno, const int mese, const int giorno, const char tipora, const char* codice, const char* tpora, const char* codcosto, const char* codcms, const char* codfase);
 | |
|   TRilevamento_ore();
 | |
| };
 | |
| 
 | |
| #endif
 |