117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#ifndef __APPLICATION_H
 | 
						|
#define __APPLICATION_H
 | 
						|
 | 
						|
#ifndef INCL_XVTH
 | 
						|
#include <xvt.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __PRINTER_H
 | 
						|
#include <printer.h>
 | 
						|
#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)
 | 
						|
#define CHK_ALL -1       // all authorization checks
 | 
						|
#define CHK_DONGLE 0     // dongle authorization checks
 | 
						|
#define CHK_USER 1       // user authorization checks
 | 
						|
 | 
						|
class TApplication
 | 
						|
{
 | 
						|
  // @DPRIV
 | 
						|
  int _bar;
 | 
						|
  int __argc;
 | 
						|
  const char** __argv;
 | 
						|
  TBit_array _dongle_aut;
 | 
						|
  TBit_array _user_aut;
 | 
						|
 | 
						|
  TString80 _name, _title;
 | 
						|
  TPrinter* _printer;
 | 
						|
 | 
						|
  long _savefirm;
 | 
						|
  bool _create_ok;
 | 
						|
  word _waiting;
 | 
						|
  
 | 
						|
  static TString16 _user;
 | 
						|
 | 
						|
  void terminate();          // End of application
 | 
						|
  void set_cursor(bool w);   // Change mouse cursor
 | 
						|
  bool config();             // Change parameters
 | 
						|
  void about() const;        // About box
 | 
						|
 | 
						|
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
 | 
						|
  virtual bool use_files() const { return TRUE; }
 | 
						|
 | 
						|
  virtual bool create();        // Crea la finestra principale
 | 
						|
  virtual bool menu(MENU_TAG) { return TRUE; }  // Controlla il menu
 | 
						|
  virtual bool build_firm_data(long cod, bool flagcom = FALSE) { return TRUE;}
 | 
						|
  virtual bool destroy();       // Rimuove l'applicazione
 | 
						|
  virtual void print();
 | 
						|
 | 
						|
  virtual void on_config_change();
 | 
						|
  virtual void on_firm_change();
 | 
						|
 | 
						|
  void set_user(const char * user) { _user = user; }
 | 
						|
  void set_perms();
 | 
						|
 | 
						|
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 word class_id() const { return CLASS_APPLICATION; }
 | 
						|
  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 TString& 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) { _title = t; }
 | 
						|
  const TString& title() const { return _title; }
 | 
						|
 | 
						|
  TPrinter* set_printer(TPrinter* p);
 | 
						|
  TPrinter& printer();
 | 
						|
 | 
						|
  static void check_parameters(int & argc, char *argv[]);
 | 
						|
  static const TString& user() { return _user; }
 | 
						|
 | 
						|
  bool has_module(int module, int checktype = CHK_ALL) const;
 | 
						|
  bool set_firm(long cod = -1);
 | 
						|
  long get_firm() const;
 | 
						|
  const char* get_firm_dir() const;
 | 
						|
  
 | 
						|
  void wait_for(word taskid) { _waiting = taskid; }
 | 
						|
  void wake_up() { _waiting = 0; }
 | 
						|
  word waiting() const { return _waiting; }
 | 
						|
  
 | 
						|
  void begin_wait() { set_cursor(TRUE); }  // Set CURSOR_WAIT
 | 
						|
  void end_wait()   { set_cursor(FALSE); } // Set CURSOR_ARROW
 | 
						|
 | 
						|
  TApplication();
 | 
						|
  virtual ~TApplication();
 | 
						|
};
 | 
						|
 | 
						|
bool xvt_running();        // xvt is running?
 | 
						|
TApplication& main_app();
 | 
						|
 | 
						|
#endif // __APPLICATION_H
 |