1995-12-04 17:41:06 +00:00
# ifndef __VE0100_H
# define __VE0100_H
1995-08-07 07:59:09 +00:00
1996-08-08 15:57:44 +00:00
# define CHANGE_MESSAGE "Sono state effettuate modifiche alla configurazione.\nPrima di eseguire la gestione documenti occorre rigenerare le maschere.\nDesideri farlo ora ?"
1995-12-04 17:41:06 +00:00
# ifndef __RELAPP_H
# include <relapp.h>
# endif
2009-03-23 15:48:33 +00:00
# ifndef __PRINTER_H
# include <printer.h>
# endif
1997-06-03 15:56:27 +00:00
# ifndef __VELIB_H
# include "velib.h"
1996-08-08 15:57:44 +00:00
# endif
1998-05-04 09:54:49 +00:00
1995-12-04 17:41:06 +00:00
// Definizione della classe dell'applicazione motore
class TMotore_application : public TRelation_application
1996-09-26 15:37:19 +00:00
{
1996-08-12 08:32:28 +00:00
TArray _file ; // Tutti i fiels da usare
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
// Puntatore al profilo del documento caricato
1998-08-25 18:07:30 +00:00
TConfig * _config_ditta ;
1996-08-12 08:32:28 +00:00
1995-12-04 17:41:06 +00:00
// Puntatore alla maschera di ricerca
1997-06-12 16:26:22 +00:00
TMask * _msk ;
1998-08-25 18:07:30 +00:00
TDocumento_mask * _docmsk ;
1995-12-04 17:41:06 +00:00
// puntatore alla relazione
1996-08-12 08:32:28 +00:00
TRelation * _rel ;
1996-09-26 15:37:19 +00:00
2006-04-13 17:56:02 +00:00
TString4 _codnum ;
TString4 _tipodoc ;
2003-11-10 15:18:25 +00:00
TString80 __last_key ;
2008-11-21 10:41:36 +00:00
2007-03-07 11:36:57 +00:00
protected :
2008-11-21 10:41:36 +00:00
// Array di maschere documento
TAssoc_array _doc_masks ;
2007-03-07 11:36:57 +00:00
// Ridefinizione dei metodi virtuali
1995-12-04 17:41:06 +00:00
virtual bool user_create ( ) ;
1996-09-26 15:37:19 +00:00
virtual bool user_destroy ( ) ;
2002-07-02 16:21:23 +00:00
virtual bool menu ( MENU_TAG mt ) ;
1995-12-04 17:41:06 +00:00
virtual TMask * get_mask ( int mode ) ;
virtual bool changing_mask ( int mode ) ;
1996-05-03 17:11:39 +00:00
virtual void init_query_mode ( TMask & m ) ;
1995-12-04 17:41:06 +00:00
virtual void init_insert_mode ( TMask & m ) ;
1997-02-03 15:28:53 +00:00
virtual void init_modify_mode ( TMask & m ) ;
2008-06-11 11:31:27 +00:00
void load_auto_reopen_data ( ) ;
1995-12-04 17:41:06 +00:00
virtual int read ( TMask & m ) ;
2011-06-02 21:12:53 +00:00
virtual void do_elab ( TDocumento & doc , bool stampa = false ) ;
2007-03-07 11:36:57 +00:00
virtual int write ( const TMask & m ) ;
1995-12-04 17:41:06 +00:00
virtual int rewrite ( const TMask & m ) ;
2008-06-11 11:31:27 +00:00
virtual bool remove ( ) ;
2007-03-07 11:36:57 +00:00
virtual bool has_filtered_cursor ( ) const { return true ; }
2007-03-16 13:33:09 +00:00
virtual TCursor & get_filtered_cursor ( ) const ;
2004-11-30 22:02:59 +00:00
virtual bool save_and_new ( ) const ;
1995-12-04 17:41:06 +00:00
// Funzioni da associare ad ogni procedura
int user_function ( int index ) ;
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
void user_set_handler ( int fieldid , int index , TMask * m = NULL ) ;
1996-09-26 15:37:19 +00:00
2005-09-19 12:45:16 +00:00
virtual const char * extra_modules ( ) const { return " dt " ; }
1996-08-12 08:32:28 +00:00
virtual void on_firm_change ( ) ;
1996-09-26 15:37:19 +00:00
// Procedure e funzioni per la gestione degli stati
1995-12-04 17:41:06 +00:00
int stato_corrente ( ) ;
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
// Handler per la maschera di ricerca
static bool ndoc_handler ( TMask_field & f , KEY key ) ;
1996-09-26 15:37:19 +00:00
1998-04-30 14:04:19 +00:00
// caricamento Inifile
1999-06-18 15:35:05 +00:00
virtual void sheet2ini ( TSheet_field & s , TConfig & ini ) ;
virtual void ini2mask ( TConfig & ini , TMask & m , bool query ) ;
2008-03-26 12:38:22 +00:00
2009-06-30 09:22:31 +00:00
virtual bool last_doc ( char provv , int anno , const char * codnum , long & ndoc , TDate & datadoc ) const ;
2009-03-23 15:48:33 +00:00
bool save_and_print ( bool savedoc , TPrtype mode ) ;
2008-03-26 12:38:22 +00:00
1995-12-04 17:41:06 +00:00
public :
2009-10-09 10:13:07 +00:00
virtual void print ( ) ;
virtual void preview ( ) ;
virtual void mailto ( ) ;
virtual TRelation * get_relation ( ) const { return _rel ; }
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
// Funzioni di accesso alle variabili private
1996-09-26 15:37:19 +00:00
2009-07-27 15:05:05 +00:00
virtual const char * query_mask_name ( ) { return " ve0100a " ; }
2008-03-26 12:38:22 +00:00
virtual TMask & query_mask ( ) { CHECK ( _msk , " Maschera di ricerca nulla! " ) ; return * _msk ; }
2007-03-07 11:36:57 +00:00
virtual TDocumento_mask & edit_mask ( ) const { CHECK ( _docmsk , " Maschera di edit nulla! " ) ; return * _docmsk ; }
1996-08-12 08:32:28 +00:00
TRelation & rel ( ) { CHECK ( _rel , " Relazione nulla! " ) ; return * _rel ; }
1998-08-25 18:07:30 +00:00
TSheet_field & sheet ( ) { return edit_mask ( ) . sheet ( ) ; }
1996-08-13 09:42:35 +00:00
TConfig & config_ditta ( ) { return * _config_ditta ; }
1998-08-25 18:07:30 +00:00
TDocumento & doc ( ) { return edit_mask ( ) . doc ( ) ; }
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
// Operazione
2009-03-23 15:48:33 +00:00
TMotore_application ( ) { }
1998-08-25 18:07:30 +00:00
virtual ~ TMotore_application ( ) { }
virtual const char * get_next_key ( ) ;
1995-12-04 17:41:06 +00:00
} ;
1998-01-09 09:57:01 +00:00
inline TMotore_application & app ( ) { return ( TMotore_application & ) main_app ( ) ; }
1996-09-26 15:37:19 +00:00
1995-12-04 17:41:06 +00:00
# endif