Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@12974 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d4f9142d40
commit
c767ffd46b
292
ci/ci0300.cpp
292
ci/ci0300.cpp
@ -8,185 +8,205 @@
|
||||
#include <sheet.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
#include <nditte.h>
|
||||
#include <doc.h>
|
||||
|
||||
#include "ci0.h"
|
||||
#include "cilib.h"
|
||||
#include "ci0300.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TSelezioneGiorno_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TSelezioneGiorno_mask : public TAutomask
|
||||
class TSelezioneGiorno_mask : public TAlmanac_mask
|
||||
{
|
||||
TCursor_sheet* _sheet;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
// ereditato da TMask
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return TRUE; }
|
||||
|
||||
public:
|
||||
TCursor_sheet& sheet() {return *_sheet;}
|
||||
TSelezioneGiorno_mask();
|
||||
~TSelezioneGiorno_mask();
|
||||
// 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() { }
|
||||
};
|
||||
|
||||
bool TSelezioneGiorno_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
|
||||
void TSelezioneGiorno_mask::open_inner_sheet(TDate date, TString doctype)
|
||||
{
|
||||
/*
|
||||
switch (o.dlg())
|
||||
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 F_SCELTADITTE:
|
||||
if (e == fe_button)
|
||||
{
|
||||
sheet().run();
|
||||
set(F_DITTESELEZ, sheet().checked());
|
||||
}
|
||||
if (e == fe_close)
|
||||
if (sheet().checked() == 0)
|
||||
return error_box(TR("Non sono state selezionate ditte da convertire"));
|
||||
case K_ENTER:
|
||||
break;
|
||||
case F_DITTESELEZ:
|
||||
if (e == fe_init)
|
||||
o.set(sheet().checked());
|
||||
break;
|
||||
case F_MINISTERIALI:
|
||||
if (e == fe_init)
|
||||
{
|
||||
TTable cgr("%CGR");
|
||||
const bool empty = cgr.first() != NOERR;
|
||||
o.set(empty ? "X": " ");
|
||||
}
|
||||
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;
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TSelezioneGiorno_mask::TSelezioneGiorno_mask()
|
||||
: TAutomask("ci0300")
|
||||
{
|
||||
// _sheet = new TCursor_sheet(_cur, " |CODDITTA|RAGSOC", TR("Selezione ditte"), HR("@1|Codice|Ragione sociale@50"), 0, 1);
|
||||
// _sheet->check(-1);
|
||||
}
|
||||
}
|
||||
|
||||
TSelezioneGiorno_mask::~TSelezioneGiorno_mask()
|
||||
{
|
||||
delete _sheet;
|
||||
}
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissioneDocumenti
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
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:
|
||||
TImmissioneDocumenti() {}
|
||||
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
|
||||
|
||||
bool TImmissioneDocumenti::create()
|
||||
{
|
||||
_mask = new TSelezioneGiorno_mask();
|
||||
|
||||
_year = TDate(TODAY).year();
|
||||
_newyearsday = new TDate(1,1,_year);
|
||||
|
||||
init_tabs();
|
||||
init_flags();
|
||||
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti::destroy()
|
||||
{
|
||||
delete _mask;
|
||||
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti::main_loop()
|
||||
{
|
||||
/*
|
||||
TSelezioneGiorno_mask msk;
|
||||
if (msk.run() == K_ENTER && yesno_box(TR("Confermare la conversione dei cespiti?")))
|
||||
{
|
||||
msk.lista_ditte(_ditte);
|
||||
if (_ditte.items() == 0)
|
||||
{
|
||||
warning_box(TR("Nessuna ditta selezionata"));
|
||||
return;
|
||||
}
|
||||
open_log();
|
||||
TString80 s;
|
||||
write_log("");
|
||||
write_log("**********************************");
|
||||
s.format(TR("Conversione cespiti del %s"), (const char *) TDate(TODAY).string());
|
||||
write_log(s);
|
||||
write_log("**********************************");
|
||||
write_log("");
|
||||
|
||||
const char* studio = prefix().get_studio();
|
||||
const bool converti_ministeriali = msk.get_bool(F_MINISTERIALI);
|
||||
// conversione archivi
|
||||
TFilename file = studio;
|
||||
file << "cesp/ammce";
|
||||
conv_file(file, 136);
|
||||
file = studio;
|
||||
file << "cesp/ammmv";
|
||||
conv_file(file, 137);
|
||||
file = studio;
|
||||
file << "cesp/catdi";
|
||||
conv_file(file, 138);
|
||||
file = studio;
|
||||
file << "cesp/cespi";
|
||||
conv_file(file, 139);
|
||||
file = studio;
|
||||
file << "cesp/movam";
|
||||
conv_file(file, 141);
|
||||
file = studio;
|
||||
file << "cesp/movce";
|
||||
conv_file(file, 142);
|
||||
file = studio;
|
||||
file << "cesp/salce";
|
||||
conv_file(file, 143);
|
||||
file = studio;
|
||||
file << "cesp/coll01";
|
||||
conv_inifile(file, "COLL01", 140);
|
||||
// conversione tabelle
|
||||
file = studio;
|
||||
file << "cesp/ditcb";
|
||||
conv_tab(file, "CCB");
|
||||
file = studio;
|
||||
file << "cesp/ditce";
|
||||
conv_tab(file, "CCE");
|
||||
file = studio;
|
||||
file << "cesp/tabimp";
|
||||
conv_tab(file, "CIM");
|
||||
file = studio;
|
||||
file << "cesp/tabloc";
|
||||
conv_tab(file, "LOC");
|
||||
if (converti_ministeriali)
|
||||
{
|
||||
file = studio;
|
||||
file << "cesp/tabat";
|
||||
conv_tab(file, "%CAT");
|
||||
file = studio;
|
||||
file << "cesp/tabca";
|
||||
conv_tab(file, "%CAC");
|
||||
file = studio;
|
||||
file << "cesp/tabgr";
|
||||
conv_tab(file, "%CGR");
|
||||
file = studio;
|
||||
file << "cesp/limit";
|
||||
conv_tab(file, "%CLM");
|
||||
file = studio;
|
||||
file << "cesp/tmvce";
|
||||
conv_tab(file, "%TMC");
|
||||
}
|
||||
// conversione parametri
|
||||
file = studio;
|
||||
file << "cesp/ditc01";
|
||||
conv_par(file, "DITC01", CONFIG_DITTA);
|
||||
file = studio;
|
||||
file << "cesp/ditca";
|
||||
conv_par(file, "DITCA", CONFIG_DITTA);
|
||||
message_box("Conversione completata");
|
||||
close_log();
|
||||
}
|
||||
*/
|
||||
while (_mask->run() == K_ENTER)
|
||||
{
|
||||
_mask->open_inner_sheet(_mask->selected_day(),_filters.row(_mask->curr_page()));
|
||||
}
|
||||
}
|
||||
|
||||
// Chiamate dalla maschera
|
||||
|
||||
void TImmissioneDocumenti::change_year(int newyear)
|
||||
{
|
||||
_year = newyear;
|
||||
_newyearsday = new TDate(1,1,_year);
|
||||
|
||||
init_flags();
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti::has_documents(TDate& day)
|
||||
{
|
||||
return ((_flags)[day-*_newyearsday]);
|
||||
}
|
||||
|
||||
// Inizializzazioni
|
||||
|
||||
void TImmissioneDocumenti::init_tabs()
|
||||
{
|
||||
TMask_field* currpage;
|
||||
TConfig* configfile;
|
||||
TString pagename;
|
||||
TString currfilter;
|
||||
int items;
|
||||
|
||||
_tabs.destroy();
|
||||
_filters.destroy();
|
||||
|
||||
configfile = new TConfig("ci0300.ini");
|
||||
configfile->list_paragraphs(_tabs);
|
||||
|
||||
items = _tabs.items();
|
||||
|
||||
for (int i=0;i<items;i++)
|
||||
{
|
||||
pagename.format("Pagina %2d",i);
|
||||
currfilter = configfile->get("Filtro",_tabs.row(i));
|
||||
currpage = _mask->find_by_fieldname(pagename);
|
||||
currpage->set_prompt(_tabs.row(i));
|
||||
_filters.add(currfilter);
|
||||
_mask->activate_almanac(i, TDate(TODAY));
|
||||
}
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti::init_flags()
|
||||
{
|
||||
TDate currdate;
|
||||
TDate currstart;
|
||||
TString filter;
|
||||
TRelation* relation;
|
||||
TSorted_cursor* cursor;
|
||||
int items;
|
||||
|
||||
filter << "ANNO==\"" << _year << "\"";
|
||||
|
||||
relation = new TRelation(LF_DOC);
|
||||
cursor = new TSorted_cursor(relation, "ANNO", filter);
|
||||
|
||||
items =cursor->items();
|
||||
|
||||
for (*cursor=0;cursor->pos()<items;++(*cursor))
|
||||
{
|
||||
currdate = relation->lfile().get_date(DOC_DATADOC);
|
||||
_flags.set(currdate-*_newyearsday, 1);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Mains
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
int ci0300(int argc, char* argv[])
|
||||
{
|
||||
TImmissioneDocumenti a ;
|
||||
|
@ -1,13 +1,6 @@
|
||||
#ifndef __CI0300_H
|
||||
#define __CI0300_H
|
||||
|
||||
// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE DOCUMENTI A CALENDARIO
|
||||
// campi maschera ci0300.uml
|
||||
|
||||
#define F_PREVMONTH 101
|
||||
#define F_NEXTMONTH 102
|
||||
#define F_CHANGEMONTH 103
|
||||
#define F_CHANGEYEAR 104
|
||||
|
||||
|
||||
#endif // __CI0300_H
|
||||
|
139
ci/cilib.cpp
139
ci/cilib.cpp
@ -1,4 +1,5 @@
|
||||
#include <config.h>
|
||||
#include <mask.h>
|
||||
#include <diction.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
@ -10,28 +11,138 @@
|
||||
|
||||
#include "cilib.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
bool TAlmanac_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
int year;
|
||||
|
||||
year = curr_almanac()->selected_year();
|
||||
|
||||
switch (o.dlg())
|
||||
{
|
||||
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());
|
||||
this->set_year(curr_almanac()->selected_year());
|
||||
}
|
||||
break;
|
||||
case F_CHANGEMONTH:
|
||||
curr_almanac()->set_selected_month(this->get_int(F_CHANGEMONTH));
|
||||
break;
|
||||
case F_NEXTMONTH:
|
||||
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());
|
||||
this->set_year(curr_almanac()->selected_year());
|
||||
}
|
||||
break;
|
||||
case F_CHANGEYEAR:
|
||||
this->set_year(this->get_int(F_CHANGEMONTH));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TAlmanac_mask::activate_almanac(int page, TDate& sdate)
|
||||
{
|
||||
_almanacs[page] = new TAlmanac_field(this);
|
||||
_almanacs[page]->set_selected_date(sdate);
|
||||
if (page>_activepages)
|
||||
{
|
||||
_activepages = page;
|
||||
enable_page(0);
|
||||
disable_page(page+1);
|
||||
}
|
||||
}
|
||||
|
||||
void TAlmanac_mask::set_year(int newyear)
|
||||
{
|
||||
for(int i=0;i<_activepages;i++)
|
||||
_almanacs[i]->set_selected_year(newyear);
|
||||
change_year(newyear);
|
||||
}
|
||||
|
||||
void TAlmanac_mask::change_year(int newyear)
|
||||
{
|
||||
// tbc: gestire il pointer a funzione
|
||||
}
|
||||
|
||||
bool TAlmanac_mask::has_documents(TDate& cdate)
|
||||
{
|
||||
return FALSE;
|
||||
// tbc: gestire il pointer a funzione
|
||||
}
|
||||
|
||||
TAlmanac_mask::TAlmanac_mask()
|
||||
: TAutomask("cilib")
|
||||
{
|
||||
}
|
||||
|
||||
TAlmanac_mask::~TAlmanac_mask()
|
||||
{
|
||||
delete[] _almanacs;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_field
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
#define almanac_win() ((TAlmanac_window&)win())
|
||||
|
||||
#define almanac_mask() ((TAlmanac_mask&)mask())
|
||||
|
||||
TField_window* TAlmanac_field::create_window(int x, int y, int dx, int dy, WINDOW parent)
|
||||
{
|
||||
return new TAlmanac_window(x, y, dx, dy, parent, this);
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_day(int nday)
|
||||
{
|
||||
if(nday>=1 && nday<=_almanac.last_day())
|
||||
_selectedday=nday;
|
||||
bool TAlmanac_field::has_documents(TDate& cdate)
|
||||
{
|
||||
return almanac_mask().has_documents(cdate);
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_day(int dday)
|
||||
void TAlmanac_field::set_selected_day(int nday)
|
||||
{
|
||||
_selectedday+=dday;
|
||||
if(_selectedday<1) _selectedday=1;
|
||||
if(_selectedday>_almanac.last_day()) _selectedday=_almanac.last_day();
|
||||
if(nday>=1 && nday<=TDate::last_day(_selecteddate.month(),_selecteddate.year()))
|
||||
_selecteddate.set_day(nday);
|
||||
almanac_win().force_update();
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_day(int ddays)
|
||||
{
|
||||
_selecteddate+=ddays;
|
||||
almanac_win().force_update();
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_month(int nmonth)
|
||||
{
|
||||
if(nmonth>=1 && nmonth<=12)
|
||||
_selecteddate.set_month(nmonth);
|
||||
almanac_win().force_update();
|
||||
}
|
||||
|
||||
void TAlmanac_field::move_selected_month(int dmonths)
|
||||
{
|
||||
_selecteddate.addmonth(dmonths);
|
||||
almanac_win().force_update();
|
||||
}
|
||||
|
||||
void TAlmanac_field::set_selected_year(int nyear)
|
||||
{
|
||||
_selecteddate.set_year(nyear);
|
||||
almanac_win().force_update();
|
||||
}
|
||||
|
||||
|
||||
@ -41,8 +152,6 @@ void TAlmanac_field::move_selected_day(int dday)
|
||||
|
||||
#define almanac_fld() ((TAlmanac_field&)owner())
|
||||
|
||||
#define almanac() (((TAlmanac_field&)owner()).almanac())
|
||||
|
||||
void TAlmanac_window::update()
|
||||
{
|
||||
TDate cdate;
|
||||
@ -58,10 +167,10 @@ void TAlmanac_window::update()
|
||||
|
||||
if (almanac_fld().show_month_name())
|
||||
{
|
||||
// tbc
|
||||
// tbc: gestire la scritta del mese e dei giorni
|
||||
}
|
||||
|
||||
cdate = almanac().month();
|
||||
cdate = almanac_fld().selected_date();
|
||||
cdate.set_day(1);
|
||||
|
||||
rct_w = ((rct.right - rct.left) / 9);
|
||||
@ -73,7 +182,7 @@ void TAlmanac_window::update()
|
||||
|
||||
while (!cdate.is_end_month())
|
||||
{
|
||||
if (almanac().has_documents(cdate))
|
||||
if (almanac_fld().has_documents(cdate))
|
||||
col_b=COLOR_YELLOW;
|
||||
else
|
||||
col_b=COLOR_LTGRAY;
|
||||
@ -143,7 +252,7 @@ void TAlmanac_window::handler(WINDOW win, EVENT* ep)
|
||||
case E_MOUSE_DBL:
|
||||
case E_MOUSE_DOWN:
|
||||
{
|
||||
cdate = almanac().month();
|
||||
cdate = almanac_fld().selected_date();
|
||||
cdate.set_day(1);
|
||||
|
||||
rct_w = ((rct.right - rct.left) / 9);
|
||||
@ -153,7 +262,7 @@ void TAlmanac_window::handler(WINDOW win, EVENT* ep)
|
||||
|
||||
delta = pnt_c*pnt_r - (27+cdate.wday());
|
||||
|
||||
if (delta>=1&&delta<=almanac().last_day())
|
||||
if (delta>=1&&delta<=TDate::last_day(almanac_fld().selected_date().month(),almanac_fld().selected_date().year()))
|
||||
{
|
||||
almanac_fld().set_selected_day(delta);
|
||||
owner().on_key(K_SPACE);
|
||||
|
151
ci/cilib.h
151
ci/cilib.h
@ -9,71 +9,176 @@
|
||||
#include "../db/dblib.h"
|
||||
#endif
|
||||
|
||||
// TAlmanac
|
||||
// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE MASCHERE PER CALENDARIO
|
||||
// campi maschera cilib.uml
|
||||
|
||||
class TAlmanac : public TObject
|
||||
{
|
||||
TDate _curr_month;
|
||||
#define F_PREVMONTH 101
|
||||
#define F_NEXTMONTH 102
|
||||
#define F_CHANGEMONTH 103
|
||||
#define F_CHANGEYEAR 104
|
||||
|
||||
public:
|
||||
const TDate& month() const { return _curr_month; }
|
||||
int last_day() { return TDate::last_day(_curr_month.month(),_curr_month.year()); }
|
||||
|
||||
public:
|
||||
bool has_documents(TDate& tdate) { return false; }
|
||||
|
||||
TAlmanac(int m, int a) : _curr_month(1, m, a) { }
|
||||
TAlmanac() { _curr_month = TODAY; _curr_month.set_day(1); }
|
||||
virtual ~TAlmanac() { }
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_field
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @class TAlmanac_field | Windowed Field per la gestione di un calendario
|
||||
//
|
||||
// @base public | TWindowed_field
|
||||
class TAlmanac_field : public TWindowed_field
|
||||
{
|
||||
private:
|
||||
TAlmanac _almanac;
|
||||
// @author:(INTERNAL) Brugno
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember:(INTERNAL) Parametro di visualizzazione: Separazione tra le celle del calenbdario
|
||||
int _padding;
|
||||
// @cmember:(INTERNAL) Parametro di visualizzazione: flag di visulizzazione del nome del mese
|
||||
bool _showmonthname;
|
||||
int _selectedday;
|
||||
|
||||
protected: // TWindowed_field
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember:(INTERNAL) Variabile interna: Data correntemente selezionato nel calendario
|
||||
TDate _selecteddate;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// override da TWindowed_field
|
||||
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
bool is_selected(int tday) { return (tday==_selectedday); }
|
||||
// @cmember Gestione del giorno correntemente selezionato: restituisce la data selezionata
|
||||
const TDate& selected_date() const { return _selecteddate; }
|
||||
// @cmember Gestione del giorno correntemente selezionato: restituisce il giorno selezionato
|
||||
int selected_day() { return _selecteddate.day(); }
|
||||
// @cmember Gestione del giorno correntemente selezionato: restituisce il giorno selezionato
|
||||
int selected_month() { return _selecteddate.month(); }
|
||||
// @cmember Gestione del giorno correntemente selezionato: restituisce true se il giorno selezionato è uguale al parametro
|
||||
bool is_selected(int tday) { return (tday==selected_day()); }
|
||||
// @cmember Gestione del giorno correntemente selezionato: setta il giorno selezionato al valore specificato
|
||||
void set_selected_day(int nday);
|
||||
// @cmember Gestione del giorno correntemente selezionato: avanza il giorno selezionato del valore relativo specificato
|
||||
void move_selected_day(int ddays);
|
||||
// @cmember Gestione del giorno correntemente selezionato: setta il mese selezionato al valore specificato
|
||||
void set_selected_month(int nmonth);
|
||||
// @cmember Gestione del giorno correntemente selezionato: avanza il mese selezionato del valore relativo specificato
|
||||
void move_selected_month(int dmonths);
|
||||
// @cmember Gestione del giorno correntemente selezionato: restituisce l'anno selezionato
|
||||
int selected_year() { return _selecteddate.year(); }
|
||||
// @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.set_day(sdate.day()); _selecteddate.set_month(sdate.month()); _selecteddate.set_year(sdate.year()); }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
void set_show_month_name(bool on) { _showmonthname = on; }
|
||||
// @cmember Gestione dei parametri di visulizzazione: setta il flag di visulizzazione dei mesi
|
||||
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; }
|
||||
|
||||
// @cmember Gestione dei parametri di visulizzazione: ritorna il flag di visulizzazione dei mesi
|
||||
bool show_month_name() const { return _showmonthname; }
|
||||
// @cmember Gestione dei parametri di visulizzazione: ritorna lo spazio fra le celle del calendario
|
||||
int padding() const { return _padding; }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
TAlmanac& almanac() { return _almanac; }
|
||||
bool has_documents(TDate& cdate);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
TAlmanac_field(TMask* m) : TWindowed_field(m), _almanac(), _showmonthname(true) { }
|
||||
// @cmember Costruttore
|
||||
TAlmanac_field(TMask* m) : TWindowed_field(m),_showmonthname(true), _selecteddate(TODAY) { }
|
||||
// @cmember Distruttore
|
||||
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
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @class TAlmanac_mask | Maschera generica per la gestione di un calendario
|
||||
//
|
||||
// @base public | TAutomask
|
||||
class TAlmanac_mask : public TAutomask
|
||||
{
|
||||
// @author:(INTERNAL) Brugno
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember:(INTERNAL) Puntatori ai campi calendario
|
||||
TAlmanac_field* _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:
|
||||
// override da TAutomask
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
|
||||
void activate_almanac(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:
|
||||
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
|
||||
bool has_documents(TDate& cdate); // tbc: gestire il puntatore a funzione
|
||||
// @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva
|
||||
void change_year(int newyear);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
TAlmanac_mask();
|
||||
// @cmember Distruttore
|
||||
~TAlmanac_mask();
|
||||
};
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "ci0300.h"
|
||||
#include "ci0300.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
|
||||
@ -47,51 +47,52 @@ END
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 1" -1 -1 80 20
|
||||
PAGE "Pagina 00" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 2" -1 -1 80 20
|
||||
PAGE "Pagina 01" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 3" -1 -1 80 20
|
||||
PAGE "Pagina 02" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 4" -1 -1 80 20
|
||||
PAGE "Pagina 03" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 5" -1 -1 80 20
|
||||
PAGE "Pagina 04" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 6" -1 -1 80 20
|
||||
PAGE "Pagina 05" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 7" -1 -1 80 20
|
||||
PAGE "Pagina 06" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 8" -1 -1 80 20
|
||||
PAGE "Pagina 07" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 9" -1 -1 80 20
|
||||
PAGE "Pagina 08" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 10" -1 -1 80 20
|
||||
PAGE "Pagina 09" -1 -1 80 20
|
||||
|
||||
ENDPAGE
|
||||
|
104
projects/ci0.dsp
104
projects/ci0.dsp
@ -133,10 +133,114 @@ SOURCE=..\ci\ci0300.uml
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\blank.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\bullseye.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\cdrom.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ci0.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\colours.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\computer.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\csquery.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\disable.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\drive.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\exed\RES\exe.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\file1.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\floppy.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\folder1.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\folder2.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\hand.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\magnif1.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\noentry.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pbrush.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pencil.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pntleft.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pntright.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\query.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\removble.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\rightarr.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\roller.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\size.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\watch1.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\LIB\AgaLibD.lib
|
||||
# End Source File
|
||||
# End Target
|
||||
|
132
projects/ci0.rc
132
projects/ci0.rc
@ -1,4 +1,132 @@
|
||||
"9012" ICON DISCARDABLE "../exed/res/exe.ico"
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
rcinclude ../../wx240/include/wx/msw/wx.rc
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "windows.h"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Italian (Italy) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
"9012" ICON DISCARDABLE "../exed/res/exe.ico"
|
||||
WXICON_SMALL_CLOSED_FOLDER ICON DISCARDABLE "wx/msw/folder1.ico"
|
||||
WXICON_SMALL_OPEN_FOLDER ICON DISCARDABLE "wx/msw/folder2.ico"
|
||||
WXICON_SMALL_FILE ICON DISCARDABLE "wx/msw/file1.ico"
|
||||
WXICON_SMALL_COMPUTER ICON DISCARDABLE "wx/msw/computer.ico"
|
||||
WXICON_SMALL_DRIVE ICON DISCARDABLE "wx/msw/drive.ico"
|
||||
WXICON_SMALL_CDROM ICON DISCARDABLE "wx/msw/cdrom.ico"
|
||||
WXICON_SMALL_FLOPPY ICON DISCARDABLE "wx/msw/floppy.ico"
|
||||
WXICON_SMALL_REMOVEABLE ICON DISCARDABLE "wx/msw/removble.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
WXWINDOWMENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Window"
|
||||
BEGIN
|
||||
MENUITEM "&Cascade", 4002
|
||||
MENUITEM "Tile &Horizontally", 4001
|
||||
MENUITEM "Tile &Vertically", 4005
|
||||
MENUITEM "", 65535
|
||||
MENUITEM "&Arrange Icons", 4003
|
||||
MENUITEM "&Next", 4004
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
WXCURSOR_HAND CURSOR DISCARDABLE "wx/msw/hand.cur"
|
||||
WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur"
|
||||
WXCURSOR_PENCIL CURSOR DISCARDABLE "wx/msw/pencil.cur"
|
||||
WXCURSOR_MAGNIFIER CURSOR DISCARDABLE "wx/msw/magnif1.cur"
|
||||
WXCURSOR_NO_ENTRY CURSOR DISCARDABLE "wx/msw/noentry.cur"
|
||||
WXCURSOR_SIZING CURSOR DISCARDABLE "wx/msw/size.cur"
|
||||
WXCURSOR_ROLLER CURSOR DISCARDABLE "wx/msw/roller.cur"
|
||||
WXCURSOR_WATCH CURSOR DISCARDABLE "wx/msw/watch1.cur"
|
||||
WXCURSOR_PBRUSH CURSOR DISCARDABLE "wx/msw/pbrush.cur"
|
||||
WXCURSOR_PLEFT CURSOR DISCARDABLE "wx/msw/pntleft.cur"
|
||||
WXCURSOR_PRIGHT CURSOR DISCARDABLE "wx/msw/pntright.cur"
|
||||
WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur"
|
||||
WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur"
|
||||
WXCURSOR_RIGHT_ARROW CURSOR DISCARDABLE "wx/msw/rightarr.cur"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
WXDISABLE_BUTTON_BITMAP BITMAP MOVEABLE PURE "wx/msw/disable.bmp"
|
||||
CSQUERY BITMAP MOVEABLE PURE "wx/msw/csquery.bmp"
|
||||
WXBITMAP_STD_COLOURS BITMAP MOVEABLE PURE "wx/msw/colours.bmp"
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // Italian (Italy) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user