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
This commit is contained in:
alex 2005-04-21 23:10:06 +00:00
parent 4112dd075d
commit 264c1e8716
3 changed files with 75 additions and 74 deletions

View File

@ -63,7 +63,6 @@ bool TImmissioneDocumenti_app::has_documents(TDate& day)
void TImmissioneDocumenti_app::init_tabs() void TImmissioneDocumenti_app::init_tabs()
{ {
TString almanacname;
TString pagename; TString pagename;
TString currfilter; TString currfilter;
int items; int items;
@ -75,16 +74,16 @@ void TImmissioneDocumenti_app::init_tabs()
configfile.list_paragraphs(_tabs); configfile.list_paragraphs(_tabs);
items = _tabs.items(); items = _tabs.items();
const short id = F_AL01;
for (int i=0;i<items;i++) for (int i = 0; i < items; i++)
{ {
pagename.format("Pagina %2d",i); pagename.format("Pagina %d",i + 1);
currfilter = configfile.get("Filtro",_tabs.row(i)); currfilter = configfile.get("Filtro",_tabs.row(i));
TMask_field* currpage = _mask->find_by_fieldname(pagename); // TMask_field* currpage = _mask->find_by_fieldname(pagename); ??? cazzo e'
currpage->set_prompt(_tabs.row(i)); // currpage->set_prompt(_tabs.row(i));
_filters.add(currfilter); _filters.add(currfilter);
almanacname.format("Almanacco %2d",i); _mask->activate_almanac(id + i, i, TDate(TODAY));
_mask->activate_almanac((TAlmanac_field*)_mask->find_by_fieldname(almanacname), i, TDate(TODAY));
} }
} }
@ -106,7 +105,7 @@ void TImmissioneDocumenti_app::init_flags()
for (cursor=0;cursor.pos()<items;++cursor) for (cursor=0;cursor.pos()<items;++cursor)
{ {
currdate = relation.lfile().get_date(DOC_DATADOC); currdate = relation.lfile().get_date(DOC_DATADOC);
_flags.set(currdate-_newyearsday, 1); _flags.set(currdate-_newyearsday, 1); // cazzo e' ? da un errore fatale
} }
} }
@ -182,7 +181,7 @@ void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate
} }
configfile.set("PROVV", "D", "33"); configfile.set("PROVV", "D", "33");
configfile.set("ANNO", curr_almanac()->selected_year(), "33"); configfile.set("ANNO", curr_almanac().selected_year(), "33");
configfile.set("CODNUM", doctype, "33"); configfile.set("CODNUM", doctype, "33");
} }

View File

