79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include <confapp.h>
 | 
						|
#include <lffiles.h>
 | 
						|
#include <files.h>
 | 
						|
#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;
 | 
						|
}
 |