campo-sirio/ci/cilib.h
alex 264c1e8716 Patch level : 2.2
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Modlo contabilità industriale


git-svn-id: svn://10.65.10.50/trunk@12987 c028cbd2-c16b-5b4b-a496-9718f37d4682
2005-04-21 23:10:06 +00:00

172 lines
6.4 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
///////////////////////////////////////////////////////////
// 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
protected:
// @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
protected:
// @cmember:(INTERNAL) Variabile interna: Data correntemente selezionato nel calendario
TDate _selecteddate;
// @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 è 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.set_day(sdate.day()); _selecteddate.set_month(sdate.month()); _selecteddate.set_year(sdate.year()); }
// @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(TDate& cdate);
// @access Public Member
public:
// @cmember Costruttore
TAlmanac_field(TMask* m) : TWindowed_field(m),_showmonthname(true), _selecteddate(TODAY), _padding(0) { }
// @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
int _activepages;
// @access Protected Member
protected:
// shortcut per l'accesso all'almanacco della pagina corrente
TAlmanac_field & almanac(byte page) const { return (TAlmanac_field &) fld(_almanacs[page]);}
// shortcut per l'accesso all'almanacco della pagina corrente
TAlmanac_field & curr_almanac() const { return almanac(curr_page());}
// override da TAutomask
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
// @access Public Member
public:
// 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: 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(TDate& cdate);
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
virtual void change_year(int newyear);
// @cmember Costruttore
TAlmanac_mask(const char * name);
// @cmember Distruttore
~TAlmanac_mask() {}
};
#endif