campo-sirio/src/cg/cg7401.h

76 lines
1.9 KiB
C
Raw Normal View History

// Programma per la stampa del quadri IVA
#include <applicat.h>
#include <automask.h>
#include <reputils.h>
#include <sheet.h>
class TQuadro_IVA_mask : public TAutomask
{
int _year;
long _last_row_ditte;
long _last_row_reports;
TArray _reports;
protected:
void build_ditte_sheet();
void build_report_sheet();
public:
const int get_year() const { return _year; }
void restart_ditte() { _last_row_ditte = -1;}
void restart_reports() { _last_row_reports = -1;}
long get_ditta();
TProgram_report * get_report();
TProgram_report & get_report(const int code) const { return (TProgram_report &) _reports[code];}
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
TQuadro_IVA_mask(const char * mask_name);
~TQuadro_IVA_mask() {}
};
class TQuadro_IVA_recordset : public TISAM_recordset
{
TAssoc_array _values;
protected:
void add_value(const TString *s, real value);
void add_value(const TString &s, real value);
virtual void load(const long year) pure;
virtual const TVariant& get(const char* column_name) const;
public:
TQuadro_IVA_recordset(const char* use, const int year);
virtual ~TQuadro_IVA_recordset() {}
};
class TQuadro_IVA_report : public TProgram_report
{
protected:
public:
TQuadro_IVA_report(const char * report_name);
};
class TQuadro_IVA_app : public TSkeleton_application
{
TQuadro_IVA_mask * _mask;
TFilename _name;
const TString20 _print_title;
protected:
virtual bool create();
virtual void print();
virtual void main_loop();
public:
virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) pure;
virtual bool firm_change_enabled() const { return false; }
TQuadro_IVA_mask * mask() const { return _mask; }
TQuadro_IVA_app(const char * print_title, const char * name)
: _print_title(print_title), _name(name) {}
virtual ~TQuadro_IVA_app() {}
};