Commit e2cef7b423511b4487ec309495b9bea05b0ed55b
1 parent
8e0eafe5
Exists in
master
and in
5 other branches
Implementando toggles no objeto rexx
Showing
4 changed files
with
93 additions
and
0 deletions
Show diff stats
src/plugins/rx3270/rexx_methods.cc
| @@ -188,3 +188,83 @@ RexxMethod4(int, rx3270_method_cmp_text_at, CSELF, sessionPtr, int, row, int, co | @@ -188,3 +188,83 @@ RexxMethod4(int, rx3270_method_cmp_text_at, CSELF, sessionPtr, int, row, int, co | ||
| 188 | return rc; | 188 | return rc; |
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | +RexxMethod2(int, rx3270_method_event_trace, CSELF, sessionPtr, int, flag) | ||
| 192 | +{ | ||
| 193 | + rx3270 *hSession = (rx3270 *) sessionPtr; | ||
| 194 | + if(!hSession) | ||
| 195 | + return -1; | ||
| 196 | + hSession->set_toggle(LIB3270_TOGGLE_EVENT_TRACE,flag); | ||
| 197 | + return 0; | ||
| 198 | +} | ||
| 199 | + | ||
| 200 | +RexxMethod2(int, rx3270_method_screen_trace, CSELF, sessionPtr, int, flag) | ||
| 201 | +{ | ||
| 202 | + rx3270 *hSession = (rx3270 *) sessionPtr; | ||
| 203 | + if(!hSession) | ||
| 204 | + return -1; | ||
| 205 | + hSession->set_toggle(LIB3270_TOGGLE_SCREEN_TRACE,flag); | ||
| 206 | + return 0; | ||
| 207 | + | ||
| 208 | +} | ||
| 209 | + | ||
| 210 | +RexxMethod2(int, rx3270_method_data_trace, CSELF, sessionPtr, int, flag) | ||
| 211 | +{ | ||
| 212 | + rx3270 *hSession = (rx3270 *) sessionPtr; | ||
| 213 | + if(!hSession) | ||
| 214 | + return -1; | ||
| 215 | + hSession->set_toggle(LIB3270_TOGGLE_DS_TRACE,flag); | ||
| 216 | + return 0; | ||
| 217 | +} | ||
| 218 | + | ||
| 219 | +RexxMethod3(int, rx3270_method_set_toggle, CSELF, sessionPtr, CSTRING, name, int, flag) | ||
| 220 | +{ | ||
| 221 | + static const struct _toggle_info | ||
| 222 | + { | ||
| 223 | + const char * name; | ||
| 224 | + LIB3270_TOGGLE id; | ||
| 225 | + } | ||
| 226 | + toggle[LIB3270_TOGGLE_COUNT] = | ||
| 227 | + { | ||
| 228 | + { "monocase", LIB3270_TOGGLE_MONOCASE }, | ||
| 229 | + { "cursorblink", LIB3270_TOGGLE_CURSOR_BLINK }, | ||
| 230 | + { "showtiming", LIB3270_TOGGLE_SHOW_TIMING }, | ||
| 231 | + { "cursorpos", LIB3270_TOGGLE_CURSOR_POS }, | ||
| 232 | + { "dstrace", LIB3270_TOGGLE_DS_TRACE }, | ||
| 233 | + { "linewrap", LIB3270_TOGGLE_LINE_WRAP }, | ||
| 234 | + { "blankfill", LIB3270_TOGGLE_BLANK_FILL }, | ||
| 235 | + { "screentrace", LIB3270_TOGGLE_SCREEN_TRACE }, | ||
| 236 | + { "eventtrace", LIB3270_TOGGLE_EVENT_TRACE }, | ||
| 237 | + { "marginedpaste", LIB3270_TOGGLE_MARGINED_PASTE }, | ||
| 238 | + { "rectselect", LIB3270_TOGGLE_RECTANGLE_SELECT }, | ||
| 239 | + { "crosshair", LIB3270_TOGGLE_CROSSHAIR }, | ||
| 240 | + { "fullscreen", LIB3270_TOGGLE_FULL_SCREEN }, | ||
| 241 | + { "reconnect", LIB3270_TOGGLE_RECONNECT }, | ||
| 242 | + { "insert", LIB3270_TOGGLE_INSERT }, | ||
| 243 | + { "smartpaste", LIB3270_TOGGLE_SMART_PASTE }, | ||
| 244 | + { "bold", LIB3270_TOGGLE_BOLD }, | ||
| 245 | + { "keepselected", LIB3270_TOGGLE_KEEP_SELECTED }, | ||
| 246 | + { "underline", LIB3270_TOGGLE_UNDERLINE }, | ||
| 247 | + { "autoconnect", LIB3270_TOGGLE_CONNECT_ON_STARTUP }, | ||
| 248 | + { "kpalternative", LIB3270_TOGGLE_KP_ALTERNATIVE }, | ||
| 249 | + { "beep", LIB3270_TOGGLE_BEEP }, | ||
| 250 | + { "fieldattr", LIB3270_TOGGLE_VIEW_FIELD }, | ||
| 251 | + { "altscreen", LIB3270_TOGGLE_ALTSCREEN } | ||
| 252 | + }; | ||
| 253 | + | ||
| 254 | + rx3270 *hSession = (rx3270 *) sessionPtr; | ||
| 255 | + if(hSession) | ||
| 256 | + { | ||
| 257 | + for(int f = 0; f < LIB3270_TOGGLE_COUNT; f++) | ||
| 258 | + { | ||
| 259 | + if(!strcasecmp(name,toggle[f].name)) | ||
| 260 | + { | ||
| 261 | + hSession->set_toggle(toggle[f].id,flag); | ||
| 262 | + return 0; | ||
| 263 | + } | ||
| 264 | + } | ||
| 265 | + return ENOENT; | ||
| 266 | + } | ||
| 267 | + return -1; | ||
| 268 | +} | ||
| 269 | + | ||
| 270 | + |
src/plugins/rx3270/rx3270.cls
| @@ -53,6 +53,11 @@ | @@ -53,6 +53,11 @@ | ||
| 53 | ::METHOD PFKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pfkey" | 53 | ::METHOD PFKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pfkey" |
| 54 | ::METHOD PFKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pakey" | 54 | ::METHOD PFKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pakey" |
| 55 | 55 | ||
| 56 | +::METHOD OPTION EXTERNAL "LIBRARY rx3270 rx3270_method_set_toggle" | ||
| 57 | +::METHOD EVENTTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_event_trace" | ||
| 58 | +::METHOD SCREENTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_screen_trace" | ||
| 59 | +::METHOD DSTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_ds_trace" | ||
| 60 | + | ||
| 56 | ::METHOD GETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_get_text_at" | 61 | ::METHOD GETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_get_text_at" |
| 57 | ::METHOD SETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_set_text_at" | 62 | ::METHOD SETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_set_text_at" |
| 58 | ::METHOD CMPTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_cmp_text_at" | 63 | ::METHOD CMPTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_cmp_text_at" |
src/plugins/rx3270/rx3270.h
| @@ -85,6 +85,10 @@ | @@ -85,6 +85,10 @@ | ||
| 85 | REXX_METHOD_PROTOTYPE(rx3270_method_get_text_at); | 85 | REXX_METHOD_PROTOTYPE(rx3270_method_get_text_at); |
| 86 | REXX_METHOD_PROTOTYPE(rx3270_method_set_text_at); | 86 | REXX_METHOD_PROTOTYPE(rx3270_method_set_text_at); |
| 87 | REXX_METHOD_PROTOTYPE(rx3270_method_cmp_text_at); | 87 | REXX_METHOD_PROTOTYPE(rx3270_method_cmp_text_at); |
| 88 | + REXX_METHOD_PROTOTYPE(rx3270_method_event_trace); | ||
| 89 | + REXX_METHOD_PROTOTYPE(rx3270_method_screen_trace); | ||
| 90 | + REXX_METHOD_PROTOTYPE(rx3270_method_data_trace); | ||
| 91 | + REXX_METHOD_PROTOTYPE(rx3270_method_set_toggle); | ||
| 88 | 92 | ||
| 89 | /*---[ Globals ]---------------------------------------------------------------------------------------------*/ | 93 | /*---[ Globals ]---------------------------------------------------------------------------------------------*/ |
| 90 | 94 |
src/plugins/rx3270/rxapimain.cc
| @@ -126,6 +126,10 @@ RexxMethodEntry rx3270_methods[] = | @@ -126,6 +126,10 @@ RexxMethodEntry rx3270_methods[] = | ||
| 126 | REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ), | 126 | REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ), |
| 127 | REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ), | 127 | REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ), |
| 128 | REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ), | 128 | REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ), |
| 129 | + REXX_METHOD(rx3270_method_event_trace, rx3270_method_event_trace ), | ||
| 130 | + REXX_METHOD(rx3270_method_screen_trace, rx3270_method_screen_trace ), | ||
| 131 | + REXX_METHOD(rx3270_method_data_trace, rx3270_method_data_trace ), | ||
| 132 | + REXX_METHOD(rx3270_method_set_toggle, rx3270_method_set_toggle ), | ||
| 129 | 133 | ||
| 130 | REXX_LAST_METHOD() | 134 | REXX_LAST_METHOD() |
| 131 | }; | 135 | }; |