Files correlati : Ricompilazione Demo : [ ] Commento :correzioni dovute al passaggio al nuovo compilatore git-svn-id: svn://10.65.10.50/trunk@14698 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			208 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			208 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#ifndef __CILIB_H
 | 
						||
#define __CILIB_H
 | 
						||
 | 
						||
#ifndef __AUTOMASK_H
 | 
						||
#include <automask.h>
 | 
						||
#endif
 | 
						||
 | 
						||
#ifndef __DBLIB_H
 | 
						||
#include "../db/dblib.h"
 | 
						||
#endif
 | 
						||
 | 
						||
///////////////////////////////////////////////////////////
 | 
						||
// TImage_window
 | 
						||
///////////////////////////////////////////////////////////
 | 
						||
 | 
						||
// @doc EXTERNAL
 | 
						||
 | 
						||
// @class TAlmanac_window | Finestra associata ad un TAlmanac_field
 | 
						||
//
 | 
						||
// @base public | TField_window
 | 
						||
class TImage_window : public TField_window
 | 
						||
{
 | 
						||
  // @author:(INTERNAL) Brugno
 | 
						||
	int _curr_month;
 | 
						||
 | 
						||
  // @access Protected Member
 | 
						||
protected:
 | 
						||
  // override da TField_window
 | 
						||
  virtual void update();
 | 
						||
 | 
						||
  // @access Public Member
 | 
						||
public:
 | 
						||
  // @cmember Costruttore
 | 
						||
  TImage_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field *owner);
 | 
						||
 // @cmember Distruttore
 | 
						||
  virtual ~TImage_window() {}
 | 
						||
};
 | 
						||
 | 
						||
///////////////////////////////////////////////////////////
 | 
						||
// 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;
 | 
						||
	TImage_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);
 | 
						||
 | 
						||
  // @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 <20> 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(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, 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(TDate &d) const { return d >= _dateinsert; }
 | 
						||
 | 
						||
  // @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_window
 | 
						||
///////////////////////////////////////////////////////////
 | 
						||
 | 
						||
// @doc EXTERNAL
 | 
						||
 | 
						||
// @class TAlmanac_window | Finestra associata ad un TAlmanac_field
 | 
						||
//
 | 
						||
// @base public | TField_window
 | 
						||
class TAlmanac_window : public TField_window
 | 
						||
{
 | 
						||
  // @author:(INTERNAL) Brugno
 | 
						||
 | 
						||
  // @access Protected Member
 | 
						||
protected:
 | 
						||
  // override da TField_window
 | 
						||
  virtual void update();
 | 
						||
  // override da TField_window
 | 
						||
  virtual void handler(WINDOW win, EVENT* ep);
 | 
						||
 | 
						||
  // @access Public Member
 | 
						||
public:
 | 
						||
  // override da TField_window
 | 
						||
  virtual bool on_key(KEY k);
 | 
						||
 | 
						||
  // @access Public Member
 | 
						||
public:
 | 
						||
  // @cmember Costruttore
 | 
						||
  TAlmanac_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field *owner);
 | 
						||
  // @cmember Distruttore
 | 
						||
  virtual ~TAlmanac_window() {}
 | 
						||
};
 | 
						||
 | 
						||
///////////////////////////////////////////////////////////
 | 
						||
// 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
 | 
						||
  short _almanacs[MAX_PAGES];
 | 
						||
  // @cmember:(INTERNAL) Numero di pagine attive
 | 
						||
  byte _lastpage;
 | 
						||
 | 
						||
 | 
						||
  // @access Protected Member
 | 
						||
protected:
 | 
						||
  // override da TAutomask
 | 
						||
  virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
						||
 
 | 
						||
  // @access Public Member
 | 
						||
public:
 | 
						||
	// shortcut per l'accesso all'almanacco della pagina corrente
 | 
						||
  TAlmanac_field & almanac(byte page = -1) const ;
 | 
						||
	// shortcut per l'accesso all'almanacco della pagina corrente
 | 
						||
  TAlmanac_field & curr_almanac() const { return almanac();} 
 | 
						||
  // override da TAutomask
 | 
						||
  virtual TMask_field* parse_field(TScanner& scanner);
 | 
						||
  // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
 | 
						||
  void activate_almanac(short id, int page, TDate& sdate);
 | 
						||
  // @cmember Gestione calendari: disanilta le pagine non attive
 | 
						||
  void disable_pages() { disable_page(_lastpage + 1); }
 | 
						||
  // @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 { return curr_almanac().selected_date(); }
 | 
						||
  // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
 | 
						||
  virtual bool is_date_void(int currpage, 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(TDate date = botime) { }
 | 
						||
 | 
						||
  // @cmember Costruttore
 | 
						||
  TAlmanac_mask(const char * name); 
 | 
						||
  // @cmember Distruttore
 | 
						||
  ~TAlmanac_mask() {    }
 | 
						||
};  
 | 
						||
 | 
						||
#endif
 |