Patch level : 10.0 ???
Files correlati : ci0.exe Ricompilazione Demo : [ ] Commento : Corretta gestione calendari su piu' pagine git-svn-id: svn://10.65.10.50/trunk@17759 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6f66498571
commit
9691e7fc16
@ -24,18 +24,18 @@
|
||||
|
||||
void TImmissioneDocumenti_app::init_tabs()
|
||||
{
|
||||
TImmissioneDocumenti_mask & m = mask();
|
||||
TImmissioneDocumenti_mask& m = mask();
|
||||
|
||||
m.filters().destroy();
|
||||
m.ordered().reset();
|
||||
|
||||
TConfig configfile(CONFIG_DITTA, "ci");
|
||||
int items = 0;
|
||||
TToken_string pagenames;
|
||||
configfile.write_protect(); // Evita che vengan scritti inutili default
|
||||
|
||||
int items = 0;
|
||||
while (items == 0 || configfile.exist("Descr",items))
|
||||
{
|
||||
pagenames.add(configfile.get("Descr", NULL, items, "Fatture"));
|
||||
const TString& title = configfile.get("Descr", NULL, items, "Fatture");
|
||||
m.filters().add(configfile.get("Filter", NULL, items, "F01"));
|
||||
m.insert().set(items, configfile.get_bool("InsertRemain", NULL, items));
|
||||
m.modify().set(items, configfile.get_bool("ModifyRemain", NULL, items));
|
||||
@ -46,12 +46,9 @@ void TImmissioneDocumenti_app::init_tabs()
|
||||
m.var_coll().add(configfile.get("Var", NULL, items), items);
|
||||
m.mod_coll().set(items, configfile.get_bool("ModColl", NULL, items));
|
||||
m.del_closed().set(items, configfile.get_bool("DeleteClosed", NULL, items));
|
||||
m.activate_almanac(F_AL01 + items, items, TDate(TODAY));
|
||||
|
||||
m.activate_almanac(F_AL01 + items, title);
|
||||
items++;
|
||||
}
|
||||
m.disable_page(items);
|
||||
m.set_caption(pagenames);
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_app::init_flags()
|
||||
@ -134,7 +131,7 @@ void TImmissioneDocumenti_app::change_year(int newyear, bool init_flg)
|
||||
init_flags();
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti_app::has_documents(int currpage, TDate& day)
|
||||
bool TImmissioneDocumenti_app::has_documents(int currpage, const TDate& day)
|
||||
{
|
||||
const int year = day.year();
|
||||
if (year != _year)
|
||||
@ -157,14 +154,14 @@ void TImmissioneDocumenti_mask::next_page(int p)
|
||||
enable(DLG_DELREC, del_closed()[k]);
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_mask::open_day_mask(const TDate & date)
|
||||
void TImmissioneDocumenti_mask::open_day_mask(const TDate & date_mask)
|
||||
{
|
||||
TDate d(date);
|
||||
|
||||
TDate d(date_mask);
|
||||
if (!d.ok())
|
||||
d = curr_almanac().selected_date();
|
||||
d = almanac().selected_date();
|
||||
|
||||
const int currpage = curr_page();
|
||||
|
||||
|
||||
const TString & codnum = filters().row(currpage);
|
||||
TString filter;
|
||||
|
||||
@ -182,7 +179,7 @@ void TImmissioneDocumenti_mask::open_day_mask(const TDate & date)
|
||||
"ANNO|CODNUM|TIPODOC|NUMDOCRIF|STATO|DATADOCRIF|NDOC|20->RAGSOC",
|
||||
TR("Selezione documenti"),
|
||||
HR("Anno|Num.|Tipo|Docum.Rif.|Stato|Data@10|Documento|Ragione Sociale@50"),
|
||||
almanac().can_insert(date) ? 0x02|0x04 : 0x04, 3);
|
||||
almanac().can_insert(d) ? 0x02|0x04 : 0x04, 3);
|
||||
TList_field& fl = sheet.add_list(101, 0, "Tipo documento ", 1, 1, 60);
|
||||
TToken_string codes;
|
||||
TToken_string values;
|
||||
@ -210,23 +207,23 @@ void TImmissioneDocumenti_mask::open_day_mask(const TDate & date)
|
||||
switch(exitval)
|
||||
{
|
||||
case K_ENTER:
|
||||
call_ve0(exitval, relation, date, codnum, EMPTY_STRING, currpage);
|
||||
call_ve0(exitval, relation, d, codnum, EMPTY_STRING, currpage);
|
||||
break;
|
||||
case K_DEL:
|
||||
call_ve0(exitval, relation, date, codnum);
|
||||
call_ve0(exitval, relation, d, codnum);
|
||||
break;
|
||||
case K_INS:
|
||||
{
|
||||
const TString16 tipo(sheet.get(101));
|
||||
|
||||
call_ve0(exitval, relation, date, codnum, tipo, currpage);
|
||||
call_ve0(exitval, relation, d, codnum, tipo, currpage);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
update_current_calendar(date.year());
|
||||
update_current_calendar(d.year());
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_mask::update_current_calendar(int year)
|
||||
|
@ -91,7 +91,7 @@ protected:
|
||||
virtual bool destroy(void) ;
|
||||
|
||||
public:
|
||||
bool has_documents(int currpage, TDate& day); // passata come funzione alla maschera
|
||||
bool has_documents(int currpage, const TDate& day); // passata come funzione alla maschera
|
||||
void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera
|
||||
TImmissioneDocumenti_mask & mask() const {return *_mask; }
|
||||
|
||||
|
204
ci/ci0400a.uml
204
ci/ci0400a.uml
@ -4,197 +4,75 @@ TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_SELECT 10 2
|
||||
BEGIN
|
||||
PROMPT -17 -11 "~Selezione"
|
||||
PROMPT 1 1 "~Selezione"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
PICTURE BMP_SELECT
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -67 -11 "~Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
PICTURE BMP_DELREC
|
||||
PICTURE BMP_DELRECDN
|
||||
PROMPT 2 1 "~Elimina"
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BUTTON DLG_NULL 10 2
|
||||
BEGIN
|
||||
PROMPT -77 -11 "~Fine"
|
||||
MESSAGE EXIT,K_QUIT
|
||||
PICTURE BMP_QUIT
|
||||
PICTURE BMP_QUITDN
|
||||
PROMPT -1 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "Toolbar" 0 -2 0 2
|
||||
BUTTON F_PREVYEAR 10 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Anno -"
|
||||
PICTURE BMP_FIRSTREC
|
||||
END
|
||||
|
||||
BUTTON F_PREVMONTH 10 2
|
||||
BEGIN
|
||||
PROMPT -26 -11 "~Precedente"
|
||||
PROMPT 4 1 "Mese -"
|
||||
PICTURE BMP_PREVREC
|
||||
END
|
||||
|
||||
LIST F_CHANGEMONTH 10
|
||||
BEGIN
|
||||
PROMPT -36 -11 ""
|
||||
FLAGS "M"
|
||||
END
|
||||
|
||||
NUMBER F_CHANGEYEAR 10
|
||||
BEGIN
|
||||
PROMPT -46 -11 ""
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
BUTTON F_NEXTMONTH 10 2
|
||||
BEGIN
|
||||
PROMPT -56 -11 "S~uccessivo"
|
||||
PROMPT 5 1 "Mese +"
|
||||
PICTURE BMP_NEXTREC
|
||||
END
|
||||
|
||||
BUTTON F_NEXTYEAR 10 2
|
||||
BEGIN
|
||||
PROMPT 6 1 "Anno -"
|
||||
PICTURE BMP_LASTREC
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 10 2
|
||||
BEGIN
|
||||
PROMPT -1 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_INFO 10 2
|
||||
BEGIN
|
||||
PROMPT 7 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_HELP 10 2
|
||||
BEGIN
|
||||
PROMPT 8 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT 9 1 "~Fine"
|
||||
MESSAGE EXIT,K_QUIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 1" 0 2 0 0
|
||||
PAGE "Documenti" 0 2 0 0
|
||||
|
||||
ALMANAC F_AL01 70 16
|
||||
ALMANAC F_AL01 70 -2
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 2" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL02 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 3" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL03 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 4" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL04 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 5" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL05 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 6" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL06 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 7" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL07 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 8" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL08 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 9" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL09 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 10" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL10 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 11" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL11 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 12" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL12 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 13" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL13 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 14" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL14 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 15" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL15 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 16" -1 -1 80 20
|
||||
|
||||
ALMANAC F_AL16 70 16
|
||||
BEGIN
|
||||
PROMPT -3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
615
ci/cilib.cpp
615
ci/cilib.cpp
@ -1,228 +1,71 @@
|
||||
#include <colors.h>
|
||||
#include <config.h>
|
||||
#include <automask.h>
|
||||
#include <diction.h>
|
||||
#include <image.h>
|
||||
#include <tabutil.h>
|
||||
#include <xvtility.h>
|
||||
#include <defmask.h>
|
||||
#include <utility.h> // file functions
|
||||
#include <xvt.h>
|
||||
|
||||
#include "cilib.h"
|
||||
#include "cimsk.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TMask_field* TAlmanac_mask::parse_field(TScanner& scanner)
|
||||
{
|
||||
const TString& k = scanner.key();
|
||||
if (k.starts_with("AL", true))
|
||||
return new TAlmanac_field(this);
|
||||
return TAutomask::parse_field(scanner);
|
||||
}
|
||||
|
||||
bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_PREVMONTH:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TAlmanac_field & al = curr_almanac();
|
||||
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_CHANGEMONTH:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TAlmanac_field & al = curr_almanac();
|
||||
|
||||
al.set_selected_month(get_int(F_CHANGEMONTH));
|
||||
}
|
||||
break;
|
||||
case F_NEXTMONTH:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TAlmanac_field & al = curr_almanac();
|
||||
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:
|
||||
if (e == fe_modify)
|
||||
set_year(get_int(F_CHANGEYEAR));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void TAlmanac_mask::activate_almanac(const short id, int page, TDate& sdate)
|
||||
{
|
||||
_almanacs[page] = id2pos(id);
|
||||
almanac(page).set_selected_date(sdate);
|
||||
if (page > _lastpage)
|
||||
_lastpage = page;
|
||||
set(F_CHANGEMONTH, sdate.month());
|
||||
}
|
||||
|
||||
TAlmanac_field & TAlmanac_mask::almanac(byte page) const
|
||||
{
|
||||
if (page > _lastpage)
|
||||
page = curr_page();
|
||||
if (page > _lastpage)
|
||||
page = 0;
|
||||
return (TAlmanac_field &) fld(_almanacs[page]);
|
||||
}
|
||||
|
||||
void TAlmanac_mask::set_year(int newyear)
|
||||
{
|
||||
for(byte p = 0; p <= _lastpage; p++)
|
||||
almanac(p).set_selected_year(newyear);
|
||||
change_year(newyear);
|
||||
}
|
||||
|
||||
void TAlmanac_mask::change_year(int newyear)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
bool TAlmanac_mask::is_date_void(int currpage, TDate& cdate)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TAlmanac_mask::TAlmanac_mask(const char * name)
|
||||
: TAutomask(), _lastpage(0)
|
||||
{
|
||||
read_mask(name, 0, -1);
|
||||
set_handlers();
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_field
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TField_window* TAlmanac_field::create_window(int x, int y, int dx, int dy, WINDOW parent)
|
||||
{
|
||||
TAlmanac_window * obj = new TAlmanac_window(x, y, dx, dy, parent, this);
|
||||
RCT rct; xvt_vobj_get_outer_rect(obj->win(), &rct);
|
||||
const int pad = 6;
|
||||
|
||||
if (rct.left > pad * 4)
|
||||
{
|
||||
_image = new TImage_window(-1, y, -1, dy, parent, this);
|
||||
RCT img_rect; xvt_vobj_get_outer_rect(_image->win(), &img_rect);
|
||||
img_rect.right = rct.left - pad ;
|
||||
img_rect.left = pad;
|
||||
xvt_vobj_move(_image->win(), (RCT*)&img_rect);
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
bool TAlmanac_field::is_date_void(int currpage, TDate& cdate)
|
||||
{
|
||||
return ((TAlmanac_mask &)mask()).is_date_void(currpage, cdate);
|
||||
}
|
||||
|
||||
void TAlmanac_field::force_update(bool update_image)
|
||||
{
|
||||
win().force_update();
|
||||
if (update_image && _image != NULL)
|
||||
_image->force_update();
|
||||
}
|
||||
void TAlmanac_field::set_selected_day(int nday)
|
||||
{
|
||||
if(nday>=1 && nday<=TDate::last_day(_selecteddate.month(),_selecteddate.year()))
|
||||
{
|
||||
TAlmanac_mask& m = (TAlmanac_mask&)mask();
|
||||
|
||||
_selecteddate.set_day(nday);
|
||||
force_update();
|
||||
}
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_day(int ddays)
|
||||
{
|
||||
const int old_month = _selecteddate.month();
|
||||
_selecteddate+=ddays;
|
||||
force_update(old_month != _selecteddate.month());
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_month(int nmonth)
|
||||
{
|
||||
if(nmonth >= 1 && nmonth <= 12)
|
||||
{
|
||||
_selecteddate.set_month(nmonth);
|
||||
force_update(true);
|
||||
}
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_month(int dmonths)
|
||||
{
|
||||
_selecteddate.addmonth(dmonths);
|
||||
force_update(true);
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_year(int nyear)
|
||||
{
|
||||
_selecteddate.set_year(nyear);
|
||||
force_update(true);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 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() {}
|
||||
};
|
||||
|
||||
void TAlmanac_window::update()
|
||||
{
|
||||
COLOR col_f, col_b;
|
||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||
RCT rcttd;
|
||||
TString str;
|
||||
int rct_w, rct_h;
|
||||
int rct_t, rct_l;
|
||||
int pad;
|
||||
int row;
|
||||
int fh;
|
||||
int cpage;
|
||||
TAlmanac_field & o = (TAlmanac_field&)owner();
|
||||
TAlmanac_field& o = (TAlmanac_field&)owner();
|
||||
|
||||
TField_window::update();
|
||||
TDate cdate = o.selected_date();
|
||||
cdate.set_day(1);
|
||||
|
||||
cpage = o.mask().curr_page();
|
||||
int cpage = o.mask().curr_page();
|
||||
|
||||
rct_w = ((rct.right - rct.left) / 9);
|
||||
rct_h = ((rct.bottom - rct.top) / 9);
|
||||
pad = o.padding();
|
||||
row = 3;
|
||||
int rct_l, rct_t;
|
||||
int rct_w = (rct.right - rct.left) / 9;
|
||||
int rct_h = (rct.bottom - rct.top) / 9;
|
||||
int pad = o.padding();
|
||||
int row = 3;
|
||||
|
||||
set_font("", XVT_FS_BOLD);
|
||||
set_color(NORMAL_COLOR, NORMAL_BACK_COLOR);
|
||||
fh = CHARY;
|
||||
int fh = CHARY;
|
||||
|
||||
if (o.show_month_name())
|
||||
{
|
||||
@ -277,7 +120,6 @@ void TAlmanac_window::update()
|
||||
xvt_dwin_draw_rect(win(), &rcttd);
|
||||
}
|
||||
|
||||
|
||||
if (o.is_selected(cdate.day()))
|
||||
{
|
||||
set_pen(FOCUS_COLOR,1);
|
||||
@ -292,106 +134,108 @@ void TAlmanac_window::update()
|
||||
|
||||
bool TAlmanac_window::on_key(KEY key)
|
||||
{
|
||||
TAlmanac_field & o = (TAlmanac_field&)owner();
|
||||
int smonth, syear;
|
||||
TAlmanac_field& o = (TAlmanac_field&)owner();
|
||||
TAlmanac_mask& m = (TAlmanac_mask&)o.mask();
|
||||
|
||||
smonth = o.selected_month();
|
||||
syear = o.selected_year();
|
||||
const int smonth = o.selected_month();
|
||||
const int syear = o.selected_year();
|
||||
|
||||
switch (key)
|
||||
{
|
||||
case K_RIGHT:
|
||||
o.move_selected_day(1);
|
||||
break;
|
||||
case K_LEFT:
|
||||
o.move_selected_day(-1);
|
||||
break;
|
||||
case K_UP:
|
||||
o.move_selected_day(-7);
|
||||
break;
|
||||
case K_DOWN:
|
||||
o.move_selected_day(+7);
|
||||
break;
|
||||
case K_SPACE:
|
||||
case K_ENTER:
|
||||
((TAlmanac_mask&)o.mask()).open_day_mask();
|
||||
break;
|
||||
case K_PREV:
|
||||
case K_NEXT:
|
||||
case K_CTRL+K_F1:
|
||||
case K_CTRL+K_F2:
|
||||
case K_CTRL+K_F3:
|
||||
case K_CTRL+K_F4:
|
||||
case K_CTRL+K_F5:
|
||||
case K_CTRL+K_F6:
|
||||
case K_CTRL+K_F7:
|
||||
case K_CTRL+K_F8:
|
||||
case K_CTRL+K_F9:
|
||||
case K_CTRL+K_F10:
|
||||
case K_CTRL+K_F11:
|
||||
case K_CTRL+K_F12:
|
||||
o.mask().on_key(key);
|
||||
break;
|
||||
default:
|
||||
return TField_window::on_key(key);
|
||||
case K_RIGHT: o.move_selected_day(1); break;
|
||||
case K_LEFT: o.move_selected_day(-1); break;
|
||||
case K_UP: o.move_selected_day(-7); break;
|
||||
case K_DOWN: o.move_selected_day(+7); break;
|
||||
case K_SPACE:
|
||||
case K_ENTER: m.open_day_mask(); break;
|
||||
case K_PREV:
|
||||
case K_NEXT:
|
||||
case K_CTRL+K_F1:
|
||||
case K_CTRL+K_F2:
|
||||
case K_CTRL+K_F3:
|
||||
case K_CTRL+K_F4:
|
||||
case K_CTRL+K_F5:
|
||||
case K_CTRL+K_F6:
|
||||
case K_CTRL+K_F7:
|
||||
case K_CTRL+K_F8:
|
||||
case K_CTRL+K_F9:
|
||||
case K_CTRL+K_F10:
|
||||
case K_CTRL+K_F11:
|
||||
case K_CTRL+K_F12:
|
||||
m.on_key(key);
|
||||
break;
|
||||
default:
|
||||
return TField_window::on_key(key);
|
||||
}
|
||||
|
||||
if(smonth!=o.selected_month())
|
||||
o.mask().set(F_CHANGEMONTH, o.selected_month(), true);
|
||||
if(syear!=o.selected_year())
|
||||
if(syear != o.selected_year())
|
||||
{
|
||||
o.mask().set(F_CHANGEYEAR, o.selected_year(), true);
|
||||
((TAlmanac_mask&)o.mask()).set_year(o.selected_year());
|
||||
m.set_year(o.selected_year());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void TAlmanac_window::handler(WINDOW win, EVENT* ep)
|
||||
{
|
||||
TDate cdate, fdate;
|
||||
RCT rct; xvt_vobj_get_client_rect(win, &rct);
|
||||
int rct_w, rct_h;
|
||||
int pnt_r, pnt_c;
|
||||
int delta;
|
||||
TAlmanac_field & o = (TAlmanac_field&)owner();
|
||||
|
||||
switch(ep->type)
|
||||
{
|
||||
case E_MOUSE_DOWN:
|
||||
case E_MOUSE_DBL:
|
||||
case E_MOUSE_DOWN:
|
||||
case E_MOUSE_DBL:
|
||||
{
|
||||
cdate = o.selected_date();
|
||||
fdate = o.selected_date();
|
||||
fdate.set_day(1);
|
||||
TAlmanac_field & o = (TAlmanac_field&)owner();
|
||||
TDate cdate = o.selected_date();
|
||||
TDate fdate = cdate; fdate.set_day(1);
|
||||
|
||||
rct_w = ((rct.right - rct.left) / 9);
|
||||
rct_h = ((rct.bottom - rct.top) / 9);
|
||||
pnt_c = (ep->v.mouse.where.h) / rct_w;
|
||||
pnt_r = (ep->v.mouse.where.v) / rct_h;
|
||||
|
||||
delta = 7*pnt_r + pnt_c - (7*(3+cdate.week()-fdate.week()) + cdate.wday());
|
||||
RCT rct; xvt_vobj_get_client_rect(win, &rct);
|
||||
int rct_w = ((rct.right - rct.left) / 9);
|
||||
int rct_h = ((rct.bottom - rct.top) / 9);
|
||||
int pnt_c = (ep->v.mouse.where.h) / rct_w;
|
||||
int pnt_r = (ep->v.mouse.where.v) / rct_h;
|
||||
int delta = 7*pnt_r + pnt_c - (7*(3+cdate.week()-fdate.week()) + cdate.wday());
|
||||
o.move_selected_day(delta);
|
||||
if (ep->type==E_MOUSE_DBL)
|
||||
((TAlmanac_mask&)o.mask()).open_day_mask();
|
||||
((TAlmanac_mask&)o.mask()).open_day_mask();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
TField_window::handler(win, ep);
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
TField_window::handler(win, ep);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TAlmanac_window::TAlmanac_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field *owner)
|
||||
: TField_window(x, y, dx, dy, parent, owner)
|
||||
: TField_window(x, y, dx, dy, parent, owner)
|
||||
{
|
||||
xvt_sbar_set_range(win(), HSCROLL, 0, 0);
|
||||
xvt_sbar_set_range(win(), VSCROLL, 0, 0);
|
||||
set_scroll_max(0, 0); // Get rid of that useless scrollbars
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 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() {}
|
||||
};
|
||||
|
||||
void TImage_window::update()
|
||||
{
|
||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||
@ -419,7 +263,6 @@ void TImage_window::update()
|
||||
else
|
||||
{
|
||||
int w = int(bmp.width() * ratioy);
|
||||
|
||||
rct.left = (rct.right - w) / 2;
|
||||
rct.right = rct.left + w;
|
||||
}
|
||||
@ -429,9 +272,239 @@ void TImage_window::update()
|
||||
}
|
||||
|
||||
TImage_window::TImage_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field *owner)
|
||||
: TField_window(x, y, dx, dy, parent, owner), _curr_month(0)
|
||||
|
||||
: TField_window(x, y, dx, dy, parent, owner), _curr_month(0)
|
||||
{
|
||||
xvt_sbar_set_range(win(), HSCROLL, 0, 0);
|
||||
xvt_sbar_set_range(win(), VSCROLL, 0, 0);
|
||||
}
|
||||
set_scroll_max(0, 0); // Get rid of that useless scrollbars
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_field
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TField_window* TAlmanac_field::create_window(int x, int y, int dx, int dy, WINDOW parent)
|
||||
{
|
||||
TAlmanac_window* obj = new TAlmanac_window(x, y, dx, dy, parent, this);
|
||||
RCT rct; xvt_vobj_get_outer_rect(obj->win(), &rct);
|
||||
const int pad = 6;
|
||||
|
||||
if (rct.left > pad * 4)
|
||||
{
|
||||
_image = new TImage_window(-1, y, -1, dy, parent, this);
|
||||
RCT img_rect; xvt_vobj_get_outer_rect(_image->win(), &img_rect);
|
||||
img_rect.right = rct.left - pad;
|
||||
img_rect.left = pad;
|
||||
xvt_vobj_move(_image->win(), &img_rect);
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
void TAlmanac_field::create(short id, const RCT& rect, WINDOW parent)
|
||||
{
|
||||
int x = rect.left/CHARX, y = rect.top/ROWY;
|
||||
int h = (rect.bottom - rect.top)/ROWY, w = (rect.right - rect.left)/CHARX;
|
||||
if (x+w > 80)
|
||||
x = x + w - mask().columns() - 1;
|
||||
TWindowed_field::create(id, x, y, w, h, parent);
|
||||
}
|
||||
|
||||
bool TAlmanac_field::is_date_void(int currpage, const TDate& cdate)
|
||||
{
|
||||
return ((TAlmanac_mask &)mask()).is_date_void(currpage, cdate);
|
||||
}
|
||||
|
||||
void TAlmanac_field::force_update(bool update_image)
|
||||
{
|
||||
win().force_update();
|
||||
if (update_image && _image != NULL)
|
||||
_image->force_update();
|
||||
}
|
||||
|
||||
void TAlmanac_field::adjust_selected_day()
|
||||
{
|
||||
const int last = TDate::last_day(_selecteddate.month(), _selecteddate.year());
|
||||
if (_selecteddate.day() > last)
|
||||
_selecteddate.set_day(last);
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_day(int nday)
|
||||
{
|
||||
if (nday>=1 && nday<=31 && nday != _selecteddate.day())
|
||||
{
|
||||
_selecteddate.set_day(nday);
|
||||
adjust_selected_day();
|
||||
force_update(false); // Dont'update the picture
|
||||
}
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_day(int ddays)
|
||||
{
|
||||
const int old_month = _selecteddate.month();
|
||||
_selecteddate += ddays;
|
||||
force_update(old_month != _selecteddate.month()); // Dont'update the picture if needed
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_month(int nmonth)
|
||||
{
|
||||
if (nmonth >= 1 && nmonth <= 12 && nmonth != _selecteddate.month())
|
||||
{
|
||||
_selecteddate.set_month(nmonth);
|
||||
adjust_selected_day();
|
||||
force_update(true); // Update the picture too
|
||||
}
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_month(int dmonths)
|
||||
{
|
||||
_selecteddate.addmonth(dmonths);
|
||||
force_update(true); // Update the picture too
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_year(int nyear)
|
||||
{
|
||||
_selecteddate.set_year(nyear);
|
||||
adjust_selected_day();
|
||||
force_update(false); // Don't update the picture
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TMask_field* TAlmanac_mask::parse_field(TScanner& scanner)
|
||||
{
|
||||
const TString& k = scanner.key();
|
||||
if (k.starts_with("AL", true))
|
||||
{
|
||||
TAlmanac_field* na = new TAlmanac_field(this);
|
||||
_almanacs.add(na);
|
||||
return na;
|
||||
}
|
||||
return TAutomask::parse_field(scanner);
|
||||
}
|
||||
|
||||
bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_PREVMONTH:
|
||||
case F_NEXTMONTH:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TAlmanac_field& al = almanac();
|
||||
const int old_year = al.selected_year();
|
||||
al.move_selected_month(o.dlg() == F_PREVMONTH ? -1 : +1);
|
||||
const int new_year = al.selected_year();
|
||||
if (old_year != new_year) // Se cambio anno
|
||||
set_year(new_year);
|
||||
}
|
||||
break;
|
||||
case F_PREVYEAR:
|
||||
case F_NEXTYEAR:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TAlmanac_field& al = almanac();
|
||||
const int year = al.selected_year();
|
||||
set_year(year + (o.dlg() == F_PREVYEAR ? -1 : +1));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void TAlmanac_mask::set_focus()
|
||||
{
|
||||
TAutomask::set_focus();
|
||||
|
||||
int i;
|
||||
for (i = _almanacs.last(); i >= 0; i = _almanacs.pred(i))
|
||||
{
|
||||
if (almanac(i).parent() == curr_win())
|
||||
break;
|
||||
}
|
||||
|
||||
const bool nav = i >= 0;
|
||||
enable(F_PREVYEAR, nav);
|
||||
enable(F_PREVMONTH, nav);
|
||||
enable(F_NEXTMONTH, nav);
|
||||
enable(F_NEXTYEAR, nav);
|
||||
}
|
||||
|
||||
int TAlmanac_mask::activate_almanac(const short id, const char* title)
|
||||
{
|
||||
int i = -1; // Calendario non trovato
|
||||
|
||||
const int pos = id2pos(id);
|
||||
if (pos >= 0) // Calendario esistente
|
||||
{
|
||||
for (i = _almanacs.last(); i >= 0; i = _almanacs.pred(i))
|
||||
if (almanac(i).dlg() == id)
|
||||
break;
|
||||
if (i < 0) // Calendario non ancora censito ...
|
||||
i = _almanacs.add(fld(pos)); // ... non dovrebbe mai succedere
|
||||
}
|
||||
|
||||
if (i < 0) // Devo creare al volo un calendario
|
||||
{
|
||||
WINDOW parent = create_page(TR("Calendario"), -1);
|
||||
const TAlmanac_field& ca = almanac(0);
|
||||
RCT rect; ca.get_rect(rect);
|
||||
TAlmanac_field* na = new TAlmanac_field(this);
|
||||
na->create(id, rect, parent);
|
||||
add_field(na);
|
||||
i = _almanacs.add(na);
|
||||
}
|
||||
|
||||
TAlmanac_field& na = almanac(i);
|
||||
if (title && *title)
|
||||
{
|
||||
const int page = find_parent_page(na);
|
||||
xvt_notebk_set_tab_title(notebook(), page, title);
|
||||
}
|
||||
const TDate sdate(TODAY); // Inizilizzo con la data odierna
|
||||
na.set_selected_date(sdate);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
TAlmanac_field & TAlmanac_mask::almanac(byte page) const
|
||||
{
|
||||
if (page >= _almanacs.items()) // Calcolo dell'indice del calendario corrente
|
||||
{
|
||||
for (page = _almanacs.last(); page > 0; page = _almanacs.pred(page))
|
||||
{
|
||||
if (almanac(page).parent() == curr_win())
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (TAlmanac_field&)_almanacs[page];
|
||||
}
|
||||
|
||||
void TAlmanac_mask::set_year(int newyear)
|
||||
{
|
||||
for (int i = _almanacs.last(); i >= 0; i = _almanacs.pred(i))
|
||||
almanac(i).set_selected_year(newyear);
|
||||
change_year(newyear);
|
||||
}
|
||||
|
||||
const TDate& TAlmanac_mask::selected_day() const
|
||||
{ return almanac().selected_date(); }
|
||||
|
||||
void TAlmanac_mask::change_year(int newyear)
|
||||
{
|
||||
// Funzione virtuale da ridefinire!
|
||||
}
|
||||
|
||||
bool TAlmanac_mask::is_date_void(int currpage, const TDate& cdate)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
TAlmanac_mask::TAlmanac_mask(const char* name)
|
||||
{
|
||||
read_mask(name, 0, -1); // Deve funzionare la virtual parse_field
|
||||
set_handlers();
|
||||
}
|
||||
|
98
ci/cilib.h
98
ci/cilib.h
@ -5,37 +5,6 @@
|
||||
#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
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -59,12 +28,13 @@ class TAlmanac_field : public TWindowed_field
|
||||
// @cmember:(INTERNAL) Variabile interna: Data correntemente selezionato nel calendario
|
||||
TDate _selecteddate;
|
||||
TDate _dateinsert;
|
||||
TImage_window * _image;
|
||||
TField_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);
|
||||
void adjust_selected_day();
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
@ -89,13 +59,13 @@ public:
|
||||
// @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 set_selected_date(const 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; }
|
||||
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; }
|
||||
|
||||
@ -106,11 +76,12 @@ public:
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
bool is_date_void(int currpage, TDate& cdate);
|
||||
bool is_date_void(int currpage, const 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(const TDate &d) const { return d >= _dateinsert; }
|
||||
|
||||
|
||||
void create(short id, const RCT& rct, WINDOW parent); // Internal use only
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
@ -119,39 +90,6 @@ public:
|
||||
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
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -165,34 +103,28 @@ 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;
|
||||
|
||||
TPointer_array _almanacs;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// override da TAutomask
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
virtual void set_focus();
|
||||
|
||||
// @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();}
|
||||
TAlmanac_field& almanac(byte page = -1) const ;
|
||||
// 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); }
|
||||
int activate_almanac(short id, const char* title);
|
||||
// @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(); }
|
||||
const TDate& selected_day() const;
|
||||
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
|
||||
virtual bool is_date_void(int currpage, TDate& cdate);
|
||||
virtual bool is_date_void(int currpage, const 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
|
||||
@ -201,7 +133,7 @@ public:
|
||||
// @cmember Costruttore
|
||||
TAlmanac_mask(const char * name);
|
||||
// @cmember Distruttore
|
||||
~TAlmanac_mask() { }
|
||||
virtual ~TAlmanac_mask() { }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define F_PREVMONTH 91
|
||||
#define F_NEXTMONTH 92
|
||||
#define F_CHANGEMONTH 93
|
||||
#define F_CHANGEYEAR 94
|
||||
#define F_PREVYEAR 91
|
||||
#define F_PREVMONTH 92
|
||||
#define F_NEXTMONTH 93
|
||||
#define F_NEXTYEAR 94
|
||||
|
Loading…
x
Reference in New Issue
Block a user