diff --git a/include/maskfld.cpp b/include/maskfld.cpp index de3cafadb..366735874 100755 --- a/include/maskfld.cpp +++ b/include/maskfld.cpp @@ -2325,6 +2325,67 @@ const char* TBrowse::get_input_field_names() const return _inp_fn; } +void TBrowse::add_input_field(const char * id, const char * name, const int pos, bool select) +{ + TString strid(id) ; + + if (select) + strid << '@'; + if (pos < 0) + { + _inp_id.add(strid); + _inp_fn.add(name); + } + else + { + _inp_id.insert_at(strid, pos); + _inp_fn.insert_at(name, pos); + } +} + +void TBrowse::remove_input_field(const int pos) +{ + if (pos < 0) + { + _inp_id.cut(0); + _inp_fn.cut(0); + } + else + { + _inp_id.destroy(pos); + _inp_fn.destroy(pos); + } +} + +void TBrowse::add_output_field(const char * id, const char * name, const int pos) +{ + if (pos < 0) + { + _out_id.add(id); + _out_fn.add(name); + } + else + { + _out_id.insert_at(id, pos); + _out_fn.insert_at(name, pos); + } +} + +void TBrowse::remove_output_field(const int pos) +{ + if (pos < 0) + { + _out_id.cut(0); + _out_fn.cut(0); + } + else + { + _out_id.destroy(pos); + _out_fn.destroy(pos); + } +} + + const char* TBrowse::get_output_fields() const { return _out_id; diff --git a/include/maskfld.h b/include/maskfld.h index f1b08b3d5..d5b36aced 100755 --- a/include/maskfld.h +++ b/include/maskfld.h @@ -946,12 +946,36 @@ public: // @cmember Ritorna la lista completa dei nomi dei campi di input const char* get_input_field_names() const; + // @cmember Aggiorna la lista completa degli identificatori dei campi di input + void set_input_fields(const char * inp_id) { _inp_id = inp_id;} + + // @cmember Aggiorna la lista completa dei nomi dei campi di input + void set_input_field_names(const char * inp_names) { _inp_fn = inp_names;} + + // @cmember Aggiunge un campo di input alla posizione + void add_input_field(const char * id, const char * name, const int pos = - 1, bool select = false); + + // @cmember Elimina un campo di input alla posizione + void remove_input_field(const int pos = -1); + // @cmember Ritorna la lista completa dei campi di output const char* get_output_fields() const; // @cmember Ritorna la lista completa dei nomi dei campi di output const char* get_output_field_names() const; + // @cmember Aggiorna la lista completa degli identificatori dei campi di output + void set_output_fields(const char * out_id) { _out_id = out_id;} + + // @cmember Aggiorna la lista completa dei nomi dei campi di input + void set_output_field_names(const char * out_names) { _out_fn = out_names;} + + // @cmember Aggiunge un campo di output alla posizione + void add_output_field(const char * id, const char * name, const int pos = -1); + + // @cmember Elimina un campo di output alla posizione + void remove_output_field(const int pos = -1); + // @cmember Ritorna il numero di campi non vuoti e non filtrati int do_input(bool filter = false);