From f155f29c4944570f0bf66d67785954a7542fb920 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 29 Nov 1994 17:31:42 +0000 Subject: [PATCH] Post della chiamata di menu git-svn-id: svn://10.65.10.50/trunk@699 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/applicat.cpp | 12 ++++++------ include/defmask.h | 3 +++ include/xvtility.cpp | 9 +++++++++ include/xvtility.h | 3 ++- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/include/applicat.cpp b/include/applicat.cpp index 370152450..c1b2a11e0 100755 --- a/include/applicat.cpp +++ b/include/applicat.cpp @@ -90,7 +90,7 @@ protected: public: TBanner(); - ~TBanner(); + virtual ~TBanner(); }; TBanner::TBanner() @@ -249,6 +249,10 @@ long TApplication::handler(WINDOW win, EVENT* ep) } if (!_create_ok) stop_run(); +#if XVT_OS == XVT_OS_SCOUNIX +else + do_events(); +#endif break; case E_COMMAND: switch(ep->v.cmd.tag) @@ -546,11 +550,7 @@ void TApplication::dispatch_e_menu(MENU_TAG item) HWND w = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW); PostMessage(w, WM_COMMAND, item, 0L); #else - EVENT e; - e.type = E_COMMAND; - e.v.cmd.tag = item; - e.v.cmd.shift = e.v.cmd.control = 0; - dispatch_event(TASK_WIN, &e); + ::dispatch_e_menu(TASK_WIN, item); #endif } diff --git a/include/defmask.h b/include/defmask.h index c5cb0bd1c..125a0c186 100755 --- a/include/defmask.h +++ b/include/defmask.h @@ -57,6 +57,8 @@ n.ro di campi lista di campi... ONEREQ_FUNC almeno uno non vuoto n.ro campi lista di campi + CHECK_FIELD esegue il check su di un altro campo + campo */ #define EXPR_FUNC 0 2 @@ -76,6 +78,7 @@ #define NUMCALC_FUNC 14 #define STRCALC_FUNC 15 #define ONEREQ_FUNC 16 +#define CHECK_FIELD 17 1 #define VALEXPR VALIDATE EXPR_FUNC #define NUM_EXPR VALEXPR 0 diff --git a/include/xvtility.cpp b/include/xvtility.cpp index 8ade93d3c..87f61704a 100755 --- a/include/xvtility.cpp +++ b/include/xvtility.cpp @@ -397,6 +397,15 @@ KEY e_char_to_key(const EVENT* ep) return key; } +void dispatch_e_menu(WINDOW win, MENU_TAG item) +{ + EVENT e; + + e.type = E_COMMAND; + e.v.cmd.tag = item; + e.v.cmd.shift = e.v.cmd.control = 0; + EM.push(win, e); +} void dispatch_e_char(WINDOW win, KEY key) { diff --git a/include/xvtility.h b/include/xvtility.h index f69082874..7f5030f27 100755 --- a/include/xvtility.h +++ b/include/xvtility.h @@ -28,7 +28,7 @@ WINDOW xvt_create_window EVENT_HANDLER eh, long app_data ); - + WINDOW xvt_create_control ( WIN_TYPE wt, @@ -48,6 +48,7 @@ WINDOW xvt_create_window void do_events(); void customize_controls(bool on); KEY e_char_to_key(const EVENT* ep); + void dispatch_e_menu(WINDOW win, MENU_TAG item); void dispatch_e_char(WINDOW win, KEY key); void dispatch_e_scroll(WINDOW win, KEY key);