diff --git a/latest/src/include/lib3270/api.h b/latest/src/include/lib3270/api.h index 23f5854..0a9d768 100644 --- a/latest/src/include/lib3270/api.h +++ b/latest/src/include/lib3270/api.h @@ -267,12 +267,14 @@ void (*configure)(H3270 *session, unsigned short rows, unsigned short cols); void (*update)(H3270 *session, int baddr, unsigned char c, unsigned short attr, unsigned char cursor); void (*changed)(H3270 *session, int bstart, int bend); + void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col); void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on); - - void (*set_timer)(H3270 *session, unsigned char on); + void (*update_toggle)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); void (*update_luname)(H3270 *session, const char *name); void (*update_status)(H3270 *session, LIB3270_STATUS id); + + void (*set_timer)(H3270 *session, unsigned char on); void (*erase)(H3270 *session); void (*cursor)(H3270 *session, LIB3270_CURSOR id); diff --git a/latest/src/lib/actions.c b/latest/src/lib/actions.c index 9f55cec..b7b3eb5 100644 --- a/latest/src/lib/actions.c +++ b/latest/src/lib/actions.c @@ -54,7 +54,7 @@ #endif /*]*/ #if defined(X3270_DISPLAY) /*[*/ #include "keypadc.h" -#include "menubarc.h" +// #include "menubarc.h" #endif /*]*/ #if defined(X3270_DISPLAY) || defined(C3270) || defined(WC3270) /*[*/ #include "screenc.h" diff --git a/latest/src/lib/ansi.c b/latest/src/lib/ansi.c index 3e42724..8ebc864 100644 --- a/latest/src/lib/ansi.c +++ b/latest/src/lib/ansi.c @@ -1825,7 +1825,7 @@ ansi_send_pa(int nn) net_sends(fn_buf); } -void toggle_lineWrap(struct toggle *t unused, LIB3270_TOGGLE_TYPE type unused) +void toggle_lineWrap(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE type unused) { if (toggled(LINE_WRAP)) wraparound_mode = 1; diff --git a/latest/src/lib/ansic.h b/latest/src/lib/ansic.h index ce4475c..21343a2 100644 --- a/latest/src/lib/ansic.h +++ b/latest/src/lib/ansic.h @@ -29,7 +29,7 @@ LIB3270_INTERNAL void ansi_send_pa(int nn); LIB3270_INTERNAL void ansi_send_pf(int nn); LIB3270_INTERNAL void ansi_send_right(void); LIB3270_INTERNAL void ansi_send_up(void); -LIB3270_INTERNAL void toggle_lineWrap(struct toggle *t, LIB3270_TOGGLE_TYPE type); +LIB3270_INTERNAL void toggle_lineWrap(H3270 *session, struct toggle *t, LIB3270_TOGGLE_TYPE type); #else /*][*/ diff --git a/latest/src/lib/glue.c b/latest/src/lib/glue.c index a7115db..f10dce1 100644 --- a/latest/src/lib/glue.c +++ b/latest/src/lib/glue.c @@ -63,7 +63,7 @@ // #include "keymapc.h" #include "kybdc.h" //#include "macrosc.h" -#include "menubarc.h" +// #include "menubarc.h" #include "popupsc.h" #include "screenc.h" // #include "selectc.h" diff --git a/latest/src/lib/host.c b/latest/src/lib/host.c index 8df13d9..e135e8a 100644 --- a/latest/src/lib/host.c +++ b/latest/src/lib/host.c @@ -45,7 +45,7 @@ #include "actionsc.h" #include "hostc.h" // #include "macrosc.h" -#include "menubarc.h" +// #include "menubarc.h" #include "popupsc.h" #include "telnetc.h" #include "trace_dsc.h" diff --git a/latest/src/lib/menubarc.h b/latest/src/lib/menubarc.h index c729255..482e913 100644 --- a/latest/src/lib/menubarc.h +++ b/latest/src/lib/menubarc.h @@ -17,30 +17,33 @@ * Global declarations for menubar.c. */ -#if defined(X3270_MENUS) /*[*/ - -LIB3270_INTERNAL void HandleMenu_action(Widget w, XEvent *event, String *params, - Cardinal *num_params); -#if defined(X3270_SCRIPT) /*[*/ -LIB3270_INTERNAL void menubar_as_set(Boolean sensitive); -#else /*][*/ -#define menubar_as_set(n) -#endif /*]*/ -LIB3270_INTERNAL void menubar_init(Widget container, Dimension overall_width, - Dimension current_width); -LIB3270_INTERNAL void menubar_keypad_changed(void); -LIB3270_INTERNAL Dimension menubar_qheight(Dimension container_width); -LIB3270_INTERNAL void menubar_resize(Dimension width); -LIB3270_INTERNAL void menubar_retoggle(struct toggle *t); - -#else /*][*/ - -#define menubar_as_set(n) -#define menubar_init(a, b, c) -#define menubar_keypad_changed() -#define menubar_qheight(n) 0 -#define menubar_resize(n) -#define menubar_retoggle(t) -#define HandleMenu_action ignore_action - -#endif /*]*/ +#warning menubarc.h is deprecated + +/* +#if defined(X3270_MENUS) + +// LIB3270_INTERNAL void HandleMenu_action(Widget w, XEvent *event, String *params,Cardinal *num_params); +// #if defined(X3270_SCRIPT) +// LIB3270_INTERNAL void menubar_as_set(Boolean sensitive); +// #else +// #define menubar_as_set(n) +// #endif + +// LIB3270_INTERNAL void menubar_init(Widget container, Dimension overall_width,Dimension current_width); +// LIB3270_INTERNAL void menubar_keypad_changed(void); +// LIB3270_INTERNAL Dimension menubar_qheight(Dimension container_width); +// LIB3270_INTERNAL void menubar_resize(Dimension width); +// LIB3270_INTERNAL void menubar_retoggle(struct toggle *t); + +#else + +// #define menubar_as_set(n) +// #define menubar_init(a, b, c) +// #define menubar_keypad_changed() +// #define menubar_qheight(n) 0 +// #define menubar_resize(n) +// #define menubar_retoggle(t) +// #define HandleMenu_action ignore_action + +#endif +*/ diff --git a/latest/src/lib/printer.c b/latest/src/lib/printer.c index 8282c42..903a570 100644 --- a/latest/src/lib/printer.c +++ b/latest/src/lib/printer.c @@ -59,7 +59,7 @@ #include "charsetc.h" #include "ctlrc.h" #include "hostc.h" -#include "menubarc.h" +// #include "menubarc.h" #include "popupsc.h" #include "printerc.h" #include "printc.h" diff --git a/latest/src/lib/screen.c b/latest/src/lib/screen.c index 4a9729c..87b9e76 100644 --- a/latest/src/lib/screen.c +++ b/latest/src/lib/screen.c @@ -150,6 +150,9 @@ int screen_init(H3270 *session) if(callbacks->cursor) session->cursor = callbacks->cursor; + if(callbacks->toggle_changed) + session->update_toggle = callbacks->toggle_changed; + if(callbacks->init()) { popup_an_error("Can't initialize terminal."); @@ -793,11 +796,13 @@ void Error(const char *fmt, ...) } +/* void notify_toggle_changed(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason) { if(callbacks && callbacks->toggle_changed) callbacks->toggle_changed(session,ix,value,reason,toggle_names[ix]); } +*/ LIB3270_EXPORT void update_toggle_actions(void) { diff --git a/latest/src/lib/toggles.c b/latest/src/lib/toggles.c index cdf41e3..b6b918e 100644 --- a/latest/src/lib/toggles.c +++ b/latest/src/lib/toggles.c @@ -44,7 +44,7 @@ #include "ansic.h" #include "actionsc.h" #include "ctlrc.h" -#include "menubarc.h" +// #include "menubarc.h" #include "popupsc.h" #include "screenc.h" #include "trace_dsc.h" @@ -106,10 +106,12 @@ static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE ix, LIB3270_TOGGLE_T */ toggle_toggle(t); t->upcall(session, t, reason); - t->callback(session,t->value, (int) reason); - notify_toggle_changed(session, ix, t->value, reason); + if(session->update_toggle) + session->update_toggle(session,ix,t->value,reason,toggle_names[ix]); + +// notify_toggle_changed(session, ix, t->value, reason); } diff --git a/latest/src/lib/trace_ds.c b/latest/src/lib/trace_ds.c index 3334485..bd72668 100644 --- a/latest/src/lib/trace_ds.c +++ b/latest/src/lib/trace_ds.c @@ -61,7 +61,7 @@ #include "charsetc.h" #include "childc.h" #include "ctlrc.h" -#include "menubarc.h" +// #include "menubarc.h" #include "popupsc.h" #include "printc.h" #include "savec.h" @@ -270,8 +270,7 @@ wtrace(const char *fmt, ...) } } -static void -stop_tracing(void) +static void stop_tracing(void) { if (tracef != NULL && tracef != stdout) (void) fclose(tracef); @@ -280,14 +279,20 @@ stop_tracing(void) (void) fclose(tracef_pipe); tracef_pipe = NULL; } + + lib3270_set_toggle(&h3270,DS_TRACE,0); + lib3270_set_toggle(&h3270,EVENT_TRACE,0); + +/* if (toggled(DS_TRACE)) { toggle_toggle(&appres.toggle[DS_TRACE]); - menubar_retoggle(&appres.toggle[DS_TRACE]); +// menubar_retoggle(&appres.toggle[DS_TRACE]); } if (toggled(EVENT_TRACE)) { toggle_toggle(&appres.toggle[EVENT_TRACE]); - menubar_retoggle(&appres.toggle[EVENT_TRACE]); +// menubar_retoggle(&appres.toggle[EVENT_TRACE]); } +*/ } /* Check for a trace file rollover event. */ @@ -623,7 +628,7 @@ static void tracefile_callback(Widget w, XtPointer client_data, XtPointer call_d /* We're really tracing, turn the flag on. */ appres.toggle[trace_reason].value = True; // appres.toggle[trace_reason].changed = True; - menubar_retoggle(&appres.toggle[trace_reason]); +// menubar_retoggle(&appres.toggle[trace_reason]); /* Display current status. */ buf = create_tracefile_header("started"); @@ -857,7 +862,7 @@ screentrace_cb(char *tfn) /* We're really tracing, turn the flag on. */ appres.toggle[SCREEN_TRACE].value = True; // appres.toggle[SCREEN_TRACE].changed = True; - menubar_retoggle(&appres.toggle[SCREEN_TRACE]); +// menubar_retoggle(&appres.toggle[SCREEN_TRACE]); return True; } -- libgit2 0.21.2