172 lines
3.8 KiB
C++
172 lines
3.8 KiB
C++
|
// gestione files Contabilita' Analitica: CENTRI DI COSTO
|
||
|
#include <automask.h>
|
||
|
#include <execp.h>
|
||
|
#include <relapp.h>
|
||
|
#include <pconti.h>
|
||
|
#include <recarray.h>
|
||
|
|
||
|
#include "lv4600a.h"
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////
|
||
|
//MASCHERA
|
||
|
////////////////////////////////////////////////////////////////////////
|
||
|
class TCG_ricl_msk : public TAutomask
|
||
|
{
|
||
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||
|
|
||
|
public:
|
||
|
TCG_ricl_msk() : TAutomask("lv4600a") {}
|
||
|
};
|
||
|
|
||
|
bool TCG_ricl_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||
|
{
|
||
|
switch (o.dlg())
|
||
|
{
|
||
|
case F_CONTO:
|
||
|
break;
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
class TCGRiclass_application : public TRelation_application
|
||
|
|
||
|
// @author:(INTERNAL) Vari
|
||
|
// @access:(INTERNAL) Private Member
|
||
|
{
|
||
|
// @cmember:(INTERNAL) Maschera corrente dell'applicazione
|
||
|
TMask* _msk;
|
||
|
// @cmember:(INTERNAL) Relazione corrente dell'applicazione
|
||
|
TRelation* _rel;
|
||
|
|
||
|
// @access Protected Member
|
||
|
protected:
|
||
|
virtual TMask* get_mask(int mode = MODE_QUERY) { CHECK(_msk, "Null mask"); return _msk; }
|
||
|
// @cmember Indica se la futura <mf Tab_application::get_mask> ritornera' una maschera diversa
|
||
|
// dalla corrente.
|
||
|
virtual bool changing_mask(int mode) { return false; }
|
||
|
// @cmember Ritorna la relazione da modificare
|
||
|
virtual TRelation* get_relation() const { CHECK(_rel, "Null relation"); return _rel; }
|
||
|
// @cmember Inizializza la maschera per il modo ricerca
|
||
|
virtual void init_query_mode(TMask& m);
|
||
|
// @cmember Inizializza la maschera per il modo ricerca ed inserimento (chiama <mf TRelation_application::init_query_mode>)
|
||
|
virtual void init_query_insert_mode(TMask& m) ;
|
||
|
// @cmember Inizializza la maschera per il modo inserimento
|
||
|
virtual void init_insert_mode(TMask& m);
|
||
|
// @cmember Inizializza la maschera per il modo modifica
|
||
|
virtual void init_modify_mode(TMask& m);
|
||
|
// @cmember Inizializzazione dei dati dell'utente
|
||
|
virtual bool user_create() ;
|
||
|
// @cmember Distruzione dei dati dell'utente
|
||
|
virtual bool user_destroy() ;
|
||
|
// @cmember Chiama il programma di stampa
|
||
|
virtual void print();
|
||
|
|
||
|
// @access Public Member
|
||
|
public:
|
||
|
// @cmember Costruttore
|
||
|
TCGRiclass_application() : _msk(NULL), _rel(NULL) { }
|
||
|
|
||
|
|
||
|
// @cmember Distruttore
|
||
|
virtual ~TCGRiclass_application() {}
|
||
|
};
|
||
|
|
||
|
|
||
|
void TCGRiclass_application::print()
|
||
|
{
|
||
|
TFilename rep("lvcgricl.rep");
|
||
|
TString cmd;
|
||
|
|
||
|
rep.custom_path();
|
||
|
cmd << "ba8 -4 "<< rep;
|
||
|
TExternal_app stampa(cmd);
|
||
|
stampa.run();
|
||
|
}
|
||
|
|
||
|
void TCGRiclass_application::init_query_mode(TMask& m)
|
||
|
{
|
||
|
TRelation_application::init_query_mode(m);
|
||
|
|
||
|
m.show(-1);
|
||
|
m.enable(-1);
|
||
|
m.hide(-2);
|
||
|
m.disable(-2);
|
||
|
m.disable(-10);
|
||
|
}
|
||
|
|
||
|
void TCGRiclass_application::init_query_insert_mode(TMask& m)
|
||
|
{
|
||
|
TRelation_application::init_query_insert_mode(m);
|
||
|
|
||
|
m.hide(-1);
|
||
|
m.disable(-1);
|
||
|
m.show(-2);
|
||
|
m.enable(-2);
|
||
|
m.enable(-10);
|
||
|
}
|
||
|
|
||
|
void TCGRiclass_application::init_modify_mode(TMask& m)
|
||
|
{
|
||
|
TRelation_application::init_modify_mode(m);
|
||
|
|
||
|
m.show(-1);
|
||
|
m.disable(-1);
|
||
|
m.hide(-2);
|
||
|
m.disable(-10);
|
||
|
}
|
||
|
|
||
|
void TCGRiclass_application::init_insert_mode(TMask& m)
|
||
|
{
|
||
|
TRelation_application::init_insert_mode(m);
|
||
|
|
||
|
m.show(-1);
|
||
|
m.disable(-1);
|
||
|
m.hide(-2);
|
||
|
m.disable(-2);
|
||
|
m.disable(-10);
|
||
|
}
|
||
|
|
||
|
bool TCGRiclass_application::user_create()
|
||
|
{
|
||
|
_rel = new TRelation(LF_RICLPDC);
|
||
|
_msk = new TCG_ricl_msk;
|
||
|
|
||
|
TConfig config(CONFIG_DITTA);
|
||
|
|
||
|
set_search_field(F_SOTTOCONTO);
|
||
|
|
||
|
TFilename rep("lvcgricl.rep");
|
||
|
|
||
|
if (rep.custom_path())
|
||
|
enable_menu_item(M_FILE_PRINT);
|
||
|
|
||
|
TString title;
|
||
|
_msk->get_caption(title);
|
||
|
set_title(title);
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
bool TCGRiclass_application::user_destroy()
|
||
|
{
|
||
|
if (_msk)
|
||
|
delete _msk;
|
||
|
if (_rel)
|
||
|
delete _rel;
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
int lv4600(int argc, char* argv[])
|
||
|
{
|
||
|
TCGRiclass_application a;
|
||
|
|
||
|
a.run(argc, argv, TR("Riclassificazione piano dei conti Cogeco"));
|
||
|
return 0;
|
||
|
}
|
||
|
|