diff --git a/ca/calib01.cpp b/ca/calib01.cpp index 6066b6145..96a4f68dc 100755 --- a/ca/calib01.cpp +++ b/ca/calib01.cpp @@ -148,7 +148,7 @@ TMultilevel_code_info::TMultilevel_code_info(int logicnum) : _logicnum(logicnum) } else { - TConfig cfg(CONFIG_DITTA); + TConfig_anal cfg; if (logicnum == LF_FASI) { @@ -392,7 +392,7 @@ void ca_create_browse2(TEdit_field& kfld, int level, int logic, short key_id, sh } int ca_create_fields(TMask& msk, int logicnum, int x, int y, - short key_id, short des_id, unsigned int mode) + short key_id, short des_id, unsigned int mode, const char* fieldname) { const TMultilevel_code_info& mci = ca_multilevel_code_info(logicnum); @@ -428,8 +428,16 @@ int ca_create_fields(TMask& msk, int logicnum, int x, int y, else kfld = &msk.add_string(kid, 0, prompt, tab0, y+i, picture.len(), flags); ca_create_browse1(*kfld, i, logicnum, key_id, des_id); - if (mode & 0x1) + if ((mode & 0x1) != 0 && fieldname == NULL) kfld->set_key(1); + + // Ho specificato un nome di campo speciale + if (fieldname && *fieldname) + { + const TFieldref& fr = *kfld->field(); + TString80 str; str.format("%s[%d,%d]", fieldname, fr.from()+1, fr.to()); + kfld->set_field(str); + } } } @@ -440,8 +448,10 @@ int ca_create_fields(TMask& msk, int logicnum, int x, int y, const short did = des_id+i; TEdit_field& dfld = msk.add_string(did, 0, "", tab1, y+i, 50, "B", 72+tab0-tab1); ca_create_browse2(dfld, i, logicnum, key_id, des_id); - if (mode & 0x2) + if ((mode & 0x2) != 0 && fieldname == NULL) dfld.set_key(2); + else + dfld.set_field(""); } } diff --git a/ca/calib01.h b/ca/calib01.h index 5ce2ce789..aa755abd4 100755 --- a/ca/calib01.h +++ b/ca/calib01.h @@ -42,7 +42,8 @@ public: const TMultilevel_code_info& ca_multilevel_code_info(int logicnum); bool ca_test_multilevel_field(TEdit_field& fld, int level); -int ca_create_fields(TMask& msk, int logicnum, int x, int y, short key_id, short des_id, unsigned int mode = 0x0); +int ca_create_fields(TMask& msk, int logicnum, int x, int y, short key_id, short des_id, + unsigned int mode = 0x0, const char* fieldname = NULL); /////////////////////////////////////////////////////////// // TSimple_anal_msk