10cb8b20f6
Aggiornato l'uso della funzione filter e setregion git-svn-id: svn://10.65.10.50/trunk@72 c028cbd2-c16b-5b4b-a496-9718f37d4682
93 lines
2.0 KiB
C++
Executable File
93 lines
2.0 KiB
C++
Executable File
#include <relapp.h>
|
|
#include <lffiles.h>
|
|
#include <utility.h>
|
|
#include "cg0.h"
|
|
#include "cg0300.h"
|
|
|
|
class CG0300_application : public TRelation_application
|
|
{
|
|
TMask* _msk;
|
|
TRelation *_rel;
|
|
TLocalisamfile* _ditte;
|
|
TLocalisamfile* _attiv;
|
|
TLocalisamfile* _clifo;
|
|
|
|
bool user_create();
|
|
bool user_destroy();
|
|
virtual TMask* get_mask(int mode) {return _msk;}
|
|
virtual bool changing_mask(int mode) {return FALSE;}
|
|
virtual TRelation* get_relation() const {return _rel;}
|
|
virtual void init_query_mode(TMask& m);
|
|
virtual void init_query_insert_mode(TMask& m);
|
|
|
|
public:
|
|
CG0300_application() {}
|
|
};
|
|
|
|
void CG0300_application::init_query_mode(TMask& m)
|
|
|
|
{
|
|
disable_menu_item(M_FILE_NEW);
|
|
m.send_key(K_SHIFT + K_CTRL + 's', -1);
|
|
m.send_key(K_SHIFT + K_CTRL + 'h', -2);
|
|
}
|
|
|
|
void CG0300_application::init_query_insert_mode(TMask& m)
|
|
|
|
{
|
|
disable_menu_item(M_FILE_NEW);
|
|
m.send_key(K_SHIFT + K_CTRL + 'h', -1);
|
|
m.send_key(K_SHIFT + K_CTRL + 's', -2);
|
|
}
|
|
|
|
|
|
HIDDEN bool key_handler (TMask_field& f, KEY k)
|
|
|
|
{
|
|
if (k == K_TAB)
|
|
{
|
|
TMask& m = f.mask();
|
|
|
|
if (m.get(F_ANNO).not_empty() && m.get(F_CODATT).not_empty() &&
|
|
m.get(F_CODCF).not_empty())
|
|
m.stop_run(K_AUTO_ENTER);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool CG0300_application::user_create()
|
|
{
|
|
_msk = new TMask("cg0300a") ;
|
|
_msk->set_handler (F_IMMESSO, key_handler);
|
|
_rel = new TRelation(LF_ALLEG);
|
|
_ditte = new TLocalisamfile(LF_NDITTE);
|
|
_attiv = new TLocalisamfile(LF_ATTIV);
|
|
_clifo = new TLocalisamfile(LF_CLIFO);
|
|
const long ditta = get_firm();
|
|
_msk->set(F_CODDITTA, format("%ld", ditta));
|
|
_ditte->zero();
|
|
_ditte->put(N_CODDITTA, ditta);
|
|
_ditte->read();
|
|
if (_ditte->good())
|
|
_msk->set(F_CODATT,_ditte->get(N_CODATTPREV));
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
bool CG0300_application::user_destroy()
|
|
{
|
|
delete _msk;
|
|
delete _rel;
|
|
delete _ditte;
|
|
delete _attiv;
|
|
delete _clifo;
|
|
return TRUE;
|
|
}
|
|
|
|
int cg0300(int argc, char* argv[])
|
|
{
|
|
CG0300_application a;
|
|
a.run(argc, argv, "Immissione progressivi allegati");
|
|
return 0;
|
|
}
|