#ifndef __TABAPP_H #define __TABAPP_H #ifndef __RELAPP_H #include #endif #ifndef __DEFTABAP_H #include #endif #define FPC "FPC" #define TTable_application Tab_application // @doc EXTERNAL // @class Tab_application | Classe per la definizione della per le tabelle // // @base public | TRelation_application class TTable_application : public TRelation_application // @author:(INTERNAL) Nicola // @access:(INTERNAL) Private Member { // @cmember:(INTERNAL) Maschera corrente dell'applicazione TMask* _msk; // @cmember:(INTERNAL) Relazione corrente dell'applicazione TRelation* _rel; // @cmember:(INTERNAL) Nome della tabella da utilizzare TString _tabname; // @access Protected Member protected: // @cmember Richiede se il record corrente e' protetto (non cancellabile) virtual bool protected_record(TRectype& rec); // @cmember Richiede la maschera da usare virtual TMask* get_mask(int mode = MODE_QUERY); // @cmember Indica se la futura ritornera' una maschera diversa // dalla corrente. virtual bool changing_mask(int mode); // @cmember Ritorna la relazione da modificare virtual TRelation* get_relation() const; // @cmember Inizializza la maschera per il modo ricerca virtual void init_query_mode(TMask& m); // @cmember Inizializza la maschera per il modo modifica virtual void init_modify_mode(TMask& m); // @cmember Inizializzazione dei dati dell'utente virtual bool user_create() ; // @cmember Distruzione dei dati dell'utente virtual bool user_destroy() ; // @cmember Chiama il programma di stampa virtual void print(); // Nuovi membri: // @cmember Ritorna il nome della maschera associata virtual TString& get_mask_name(TString& name) const; // @cmember imposta la maschera (se non indicata, usa le convenzioni di default) ed eventualmente disalloca quella usata in precedenza virtual TMask* set_mask(TMask* mask = NULL); // @access Public Member public: // @cmember Ritorna il nome della tabella const TString& get_tabname() const { return _tabname; } // @cmember Costruttore TTable_application(); // @cmember Distruttore virtual ~TTable_application(); }; /////////////////////////////////////////////////////////////// // Tabelle multirel /////////////////////////////////////////////////////////////// // @class TMultirel_application | Classe per la definizione della per le tabelle // // @base public | TRelation_application class TMultirel_application : public TRelation_application // @author:(INTERNAL) Vari // @access:(INTERNAL) Private Member { // @cmember:(INTERNAL) Maschera corrente dell'applicazione TMask* _msk; // @cmember:(INTERNAL) Relazione corrente dell'applicazione TRelation* _rel; // @cmember:(INTERNAL) Nome della tabella da utilizzare TString _tabname; // @cmember:(INTERNAL) valore iniziale campo collegato TString _second; // @access Protected Member protected: virtual void get_mask_name(TString& tabname) const; // @cmember Richiede la maschera da usare virtual TMask* get_mask(int mode = MODE_QUERY); // @cmember Indica se la futura ritornera' una maschera diversa // dalla corrente. virtual bool changing_mask(int mode); // @cmember Ritorna la relazione da modificare virtual TRelation* get_relation() const; // @cmember Inizializza la maschera per il modo inserimento virtual void init_insert_mode(TMask& m); // @cmember Inizializza la maschera per il modo modifica virtual void init_modify_mode(TMask& m); // @cmember Inizializzazione dei dati dell'utente virtual bool user_create() ; // @cmember Distruzione dei dati dell'utente virtual bool user_destroy() ; // @cmember Chiama il programma di stampa virtual void print(); // @cmember Riscrive sulla relazione i valori dalla maschera

virtual int rewrite(const TMask& m); // @cmember imposta sulla maschera la descrizione virtual void set_descr(TMask & m, const TString & desc) {} // @access Public Member public: // @cmember Ritorna il nome della tabella const TString& get_tabname() const { return _tabname; } virtual bool find(word key = 0); // @cmember Costruttore TMultirel_application(); // @cmember Distruttore virtual ~TMultirel_application(); }; #endif