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()
{
TString almanacname;
TString pagename;
TString currfilter;
int items;
@ -75,16 +74,16 @@ void TImmissioneDocumenti_app::init_tabs()
configfile.list_paragraphs(_tabs);
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));
TMask_field* currpage = _mask->find_by_fieldname(pagename);
currpage->set_prompt(_tabs.row(i));
// TMask_field* currpage = _mask->find_by_fieldname(pagename); ??? cazzo e'
// currpage->set_prompt(_tabs.row(i));
_filters.add(currfilter);
almanacname.format("Almanacco %2d",i);
_mask->activate_almanac((TAlmanac_field*)_mask->find_by_fieldname(almanacname), i, TDate(TODAY));
_mask->activate_almanac(id + i, i, TDate(TODAY));
}
}
@ -106,7 +105,7 @@ void TImmissioneDocumenti_app::init_flags()
for (cursor=0;cursor.pos()<items;++cursor)
{
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("ANNO", curr_almanac()->selected_year(), "33");
configfile.set("ANNO", curr_almanac().selected_year(), "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)
{
byte page = curr_page();
if (page >=0 && page < 16)
{
TAlmanac_field & al = curr_almanac();
switch (o.dlg())
{
case F_PREVMONTH:
switch (o.dlg())
{
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())
case F_PREVMONTH:
{
this->set(F_CHANGEYEAR,curr_almanac()->selected_year());
this->set_year(curr_almanac()->selected_year());
const int year = al.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;
case F_CHANGEMONTH:
curr_almanac()->set_selected_month(this->get_int(F_CHANGEMONTH));
break;
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())
break;
case F_CHANGEMONTH:
al.set_selected_month(get_int(F_CHANGEMONTH));
break;
case F_NEXTMONTH:
{
this->set(F_CHANGEYEAR,curr_almanac()->selected_year());
this->set_year(curr_almanac()->selected_year());
const int year = al.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;
case F_CHANGEYEAR:
this->set_year(this->get_int(F_CHANGEMONTH));
break;
default:
break;
}
break;
case F_CHANGEYEAR:
set_year(get_int(F_CHANGEYEAR));
break;
default:
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]->set_selected_date(sdate);
_almanacs[page] = id2pos(id);
almanac(page).set_selected_date(sdate);
if (page>_activepages)
{
_activepages = page;
enable_page(0);
disable_page(page+1);
if (page > 0)
{
enable_page(page);
disable_page(page+1);
}
}
}
void TAlmanac_mask::set_year(int newyear)
{
for(int i=0;i<_activepages;i++)
_almanacs[i]->set_selected_year(newyear);
for(byte p = 0; p < _activepages; p++)
almanac(p).set_selected_year(newyear);
change_year(newyear);
}
@ -96,13 +105,9 @@ void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate
:TAutomask()
{
read_mask(name, 0, -1);
set_handlers();
}
TAlmanac_mask::~TAlmanac_mask()
{
// delete[] _almanacs;
}
///////////////////////////////////////////////////////////
// TAlmanac_field
@ -121,28 +126,31 @@ bool TAlmanac_field::is_date_void(TDate& cdate)
void TAlmanac_field::set_selected_day(int nday)
{
if(nday>=1 && nday<=TDate::last_day(_selecteddate.month(),_selecteddate.year()))
{
_selecteddate.set_day(nday);
// almanac_win().force_update();
win().force_update();
win().force_update();
}
}
void TAlmanac_field::move_selected_day(int ddays)
{
_selecteddate+=ddays;
_selecteddate+=ddays;
win().force_update();
}
void TAlmanac_field::set_selected_month(int nmonth)
{
if(nmonth>=1 && nmonth<=12)
if(nmonth >= 1 && nmonth <= 12)
{
_selecteddate.set_month(nmonth);
win().force_update();
win().force_update();
}
}
void TAlmanac_field::move_selected_month(int dmonths)
{
_selecteddate.addmonth(dmonths);
win().force_update();
win().force_update();
}
void TAlmanac_field::set_selected_year(int nyear)

View File

@ -83,7 +83,7 @@ public:
// @access Public Member
public:
// @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
virtual ~TAlmanac_field() { }
};
@ -133,19 +133,17 @@ public:
class TAlmanac_mask : public TAutomask
{
// @author:(INTERNAL) Brugno
// @access Protected Member
protected:
// @cmember:(INTERNAL) Puntatori ai campi calendario
TAlmanac_field* _almanacs[MAX_PAGES];
short _almanacs[MAX_PAGES];
// @cmember:(INTERNAL) Numero di pagine attive
int _activepages;
// shortcut per l'accesso all'almanacco della pagina corrente
#define curr_almanac() _almanacs[this->curr_page()]
// @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);
@ -154,24 +152,20 @@ 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(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
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(); }
// @access Public Member
public:
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);
// @access Public Member
public:
// @cmember Costruttore
TAlmanac_mask(const char * name);
// @cmember Distruttore
~TAlmanac_mask();
~TAlmanac_mask() {}
};
#endif