diff --git a/src/include/mask.cpp b/src/include/mask.cpp index 90a262aa2..8e08984e3 100755 --- a/src/include/mask.cpp +++ b/src/include/mask.cpp @@ -2888,3 +2888,52 @@ TYesnoallnone_box::TYesnoallnone_box(const char * message, int default_key) TYesnoallnone_box::~TYesnoallnone_box() {} +void enable_iban_fields(TMask & mask, short fldbban, short fldbcin, + short fldabi, short fldcab, short fldcc, + short flddes, const bool italy, bool pres, int nrow) +{ + if (mask.is_sheetmask()) + { + TSheet_field * s = mask.get_sheet(); + + if (nrow >= 0) + s->select(nrow); + } + if (fldbban > 0 && !pres) + mask.show(fldbban, !italy); + if (!pres) + { + mask.show(fldbcin, italy); + mask.show(fldabi, italy); + mask.show(fldcab, italy); + mask.show(fldcc, italy); + } + if (flddes > 0) + mask.show(flddes, italy); +} + +void set_iban_fields(const char * iban, TMask & mask, + short fldbban, short fldiso, short fldcin, + short fldbcin, short fldabi, short fldcab, + short fldcc, short flddes, bool pres) +{ + TString4 iso, cin, bcin; + TString8 abi, cab; + TString80 cc; + TString msg; + TString wiban(iban); + + split_IBAN(wiban, iso, cin, bcin, abi, cab, cc); + + const bool italy = iso.blank() || (iso == "IT"); + + enable_iban_fields(mask, fldbban, fldbcin, fldabi, fldcab, fldcc, flddes, italy, pres); + mask.set(fldiso, iso); + mask.set(fldcin, cin); + if (fldbban > 0) + mask.set(fldbban, italy ? wiban.mid(4) : cc); + mask.set(fldbcin, bcin); + mask.set(fldabi, abi); + mask.set(fldcab, cab); + mask.set(fldcc, italy ? cc : EMPTY_STRING); +} diff --git a/src/include/mask.h b/src/include/mask.h index da14e3561..3e4db8ea0 100755 --- a/src/include/mask.h +++ b/src/include/mask.h @@ -560,5 +560,12 @@ public: TSheet_field* __s = NULL; \ for (int __i = 0; __i < (__m).fields() && (__s=(TSheet_field*)&(__m).fld(__i))!= NULL; __i++) if ((__m).fld(__i).is_sheet()) +void enable_iban_fields(TMask & mask, short fldbban, short fldbcin, + short fldabi, short fldcab, short fldcc, + short flddes, const bool italy, bool pres, int nrow = -1); +void set_iban_fields(const char * iban, TMask & mask, + short fldbban, short fldiso, short fldcin, + short fldbcin, short fldabi, short fldcab, + short fldcc, short flddes, bool pres); #endif // __MASK_H diff --git a/src/include/utility.cpp b/src/include/utility.cpp index 5f714471b..8674b0f7e 100755 --- a/src/include/utility.cpp +++ b/src/include/utility.cpp @@ -897,52 +897,3 @@ void split_IBAN(const char * iban, TString & iso, TString & cin, } } -void enable_iban_fields(TMask & mask, short fldbban, short fldbcin, - short fldabi, short fldcab, short fldcc, - short flddes, const bool italy, bool pres, int nrow) -{ - if (mask.is_sheetmask()) - { - TSheet_field * s = mask.get_sheet(); - - if (nrow >= 0) - s->select(nrow); - } - if (fldbban > 0 && !pres) - mask.show(fldbban, !italy); - if (!pres) - { - mask.show(fldbcin, italy); - mask.show(fldabi, italy); - mask.show(fldcab, italy); - mask.show(fldcc, italy); - } - if (flddes > 0) - mask.show(flddes, italy); -} - -void set_iban_fields(const char * iban, TMask & mask, - short fldbban, short fldiso, short fldcin, - short fldbcin, short fldabi, short fldcab, - short fldcc, short flddes, bool pres) -{ - TString4 iso, cin, bcin; - TString8 abi, cab; - TString80 cc; - TString msg; - TString wiban(iban); - - split_IBAN(wiban, iso, cin, bcin, abi, cab, cc); - - const bool italy = iso.blank() || (iso == "IT"); - - enable_iban_fields(mask, fldbban, fldbcin, fldabi, fldcab, fldcc, flddes, italy, pres); - mask.set(fldiso, iso); - mask.set(fldcin, cin); - if (fldbban > 0) - mask.set(fldbban, italy ? wiban.mid(4) : cc); - mask.set(fldbcin, bcin); - mask.set(fldabi, abi); - mask.set(fldcab, cab); - mask.set(fldcc, italy ? cc : EMPTY_STRING); -} diff --git a/src/include/utility.h b/src/include/utility.h index 6ade377dc..bdfae74b3 100755 --- a/src/include/utility.h +++ b/src/include/utility.h @@ -10,10 +10,6 @@ #include #endif -#ifndef __MASK_H -class TMask; -#endif - #ifndef __STRINGS_H #include #endif @@ -121,11 +117,5 @@ void build_IBAN(TString & iban, const char * iso, const char * icin, const char * bcin, const char * abi, const char * cab, const char * cc); void split_IBAN(const char * iban, TString & iso, TString & icin, TString & bcin, TString & abi, TString & cab, TString & cc); -void enable_iban_fields(TMask & mask, short fldbban, short fldbcin, - short fldabi, short fldcab, short fldcc, - short flddes, const bool italy, bool pres, int nrow = -1); -void set_iban_fields(const char * iban, TMask & mask, - short fldbban, short fldiso, short fldcin, - short fldbcin, short fldabi, short fldcab, - short fldcc, short flddes, bool pres); + #endif /* __UTILITY_H */