Commit ff320ce9aea75920cb900773681c71daa9d09131
1 parent
3f46e593
Exists in
master
and in
3 other branches
Adding action groups (required for GAction implementatin).
Showing
2 changed files
with
99 additions
and
6 deletions
Show diff stats
src/core/actions/table.c
@@ -83,6 +83,8 @@ | @@ -83,6 +83,8 @@ | ||
83 | .label = N_( "_Connect" ) , | 83 | .label = N_( "_Connect" ) , |
84 | .summary = N_( "Connect to host." ), | 84 | .summary = N_( "Connect to host." ), |
85 | .activate = connect_host, | 85 | .activate = connect_host, |
86 | + | ||
87 | + .group = LIB3270_ACTION_GROUP_OFFLINE, | ||
86 | .activatable = lib3270_is_disconnected | 88 | .activatable = lib3270_is_disconnected |
87 | }, | 89 | }, |
88 | 90 | ||
@@ -93,6 +95,8 @@ | @@ -93,6 +95,8 @@ | ||
93 | .label = N_( "_Disconnect" ), | 95 | .label = N_( "_Disconnect" ), |
94 | .summary = N_( "Disconnect from host." ), | 96 | .summary = N_( "Disconnect from host." ), |
95 | .activate = lib3270_disconnect, | 97 | .activate = lib3270_disconnect, |
98 | + | ||
99 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
96 | .activatable = lib3270_is_connected | 100 | .activatable = lib3270_is_connected |
97 | }, | 101 | }, |
98 | 102 | ||
@@ -106,6 +110,8 @@ | @@ -106,6 +110,8 @@ | ||
106 | .label = NULL, | 110 | .label = NULL, |
107 | .summary = N_( "Cursor up 1 position." ), | 111 | .summary = N_( "Cursor up 1 position." ), |
108 | .activate = lib3270_cursor_up, | 112 | .activate = lib3270_cursor_up, |
113 | + | ||
114 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
109 | .activatable = lib3270_is_connected | 115 | .activatable = lib3270_is_connected |
110 | }, | 116 | }, |
111 | 117 | ||
@@ -116,6 +122,8 @@ | @@ -116,6 +122,8 @@ | ||
116 | .label = NULL, | 122 | .label = NULL, |
117 | .summary = N_( "Cursor down 1 position." ), | 123 | .summary = N_( "Cursor down 1 position." ), |
118 | .activate = lib3270_cursor_down, | 124 | .activate = lib3270_cursor_down, |
125 | + | ||
126 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
119 | .activatable = lib3270_is_connected | 127 | .activatable = lib3270_is_connected |
120 | }, | 128 | }, |
121 | 129 | ||
@@ -126,6 +134,8 @@ | @@ -126,6 +134,8 @@ | ||
126 | .label = NULL, | 134 | .label = NULL, |
127 | .summary = N_( "Cursor left 1 position." ), | 135 | .summary = N_( "Cursor left 1 position." ), |
128 | .activate = lib3270_cursor_left, | 136 | .activate = lib3270_cursor_left, |
137 | + | ||
138 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
129 | .activatable = lib3270_is_connected | 139 | .activatable = lib3270_is_connected |
130 | }, | 140 | }, |
131 | 141 | ||
@@ -136,6 +146,8 @@ | @@ -136,6 +146,8 @@ | ||
136 | .label = NULL, | 146 | .label = NULL, |
137 | .summary = N_( "Cursor right 1 position." ), | 147 | .summary = N_( "Cursor right 1 position." ), |
138 | .activate = lib3270_cursor_right, | 148 | .activate = lib3270_cursor_right, |
149 | + | ||
150 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
139 | .activatable = lib3270_is_connected | 151 | .activatable = lib3270_is_connected |
140 | }, | 152 | }, |
141 | 153 | ||
@@ -146,6 +158,8 @@ | @@ -146,6 +158,8 @@ | ||
146 | .label = NULL, | 158 | .label = NULL, |
147 | .summary = N_( "Cursor to first field on next line or any lines after that." ), | 159 | .summary = N_( "Cursor to first field on next line or any lines after that." ), |
148 | .activate = lib3270_newline, | 160 | .activate = lib3270_newline, |
161 | + | ||
162 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
149 | .activatable = lib3270_is_connected | 163 | .activatable = lib3270_is_connected |
150 | }, | 164 | }, |
151 | 165 | ||
@@ -156,6 +170,8 @@ | @@ -156,6 +170,8 @@ | ||
156 | .label = NULL, | 170 | .label = NULL, |
157 | .summary = N_( "Cursor to previous word." ), | 171 | .summary = N_( "Cursor to previous word." ), |
158 | .activate = lib3270_previousword, | 172 | .activate = lib3270_previousword, |
173 | + | ||
174 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
159 | .activatable = lib3270_is_connected | 175 | .activatable = lib3270_is_connected |
160 | }, | 176 | }, |
161 | 177 | ||
@@ -166,6 +182,8 @@ | @@ -166,6 +182,8 @@ | ||
166 | .label = NULL, | 182 | .label = NULL, |
167 | .summary = N_( "Cursor to next unprotected word." ), | 183 | .summary = N_( "Cursor to next unprotected word." ), |
168 | .activate = lib3270_nextword, | 184 | .activate = lib3270_nextword, |
185 | + | ||
186 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
169 | .activatable = lib3270_is_connected | 187 | .activatable = lib3270_is_connected |
170 | }, | 188 | }, |
171 | 189 | ||
@@ -179,6 +197,8 @@ | @@ -179,6 +197,8 @@ | ||
179 | .label = NULL, | 197 | .label = NULL, |
180 | .summary = N_( "Save screen." ), | 198 | .summary = N_( "Save screen." ), |
181 | .activate = save_all, | 199 | .activate = save_all, |
200 | + | ||
201 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
182 | .activatable = lib3270_is_connected | 202 | .activatable = lib3270_is_connected |
183 | }, | 203 | }, |
184 | 204 | ||
@@ -189,6 +209,8 @@ | @@ -189,6 +209,8 @@ | ||
189 | .label = NULL, | 209 | .label = NULL, |
190 | .summary = N_( "Save selected area." ), | 210 | .summary = N_( "Save selected area." ), |
191 | .activate = save_selected, | 211 | .activate = save_selected, |
212 | + | ||
213 | + .group = LIB3270_ACTION_GROUP_SELECTION, | ||
192 | .activatable = lib3270_has_selection | 214 | .activatable = lib3270_has_selection |
193 | }, | 215 | }, |
194 | 216 | ||
@@ -199,6 +221,8 @@ | @@ -199,6 +221,8 @@ | ||
199 | .label = NULL, | 221 | .label = NULL, |
200 | .summary = NULL, | 222 | .summary = NULL, |
201 | .activate = save_copy, | 223 | .activate = save_copy, |
224 | + | ||
225 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
202 | .activatable = lib3270_is_connected | 226 | .activatable = lib3270_is_connected |
203 | }, | 227 | }, |
204 | 228 | ||
@@ -209,6 +233,8 @@ | @@ -209,6 +233,8 @@ | ||
209 | .label = NULL, | 233 | .label = NULL, |
210 | .summary = N_( "Paste file." ), | 234 | .summary = N_( "Paste file." ), |
211 | .activate = paste_file, | 235 | .activate = paste_file, |
236 | + | ||
237 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
212 | .activatable = lib3270_is_connected | 238 | .activatable = lib3270_is_connected |
213 | }, | 239 | }, |
214 | 240 | ||
@@ -222,6 +248,8 @@ | @@ -222,6 +248,8 @@ | ||
222 | .label = N_( "Select all" ), | 248 | .label = N_( "Select all" ), |
223 | .summary = NULL, | 249 | .summary = NULL, |
224 | .activate = lib3270_select_all, | 250 | .activate = lib3270_select_all, |
251 | + | ||
252 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
225 | .activatable = lib3270_is_connected | 253 | .activatable = lib3270_is_connected |
226 | }, | 254 | }, |
227 | 255 | ||
@@ -232,6 +260,8 @@ | @@ -232,6 +260,8 @@ | ||
232 | .label = N_( "Remove selection" ), | 260 | .label = N_( "Remove selection" ), |
233 | .summary = N_( "Remove selection" ), | 261 | .summary = N_( "Remove selection" ), |
234 | .activate = lib3270_unselect, | 262 | .activate = lib3270_unselect, |
263 | + | ||
264 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
235 | .activatable = lib3270_has_selection | 265 | .activatable = lib3270_has_selection |
236 | }, | 266 | }, |
237 | 267 | ||
@@ -242,6 +272,8 @@ | @@ -242,6 +272,8 @@ | ||
242 | .label = N_( "Reselect" ), | 272 | .label = N_( "Reselect" ), |
243 | .summary = N_( "Reselect"), | 273 | .summary = N_( "Reselect"), |
244 | .activate = lib3270_reselect, | 274 | .activate = lib3270_reselect, |
275 | + | ||
276 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
245 | .activatable = lib3270_is_connected | 277 | .activatable = lib3270_is_connected |
246 | }, | 278 | }, |
247 | 279 | ||
@@ -255,6 +287,8 @@ | @@ -255,6 +287,8 @@ | ||
255 | .label = N_( "Select field" ), | 287 | .label = N_( "Select field" ), |
256 | .summary = N_( "Select Field" ), | 288 | .summary = N_( "Select Field" ), |
257 | .activate = lib3270_select_field, | 289 | .activate = lib3270_select_field, |
290 | + | ||
291 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
258 | .activatable = lib3270_is_formatted | 292 | .activatable = lib3270_is_formatted |
259 | }, | 293 | }, |
260 | 294 | ||
@@ -266,6 +300,8 @@ | @@ -266,6 +300,8 @@ | ||
266 | .label = NULL, | 300 | .label = NULL, |
267 | .summary = N_( "Move the cursor to the first blank after the last nonblank in the field." ), | 301 | .summary = N_( "Move the cursor to the first blank after the last nonblank in the field." ), |
268 | .activate = lib3270_fieldend, | 302 | .activate = lib3270_fieldend, |
303 | + | ||
304 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
269 | .activatable = lib3270_is_formatted | 305 | .activatable = lib3270_is_formatted |
270 | }, | 306 | }, |
271 | 307 | ||
@@ -276,6 +312,8 @@ | @@ -276,6 +312,8 @@ | ||
276 | .label = NULL, | 312 | .label = NULL, |
277 | .summary = N_( "Move to first unprotected field on screen." ), | 313 | .summary = N_( "Move to first unprotected field on screen." ), |
278 | .activate = lib3270_firstfield, | 314 | .activate = lib3270_firstfield, |
315 | + | ||
316 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
279 | .activatable = lib3270_is_formatted | 317 | .activatable = lib3270_is_formatted |
280 | }, | 318 | }, |
281 | 319 | ||
@@ -286,6 +324,8 @@ | @@ -286,6 +324,8 @@ | ||
286 | .label = NULL, | 324 | .label = NULL, |
287 | .summary = N_( "Tab forward to next field." ), | 325 | .summary = N_( "Tab forward to next field." ), |
288 | .activate = lib3270_nextfield, | 326 | .activate = lib3270_nextfield, |
327 | + | ||
328 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
289 | .activatable = lib3270_is_formatted | 329 | .activatable = lib3270_is_formatted |
290 | }, | 330 | }, |
291 | 331 | ||
@@ -296,6 +336,8 @@ | @@ -296,6 +336,8 @@ | ||
296 | .label = NULL, | 336 | .label = NULL, |
297 | .summary = N_( "Tab backward to previous field." ), | 337 | .summary = N_( "Tab backward to previous field." ), |
298 | .activate = lib3270_previousfield, | 338 | .activate = lib3270_previousfield, |
339 | + | ||
340 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
299 | .activatable = lib3270_is_formatted | 341 | .activatable = lib3270_is_formatted |
300 | }, | 342 | }, |
301 | 343 | ||
@@ -310,6 +352,8 @@ | @@ -310,6 +352,8 @@ | ||
310 | .label = NULL, | 352 | .label = NULL, |
311 | .summary = N_( "Backspaces the cursor until it hits the front of a word." ), | 353 | .summary = N_( "Backspaces the cursor until it hits the front of a word." ), |
312 | .activate = lib3270_deleteword, | 354 | .activate = lib3270_deleteword, |
355 | + | ||
356 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
313 | .activatable = lib3270_is_connected | 357 | .activatable = lib3270_is_connected |
314 | }, | 358 | }, |
315 | 359 | ||
@@ -320,6 +364,8 @@ | @@ -320,6 +364,8 @@ | ||
320 | .label = NULL, | 364 | .label = NULL, |
321 | .summary = N_( "Delete field" ), | 365 | .summary = N_( "Delete field" ), |
322 | .activate = lib3270_deletefield, | 366 | .activate = lib3270_deletefield, |
367 | + | ||
368 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
323 | .activatable = lib3270_is_formatted | 369 | .activatable = lib3270_is_formatted |
324 | }, | 370 | }, |
325 | 371 | ||
@@ -331,6 +377,8 @@ | @@ -331,6 +377,8 @@ | ||
331 | .label = NULL, | 377 | .label = NULL, |
332 | .summary = NULL, | 378 | .summary = NULL, |
333 | .activate = lib3270_eraseinput, | 379 | .activate = lib3270_eraseinput, |
380 | + | ||
381 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
334 | .activatable = lib3270_is_connected | 382 | .activatable = lib3270_is_connected |
335 | }, | 383 | }, |
336 | 384 | ||
@@ -341,6 +389,8 @@ | @@ -341,6 +389,8 @@ | ||
341 | .label = NULL, | 389 | .label = NULL, |
342 | .summary = N_( "Erase End Of Field Key." ), | 390 | .summary = N_( "Erase End Of Field Key." ), |
343 | .activate = lib3270_eraseeof, | 391 | .activate = lib3270_eraseeof, |
392 | + | ||
393 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
344 | .activatable = lib3270_is_formatted | 394 | .activatable = lib3270_is_formatted |
345 | }, | 395 | }, |
346 | 396 | ||
@@ -351,6 +401,8 @@ | @@ -351,6 +401,8 @@ | ||
351 | .label = NULL, | 401 | .label = NULL, |
352 | .summary = N_( "Erase End Of Line Key." ), | 402 | .summary = N_( "Erase End Of Line Key." ), |
353 | .activate = lib3270_eraseeol, | 403 | .activate = lib3270_eraseeol, |
404 | + | ||
405 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
354 | .activatable = lib3270_is_connected | 406 | .activatable = lib3270_is_connected |
355 | }, | 407 | }, |
356 | 408 | ||
@@ -361,6 +413,8 @@ | @@ -361,6 +413,8 @@ | ||
361 | .label = NULL, | 413 | .label = NULL, |
362 | .summary = NULL, | 414 | .summary = NULL, |
363 | .activate = lib3270_erase, | 415 | .activate = lib3270_erase, |
416 | + | ||
417 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
364 | .activatable = lib3270_is_connected | 418 | .activatable = lib3270_is_connected |
365 | }, | 419 | }, |
366 | 420 | ||
@@ -374,6 +428,8 @@ | @@ -374,6 +428,8 @@ | ||
374 | .label = NULL, | 428 | .label = NULL, |
375 | .summary = N_( "Send an \"Enter\" action." ), | 429 | .summary = N_( "Send an \"Enter\" action." ), |
376 | .activate = lib3270_enter, | 430 | .activate = lib3270_enter, |
431 | + | ||
432 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
377 | .activatable = lib3270_is_connected | 433 | .activatable = lib3270_is_connected |
378 | }, | 434 | }, |
379 | 435 | ||
@@ -385,6 +441,8 @@ | @@ -385,6 +441,8 @@ | ||
385 | .label = NULL, | 441 | .label = NULL, |
386 | .summary = NULL, | 442 | .summary = NULL, |
387 | .activate = lib3270_kybdreset, | 443 | .activate = lib3270_kybdreset, |
444 | + | ||
445 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
388 | .activatable = lib3270_is_connected | 446 | .activatable = lib3270_is_connected |
389 | }, | 447 | }, |
390 | 448 | ||
@@ -395,6 +453,8 @@ | @@ -395,6 +453,8 @@ | ||
395 | .label = NULL, | 453 | .label = NULL, |
396 | .summary = N_( "Clear AID key" ), | 454 | .summary = N_( "Clear AID key" ), |
397 | .activate = lib3270_clear, | 455 | .activate = lib3270_clear, |
456 | + | ||
457 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
398 | .activatable = lib3270_is_connected | 458 | .activatable = lib3270_is_connected |
399 | }, | 459 | }, |
400 | 460 | ||
@@ -406,6 +466,8 @@ | @@ -406,6 +466,8 @@ | ||
406 | .label = NULL, | 466 | .label = NULL, |
407 | .summary = NULL, | 467 | .summary = NULL, |
408 | .activate = lib3270_delete, | 468 | .activate = lib3270_delete, |
469 | + | ||
470 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
409 | .activatable = lib3270_is_connected | 471 | .activatable = lib3270_is_connected |
410 | }, | 472 | }, |
411 | 473 | ||
@@ -416,6 +478,8 @@ | @@ -416,6 +478,8 @@ | ||
416 | .label = NULL, | 478 | .label = NULL, |
417 | .summary = N_( "DUP key" ), | 479 | .summary = N_( "DUP key" ), |
418 | .activate = lib3270_dup, | 480 | .activate = lib3270_dup, |
481 | + | ||
482 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
419 | .activatable = lib3270_is_connected | 483 | .activatable = lib3270_is_connected |
420 | }, | 484 | }, |
421 | 485 | ||
@@ -426,6 +490,8 @@ | @@ -426,6 +490,8 @@ | ||
426 | .label = NULL, | 490 | .label = NULL, |
427 | .summary = N_( "FM key" ), | 491 | .summary = N_( "FM key" ), |
428 | .activate = lib3270_fieldmark, | 492 | .activate = lib3270_fieldmark, |
493 | + | ||
494 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
429 | .activatable = lib3270_is_connected | 495 | .activatable = lib3270_is_connected |
430 | }, | 496 | }, |
431 | 497 | ||
@@ -436,6 +502,8 @@ | @@ -436,6 +502,8 @@ | ||
436 | .label = NULL, | 502 | .label = NULL, |
437 | .summary = N_( "3270-style backspace." ), | 503 | .summary = N_( "3270-style backspace." ), |
438 | .activate = lib3270_backspace, | 504 | .activate = lib3270_backspace, |
505 | + | ||
506 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
439 | .activatable = lib3270_is_connected | 507 | .activatable = lib3270_is_connected |
440 | }, | 508 | }, |
441 | 509 | ||
@@ -446,6 +514,8 @@ | @@ -446,6 +514,8 @@ | ||
446 | .label = NULL, | 514 | .label = NULL, |
447 | .summary = N_( "ATTN key, per RFC 2355. Sends IP, regardless." ), | 515 | .summary = N_( "ATTN key, per RFC 2355. Sends IP, regardless." ), |
448 | .activate = lib3270_attn, | 516 | .activate = lib3270_attn, |
517 | + | ||
518 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
449 | .activatable = lib3270_is_connected | 519 | .activatable = lib3270_is_connected |
450 | }, | 520 | }, |
451 | 521 | ||
@@ -456,6 +526,8 @@ | @@ -456,6 +526,8 @@ | ||
456 | .label = NULL, | 526 | .label = NULL, |
457 | .summary = NULL, | 527 | .summary = NULL, |
458 | .activate = lib3270_break, | 528 | .activate = lib3270_break, |
529 | + | ||
530 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
459 | .activatable = lib3270_is_connected | 531 | .activatable = lib3270_is_connected |
460 | }, | 532 | }, |
461 | 533 | ||
@@ -466,6 +538,8 @@ | @@ -466,6 +538,8 @@ | ||
466 | .label = NULL, | 538 | .label = NULL, |
467 | .summary = NULL, | 539 | .summary = NULL, |
468 | .activate = lib3270_paste_next, | 540 | .activate = lib3270_paste_next, |
541 | + | ||
542 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
469 | .activatable = lib3270_is_connected | 543 | .activatable = lib3270_is_connected |
470 | }, | 544 | }, |
471 | 545 | ||
@@ -476,6 +550,8 @@ | @@ -476,6 +550,8 @@ | ||
476 | .label = NULL, | 550 | .label = NULL, |
477 | .summary = NULL, | 551 | .summary = NULL, |
478 | .activate = lib3270_sysreq, | 552 | .activate = lib3270_sysreq, |
553 | + | ||
554 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
479 | .activatable = lib3270_is_connected | 555 | .activatable = lib3270_is_connected |
480 | }, | 556 | }, |
481 | 557 | ||
@@ -490,6 +566,8 @@ | @@ -490,6 +566,8 @@ | ||
490 | .summary = N_("Send to print"), | 566 | .summary = N_("Send to print"), |
491 | .description = N_("If the terminal has selected area print it, if not, print all contents."), | 567 | .description = N_("If the terminal has selected area print it, if not, print all contents."), |
492 | .activate = lib3270_print, | 568 | .activate = lib3270_print, |
569 | + | ||
570 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
493 | .activatable = lib3270_is_connected | 571 | .activatable = lib3270_is_connected |
494 | }, | 572 | }, |
495 | 573 | ||
@@ -500,6 +578,8 @@ | @@ -500,6 +578,8 @@ | ||
500 | .label = NULL, | 578 | .label = NULL, |
501 | .summary = N_("Print screen contents"), | 579 | .summary = N_("Print screen contents"), |
502 | .activate = lib3270_print_all, | 580 | .activate = lib3270_print_all, |
581 | + | ||
582 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
503 | .activatable = lib3270_is_connected | 583 | .activatable = lib3270_is_connected |
504 | }, | 584 | }, |
505 | 585 | ||
@@ -510,6 +590,8 @@ | @@ -510,6 +590,8 @@ | ||
510 | .label = NULL, | 590 | .label = NULL, |
511 | .summary = N_( "Print selected area." ), | 591 | .summary = N_( "Print selected area." ), |
512 | .activate = lib3270_print_selected, | 592 | .activate = lib3270_print_selected, |
593 | + | ||
594 | + .group = LIB3270_ACTION_GROUP_SELECTION, | ||
513 | .activatable = lib3270_has_selection | 595 | .activatable = lib3270_has_selection |
514 | }, | 596 | }, |
515 | 597 | ||
@@ -520,6 +602,8 @@ | @@ -520,6 +602,8 @@ | ||
520 | .label = NULL, | 602 | .label = NULL, |
521 | .summary = N_("Print copy (if available)"), | 603 | .summary = N_("Print copy (if available)"), |
522 | .activate = lib3270_print_copy, | 604 | .activate = lib3270_print_copy, |
605 | + | ||
606 | + .group = LIB3270_ACTION_GROUP_ONLINE, | ||
523 | .activatable = lib3270_is_connected | 607 | .activatable = lib3270_is_connected |
524 | }, | 608 | }, |
525 | 609 | ||
@@ -534,6 +618,8 @@ | @@ -534,6 +618,8 @@ | ||
534 | .label = NULL, | 618 | .label = NULL, |
535 | .summary = NULL, | 619 | .summary = NULL, |
536 | .activate = lib3270_testpattern, | 620 | .activate = lib3270_testpattern, |
621 | + | ||
622 | + .group = LIB3270_ACTION_GROUP_OFFLINE, | ||
537 | .activatable = lib3270_is_disconnected | 623 | .activatable = lib3270_is_disconnected |
538 | }, | 624 | }, |
539 | 625 | ||
@@ -544,17 +630,13 @@ | @@ -544,17 +630,13 @@ | ||
544 | .label = NULL, | 630 | .label = NULL, |
545 | .summary = NULL, | 631 | .summary = NULL, |
546 | .activate = lib3270_charsettable, | 632 | .activate = lib3270_charsettable, |
633 | + | ||
634 | + .group = LIB3270_ACTION_GROUP_OFFLINE, | ||
547 | .activatable = lib3270_is_disconnected | 635 | .activatable = lib3270_is_disconnected |
548 | }, | 636 | }, |
549 | 637 | ||
550 | { | 638 | { |
551 | .name = NULL, | 639 | .name = NULL, |
552 | - .key = NULL, | ||
553 | - .icon = NULL, | ||
554 | - .label = NULL, | ||
555 | - .summary = NULL, | ||
556 | - .activate = NULL, | ||
557 | - .activatable = NULL | ||
558 | } | 640 | } |
559 | }; | 641 | }; |
560 | 642 |
src/include/lib3270/actions.h
@@ -33,10 +33,21 @@ | @@ -33,10 +33,21 @@ | ||
33 | extern "C" { | 33 | extern "C" { |
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | + typedef enum _lib3270_action_group | ||
37 | + { | ||
38 | + LIB3270_ACTION_GROUP_NONE, ///< @brief Simple action, no signals os special treatment. | ||
39 | + LIB3270_ACTION_GROUP_ONLINE, ///< @brief Action requires online state. | ||
40 | + LIB3270_ACTION_GROUP_OFFLINE, ///< @brief Action requires offline state. | ||
41 | + LIB3270_ACTION_GROUP_SELECTION, ///< @brief Action requires an active selection. | ||
42 | + LIB3270_ACTION_GROUP_UNSELECTED, ///< @brief Action fails if there has a selection. | ||
43 | + } LIB3270_ACTION_GROUP; | ||
44 | + | ||
36 | typedef struct _lib3270_action | 45 | typedef struct _lib3270_action |
37 | { | 46 | { |
38 | LIB3270_PROPERTY_HEAD | 47 | LIB3270_PROPERTY_HEAD |
39 | 48 | ||
49 | + LIB3270_ACTION_GROUP group; ///< @brief Action group. | ||
50 | + | ||
40 | int (*activate)(H3270 *hSession); ///< @brief lib3270 associated method. | 51 | int (*activate)(H3270 *hSession); ///< @brief lib3270 associated method. |
41 | int (*activatable)(const H3270 *hSession); ///< @brief Is the action activatable? | 52 | int (*activatable)(const H3270 *hSession); ///< @brief Is the action activatable? |
42 | 53 |