campo-sirio/include/confapp.h

93 lines
3.0 KiB
C
Raw Normal View History

#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 Private Member
{
// @cmember Array di paragrafi da editare
TArray _paragraphs;
// @cmember Numero del file di configurazione da modificare
int _which_config;
// @cmember Ultima voce di menu' selezionata
MENU_TAG _last_choice;
// @cmember Crea la finestra principale (vedi <c TApplication>)
virtual bool create();
// @cmember Rimuove l'applicazione (vedi <c TApplication>)
virtual bool destroy();
// @cmember Controlla il menu' (vedi <c TApplication>)
virtual bool menu(MENU_TAG);
// @cmember 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 Costruttore
TConfig_application(int which_config = CONFIG_GENERAL) : _which_config(which_config)
{}
// @cmember Distruttore
virtual ~TConfig_application()
{}
};
#endif