#ifndef __APPLICATION_H #define __APPLICATION_H #ifndef INCL_XVTH #include #endif #ifndef __PRINTER_H #include #endif #ifndef __MODAUT_H //#include #endif // @C // Classe TApplication // @END #define MSG_AI "AI" // message auto_insert (relapp) #define MSG_FS "FS" // message filtered start (relapp) #define MSG_LN "LN" // message (printapp -> relapp) class TApplication { // @DPRIV int _bar; int __argc; const char** __argv; TString _name; TPrinter* _printer; protected: const char* get_module_name() const; static long task_eh(WINDOW win, EVENT* ep); virtual long handler(WINDOW win, EVENT* ep); virtual bool extended_firm() const { return FALSE; } // Extended set_firm dialog box? void terminate(); bool config(); void about() const; public: // @FPUB void setbar(int menubar) { _bar = menubar;} // Modifica la menu-bar void run(int argc, char* argv[], const char* name); // @DES Queste funzioni possono essere ridefinite da ogni applicazione // @FPUB virtual bool create(); // Crea la finestra principale virtual bool menu(MENU_TAG) { return TRUE; } // Controlla il menu virtual bool destroy(); // Rimuove l'applicazione virtual void print(); void stop_run(); // Forza chiusura applicazione void check_menu_item(MENU_TAG item); // Check menu void uncheck_menu_item(MENU_TAG item); // Uncheck void enable_menu_item(MENU_TAG item, bool on = TRUE); void disable_menu_item(MENU_TAG item) { enable_menu_item(item, FALSE); } void dispatch_e_menu(MENU_TAG item); const char* name() const { return _name; } const char** argv() const { return __argv; } const char* argv(int i) const { return __argv[i]; } int argc() const { return __argc; } void set_title(const char* t); const char* title() const; void wait_for(const char* name); void wake_up_caller() const; TPrinter* set_printer(TPrinter* p); TPrinter& printer(); virtual bool change_config(const char* var, const char* oldv, const char* newv); bool has_module(int module) const; bool set_firm(long cod = -1); long get_firm() const; const char* get_firm_dir() const; TApplication(); virtual ~TApplication(); }; bool xvt_running(); // xvt is running? TApplication* MainApp(); // main application #endif // __APPLICATION_H