relativo alla confapp. Corretta la lettura/salvataggio di campi array, identificati da FIELD xxx[nn]. git-svn-id: svn://10.65.10.50/trunk@3598 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#ifndef __CONFAPP_H
 | 
						|
#define __CONFAPP_H
 | 
						|
 | 
						|
#ifndef __APPLICAT_H
 | 
						|
#include <applicat.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __CONFIG_H
 | 
						|
#include <config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __MASK_H
 | 
						|
#include <mask.h>
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
// @doc EXTERNAL
 | 
						|
 | 
						|
// @class TConfig_application | le applicazioni di questo tipo servono a leggere - 
 | 
						|
//        scrivere - modificare files di configurazione.
 | 
						|
//
 | 
						|
// @base public | TApplication
 | 
						|
class TConfig_application : public TApplication
 | 
						|
 | 
						|
// @author:(INTERNAL) Villa
 | 
						|
//
 | 
						|
// @comm La linea di comando e'
 | 
						|
//
 | 
						|
//       <nl><nl><lt>app<gt> [-f <lt>filename<gt>] [-d] [<lt>paragraph<gt>, ...]
 | 
						|
//
 | 
						|
//       <nl><nl>dopo <p -f> si dara' il nome file che si vuole editare, default e' CONFIG_FILE
 | 
						|
//       definito in config.h.
 | 
						|
//       <nl>Se si da' <p -d> viene considerato quello relativo alla
 | 
						|
//       ditta corrente, che viene creato copiando il principale se non c'e'.
 | 
						|
//       <nl>Quindi si da' la lista dei paragrafi che si vuole editare; se non ne vengono
 | 
						|
//       dati sara' il modulo corrente preso dal nome dell'applicazione. Se si
 | 
						|
//       indicano piu' paragrafi questi vengono assegnati nell'ordine alle voci
 | 
						|
//       di menu (da mettere nell'URL) da 1 in poi. La maschera usata e' la 
 | 
						|
//       EditMask specificata nel paragrafo; se non c'e', non accade nulla
 | 
						|
//       <nl>Ogni modifica puo' essere controllata e porcessata con la 
 | 
						|
//       <mf TConfig_application::postprocess_config> che agisce come la <mf TApplication::change_config>.
 | 
						|
//       <nl>La voce Scelta parametri di <c TApplication> rimane come prima.
 | 
						|
 | 
						|
// @access:(INTERNAL) Private Member
 | 
						|
{
 | 
						|
  // @cmember:(INTERNAL) Array di paragrafi da editare
 | 
						|
  TArray _paragraphs;
 | 
						|
  // @cmember:(INTERNAL) Numero del file di configurazione da modificare
 | 
						|
  int _which_config;
 | 
						|
  // @cmember:(INTERNAL) Ultima voce di menu' selezionata
 | 
						|
  MENU_TAG _last_choice;
 | 
						|
 | 
						|
  // @cmember:(INTERNAL) Crea la finestra principale (vedi <c TApplication>)
 | 
						|
  virtual bool create();
 | 
						|
  // @cmember:(INTERNAL) Rimuove l'applicazione (vedi <c TApplication>)
 | 
						|
  virtual bool destroy();
 | 
						|
  // @cmember:(INTERNAL) Controlla il menu' (vedi <c TApplication>)
 | 
						|
  virtual bool menu(MENU_TAG);
 | 
						|
 | 
						|
  // @cmember:(INTERNAL) Permette di modificare la configurazione del paragrafo <p m>
 | 
						|
  void do_config(int m);
 | 
						|
 | 
						|
// @access Protected Member
 | 
						|
protected:
 | 
						|
  // @cmember Ritorna TRUE
 | 
						|
  virtual bool user_create()  
 | 
						|
  { return TRUE; }
 | 
						|
  // @cmember Ritorna TRUE
 | 
						|
  virtual bool user_destroy() 
 | 
						|
  { return TRUE; }
 | 
						|
 | 
						|
  // @cmember Viene chiamata prima della <mf TApplication::run> e ferma tutto se ritorna FALSE
 | 
						|
  virtual bool preprocess_config (TMask& mask, TConfig& config);
 | 
						|
  // @cmember Viene chiamata dopo la <mf TApplication::run> e blocca tutto se ritorna FALSE
 | 
						|
  virtual bool postprocess_config (TMask& mask, TConfig& config);
 | 
						|
  
 | 
						|
  // @cmember Simile alla <mf TApplication::change_config>, ma viene usata 
 | 
						|
  //      dalla maschera principale.
 | 
						|
  virtual bool postprocess_config_changed (const char* par, const char* var, const char* oldv, const char* newv);
 | 
						|
 | 
						|
// @access Public Member  
 | 
						|
public: 
 | 
						|
  // @cmember Setta il tipo di file di configurazione al quale e' associata l'applicazione
 | 
						|
  void set_config(int which) {_which_config = which;}
 | 
						|
  // @cmember Costruttore
 | 
						|
  TConfig_application(int which_config = CONFIG_GENERAL) : _which_config(which_config)
 | 
						|
  {}
 | 
						|
  // @cmember Distruttore
 | 
						|
  virtual ~TConfig_application() 
 | 
						|
  {}
 | 
						|
};
 | 
						|
 | 
						|
#endif
 | 
						|
 |