#include #include #include #include "cg5100a.h" class CG51_App : public TConfig_application { public: virtual bool preprocess_config (TMask& mask, TConfig& config); virtual bool postprocess_config (TMask& mask, TConfig& config); virtual bool postprocess_config_changed(const char* par, const char* var, const char* oldv, const char* newv); CG51_App() : TConfig_application(CONFIG_DITTA) {} virtual ~CG51_App() {} }; bool CG51_App::preprocess_config (TMask& mask, TConfig& config) { // these are disabled in normal applications mask.enable(CHK_ANCFCM); mask.enable(CHK_PCTCCM); disable_menu_item(M_FILE_NEW); disable_menu_item(M_FILE_REVERT); return TRUE; } bool CG51_App::postprocess_config(TMask& mask, TConfig& config) { enable_menu_item(M_FILE_NEW); enable_menu_item(M_FILE_REVERT); return TRUE; } bool CG51_App::postprocess_config_changed(const char* par, const char* var, const char* oldv, const char* newv) { TString v(var); TDir dir; TString file(16); if (v == "AnCfCm") { dir.get(LF_CLIFO, _lock, _nordir, _sysdirop); file = dir.name(); file[0] = *newv == 'X' ? '%' : '$'; dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); dir.put(LF_CLIFO, _nordir, _sysdirop); } else if (v == "PcTcCm") { dir.get(LF_PCON, _lock, _nordir, _sysdirop); file = dir.name(); file[0] = *newv == 'X' ? '%' : '$'; dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); dir.put(LF_PCON, _nordir, _sysdirop); dir.get(LF_CAUSALI, _lock, _nordir, _sysdirop); file = dir.name(); file[0] = *newv == 'X' ? '%' : '$'; dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); dir.put(LF_CAUSALI, _nordir, _sysdirop); dir.get(LF_RCAUSALI, _lock, _nordir, _sysdirop); file = dir.name(); file[0] = *newv == 'X' ? '%' : '$'; dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); dir.put(LF_RCAUSALI, _nordir, _sysdirop); } return TRUE; } int cg5100 (int argc, char* argv[]) { CG51_App appc; appc.run(argc, argv, "Configurazione Ditta"); return 0; }