#ifndef __CONFAPP_H #define __CONFAPP_H #ifndef __APPLICAT_H #include #endif #ifndef __CONFIG_H #include #endif #ifndef __MASK_H #include #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' // // app [-f filename] [-d] [paragraph, ...] // // dopo

si dara' il nome file che si vuole editare, default e' CONFIG_FILE // definito in config.h. // Se si da'

viene considerato quello relativo alla // ditta corrente, che viene creato copiando il principale se non c'e'. // 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 // Ogni modifica puo' essere controllata e porcessata con la // che agisce come la . // La voce Scelta parametri di 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) Config corrente TConfig *_cnf ; // @cmember:(INTERNAL) Paragrafo corrente TString16 _parag; // @cmember:(INTERNAL) Maschera di modifica TMask *_m; // @cmember:(INTERNAL) Crea la finestra principale (vedi ) virtual bool create(); // @cmember:(INTERNAL) Rimuove l'applicazione (vedi ) virtual bool destroy(); // @cmember:(INTERNAL) Controlla il menu' (vedi ) virtual bool menu(MENU_TAG); // @cmember:(INTERNAL) Carica il config void load_config(); // @cmember:(INTERNAL) Permette di modificare la configurazione del paragrafo

void do_config(int m); // @access Protected Member protected: // @cmember:(INTERNAL) Carica i parametri su maschera virtual void load_mask(); // @cmember:(INTERNAL) Salva i parametri dalla maschera virtual void save_mask(bool tosave) ; virtual bool user_create() ; virtual bool user_destroy() ; // @cmember Viene chiamata prima della e ferma tutto se ritorna FALSE virtual bool preprocess_config (TMask& mask, TConfig& config); // @cmember Viene chiamata dopo la e blocca tutto se ritorna FALSE virtual bool postprocess_config (TMask& mask, TConfig& config); // @cmember Simile alla , ma viene usata // dalla maschera principale. virtual bool postprocess_config_changed (const char* par, const char* var, const char* oldv, const char* newv); virtual void on_firm_change(); // funzione di settaggio maschere (per uso di maschere derivate) virtual const char* get_mask_name() const; virtual TMask* create_mask(const TFilename& f); // anche queste funzioni vanno derivata quando viene derivata la precedente; faranno uso di un puntatore a maschera diverso virtual TMask* get_mask() { return _m; } virtual void destroy_mask() { delete _m; } // metodo che ritorna il config virtual TConfig* get_config() {return _cnf; } // @access Public Member public: // @cmember Setta il tipo di file di configurazione al quale e' associata l'applicazione void set_config(int which); // @cmember Costruttore TConfig_application(int which_config = CONFIG_GENERAL) ; // @cmember Distruttore virtual ~TConfig_application() ; }; #endif