campo-sirio/sc/sc2101.cpp
alex e4b3803569 Corretti errori da MI
git-svn-id: svn://10.65.10.50/trunk@2720 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-04-12 08:23:03 +00:00

97 lines
2.1 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)
return f.error_box(f.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(F_CODPROF);
tmp << get(F_LINPROF);
return _tmp;
}