campo-sirio/pr/pr0100.cpp
alex 42b8a890e8 Patch level : 2.1 048
Files correlati     :   pr0.exe pr1.exe pr1500a.msk
Ricompilazione Demo : [ ]
Commento            :
bug 0000137

 Implementare la gestione multilingua


git-svn-id: svn://10.65.10.50/trunk@12099 c028cbd2-c16b-5b4b-a496-9718f37d4682
2004-05-19 13:47:43 +00:00

79 lines
1.6 KiB
C++
Executable File

// Programma generico di gestione tabelle modulo provvigioni agenti
#include <tabapp.h>
#include "prtbapr.h"
class TTablePR_app : public TTable_application
{
protected:
virtual bool user_create() ;
virtual TString& get_mask_name(TString& t) const;
static bool gmc_handler(TMask_field& f, KEY k);
};
static inline TTablePR_app& app() { return (TTablePR_app&)main_app(); }
bool TTablePR_app::gmc_handler(TMask_field& f, KEY k)
{
if (f.to_check(k))
{
TString v1 = f.get(),v2;
TMask& m = f.mask();
if (v1 == "E" || v1 == "R")
{
for (short id = F_SEQRIC1; id <= F_SEQRIC4; id++)
{
if (f.dlg() == id)
continue;
v2 = m.get(id);
if (v1 == "E" && v2 == "R" || v1 == "R" && v2 == "E")
return f.error_box(TR("Non e' possibile usare contemporaneamente la tabella gruppo merceologico e la tabella sottogruppo merceologico"));
}
}
}
return TRUE;
}
TString& TTablePR_app::get_mask_name(TString& t) const
{
if (t[0] == '%' )
{
t.ltrim(1);
}
t = "prtb"; t << get_tabname();
TFilename n = t;
n.ext ("msk");
if (n.exist())
{
return t;
}
return Tab_application::get_mask_name(t);
}
bool TTablePR_app::user_create()
{
Tab_application::user_create();
const TString& name = get_tabname();
TMask& mask = *get_mask();
if (name == "APR")
{
mask.set_handler(F_SEQRIC1,gmc_handler);
mask.set_handler(F_SEQRIC2,gmc_handler);
mask.set_handler(F_SEQRIC3,gmc_handler);
mask.set_handler(F_SEQRIC4,gmc_handler);
}
return TRUE;
}
int pr0100(int argc, char** argv)
{
TTablePR_app a;
a.run(argc, argv, TR("Tabella"));
return 0;
}