1994-09-19 09:50:07 +00:00
|
|
|
#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
|
|
|
|
|
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @doc EXTERNAL
|
1994-09-19 09:50:07 +00:00
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @class TConfig_application | le applicazioni di questo tipo servono a leggere -
|
1996-09-17 10:47:46 +00:00
|
|
|
// scrivere - modificare files di configurazione.
|
1995-12-29 12:09:48 +00:00
|
|
|
//
|
|
|
|
// @base public | TApplication
|
1994-09-19 09:50:07 +00:00
|
|
|
class TConfig_application : public TApplication
|
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @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.
|
1996-09-17 10:47:46 +00:00
|
|
|
// <nl>Se si da' <p -d> viene considerato quello relativo alla
|
1995-12-29 12:09:48 +00:00
|
|
|
// 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.
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @access:(INTERNAL) Private Member
|
1995-12-29 12:09:48 +00:00
|
|
|
{
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Array di paragrafi da editare
|
1995-12-29 12:09:48 +00:00
|
|
|
TArray _paragraphs;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Numero del file di configurazione da modificare
|
1995-12-29 12:09:48 +00:00
|
|
|
int _which_config;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Ultima voce di menu' selezionata
|
1994-09-19 09:50:07 +00:00
|
|
|
MENU_TAG _last_choice;
|
|
|
|
|
1997-11-03 11:16:13 +00:00
|
|
|
// @cmember:(INTERNAL) Config corrente
|
|
|
|
TConfig *_cnf ;
|
|
|
|
// @cmember:(INTERNAL) Paragrafo corrente
|
|
|
|
TString16 _parag;
|
|
|
|
// @cmember:(INTERNAL) Maschera di modifica
|
|
|
|
TMask *_m;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Crea la finestra principale (vedi <c TApplication>)
|
1994-09-19 09:50:07 +00:00
|
|
|
virtual bool create();
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Rimuove l'applicazione (vedi <c TApplication>)
|
1994-09-19 09:50:07 +00:00
|
|
|
virtual bool destroy();
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Controlla il menu' (vedi <c TApplication>)
|
1994-09-19 09:50:07 +00:00
|
|
|
virtual bool menu(MENU_TAG);
|
|
|
|
|
1997-11-03 11:16:13 +00:00
|
|
|
// @cmember:(INTERNAL) Carica il config
|
|
|
|
void load_config();
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Permette di modificare la configurazione del paragrafo <p m>
|
1995-12-29 12:09:48 +00:00
|
|
|
void do_config(int m);
|
1994-09-19 09:50:07 +00:00
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @access Protected Member
|
|
|
|
protected:
|
1998-10-01 13:48:06 +00:00
|
|
|
// @cmember:(INTERNAL) Carica i parametri su maschera
|
|
|
|
virtual void load_mask();
|
|
|
|
// @cmember:(INTERNAL) Salva i parametri dalla maschera
|
|
|
|
virtual void save_mask(bool tosave) ;
|
|
|
|
|
1997-11-03 11:16:13 +00:00
|
|
|
virtual bool user_create() ;
|
|
|
|
virtual bool user_destroy() ;
|
1995-12-29 12:09:48 +00:00
|
|
|
|
|
|
|
// @cmember Viene chiamata prima della <mf TApplication::run> e ferma tutto se ritorna FALSE
|
1994-09-19 09:50:07 +00:00
|
|
|
virtual bool preprocess_config (TMask& mask, TConfig& config);
|
1995-12-29 12:09:48 +00:00
|
|
|
// @cmember Viene chiamata dopo la <mf TApplication::run> e blocca tutto se ritorna FALSE
|
1994-09-19 09:50:07 +00:00
|
|
|
virtual bool postprocess_config (TMask& mask, TConfig& config);
|
1994-09-28 10:36:08 +00:00
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @cmember Simile alla <mf TApplication::change_config>, ma viene usata
|
1996-09-17 10:47:46 +00:00
|
|
|
// dalla maschera principale.
|
1995-12-29 12:09:48 +00:00
|
|
|
virtual bool postprocess_config_changed (const char* par, const char* var, const char* oldv, const char* newv);
|
1994-09-19 09:50:07 +00:00
|
|
|
|
1997-11-03 11:16:13 +00:00
|
|
|
virtual void on_firm_change();
|
1998-11-04 18:04:26 +00:00
|
|
|
// funzione di settaggio maschere (per uso di maschere derivate)
|
2003-04-09 10:16:48 +00:00
|
|
|
|
|
|
|
virtual const char* get_mask_name() const;
|
|
|
|
virtual TMask* create_mask(const TFilename& f);
|
1998-11-04 18:04:26 +00:00
|
|
|
// anche queste funzioni vanno derivata quando viene derivata la precedente; faranno uso di un puntatore a maschera diverso
|
|
|
|
virtual TMask* get_mask() { return _m; }
|
2003-04-09 10:16:48 +00:00
|
|
|
virtual void destroy_mask() { delete _m; }
|
2005-02-17 18:13:12 +00:00
|
|
|
// metodo che ritorna il config
|
|
|
|
virtual TConfig* get_config() {return _cnf; }
|
1998-11-04 18:04:26 +00:00
|
|
|
|
1995-12-29 12:09:48 +00:00
|
|
|
// @access Public Member
|
1994-09-28 10:36:08 +00:00
|
|
|
public:
|
1996-09-17 10:47:46 +00:00
|
|
|
// @cmember Setta il tipo di file di configurazione al quale e' associata l'applicazione
|
1997-11-03 11:16:13 +00:00
|
|
|
void set_config(int which);
|
1995-12-29 12:09:48 +00:00
|
|
|
// @cmember Costruttore
|
2009-05-20 15:36:38 +00:00
|
|
|
TConfig_application(int which_config) ;
|
1995-12-29 12:09:48 +00:00
|
|
|
// @cmember Distruttore
|
1997-11-03 11:16:13 +00:00
|
|
|
virtual ~TConfig_application() ;
|
1994-09-19 09:50:07 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|