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 | }; |