git-svn-id: svn://10.65.10.50/branches/R_10_00@22727 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include <automask.h>
 | 
						|
#include <defmask.h>
 | 
						|
#include <msksheet.h>
 | 
						|
#include <mask.h>
 | 
						|
#include <recarray.h>
 | 
						|
#include <recset.h>
 | 
						|
#include <tabapp.h>
 | 
						|
 | 
						|
#include <multirel.h>
 | 
						|
#include "../mg/anamag.h"
 | 
						|
#include "ps0430200a.h"
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
// TUser_mask maschera
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
class TUser_mask : public TAutomask
 | 
						|
{
 | 
						|
 | 
						|
public:
 | 
						|
  virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
						|
  TUser_mask() : TAutomask("ps0430200a") {}
 | 
						|
	~TUser_mask() {}
 | 
						|
};
 | 
						|
 | 
						|
bool TUser_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
						|
{
 | 
						|
	switch (o.dlg())
 | 
						|
	{
 | 
						|
		case F_USER:
 | 
						|
			if (e == fe_modify)
 | 
						|
			{
 | 
						|
				const TString& new_user = o.get();
 | 
						|
				const TString16 old_user = user();
 | 
						|
				user() = new_user;
 | 
						|
				const char* defpar = "or";
 | 
						|
				TConfig userconf(CONFIG_USER, defpar);
 | 
						|
 | 
						|
				for (int i = o.mask().fields()-1; i >= 0; i--)
 | 
						|
				{
 | 
						|
					TMask_field& f = o.mask().fld(i);
 | 
						|
					const TFieldref* fr = f.field();
 | 
						|
 | 
						|
					if (fr != NULL)
 | 
						|
						f.set(fr->read(userconf, defpar));
 | 
						|
				}
 | 
						|
				user() = old_user;
 | 
						|
			}
 | 
						|
			break;
 | 
						|
		default:
 | 
						|
			break;
 | 
						|
	}
 | 
						|
  return true;
 | 
						|
}
 | 
						|
 | 
						|
class TUser_set_app : public TSkeleton_application
 | 
						|
{
 | 
						|
public:
 | 
						|
  virtual const char * extra_modules() const {return "ba";}
 | 
						|
  virtual void main_loop();
 | 
						|
 | 
						|
  TUser_set_app() {}
 | 
						|
  virtual ~TUser_set_app() {}
 | 
						|
};
 | 
						|
 | 
						|
void  TUser_set_app::main_loop()
 | 
						|
{
 | 
						|
	TUser_mask mask;
 | 
						|
 | 
						|
	while (mask.run() == K_ENTER)
 | 
						|
	{
 | 
						|
		const TString& new_user = mask.get(F_USER);
 | 
						|
		const TString16 old_user = user();
 | 
						|
		user() = new_user;
 | 
						|
	  const char* defpar = "or";
 | 
						|
		TConfig userconf(CONFIG_USER, defpar);
 | 
						|
 | 
						|
		for (int i = mask.fields()-1; i >= 0; i--)
 | 
						|
		{
 | 
						|
			TMask_field& f = mask.fld(i);
 | 
						|
			const TFieldref* fr = f.field();
 | 
						|
			if (fr != NULL)
 | 
						|
				fr->write(userconf, defpar, f.get());
 | 
						|
		}
 | 
						|
		user() = old_user;
 | 
						|
		mask.reset();
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
int ps0430200(int argc, char* argv[])
 | 
						|
{
 | 
						|
  TUser_set_app a;
 | 
						|
  a.run(argc, argv, TR("Configurazione campi per utente"));
 | 
						|
  return 0;
 | 
						|
}
 |