Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@12978 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8b7f5b0b56
commit
41c198ac1a
252
ci/ci0300.cpp
252
ci/ci0300.cpp
@ -1,12 +1,9 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <isam.h>
|
#include <execp.h>
|
||||||
#include <mask.h>
|
|
||||||
#include <prefix.h>
|
|
||||||
#include <progind.h>
|
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
#include <tabutil.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include <doc.h>
|
#include <doc.h>
|
||||||
|
|
||||||
@ -14,106 +11,16 @@
|
|||||||
#include "cilib.h"
|
#include "cilib.h"
|
||||||
#include "ci0300.h"
|
#include "ci0300.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
// TSelezioneGiorno_mask
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
class TSelezioneGiorno_mask : public TAlmanac_mask
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
// ereditato da TMask
|
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return TRUE; }
|
|
||||||
|
|
||||||
public:
|
|
||||||
// apertura del foglio interno di gestione dei documenti
|
|
||||||
void open_inner_sheet(TDate date, TString doctype);
|
|
||||||
|
|
||||||
public:
|
|
||||||
// Costruttore
|
|
||||||
TSelezioneGiorno_mask() : TAlmanac_mask() { }
|
|
||||||
// Distruttore
|
|
||||||
~TSelezioneGiorno_mask() { }
|
|
||||||
};
|
|
||||||
|
|
||||||
void TSelezioneGiorno_mask::open_inner_sheet(TDate date, TString doctype)
|
|
||||||
{
|
|
||||||
TString filter;
|
|
||||||
TRelation* relation;
|
|
||||||
TCursor* cursor;
|
|
||||||
TCursor_sheet* sheet;
|
|
||||||
int exitval;
|
|
||||||
|
|
||||||
filter << "(ANSI(DATADOC)==\"" << date.string(ANSI) << "\")";
|
|
||||||
filter << "&&";
|
|
||||||
filter << "(TIPODOC==\"" << doctype << "\")";
|
|
||||||
|
|
||||||
relation = new TRelation(LF_DOC);
|
|
||||||
relation->add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
|
||||||
cursor = new TCursor(relation, filter);
|
|
||||||
sheet = new TCursor_sheet(cursor,
|
|
||||||
"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"),
|
|
||||||
0, 1);
|
|
||||||
// tbc: gestione dei buttons per bene
|
|
||||||
|
|
||||||
exitval = sheet->run();
|
|
||||||
|
|
||||||
switch(exitval)
|
|
||||||
{
|
|
||||||
case K_ENTER:
|
|
||||||
break;
|
|
||||||
case K_DEL:
|
|
||||||
break;
|
|
||||||
//case K_NEW: tbc: gestione di questi eventi. come chiamare applicazione e come al posto di k_del e bmp nelle maschere
|
|
||||||
// break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TImmissioneDocumenti
|
// TImmissioneDocumenti_app
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class TImmissioneDocumenti: public TSkeleton_application
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
TSelezioneGiorno_mask* _mask;
|
|
||||||
|
|
||||||
TString_array _tabs; // titoli dei tabs
|
|
||||||
TString_array _filters; // filtri tipodoc per ogni tab
|
|
||||||
TBit_array _flags; // flag di presenza dei documenti
|
|
||||||
|
|
||||||
TDate* _newyearsday; // capodanno dell'anno corrente, per uso interno
|
|
||||||
int _year; // anno corrente
|
|
||||||
|
|
||||||
private:
|
|
||||||
void init_tabs();
|
|
||||||
void init_flags();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual bool create(void);
|
|
||||||
virtual void main_loop();
|
|
||||||
virtual bool destroy(void) ;
|
|
||||||
|
|
||||||
public:
|
|
||||||
bool has_documents(TDate& day); // passata come funzione alla maschera
|
|
||||||
void change_year(int newyear); // passata come funzione alla maschera
|
|
||||||
|
|
||||||
public:
|
|
||||||
TImmissioneDocumenti() : _flags(366) {}
|
|
||||||
virtual ~TImmissioneDocumenti() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Overrides
|
// Overrides
|
||||||
|
|
||||||
bool TImmissioneDocumenti::create()
|
bool TImmissioneDocumenti_app::create()
|
||||||
{
|
{
|
||||||
_mask = new TSelezioneGiorno_mask();
|
_mask = new TImmissioneDocumenti_mask();
|
||||||
|
|
||||||
_year = TDate(TODAY).year();
|
|
||||||
_newyearsday = new TDate(1,1,_year);
|
|
||||||
|
|
||||||
init_tabs();
|
init_tabs();
|
||||||
init_flags();
|
init_flags();
|
||||||
@ -121,14 +28,14 @@ bool TImmissioneDocumenti::create()
|
|||||||
return TSkeleton_application::create();
|
return TSkeleton_application::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TImmissioneDocumenti::destroy()
|
bool TImmissioneDocumenti_app::destroy()
|
||||||
{
|
{
|
||||||
delete _mask;
|
delete _mask;
|
||||||
|
|
||||||
return TSkeleton_application::destroy();
|
return TSkeleton_application::destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TImmissioneDocumenti::main_loop()
|
void TImmissioneDocumenti_app::main_loop()
|
||||||
{
|
{
|
||||||
while (_mask->run() == K_ENTER)
|
while (_mask->run() == K_ENTER)
|
||||||
{
|
{
|
||||||
@ -138,25 +45,24 @@ void TImmissioneDocumenti::main_loop()
|
|||||||
|
|
||||||
// Chiamate dalla maschera
|
// Chiamate dalla maschera
|
||||||
|
|
||||||
void TImmissioneDocumenti::change_year(int newyear)
|
void TImmissioneDocumenti_app::change_year(int newyear)
|
||||||
{
|
{
|
||||||
_year = newyear;
|
_year = newyear;
|
||||||
_newyearsday = new TDate(1,1,_year);
|
_newyearsday.set_year(_year);
|
||||||
|
|
||||||
init_flags();
|
init_flags();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TImmissioneDocumenti::has_documents(TDate& day)
|
bool TImmissioneDocumenti_app::has_documents(TDate& day)
|
||||||
{
|
{
|
||||||
return ((_flags)[day-*_newyearsday]);
|
return ((_flags)[day-_newyearsday]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inizializzazioni
|
// Inizializzazioni
|
||||||
|
|
||||||
void TImmissioneDocumenti::init_tabs()
|
void TImmissioneDocumenti_app::init_tabs()
|
||||||
{
|
{
|
||||||
TMask_field* currpage;
|
TString almanacname;
|
||||||
TConfig* configfile;
|
|
||||||
TString pagename;
|
TString pagename;
|
||||||
TString currfilter;
|
TString currfilter;
|
||||||
int items;
|
int items;
|
||||||
@ -164,59 +70,157 @@ void TImmissioneDocumenti::init_tabs()
|
|||||||
_tabs.destroy();
|
_tabs.destroy();
|
||||||
_filters.destroy();
|
_filters.destroy();
|
||||||
|
|
||||||
configfile = new TConfig("ci0300.ini");
|
TConfig configfile("ci0300.ini");
|
||||||
configfile->list_paragraphs(_tabs);
|
configfile.list_paragraphs(_tabs);
|
||||||
|
|
||||||
items = _tabs.items();
|
items = _tabs.items();
|
||||||
|
|
||||||
for (int i=0;i<items;i++)
|
for (int i=0;i<items;i++)
|
||||||
{
|
{
|
||||||
pagename.format("Pagina %2d",i);
|
pagename.format("Pagina %2d",i);
|
||||||
currfilter = configfile->get("Filtro",_tabs.row(i));
|
currfilter = configfile.get("Filtro",_tabs.row(i));
|
||||||
currpage = _mask->find_by_fieldname(pagename);
|
TMask_field* currpage = _mask->find_by_fieldname(pagename);
|
||||||
currpage->set_prompt(_tabs.row(i));
|
currpage->set_prompt(_tabs.row(i));
|
||||||
_filters.add(currfilter);
|
_filters.add(currfilter);
|
||||||
_mask->activate_almanac(i, TDate(TODAY));
|
almanacname.format("Almanacco %2d",i);
|
||||||
|
_mask->activate_almanac((TAlmanac_field*)_mask->find_by_fieldname(almanacname), i, TDate(TODAY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TImmissioneDocumenti::init_flags()
|
void TImmissioneDocumenti_app::init_flags()
|
||||||
{
|
{
|
||||||
|
int items;
|
||||||
TDate currdate;
|
TDate currdate;
|
||||||
TDate currstart;
|
TDate currstart;
|
||||||
TString filter;
|
TString filter;
|
||||||
TRelation* relation;
|
|
||||||
TSorted_cursor* cursor;
|
|
||||||
int items;
|
|
||||||
|
|
||||||
filter << "ANNO==\"" << _year << "\"";
|
filter << "ANNO==\"" << _year << "\"";
|
||||||
|
|
||||||
relation = new TRelation(LF_DOC);
|
TRelation relation(LF_DOC);
|
||||||
cursor = new TSorted_cursor(relation, "ANNO", filter);
|
|
||||||
|
|
||||||
items =cursor->items();
|
TSorted_cursor cursor(&relation, "ANNO", filter);
|
||||||
|
|
||||||
for (*cursor=0;cursor->pos()<items;++(*cursor))
|
items =cursor.items();
|
||||||
|
|
||||||
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TImmissioneDocumenti_mask
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Routines Proprietarie
|
||||||
|
|
||||||
|
void TImmissioneDocumenti_mask::open_inner_sheet(TDate date, TString doctype)
|
||||||
|
{
|
||||||
|
int exitval;
|
||||||
|
|
||||||
|
TString filter;
|
||||||
|
filter << "(ANSI(DATADOC)==\"" << date.string(ANSI) << "\")";
|
||||||
|
filter << "&&";
|
||||||
|
filter << "(CODNUM==\"" << doctype << "\")";
|
||||||
|
|
||||||
|
TRelation relation(LF_DOC);
|
||||||
|
relation.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||||
|
|
||||||
|
TCursor cursor(&relation, filter);
|
||||||
|
|
||||||
|
TCursor_sheet sheet(&cursor,
|
||||||
|
"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"),
|
||||||
|
0x10||0x02||0x04);
|
||||||
|
|
||||||
|
exitval = sheet.run();
|
||||||
|
|
||||||
|
switch(exitval)
|
||||||
|
{
|
||||||
|
case K_ENTER:
|
||||||
|
case K_DEL:
|
||||||
|
case K_INS:
|
||||||
|
call_ve0(exitval, relation, date, doctype);
|
||||||
|
break;
|
||||||
|
case K_ESC:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype)
|
||||||
|
{
|
||||||
|
TFilename tempfile;
|
||||||
|
tempfile.tempdir();
|
||||||
|
tempfile.add("cicallsve0.ini");
|
||||||
|
|
||||||
|
{
|
||||||
|
TConfig configfile(tempfile);
|
||||||
|
|
||||||
|
switch(exitval)
|
||||||
|
{
|
||||||
|
case K_ENTER:
|
||||||
|
configfile.set("Action", "Modify", "main");
|
||||||
|
configfile.set("CODNUM", doctype, "33");
|
||||||
|
configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33");
|
||||||
|
break;
|
||||||
|
case K_DEL:
|
||||||
|
configfile.set("Action", "Delete", "main");
|
||||||
|
configfile.set("CODNUM", doctype, "33");
|
||||||
|
configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33");
|
||||||
|
break;
|
||||||
|
case K_INS:
|
||||||
|
configfile.set("Action", "Insert", "main");
|
||||||
|
configfile.set("NDOC", date.string(), "33");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
configfile.set("PROVV", "D", "33");
|
||||||
|
configfile.set("ANNO", curr_almanac()->selected_year(), "33");
|
||||||
|
configfile.set("CODNUM", doctype, "33");
|
||||||
|
}
|
||||||
|
|
||||||
|
TString commandline;
|
||||||
|
|
||||||
|
commandline.format("ve0 -0 /i%s",tempfile);
|
||||||
|
|
||||||
|
TExternal_app ve(commandline);
|
||||||
|
ve.run();
|
||||||
|
|
||||||
|
remove_file(tempfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Richiami all'applicazione
|
||||||
|
|
||||||
|
void TImmissioneDocumenti_mask::change_year(int newyear)
|
||||||
|
{
|
||||||
|
immissione_documenti_app().change_year(newyear);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TImmissioneDocumenti_mask::is_date_void(TDate& cdate)
|
||||||
|
{
|
||||||
|
return !(immissione_documenti_app().has_documents(cdate));
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Mains
|
// Mains
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
int ci0300(int argc, char* argv[])
|
int ci0300(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TImmissioneDocumenti a ;
|
TImmissioneDocumenti_app a ;
|
||||||
a.run(argc, argv, TR("Immissione Documenti"));
|
a.run(argc, argv, TR("Immissione Documenti"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ci0400(int argc, char* argv[])
|
int ci0400(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TImmissioneDocumenti a ;
|
TImmissioneDocumenti_app a ;
|
||||||
a.run(argc, argv, TR("Immissione Documenti"));
|
a.run(argc, argv, TR("Immissione Documenti"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
64
ci/ci0300.h
64
ci/ci0300.h
@ -1,6 +1,70 @@
|
|||||||
#ifndef __CI0300_H
|
#ifndef __CI0300_H
|
||||||
#define __CI0300_H
|
#define __CI0300_H
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TImmissioneDocumenti_mask
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TImmissioneDocumenti_mask : public TAlmanac_mask
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
// ereditato da TMask
|
||||||
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return TRUE; }
|
||||||
|
|
||||||
|
public:
|
||||||
|
// ereditato da TAlmanac_mask
|
||||||
|
virtual bool is_date_void(TDate& cdate);
|
||||||
|
virtual void change_year(int newyear);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// apertura del foglio interno di gestione dei documenti
|
||||||
|
void open_inner_sheet(TDate date, TString doctype);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// chiamata del programma ve0
|
||||||
|
void call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Costruttore
|
||||||
|
TImmissioneDocumenti_mask() : TAlmanac_mask() { }
|
||||||
|
// Distruttore
|
||||||
|
~TImmissioneDocumenti_mask() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TImmissioneDocumenti_app
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TImmissioneDocumenti_app: public TSkeleton_application
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
TImmissioneDocumenti_mask* _mask;
|
||||||
|
|
||||||
|
TString_array _tabs; // titoli dei tabs
|
||||||
|
TString_array _filters; // filtri tipodoc per ogni tab
|
||||||
|
TBit_array _flags; // flag di presenza dei documenti
|
||||||
|
|
||||||
|
TDate _newyearsday; // capodanno dell'anno corrente, per uso interno
|
||||||
|
int _year; // anno corrente
|
||||||
|
|
||||||
|
private:
|
||||||
|
void init_tabs();
|
||||||
|
void init_flags();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool create(void);
|
||||||
|
virtual void main_loop();
|
||||||
|
virtual bool destroy(void) ;
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool has_documents(TDate& day); // passata come funzione alla maschera
|
||||||
|
void change_year(int newyear); // passata come funzione alla maschera
|
||||||
|
|
||||||
|
public:
|
||||||
|
TImmissioneDocumenti_app() : _flags(366), _year(TDate(TODAY).year()), _newyearsday(1,1,_year) {}
|
||||||
|
virtual ~TImmissioneDocumenti_app() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
inline TImmissioneDocumenti_app& immissione_documenti_app() { return (TImmissioneDocumenti_app&)main_app(); }
|
||||||
|
|
||||||
#endif // __CI0300_H
|
#endif // __CI0300_H
|
||||||
|
50
ci/cilib.cpp
50
ci/cilib.cpp
@ -16,6 +16,14 @@
|
|||||||
// TAlmanac_mask
|
// TAlmanac_mask
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
TMask_field* TAlmanac_mask::parse_field(TScanner& scanner)
|
||||||
|
{
|
||||||
|
const TString& k = scanner.key();
|
||||||
|
if (k == "ALMANAC")
|
||||||
|
return new TAlmanac_field(this);
|
||||||
|
return TAutomask::parse_field(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)
|
||||||
{
|
{
|
||||||
int year;
|
int year;
|
||||||
@ -55,9 +63,9 @@ bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TAlmanac_mask::activate_almanac(int page, TDate& sdate)
|
void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate)
|
||||||
{
|
{
|
||||||
_almanacs[page] = new TAlmanac_field(this);
|
_almanacs[page] = fld;
|
||||||
_almanacs[page]->set_selected_date(sdate);
|
_almanacs[page]->set_selected_date(sdate);
|
||||||
if (page>_activepages)
|
if (page>_activepages)
|
||||||
{
|
{
|
||||||
@ -76,13 +84,12 @@ void TAlmanac_mask::activate_almanac(int page, TDate& sdate)
|
|||||||
|
|
||||||
void TAlmanac_mask::change_year(int newyear)
|
void TAlmanac_mask::change_year(int newyear)
|
||||||
{
|
{
|
||||||
// tbc: gestire il pointer a funzione
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAlmanac_mask::has_documents(TDate& cdate)
|
bool TAlmanac_mask::is_date_void(TDate& cdate)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return TRUE;
|
||||||
// tbc: gestire il pointer a funzione
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TAlmanac_mask::TAlmanac_mask()
|
TAlmanac_mask::TAlmanac_mask()
|
||||||
@ -108,9 +115,9 @@ TField_window* TAlmanac_field::create_window(int x, int y, int dx, int dy, WINDO
|
|||||||
return new TAlmanac_window(x, y, dx, dy, parent, this);
|
return new TAlmanac_window(x, y, dx, dy, parent, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAlmanac_field::has_documents(TDate& cdate)
|
bool TAlmanac_field::is_date_void(TDate& cdate)
|
||||||
{
|
{
|
||||||
return almanac_mask().has_documents(cdate);
|
return almanac_mask().is_date_void(cdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TAlmanac_field::set_selected_day(int nday)
|
void TAlmanac_field::set_selected_day(int nday)
|
||||||
@ -165,11 +172,6 @@ void TAlmanac_window::update()
|
|||||||
|
|
||||||
TField_window::update();
|
TField_window::update();
|
||||||
|
|
||||||
if (almanac_fld().show_month_name())
|
|
||||||
{
|
|
||||||
// tbc: gestire la scritta del mese e dei giorni
|
|
||||||
}
|
|
||||||
|
|
||||||
cdate = almanac_fld().selected_date();
|
cdate = almanac_fld().selected_date();
|
||||||
cdate.set_day(1);
|
cdate.set_day(1);
|
||||||
|
|
||||||
@ -178,14 +180,30 @@ void TAlmanac_window::update()
|
|||||||
pad = - almanac_fld().padding();
|
pad = - almanac_fld().padding();
|
||||||
row = 3;
|
row = 3;
|
||||||
|
|
||||||
|
if (almanac_fld().show_month_name())
|
||||||
|
{
|
||||||
|
str.format("%s", itom(cdate.month()));
|
||||||
|
rct_l = rct.left + rct_w;
|
||||||
|
rct_t = rct.top + rct_h;
|
||||||
|
stringat(rct_l + pad + 2, rct_t + pad + 2, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i=1;i<7;i++)
|
||||||
|
{
|
||||||
|
str.format("%c", itow(i)[0]);
|
||||||
|
rct_l = rct.left + rct_w*i;
|
||||||
|
rct_t = rct.top + rct_h*2;
|
||||||
|
stringat(rct_l + pad + 2, rct_t + pad + 2, str);
|
||||||
|
}
|
||||||
|
|
||||||
set_color(COLOR_GRAY, COLOR_LTGRAY);
|
set_color(COLOR_GRAY, COLOR_LTGRAY);
|
||||||
|
|
||||||
while (!cdate.is_end_month())
|
while (!cdate.is_end_month())
|
||||||
{
|
{
|
||||||
if (almanac_fld().has_documents(cdate))
|
if (almanac_fld().is_date_void(cdate))
|
||||||
col_b=COLOR_YELLOW;
|
|
||||||
else
|
|
||||||
col_b=COLOR_LTGRAY;
|
col_b=COLOR_LTGRAY;
|
||||||
|
else
|
||||||
|
col_b=COLOR_YELLOW;
|
||||||
|
|
||||||
if (almanac_fld().is_selected(cdate.day()))
|
if (almanac_fld().is_selected(cdate.day()))
|
||||||
col_f=COLOR_RED;
|
col_f=COLOR_RED;
|
||||||
|
10
ci/cilib.h
10
ci/cilib.h
@ -87,7 +87,7 @@ public:
|
|||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
bool has_documents(TDate& cdate);
|
bool is_date_void(TDate& cdate);
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
@ -157,11 +157,13 @@ protected:
|
|||||||
protected:
|
protected:
|
||||||
// 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);
|
||||||
|
// override da TAutomask
|
||||||
|
virtual TMask_field* parse_field(TScanner& scanner);
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
// @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(int page, TDate& sdate);
|
void activate_almanac(TAlmanac_field* fld, 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
|
||||||
@ -170,9 +172,9 @@ public:
|
|||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
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
|
||||||
bool has_documents(TDate& cdate); // tbc: gestire il puntatore a funzione
|
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
|
||||||
void change_year(int newyear);
|
virtual void change_year(int newyear);
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
|
94
ci/cilib.uml
94
ci/cilib.uml
@ -49,50 +49,144 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Pagina 00" -1 -1 80 20
|
PAGE "Pagina 00" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 00" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 01" -1 -1 80 20
|
PAGE "Pagina 01" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 01" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 02" -1 -1 80 20
|
PAGE "Pagina 02" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 02" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 03" -1 -1 80 20
|
PAGE "Pagina 03" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 03" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 04" -1 -1 80 20
|
PAGE "Pagina 04" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 04" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 05" -1 -1 80 20
|
PAGE "Pagina 05" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 05" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 06" -1 -1 80 20
|
PAGE "Pagina 06" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 06" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 07" -1 -1 80 20
|
PAGE "Pagina 07" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 07" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 08" -1 -1 80 20
|
PAGE "Pagina 08" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 08" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
PAGE "Pagina 09" -1 -1 80 20
|
PAGE "Pagina 09" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 09" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 10" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 10" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 11" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 11" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 12" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 12" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 13" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 13" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 14" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 14" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
PAGE "Pagina 15" -1 -1 80 20
|
||||||
|
|
||||||
|
ALMANAC "Almanacco 15" 76 16
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user