#include #include #include #include #include #include "li0.h" #include "li0300a.h" #define CONFIG_DICINT "DICINT.ini" class TDI_mask : public TAutomask { private: TSheet_field& sheet; // Sheet public: bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return true; }; TDI_mask() : TAutomask("li0300a"), sheet(sfield(DOC_STATO)) { load_config(); }; void load_config(); void save_config(); }; void TDI_mask::load_config() { set(FLD_TABIVA_CODTAB, ini_get_string(CONFIG_DITTA, "li", "CODIVA")); TToken_string tipidoc(ini_get_string(CONFIG_DITTA, "li", "TIPIDOC")); TString_array& strarr = sheet.rows_array(); sheet.hide(); sheet.destroy(); for(int i = 0; i < tipidoc.items(); i++) { TString td = tipidoc.get(i); TToken_string stati(ini_get_string(CONFIG_DITTA, "li", td)); for(int j = 0; j < stati.items(); j++) { TToken_string row, s(stati.get(j), ','); row.add(td); row.add(s.get(0)); row.add(s.get(1)); strarr.add(row); } } sheet.force_update(); sheet.show(); } void TDI_mask::save_config() { TToken_string tipidoc; for(int i = 0; i < sheet.items(); i++) { TToken_string row = sheet.row(i), val("",','); // Prelevo il tipo di documento e lo aggiungo alla riga tipidoc tipidoc.add(row.get(0)); // Prelevo i valori e aggiungo a una riga val.add(row.get(1)); val.add(row.get(2)); ini_set_string(CONFIG_DITTA, "li", row.get(0), val); } ini_set_string(CONFIG_DITTA, "li", "CODIVA", get(FLD_TABIVA_CODTAB)); ini_set_string(CONFIG_DITTA, "li", "TIPIDOC", tipidoc); message_box(TR("Impostazioni salvate correttamente")); } class TDISettings_app : public TSkeleton_application { public: virtual void main_loop(); }; void TDISettings_app::main_loop() { TDI_mask m; while (m.run() == K_SAVE) { m.save_config(); } } int li0300(int argc, char* argv[]) { TDISettings_app a; a.run(argc, argv, TR("Lettere d'intento")); return 0; }