array.cpp Corretti TPointer_array assoc.cpp Aggiuntta add() cfiles.c Corretto salvataggio pathpref.ini controls.cpp Aggiunto attributo di read_only default.url Aggiunto menu di edit ed help mask.cpp Gestione menu edit maskfld.cpp Gestione menu edit msksheet.cpp Gestione menu edit progind.cpp Aggiunto nuova scavatura 3D sheet.cpp viswin.cpp Aggiornati ID del menu edit window.cpp Corretta gestione voci di menu standard xvtility.cpp Aggiunto metodo per skippare gli errori di XVT git-svn-id: svn://10.65.10.50/trunk@5791 c028cbd2-c16b-5b4b-a496-9718f37d4682
219 lines
7.3 KiB
C++
Executable File
219 lines
7.3 KiB
C++
Executable File
#ifndef __APPLICATION_H
|
|
#define __APPLICATION_H
|
|
|
|
#ifndef INCL_XVTH
|
|
#include <xvt.h>
|
|
#endif
|
|
|
|
#ifndef __STRINGS_H
|
|
#include <strings.h>
|
|
#endif
|
|
|
|
|
|
#define MSG_AI "AI" // message auto_insert (relapp)
|
|
#define MSG_FS "FS" // message filtered start (relapp)
|
|
#define MSG_LN "LN" // message link (printapp -> relapp)
|
|
#define MSG_ED "ED" // message edit (maskfld -> relapp)
|
|
#define CHK_ALL -1 // all authorization checks
|
|
#define CHK_DONGLE 0 // dongle authorization checks
|
|
#define CHK_USER 1 // user authorization checks
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TApplication | Classe per la gestione di tutte le applicazioni PRASSI
|
|
class TApplication
|
|
|
|
// @author:(INTERNAL) Guido
|
|
|
|
// @access:(INTERNAL) Private Member
|
|
{
|
|
// // @cmember:(INTERNAL) Identificatore del menu' legato all'applicazione
|
|
// int _bar;
|
|
// @cmember:(INTERNAL) Numero di argomenti passati all'applicazione
|
|
int __argc;
|
|
// @cmember:(INTERNAL) Array di argomenti passati all'applicazione
|
|
const char** __argv;
|
|
// @cmember:(INTERNAL) Ora di inizio utilizzo del programma (per versioni DEMO)
|
|
time_t _start_time;
|
|
// @cmember:(INTERNAL) Array di autorizzazione concessa della chiavi
|
|
TBit_array _dongle_aut;
|
|
// @cmember:(INTERNAL) Array di autorizzazione concessa all'utente
|
|
TBit_array _user_aut;
|
|
|
|
// @cmember:(INTERNAL) Codice dell'applicazione
|
|
TString _name;
|
|
// @cmember:(INTERNAL) Nome della applicazione
|
|
TString _title;
|
|
|
|
// @cmember:(INTERNAL) Codice della ditta
|
|
long _savefirm;
|
|
// @cmember:(INTERNAL) Indica se l'applicazione e' stata creata con successo
|
|
bool _create_ok;
|
|
// @cmember:(INTERNAL) Handle del modulo del programma di cui si sta attendendo la fine
|
|
word _waiting;
|
|
|
|
// @cmember:(INTERNAL) Termine dell'applicazione
|
|
void terminate();
|
|
// @cmember:(INTERNAL) Cambia il cursore del mouse
|
|
void set_cursor(bool w);
|
|
// @cmember:(INTERNAL) Gestisce le voci di configurazione
|
|
bool config();
|
|
// @cmember:(INTERNAL) About box: risposta alla opzione Informazioni del menu File
|
|
void about() const;
|
|
|
|
// @access Protected Member
|
|
protected:
|
|
// @cmember Ritorna il nome del modulo dell'applicazione
|
|
const char* get_module_name() const;
|
|
// @cmember Event handler della finestra principale del programma
|
|
static long XVT_CALLCONV1 task_eh(WINDOW win, EVENT* ep);
|
|
|
|
// @cmember Handler degli eventi della finestra principale, chiamato da <mf TApplication::task_eh>
|
|
virtual long handler(WINDOW win, EVENT* ep);
|
|
// @cmember Estende il dialog box della set_firm
|
|
virtual bool extended_firm() const
|
|
{ return FALSE; }
|
|
// @cmember Indica se si intendono usare i files DBF
|
|
virtual bool use_files() const
|
|
{ return TRUE; }
|
|
|
|
// @cmember Inizilizzazzioni di bassissimo livello
|
|
virtual bool pre_create()
|
|
{ return TRUE; }
|
|
// @cmember Crea la finestra principale
|
|
virtual bool create();
|
|
// @cmember Controlla il menu'
|
|
virtual bool menu(MENU_TAG)
|
|
{ return TRUE; }
|
|
// @cmember Chiamata ogni volta che viene cambiata una ditta
|
|
virtual bool build_firm_data(long cod, bool flagcom = FALSE)
|
|
{ return TRUE;}
|
|
// @cmember Rimuove l'applicazione
|
|
virtual bool destroy();
|
|
|
|
// @cmember Chiamata ogni volta che l'utente usa il menu Cambia Parametri
|
|
virtual void on_config_change();
|
|
// @cmember Chiamata ogni volta che l'utente cambia ditta
|
|
virtual void on_firm_change();
|
|
|
|
// @cmember Setta i permessi di utilizzo dei moduli
|
|
void set_perms();
|
|
|
|
// @access Public Member
|
|
public:
|
|
// @cmember Modifca la barra dei menu' inserendo la <p menubar>
|
|
// void setbar(int menubar) { _bar = menubar;}
|
|
|
|
// @cmember Fa partire l'applicazione
|
|
void run(int argc, char* argv[], const char* name);
|
|
|
|
// @cmember Ritorna l'identificatore della classe
|
|
virtual word class_id() const
|
|
{ return CLASS_APPLICATION; }
|
|
// @cmember Controlla se si tratta di una applicazione valida
|
|
virtual bool ok() const
|
|
{ return _create_ok; }
|
|
// @cmember Risposta alla selezione Stampa del menu File
|
|
virtual void print();
|
|
// @cmember Controlla se al programma corrente e' concesso cambiare ditta da menu.
|
|
virtual bool firm_change_enabled() const;
|
|
// @cmember Ritorna la <c TToken_string> con la lista dei moduli cui appartiene il programma
|
|
virtual const char * extra_modules() const
|
|
{return "";}
|
|
// @cmember Abilita la verifica del modulo cui appartiene il programma
|
|
virtual bool check_autorization() const
|
|
{return TRUE;}
|
|
|
|
// @cmember Forza la chiusura dell'applicazione
|
|
void stop_run();
|
|
|
|
// @cmember Mette il segno Check a fianco di una voce di menu
|
|
void check_menu_item(MENU_TAG item);
|
|
// @cmember Toglie il segno Check a fianco di una voce di menu
|
|
void uncheck_menu_item(MENU_TAG item);
|
|
// @cmember Permette di abilitare/disabilitare una voce di menu'
|
|
void enable_menu_item(MENU_TAG item, bool on = TRUE);
|
|
// @cmember Permette di disabilitare una voce di menu' (chiama <mf TApplication::enable_menu_item>)
|
|
void disable_menu_item(MENU_TAG item)
|
|
{ enable_menu_item(item, FALSE); }
|
|
// @cmember Simula la selezione di una voce di menu
|
|
void dispatch_e_menu(MENU_TAG item);
|
|
|
|
// @cmember Ritorna il nome dell'applicazione
|
|
const TString& name() const
|
|
{ return _name; }
|
|
// @cmember Ritorna l'array di parametri da passare all'applicazione
|
|
const char** argv() const
|
|
{ return __argv; }
|
|
// @cmember Ritroan il parametro <p i>-esimo da passare all'applicazione
|
|
const char* argv(int i) const { return __argv[i]; }
|
|
// @cmember Ritorna il numero di paramentri da passare all'applicazione
|
|
int argc() const
|
|
{ return __argc; }
|
|
|
|
// @cmember Setta il titolo da assegnare all'applicazione
|
|
void set_title(const char* t)
|
|
{ _title = t; }
|
|
// @cmember Ritorna il titolo da assegnare all'applicazione
|
|
const TString& title() const
|
|
{ return _title; }
|
|
|
|
// @cmember static void | check_parameters | int & argc, char *argv[] |
|
|
// Legge il parametro /uUTENTE e lo toglie dalla lista
|
|
static void check_parameters(int& argc, char *argv[]);
|
|
|
|
// @cmember Controlla se il modulo <p module> ha l'autorizzazione all'esecuzione
|
|
bool has_module(int module, int checktype = CHK_ALL) const;
|
|
// @cmember Setta la ditta corrente (Ritorna se ce l'ha fatta)
|
|
bool set_firm(long cod = -1);
|
|
// @cmember Ritorna la ditta corrente
|
|
long get_firm() const;
|
|
// @cmember Ritorna la directory in cui si trovano i dati della ditta corrente
|
|
const char* get_firm_dir() const;
|
|
|
|
// @cmember Attende la fine del modulo con handle <p taskid>
|
|
void wait_for(word taskid)
|
|
{ _waiting = taskid; }
|
|
// @cmember Interrompe lo stato di attesa
|
|
void wake_up()
|
|
{ _waiting = 0xFFFF; }
|
|
// @cmember Ritorna l'handle del task di cui l'applicazione e' in attesa
|
|
word waiting() const
|
|
{ return _waiting; }
|
|
|
|
// @cmember Setta il cursore a clessidra
|
|
void begin_wait();
|
|
// @cmember Setta il cursore standard
|
|
void end_wait();
|
|
|
|
// @cmember Interfaccia runtime del menu' della finestra principale???
|
|
bool add_menu(TString_array& menu, MENU_TAG id = 0);
|
|
// @cmember Elimina il menu' <p id> (Ritorna se ce l'ha fatta???)
|
|
bool remove_menu(MENU_TAG id);
|
|
|
|
// @cmember Costruttore
|
|
TApplication();
|
|
// @cmember Distruttore
|
|
virtual ~TApplication();
|
|
};
|
|
|
|
class TSkeleton_application : public TApplication
|
|
{
|
|
protected:
|
|
virtual bool create();
|
|
virtual bool menu(MENU_TAG);
|
|
|
|
protected:
|
|
virtual void main_loop() pure;
|
|
|
|
public:
|
|
TSkeleton_application() { }
|
|
virtual ~TSkeleton_application() { }
|
|
};
|
|
|
|
|
|
bool xvt_running();
|
|
TApplication& main_app();
|
|
|
|
#endif /* __APPLICATION_H */
|