diff --git a/include/applicat.cpp b/include/applicat.cpp index e70cb503f..381acdb2f 100755 --- a/include/applicat.cpp +++ b/include/applicat.cpp @@ -24,7 +24,8 @@ HIDDEN TApplication* _application = NULL; HIDDEN long savefirm = 0; -HIDDEN TString80 __user; + +TString16 TApplication::_user; TApplication* MainApp() { @@ -307,7 +308,7 @@ void TApplication::stop_run() } -TApplication::TApplication() : _printer(NULL), _user("PRASSI") +TApplication::TApplication() : _printer(NULL) { init_global_vars(); _bar = TASK_MENUBAR; @@ -391,15 +392,14 @@ void TApplication::set_perms() { CGetAut(1); - _dongle_aut.set(0); + _dongle_aut.set(0, TRUE); for (int i = 1 ; i < ENDAUT; i++) { const int af = i - 1; const bool val = BITTEST(_int_tab0[af / 16], af % 16); - _dongle_aut.set(i, val); } - _user_aut.set(0); + _user_aut.set(0, TRUE); if (_user.not_empty()) { if (_user == "PRASSI") @@ -426,14 +426,16 @@ void TApplication::set_perms() } -void check_parameters(int & argc, char* argv[]) +void TApplication::check_parameters(int & argc, char* argv[]) { if (strncmp(argv[argc - 1], "-u", 2) == 0) { - __user = &argv[argc - 1][2]; + _user = &argv[argc - 1][2]; argc--; } + else + _user = "PRASSI"; } void TApplication::run(int argc, char* argv[], const char* title) @@ -442,9 +444,8 @@ void TApplication::run(int argc, char* argv[], const char* title) base.ext(""); base.lower(); _title = title; - if (__user.empty()) + if (_user.empty()) check_parameters(argc, argv); - if(__user.not_empty()) _user = __user; __argc = argc; __argv = (const char**)argv; diff --git a/include/applicat.h b/include/applicat.h index e0348896f..65ed4c774 100755 --- a/include/applicat.h +++ b/include/applicat.h @@ -30,9 +30,10 @@ class TApplication TBit_array _user_aut; TString80 _name, _title; - TString16 _user; TPrinter* _printer; + static TString16 _user; + protected: const char* get_module_name() const; static long task_eh(WINDOW win, EVENT* ep); @@ -40,6 +41,14 @@ protected: virtual long handler(WINDOW win, EVENT* ep); virtual bool extended_firm() const { return FALSE; } // Extended set_firm dialog box + 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(); + + virtual bool change_config(const char* var, const char* oldv, const char* newv); + void set_user(const char * user) { _user = user; } + void terminate(); bool config(); void about() const; @@ -52,10 +61,6 @@ public: // @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(); virtual word class_id() const { return CLASS_APPLICATION; } void stop_run(); // Forza chiusura applicazione @@ -79,11 +84,10 @@ public: TPrinter* set_printer(TPrinter* p); TPrinter& printer(); - virtual bool change_config(const char* var, const char* oldv, const char* newv); - + static void check_parameters(int & argc, char *argv[]); + void set_perms(); - void set_user(const char * user) { _user = user; } - const char * user() const { return _user; } + const TString& user() const { return _user; } bool has_module(int module, int checktype = CHK_ALL) const; bool set_firm(long cod = -1); long get_firm() const; @@ -96,6 +100,5 @@ public: bool xvt_running(); // xvt is running? TApplication* MainApp(); // main application (old fashioned: will be removed soon TApplication& main_app(); -void check_parameters(int & argc, char *argv[]); #endif // __APPLICATION_H diff --git a/include/array.h b/include/array.h index 7aaec0741..3e520936e 100755 --- a/include/array.h +++ b/include/array.h @@ -75,19 +75,6 @@ inline TObject& TArray::operator[] (int index) const return *o; } -class TBit_array; - -class TBit -{ - TBit_array* _a; - long _b; - -public: - TBit(TBit_array* a, word b) : _a(a), _b(b) {} - bool operator =(bool on); - operator bool(); -}; - class TBit_array : public TObject { word _size; @@ -110,7 +97,7 @@ public: TBit_array& operator=(const TBit_array& ba); bool operator[] (long n) const; TBit_array& operator |=(const TBit_array& b); - // TBit operator[] (long n) { return TBit(this, n); } + long first_one() const; long last_one() const; long ones() const; @@ -125,7 +112,5 @@ public: void set(const char* numbers); }; -inline bool TBit::operator =(bool on) { _a->set(_b, on); return on; } -inline TBit::operator bool() { return _a->operator[](_b); } #endif diff --git a/include/date.cpp b/include/date.cpp index db01e94ff..182dd7372 100755 --- a/include/date.cpp +++ b/include/date.cpp @@ -13,7 +13,7 @@ #define NULLDATE -99999L const TDate nodate, botime, eotime(31,12,2050); -HIDDEN TDate __tmp_date; +HIDDEN TDate __tmp_date; HIDDEN char __date_tmp_string[20]; TDate::TDate(const TDate &d) : _val(d._val) {} diff --git a/include/execp.cpp b/include/execp.cpp index fbe5ad307..bd54796bf 100755 --- a/include/execp.cpp +++ b/include/execp.cpp @@ -32,10 +32,8 @@ int TExternal_app::run(bool async) { - TApplication & app = main_app(); TString256 path(_path); - - path << " -u" << app.user(); + path << " -u" << main_app().user(); _error = 0; _exitcode = 0; @@ -58,7 +56,7 @@ int TExternal_app::run(bool async) if (perc >= req) { - _exitcode = WinExec((char*)_path, SW_SHOW); + _exitcode = WinExec((char*)(const char*)path, SW_SHOW); if (_exitcode >= 32) { diff --git a/include/msksheet.cpp b/include/msksheet.cpp index c6c26c05b..8f6597965 100755 --- a/include/msksheet.cpp +++ b/include/msksheet.cpp @@ -554,7 +554,7 @@ break; } else { - xvt_statbar_set(""); + xvt_statbar_refresh(); } _check_enabled = TRUE; } diff --git a/include/prassi.ver b/include/prassi.ver index 4fece0097..0704a4464 100755 --- a/include/prassi.ver +++ b/include/prassi.ver @@ -1 +1 @@ -#define VERSION 1.14 +#define VERSION 1.15 diff --git a/include/relapp.cpp b/include/relapp.cpp index d8fd69055..ac3ee7751 100755 --- a/include/relapp.cpp +++ b/include/relapp.cpp @@ -1,4 +1,4 @@ -// $Id: relapp.cpp,v 1.24 1994-11-08 14:42:38 alex Exp $ +// $Id: relapp.cpp,v 1.25 1994-11-08 16:50:58 guy Exp $ #include #include #include @@ -291,7 +291,7 @@ int TRelation_application::set_mode(int mode) break; } - xvt_statbar_set(t); + xvt_statbar_set(t, TRUE); return _mode; } diff --git a/include/xvtility.cpp b/include/xvtility.cpp index b6b16f9df..8edd3e475 100755 --- a/include/xvtility.cpp +++ b/include/xvtility.cpp @@ -796,7 +796,6 @@ int xvt_get_checked_radio(const WINDOW* ctls, int count) /////////////////////////////////////////////////////////// HIDDEN WINDOW statbar = NULL_WIN; -HIDDEN TString256 stattext; WINDOW xvt_create_statbar() { @@ -824,23 +823,23 @@ WINDOW xvt_create_statbar() return statbar; } -void xvt_statbar_set(const char* text) +void xvt_statbar_set(const char* text, bool def) { #if XVT_OS == XVT_OS_WIN - if (text != NULL) - { - stattext.strncpy(text, 56); - const TDate oggi(TODAY); - stattext << '\t' << oggi.string() << " - " << main_app().title(); - } - statbar_set_title(statbar, (char*)(const char*)stattext); + TString256 t(text); + const TDate oggi(TODAY); + t << '\t' << oggi.string() << " - " << main_app().title(); + if (def) + statbar_set_default_title(statbar, (char*)(const char*)t); + else + statbar_set_title(statbar, (char*)(const char*)t); #endif } void xvt_statbar_refresh() { #if XVT_OS == XVT_OS_WIN - statbar_set_title(statbar, (char*)(const char*)stattext); + statbar_set_title(statbar, NULL); #endif } diff --git a/include/xvtility.h b/include/xvtility.h index 01f69fa54..75b442931 100755 --- a/include/xvtility.h +++ b/include/xvtility.h @@ -35,7 +35,7 @@ WINDOW xvt_create_window(WIN_TYPE wt, int id); WINDOW xvt_create_statbar(); - void xvt_statbar_set(const char* text); + void xvt_statbar_set(const char* text, bool def = FALSE); void xvt_statbar_refresh(); void beep();