Files correlati : Ricompilazione Demo : [ ] Commento :aggiunti sorgenti di programmi personalizzati sul main_trunk git-svn-id: svn://10.65.10.50/trunk@15931 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			97 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <applicat.h>
 | |
| #include <automask.h>
 | |
| #include <relation.h>
 | |
| 
 | |
| #include <multirel.h>
 | |
| #include "../mg/anamag.h"
 | |
| 
 | |
| #include "ps0430200a.h"
 | |
| 
 | |
| ///////////////////////////////////////////////////////////
 | |
| // TUser_mask maschera
 | |
| ///////////////////////////////////////////////////////////
 | |
| 
 | |
| class TUser_mask : public TAutomask
 | |
| {
 | |
| protected:
 | |
|   virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | |
| 
 | |
| public:
 | |
| 	bool get_user_ini(TFilename& name) const;
 | |
|   TUser_mask() : TAutomask("ps0430200a") {}
 | |
| };
 | |
| 
 | |
| bool TUser_mask::get_user_ini(TFilename& name) const
 | |
| {
 | |
| 	name = prefix().get_studio();
 | |
| 	name.add("config");
 | |
| 	name.add(get(F_USER));
 | |
| 	name.ext("ini");
 | |
| 	return name.exist();
 | |
| }
 | |
| 
 | |
| 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 char* const defpar = "or";
 | |
| 			TFilename inipath; get_user_ini(inipath);
 | |
| 			TConfig userconf(inipath, 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));
 | |
| 				  f.check();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		break;
 | |
| 	default:
 | |
| 		break;
 | |
| 	}
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| class TUser_set_app : public TSkeleton_application
 | |
| {
 | |
| protected:
 | |
|   virtual const char * extra_modules() const {return "ba";}
 | |
|   virtual void main_loop();
 | |
| };
 | |
| 
 | |
| void  TUser_set_app::main_loop()
 | |
| {
 | |
| 	TUser_mask mask;
 | |
| 
 | |
| 	while (mask.run() == K_ENTER)
 | |
| 	{
 | |
| 		const char* const defpar = "or";
 | |
| 		TFilename inipath; mask.get_user_ini(inipath);
 | |
| 		TConfig userconf(inipath, defpar);
 | |
| 
 | |
| 		for (int i = mask.fields()-1; i >= 0; i--)
 | |
| 		{
 | |
| 			const TMask_field& f = mask.fld(i);
 | |
| 			const TFieldref* fr = f.field();
 | |
| 			if (fr != NULL)
 | |
| 				fr->write(userconf, defpar, f.get());
 | |
| 		}
 | |
| 		mask.reset();
 | |
| 	}
 | |
| }
 | |
| 
 | |
| int ps0430200(int argc, char* argv[])
 | |
| {
 | |
|   TUser_set_app a;
 | |
|   a.run(argc, argv, TR("Configurazione campi per utente"));
 | |
|   return 0;
 | |
| }
 |