c8741666c9
sc0100.h Aggiunte variabili di supporto ai colori sc0101.cpp Corretto messaggio d'errore sugli importi sc2100a.uml Modificata ricerca sul codice lingua sc2101.cpp Cambiate due chiamate dirette con funzioni membro git-svn-id: svn://10.65.10.50/trunk@4288 c028cbd2-c16b-5b4b-a496-9718f37d4682
103 lines
2.2 KiB
C++
Executable File
103 lines
2.2 KiB
C++
Executable File
#include <prefix.h>
|
|
#include <utility.h>
|
|
|
|
#include "sc2101.h"
|
|
#include "sc2100a.h"
|
|
|
|
#include <comuni.h>
|
|
|
|
bool TEC_mask::codprof_handler(TMask_field& f, KEY k)
|
|
{
|
|
if (f.to_check(k))
|
|
{
|
|
TEdit_field & e = (TEdit_field &) f;
|
|
|
|
e.check_type(CHECK_REQUIRED);
|
|
|
|
const bool ok = e.check();
|
|
|
|
e.check_type(CHECK_NONE);
|
|
|
|
if (k == K_ENTER && !ok)
|
|
{
|
|
if (f.is_editable())
|
|
{
|
|
TEditable_field& ef = (TEditable_field&) f;
|
|
return f.error_box(ef.get_warning());
|
|
}
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
bool TEC_mask::lingua_handler(TMask_field& f, KEY k)
|
|
{
|
|
if (k == K_TAB && f.focusdirty())
|
|
{
|
|
TCursor& cur = *(((TEdit_field&)(f.mask().field(F_CODPROF))).browse()->cursor());
|
|
// whew
|
|
TString16 lin = f.get();
|
|
if (lin != cur.curr().get("CODPROF").mid(4))
|
|
f.mask().field(F_CODPROF).check(RUNNING_CHECK);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
|
|
TEC_mask::TEC_mask(const char* name) : TSelection_mask(name), _ditta(LF_NDITTE)
|
|
{
|
|
_ditta.add(LF_ANAG, "TIPOA==TIPOA|CODANAGR==CODANAGR");
|
|
_ditta.add(LF_COMUNI, "COM==COMRF(COMRES)", 1, LF_ANAG, 101);
|
|
_ditta.add(LF_COMUNI, "COM==COMRES", 1, LF_ANAG, 102);
|
|
|
|
set_handler(F_CODPROF, codprof_handler);
|
|
set_handler(F_LINPROF, lingua_handler);
|
|
}
|
|
|
|
TEC_mask::~TEC_mask()
|
|
{
|
|
}
|
|
|
|
void TEC_mask::on_firm_change()
|
|
{
|
|
TMask::on_firm_change();
|
|
|
|
_ditta[0].put("CODDITTA", prefix().get_codditta());
|
|
if (_ditta.read() == NOERR)
|
|
{
|
|
const int alias = _ditta[LF_ANAG].get_char("TIPOA") == 'F' ? -101 : -102;
|
|
set(F_LUOGOSEND, _ditta.lfile(alias).get("DENCOM"));
|
|
}
|
|
}
|
|
|
|
void TEC_mask::start_run()
|
|
{
|
|
on_firm_change();
|
|
}
|
|
|
|
const char* TEC_mask::get_prof_base() const
|
|
{
|
|
return BASE_EC_PROFILE;
|
|
}
|
|
|
|
const TString& TEC_mask::get_prof_code() const
|
|
{
|
|
return get(F_CODPROF);
|
|
}
|
|
|
|
const TString& TEC_mask::get_prof_lang() const
|
|
{
|
|
return get(F_LINPROF);
|
|
}
|
|
|
|
const char* TEC_mask::get_prof_name() const
|
|
{
|
|
TString& tmp=(TString&)_tmp;
|
|
tmp = get_prof_code();
|
|
tmp << get_prof_lang();
|
|
return _tmp;
|
|
}
|
|
|