campo-sirio/cg/cg6300.cpp
luca 16ea6325ab Patch level :10.0 250
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
modificati path di include;


git-svn-id: svn://10.65.10.50/trunk@18395 c028cbd2-c16b-5b4b-a496-9718f37d4682
2009-03-02 14:14:35 +00:00

108 lines
2.1 KiB
C++
Executable File

#include <tabapp.h>
#include <prefix.h>
#include "cgtbtra.h"
class Tabtra_application : public Tab_application
{
private:
TMask* _msk;
TString _tabname;
public:
virtual bool check_autorization() const { return false; }
virtual bool user_create();
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
};
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 dittaric_handler(TMask_field& f, KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
bool show_cfc = false;
bool show_pcc = false;
const long codditta = m.get_long(F_CODDITTARIC);
if (codditta > 0)
{
if (!prefix().exist(codditta))
{
f.error_box(TR("La ditta selezionata non e' abilitata per la contabilita'"));
return false;
}
TFilename path = firm2dir(codditta);
path.add("ditta.ini");
TConfig conf(path, "cg");
show_cfc = conf.get_bool("AnCfCm");
show_pcc = conf.get_bool("PcTcCm");
}
// Accendi i campi per le forzature sui file in comune se necessario
m.show(F_AGGPCONCOM, show_pcc);
m.show(F_AGGCLIFOCOM, show_cfc);
}
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, dittaric_handler);
}
return TRUE;
}
int cg6300(int argc, char* argv[])
{
Tabtra_application* a = new Tabtra_application;
a->run(argc,argv, TR("Tabelle"));
delete a;
return 0;
}