@ -23,62 +23,71 @@ TMask_field* TAlmanac_mask::parse_field(TScanner& scanner)
bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{ {
byte page = curr_page();
if (page >=0 && page < 16)
{
TAlmanac_field & al = curr_almanac();
switch (o.dlg()) switch (o.dlg())
{
case F_PREVMONTH:
{ {
const int year = curr_almanac()->selected_year(); case F_PREVMONTH:
curr_almanac()->move_selected_month(-1);
this->set(F_CHANGEMONTH,curr_almanac()->selected_month());
if (year!=curr_almanac()->selected_year())
{ {
this->set(F_CHANGEYEAR,curr_almanac()->selected_year()); const int year = al.selected_year();
this->set_year(curr_almanac()->selected_year()); al.move_selected_month(-1);
this->set(F_CHANGEMONTH, al.selected_month());
if (year != al.selected_year())
{
set(F_CHANGEYEAR, al.selected_year());
set_year(al.selected_year());
}
} }
} break;
break; case F_CHANGEMONTH:
case F_CHANGEMONTH: al.set_selected_month(get_int(F_CHANGEMONTH));
curr_almanac()->set_selected_month(this->get_int(F_CHANGEMONTH)); break;
break; case F_NEXTMONTH:
case F_NEXTMONTH:
{
const int year = curr_almanac()->selected_year();
curr_almanac()->move_selected_month(1);
this->set(F_CHANGEMONTH,curr_almanac()->selected_month());
if (year!=curr_almanac()->selected_year())
{ {
this->set(F_CHANGEYEAR,curr_almanac()->selected_year()); const int year = al.selected_year();
this->set_year(curr_almanac()->selected_year());
al.move_selected_month(1);
set(F_CHANGEMONTH, al.selected_month());
if (year != al.selected_year())
{
set(F_CHANGEYEAR, al.selected_year());
set_year(al.selected_year());
}
} }
} break;
break; case F_CHANGEYEAR:
case F_CHANGEYEAR: set_year(get_int(F_CHANGEYEAR));
this->set_year(this->get_int(F_CHANGEMONTH)); break;
break; default:
default: break;
break; }
} }
return TRUE; return true;
} }
void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate) void TAlmanac_mask::activate_almanac(const short id, int page, TDate& sdate)
{ {
_almanacs[page] = fld; _almanacs[page] = id2pos(id);
_almanacs[page]->set_selected_date(sdate); almanac(page).set_selected_date(sdate);
if (page>_activepages) if (page>_activepages)
{ {
_activepages = page; _activepages = page;
enable_page(0); if (page > 0)
disable_page(page+1); {
enable_page(page);
disable_page(page+1);
}
} }
} }
void TAlmanac_mask::set_year(int newyear) void TAlmanac_mask::set_year(int newyear)
{ {
for(int i=0;i<_activepages;i++) for(byte p = 0; p < _activepages; p++)
_almanacs[i]->set_selected_year(newyear); almanac(p).set_selected_year(newyear);
change_year(newyear); change_year(newyear);
} }
@ -96,13 +105,9 @@ void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate
:TAutomask() :TAutomask()
{ {
read_mask(name, 0, -1); read_mask(name, 0, -1);
set_handlers();
} }
TAlmanac_mask::~TAlmanac_mask()
{
// delete[] _almanacs;
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TAlmanac_field // TAlmanac_field
@ -121,28 +126,31 @@ bool TAlmanac_field::is_date_void(TDate& cdate)
void TAlmanac_field::set_selected_day(int nday) void TAlmanac_field::set_selected_day(int nday)
{ {
if(nday>=1 && nday<=TDate::last_day(_selecteddate.month(),_selecteddate.year())) if(nday>=1 && nday<=TDate::last_day(_selecteddate.month(),_selecteddate.year()))
{
_selecteddate.set_day(nday); _selecteddate.set_day(nday);
// almanac_win().force_update(); win().force_update();
win().force_update(); }
} }
void TAlmanac_field::move_selected_day(int ddays) void TAlmanac_field::move_selected_day(int ddays)
{ {
_selecteddate+=ddays; _selecteddate+=ddays;
win().force_update(); win().force_update();
} }
void TAlmanac_field::set_selected_month(int nmonth) void TAlmanac_field::set_selected_month(int nmonth)
{ {
if(nmonth>=1 && nmonth<=12) if(nmonth >= 1 && nmonth <= 12)
{
_selecteddate.set_month(nmonth); _selecteddate.set_month(nmonth);
win().force_update(); win().force_update();
}
} }
void TAlmanac_field::move_selected_month(int dmonths) void TAlmanac_field::move_selected_month(int dmonths)
{ {
_selecteddate.addmonth(dmonths); _selecteddate.addmonth(dmonths);
win().force_update(); win().force_update();
} }
void TAlmanac_field::set_selected_year(int nyear) void TAlmanac_field::set_selected_year(int nyear)

View File

@ -83,7 +83,7 @@ public:
// @access Public Member // @access Public Member
public: public:
// @cmember Costruttore // @cmember Costruttore
TAlmanac_field(TMask* m) : TWindowed_field(m),_showmonthname(true), _selecteddate(TODAY) { } TAlmanac_field(TMask* m) : TWindowed_field(m),_showmonthname(true), _selecteddate(TODAY), _padding(0) { }
// @cmember Distruttore // @cmember Distruttore
virtual ~TAlmanac_field() { } virtual ~TAlmanac_field() { }
}; };
@ -133,19 +133,17 @@ public:
class TAlmanac_mask : public TAutomask class TAlmanac_mask : public TAutomask
{ {
// @author:(INTERNAL) Brugno // @author:(INTERNAL) Brugno
// @access Protected Member
protected:
// @cmember:(INTERNAL) Puntatori ai campi calendario // @cmember:(INTERNAL) Puntatori ai campi calendario
TAlmanac_field* _almanacs[MAX_PAGES]; short _almanacs[MAX_PAGES];
// @cmember:(INTERNAL) Numero di pagine attive // @cmember:(INTERNAL) Numero di pagine attive
int _activepages; int _activepages;
// shortcut per l'accesso all'almanacco della pagina corrente
#define curr_almanac() _almanacs[this->curr_page()]
// @access Protected Member // @access Protected Member
protected: 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 // override da TAutomask
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
@ -154,24 +152,20 @@ public:
// override da TAutomask // override da TAutomask
virtual TMask_field* parse_field(TScanner& scanner); virtual TMask_field* parse_field(TScanner& scanner);
// @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
void activate_almanac(TAlmanac_field* fld, int page, TDate& sdate); void activate_almanac(short id, int page, TDate& sdate);
// @cmember Gestione calendari: Cambia l'anno su tutti i calendari // @cmember Gestione calendari: Cambia l'anno su tutti i calendari
void set_year(int newyear); void set_year(int newyear);
// @cmember Gestione calendari: Ritorna il giorno selezionato nella pagina corrente // @cmember Gestione calendari: Ritorna il giorno selezionato nella pagina corrente
const TDate& selected_day() const { return curr_almanac()->selected_date(); } const TDate& selected_day() const { return curr_almanac().selected_date(); }
// @access Public Member
public:
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
virtual bool is_date_void(TDate& cdate); virtual bool is_date_void(TDate& cdate);
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
virtual void change_year(int newyear); virtual void change_year(int newyear);
// @access Public Member
public:
// @cmember Costruttore // @cmember Costruttore
TAlmanac_mask(const char * name); TAlmanac_mask(const char * name);
// @cmember Distruttore // @cmember Distruttore
~TAlmanac_mask(); ~TAlmanac_mask() {}
}; };
#endif #endif