campo-sirio/cg/cg6300.cpp

108 lines
1.9 KiB
C++
Raw Normal View History

#include <applicat.h>
#include <tabapp.h>
#include <strings.h>
#include <stdtypes.h>
#include <tabutil.h>
#include <utility.h>
#include <prefix.h>
#include "..\ba\batbtra.h"
class Tabtra_application : public Tab_application
{
private:
TMask* _msk;
TString _tabname;
public:
virtual bool check_autorization() const
{return FALSE;}
bool user_create();
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
Tabtra_application() {}
virtual ~Tabtra_application() {}
};
HIDDEN inline Tabtra_application& app() {return (Tabtra_application&) main_app();}
HIDDEN bool ultimo_handler(TMask& m, KEY k)
{
if (k == K_SHIFT+K_F12)
{
m.enable(F_NUMULTRAS);
m.enable(F_DATAULTRAS);
}
return TRUE;
}
HIDDEN bool ditta_handler(TMask_field& f, KEY k)
{
if (k == K_TAB)
{
long codditta = f.mask().get_long(F_CODDITTARIC);
if (codditta != 0)
{
if (prefix().exist(codditta))
return TRUE;
else
{
f.error_box(TR("La ditta selezionata non e' abilitata per la contabilita' "));
return FALSE;
}
}
}
return TRUE;
}
void Tabtra_application::init_query_mode(TMask& m)
{
m.disable(F_NUMULTRAS);
m.disable(F_DATAULTRAS);
}
void Tabtra_application::init_modify_mode(TMask& m)
{
m.disable(F_NUMULTRAS);
m.disable(F_DATAULTRAS);
}
void Tabtra_application::init_insert_mode(TMask& m)
{
m.disable(F_NUMULTRAS);
m.disable(F_DATAULTRAS);
}
bool Tabtra_application::user_create()
{
Tab_application::user_create();
open_files(LF_TABCOM, LF_TAB, 0);
_msk = get_mask();
_tabname = get_tabname();
if (_tabname == "%TRA")
{
_msk->set_handler(ultimo_handler);
_msk->set_handler(F_CODDITTARIC, ditta_handler);
}
return TRUE;
}
cg6300(int argc, char* argv[])
{
Tabtra_application* a= new Tabtra_application;
a->run(argc,argv, TR("Tabelle"));
delete a;
return 0;
}