Commit aeb391fdd6aa3ad64aa28989a181475387a7d68a
1 parent
cce6667c
Exists in
master
Mais ajustes nos toggles para multi-sessao
Showing
7 changed files
with
59 additions
and
110 deletions
Show diff stats
latest/src/include/lib3270.h
... | ... | @@ -378,7 +378,7 @@ |
378 | 378 | * @return 0 if the toggle is disabled, non zero if enabled. |
379 | 379 | * |
380 | 380 | */ |
381 | - LIB3270_EXPORT unsigned char lib3270_get_toogle(H3270 *h, LIB3270_TOGGLE ix); | |
381 | + LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *h, LIB3270_TOGGLE ix); | |
382 | 382 | |
383 | 383 | /** |
384 | 384 | * Check if the active connection is secure. | ... | ... |
latest/src/include/lib3270/api.h
... | ... | @@ -586,7 +586,7 @@ |
586 | 586 | |
587 | 587 | LIB3270_EXPORT SCRIPT_STATE status_script(SCRIPT_STATE state); |
588 | 588 | |
589 | - #define Toggled(ix) lib3270_get_toogle(NULL,ix) | |
589 | + #define Toggled(ix) lib3270_get_toggle(NULL,ix) | |
590 | 590 | #define CallAndWait(c,h,p) lib3270_call_thread(c,h,p) |
591 | 591 | |
592 | 592 | LIB3270_EXPORT void RunPendingEvents(int wait); | ... | ... |
latest/src/lib/appres.h
... | ... | @@ -20,47 +20,7 @@ |
20 | 20 | * tcl3270. |
21 | 21 | */ |
22 | 22 | |
23 | -#if defined(LIB3270) | |
24 | - #include <lib3270/toggle.h> | |
25 | -#else | |
26 | - #define MONOCASE 0 | |
27 | - #define ALT_CURSOR 1 | |
28 | - #define CURSOR_BLINK 2 | |
29 | - #define SHOW_TIMING 3 | |
30 | - #define CURSOR_POS 4 | |
31 | - | |
32 | - #if defined(X3270_TRACE) /*[*/ | |
33 | - #define DS_TRACE 5 | |
34 | - #endif /*]*/ | |
35 | - | |
36 | - #define SCROLL_BAR 6 | |
37 | - | |
38 | - #if defined(X3270_ANSI) /*[*/ | |
39 | - #define LINE_WRAP 7 | |
40 | - #endif /*]*/ | |
41 | - | |
42 | - #define BLANK_FILL 8 | |
43 | - | |
44 | - #if defined(X3270_TRACE) /*[*/ | |
45 | - #define SCREEN_TRACE 9 | |
46 | - #define EVENT_TRACE 10 | |
47 | - #endif /*]*/ | |
48 | - | |
49 | - #define MARGINED_PASTE 11 | |
50 | - #define RECTANGLE_SELECT 12 | |
51 | - | |
52 | - #if defined(X3270_DISPLAY) /*[*/ | |
53 | - #define CROSSHAIR 13 | |
54 | - #define VISIBLE_CONTROL 14 | |
55 | - #endif /*]*/ | |
56 | - | |
57 | - #if defined(X3270_SCRIPT) || defined(TCL3270) /*[*/ | |
58 | - #define AID_WAIT 15 | |
59 | - #endif /*]*/ | |
60 | - | |
61 | - #define N_TOGGLES 16 | |
62 | - | |
63 | -#endif | |
23 | +#include <lib3270/toggle.h> | |
64 | 24 | |
65 | 25 | /* Toggles */ |
66 | 26 | |
... | ... | @@ -149,7 +109,8 @@ typedef struct { |
149 | 109 | char *compose_map; |
150 | 110 | char *printer_lu; |
151 | 111 | #endif /*]*/ |
152 | -#if defined(X3270_DISPLAY) /*[*/ | |
112 | +/* | |
113 | +#if defined(X3270_DISPLAY) | |
153 | 114 | char *efontname; |
154 | 115 | char *fixed_size; |
155 | 116 | char *debug_font; |
... | ... | @@ -168,11 +129,12 @@ typedef struct { |
168 | 129 | char *char_class; |
169 | 130 | int modified_sel_color; |
170 | 131 | int visual_select_color; |
171 | -#if defined(X3270_DBCS) /*[*/ | |
132 | +#if defined(X3270_DBCS) | |
172 | 133 | char *input_method; |
173 | 134 | char *preedit_type; |
174 | -#endif /*]*/ | |
175 | -#endif /*]*/ | |
135 | +#endif | |
136 | +#endif | |
137 | +*/ | |
176 | 138 | #if defined(X3270_DBCS) /*[*/ |
177 | 139 | char *local_encoding; |
178 | 140 | #endif /*]*/ |
... | ... | @@ -220,14 +182,14 @@ typedef struct { |
220 | 182 | |
221 | 183 | /* Toggles */ |
222 | 184 | struct toggle toggle[N_TOGGLES]; |
223 | - | |
224 | -#if defined(X3270_DISPLAY) /*[*/ | |
225 | - /* Simple widget resources */ | |
185 | +/* | |
186 | +#if defined(X3270_DISPLAY) | |
187 | + // Simple widget resources | |
226 | 188 | Cursor normal_mcursor; |
227 | 189 | Cursor wait_mcursor; |
228 | 190 | Cursor locked_mcursor; |
229 | -#endif /*]*/ | |
230 | - | |
191 | +#endif | |
192 | +*/ | |
231 | 193 | #if defined(X3270_ANSI) /*[*/ |
232 | 194 | /* Line-mode TTY parameters */ |
233 | 195 | char icrnl; | ... | ... |
latest/src/lib/globals.h
latest/src/lib/glue.c
... | ... | @@ -145,7 +145,7 @@ const char *toggle_names[N_TOGGLES] = |
145 | 145 | |
146 | 146 | void lib3270_session_free(H3270 *h) |
147 | 147 | { |
148 | - | |
148 | + shutdown_toggles(h,appres.toggle); | |
149 | 149 | } |
150 | 150 | |
151 | 151 | void lib3270_session_init(H3270 *hSession, const char *model) |
... | ... | @@ -284,7 +284,7 @@ static void initialize(void) |
284 | 284 | Trace("Initializing library (calls: %d)",init_calls); |
285 | 285 | #endif |
286 | 286 | |
287 | - initialize_toggles(); | |
287 | + initialize_toggles(&h3270,appres.toggle); | |
288 | 288 | |
289 | 289 | #if defined(_WIN32) |
290 | 290 | (void) get_version_info(); | ... | ... |
latest/src/lib/toggles.c
... | ... | @@ -84,7 +84,7 @@ LIB3270_EXPORT int lib3270_register_tchange(H3270 *h, LIB3270_TOGGLE_ID ix, void |
84 | 84 | return 0; |
85 | 85 | } |
86 | 86 | |
87 | -LIB3270_EXPORT unsigned char lib3270_get_toogle(H3270 *session, LIB3270_TOGGLE ix) | |
87 | +LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *session, LIB3270_TOGGLE ix) | |
88 | 88 | { |
89 | 89 | CHECK_SESSION_HANDLE(session); |
90 | 90 | |
... | ... | @@ -159,59 +159,43 @@ LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix) |
159 | 159 | /* |
160 | 160 | * Called from system initialization code to handle initial toggle settings. |
161 | 161 | */ |
162 | -void | |
163 | -initialize_toggles(void) | |
162 | +void initialize_toggles(H3270 *session, struct toggle *toggle) | |
164 | 163 | { |
165 | 164 | int f; |
166 | 165 | |
167 | -#if defined(LIB3270) | |
168 | 166 | for(f=0;f<N_TOGGLES;f++) |
169 | 167 | { |
170 | - appres.toggle[f].callback = no_callback; | |
171 | - appres.toggle[f].upcall = toggle_nop; | |
168 | + toggle[f].callback = no_callback; | |
169 | + toggle[f].upcall = toggle_nop; | |
172 | 170 | } |
171 | + | |
172 | +#if defined(X3270_TRACE) | |
173 | + toggle[DS_TRACE].upcall = toggle_dsTrace; | |
174 | + toggle[SCREEN_TRACE].upcall = toggle_screenTrace; | |
175 | + toggle[EVENT_TRACE].upcall = toggle_eventTrace; | |
173 | 176 | #endif |
174 | 177 | |
175 | -//#if defined(X3270_DISPLAY) || defined(C3270) /*[*/ | |
176 | -// appres.toggle[MONOCASE].upcall = toggle_monocase; | |
177 | -//#endif /*]*/ | |
178 | +#if defined(X3270_ANSI) | |
179 | + toggle[LINE_WRAP].upcall = toggle_lineWrap; | |
180 | +#endif | |
178 | 181 | |
179 | -#if defined(X3270_DISPLAY) /*[*/ | |
180 | - appres.toggle[ALT_CURSOR].upcall = toggle_altCursor; | |
181 | - appres.toggle[CURSOR_BLINK].upcall = toggle_cursorBlink; | |
182 | - appres.toggle[SHOW_TIMING].upcall = toggle_showTiming; | |
183 | - appres.toggle[CURSOR_POS].upcall = toggle_cursorPos; | |
184 | - appres.toggle[SCROLL_BAR].upcall = toggle_scrollBar; | |
185 | - appres.toggle[CROSSHAIR].upcall = toggle_crosshair; | |
186 | - appres.toggle[VISIBLE_CONTROL].upcall = toggle_visible_control; | |
187 | -#endif /*]*/ | |
188 | -#if defined(X3270_TRACE) /*[*/ | |
189 | - appres.toggle[DS_TRACE].upcall = toggle_dsTrace; | |
190 | - appres.toggle[SCREEN_TRACE].upcall = toggle_screenTrace; | |
191 | - appres.toggle[EVENT_TRACE].upcall = toggle_eventTrace; | |
192 | -#endif /*]*/ | |
193 | -#if defined(X3270_ANSI) /*[*/ | |
194 | - appres.toggle[LINE_WRAP].upcall = toggle_lineWrap; | |
195 | -#endif /*]*/ | |
182 | +#if defined(X3270_TRACE) | |
183 | + if(toggle[DS_TRACE].value) | |
184 | + toggle[DS_TRACE].upcall(&toggle[DS_TRACE],TT_INITIAL); | |
196 | 185 | |
197 | -#if defined(X3270_TRACE) /*[*/ | |
198 | - if (toggled(DS_TRACE)) | |
199 | - appres.toggle[DS_TRACE].upcall(&appres.toggle[DS_TRACE], | |
200 | - TT_INITIAL); | |
201 | - if (toggled(EVENT_TRACE)) | |
202 | - appres.toggle[EVENT_TRACE].upcall(&appres.toggle[EVENT_TRACE], | |
203 | - TT_INITIAL); | |
204 | - if (toggled(SCREEN_TRACE)) | |
205 | - appres.toggle[SCREEN_TRACE].upcall(&appres.toggle[SCREEN_TRACE], | |
206 | - TT_INITIAL); | |
207 | -#endif /*]*/ | |
186 | + if(toggle[EVENT_TRACE].value) | |
187 | + toggle[EVENT_TRACE].upcall(&toggle[EVENT_TRACE],TT_INITIAL); | |
188 | + | |
189 | + if(toggle[SCREEN_TRACE].value) | |
190 | + toggle[SCREEN_TRACE].upcall(&toggle[SCREEN_TRACE],TT_INITIAL); | |
191 | +#endif | |
208 | 192 | |
209 | 193 | #if defined(DEFAULT_TOGGLE_CURSOR_POS) |
210 | - appres.toggle[CURSOR_POS].value = True; | |
194 | + toggle[CURSOR_POS].value = True; | |
211 | 195 | #endif /*]*/ |
212 | 196 | |
213 | 197 | #if defined(DEFAULT_TOGGLE_RECTANGLE_SELECT) |
214 | - appres.toggle[RECTANGLE_SELECT].value = True; | |
198 | + toggle[RECTANGLE_SELECT].value = True; | |
215 | 199 | #endif |
216 | 200 | |
217 | 201 | } |
... | ... | @@ -219,26 +203,29 @@ initialize_toggles(void) |
219 | 203 | /* |
220 | 204 | * Called from system exit code to handle toggles. |
221 | 205 | */ |
222 | -void | |
223 | -shutdown_toggles(void) | |
206 | +void shutdown_toggles(H3270 *session, struct toggle *toggle) | |
224 | 207 | { |
225 | -#if defined(X3270_TRACE) /*[*/ | |
226 | - /* Clean up the data stream trace monitor window. */ | |
227 | - if (toggled(DS_TRACE)) { | |
228 | - appres.toggle[DS_TRACE].value = False; | |
229 | - toggle_dsTrace(&appres.toggle[DS_TRACE], TT_FINAL); | |
208 | +#if defined(X3270_TRACE) | |
209 | + // Clean up the data stream trace monitor window. | |
210 | + if(toggle[DS_TRACE].value) | |
211 | + { | |
212 | + toggle[DS_TRACE].value = False; | |
213 | + toggle_dsTrace(&toggle[DS_TRACE], TT_FINAL); | |
230 | 214 | } |
231 | - if (toggled(EVENT_TRACE)) { | |
232 | - appres.toggle[EVENT_TRACE].value = False; | |
233 | - toggle_dsTrace(&appres.toggle[EVENT_TRACE], TT_FINAL); | |
215 | + | |
216 | + if(toggle[EVENT_TRACE].value) | |
217 | + { | |
218 | + toggle[EVENT_TRACE].value = False; | |
219 | + toggle_dsTrace(&toggle[EVENT_TRACE], TT_FINAL); | |
234 | 220 | } |
235 | 221 | |
236 | - /* Clean up the screen trace file. */ | |
237 | - if (toggled(SCREEN_TRACE)) { | |
238 | - appres.toggle[SCREEN_TRACE].value = False; | |
239 | - toggle_screenTrace(&appres.toggle[SCREEN_TRACE], TT_FINAL); | |
222 | + // Clean up the screen trace file. | |
223 | + if (toggle[SCREEN_TRACE].value) | |
224 | + { | |
225 | + toggle[SCREEN_TRACE].value = False; | |
226 | + toggle_screenTrace(&toggle[SCREEN_TRACE], TT_FINAL); | |
240 | 227 | } |
241 | -#endif /*]*/ | |
228 | +#endif | |
242 | 229 | } |
243 | 230 | |
244 | 231 | LIB3270_EXPORT const char * get_3270_toggle_name(LIB3270_TOGGLE_ID ix) | ... | ... |
latest/src/lib/togglesc.h