Commit 5138be21e59e7c51610045bfb736840c0e59df24
1 parent
ecbf3ba6
Exists in
master
and in
3 other branches
Grouping property descriptors.
Showing
5 changed files
with
61 additions
and
42 deletions
Show diff stats
src/core/properties/boolean.c
... | ... | @@ -27,6 +27,11 @@ |
27 | 27 | * |
28 | 28 | */ |
29 | 29 | |
30 | + /** | |
31 | + * @brief Implements the boolean properties. | |
32 | + * | |
33 | + */ | |
34 | + | |
30 | 35 | #include <config.h> |
31 | 36 | #include <internals.h> |
32 | 37 | #include <string.h> |
... | ... | @@ -66,6 +71,7 @@ |
66 | 71 | |
67 | 72 | { |
68 | 73 | .name = "tso", // Property name. |
74 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
69 | 75 | .description = N_( "Non zero if the host is TSO." ), // Property description. |
70 | 76 | .get = lib3270_is_tso, // Get value. |
71 | 77 | .set = lib3270_set_tso // Set value. |
... | ... | @@ -73,6 +79,7 @@ |
73 | 79 | |
74 | 80 | { |
75 | 81 | .name = "as400", // Property name. |
82 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
76 | 83 | .description = N_( "Non zero if the host is AS400." ), // Property description. |
77 | 84 | .get = lib3270_is_as400, // Get value. |
78 | 85 | .set = lib3270_set_as400 // Set value. | ... | ... |
src/core/properties/string.c
... | ... | @@ -67,46 +67,50 @@ |
67 | 67 | }, |
68 | 68 | |
69 | 69 | { |
70 | - .name = "url", // Property name. | |
71 | - .icon = "network-server", // Property icon. | |
72 | - .description = N_( "URL of the current host" ), // Property description. | |
73 | - .get = lib3270_get_url, // Get value. | |
74 | - .set = lib3270_set_url // Set value. | |
70 | + .name = "url", // Property name. | |
71 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
72 | + .icon = "network-server", // Property icon. | |
73 | + .description = N_( "URL of the current host" ), // Property description. | |
74 | + .get = lib3270_get_url, // Get value. | |
75 | + .set = lib3270_set_url // Set value. | |
75 | 76 | }, |
76 | 77 | |
77 | 78 | { |
78 | - .name = "model", // Property name. | |
79 | - .description = N_( "Model name" ), // Property description. | |
80 | - .get = lib3270_get_model_name, // Get value. | |
81 | - .set = lib3270_set_model_name // Set value. | |
79 | + .name = "model", // Property name. | |
80 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
81 | + .description = N_( "Model name" ), // Property description. | |
82 | + .get = lib3270_get_model_name, // Get value. | |
83 | + .set = lib3270_set_model_name // Set value. | |
82 | 84 | }, |
83 | 85 | |
84 | 86 | { |
85 | - .name = "hosttype", // Property name. | |
86 | - .description = N_( "Host type name" ), // Property description. | |
87 | - .get = lib3270_get_host_type_name, // Get value. | |
88 | - .set = lib3270_set_host_type_by_name // Set value. | |
87 | + .name = "hosttype", // Property name. | |
88 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
89 | + .description = N_( "Host type name" ), // Property description. | |
90 | + .get = lib3270_get_host_type_name, // Get value. | |
91 | + .set = lib3270_set_host_type_by_name // Set value. | |
89 | 92 | }, |
90 | 93 | |
91 | 94 | { |
92 | - .name = "termtype", // Property name. | |
93 | - .description = N_( "Terminal type" ), // Property description. | |
94 | - .get = lib3270_get_termtype, // Get value. | |
95 | - .set = NULL // Set value. | |
95 | + .name = "termtype", // Property name. | |
96 | + .description = N_( "Terminal type" ), // Property description. | |
97 | + .get = lib3270_get_termtype, // Get value. | |
98 | + .set = NULL // Set value. | |
96 | 99 | }, |
97 | 100 | |
98 | 101 | { |
99 | - .name = "termname", // Property name. | |
100 | - .description = N_( "Terminal name" ), // Property description. | |
101 | - .get = lib3270_get_termname, // Get value. | |
102 | - .set = NULL // Set value. | |
102 | + .name = "termname", // Property name. | |
103 | + .description = N_( "Terminal name" ), // Property description. | |
104 | + .get = lib3270_get_termname, // Get value. | |
105 | + .set = NULL // Set value. | |
103 | 106 | }, |
104 | 107 | |
105 | 108 | { |
106 | - .name = "host_charset", // Property name. | |
107 | - .description = N_( "Host charset" ), // Property description. | |
108 | - .get = lib3270_get_host_charset, // Get value. | |
109 | - .set = lib3270_set_host_charset // Set value. | |
109 | + .name = "host_charset", // Property name. | |
110 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
111 | + .description = N_( "Host charset" ), // Property description. | |
112 | + .get = lib3270_get_host_charset, // Get value. | |
113 | + .set = lib3270_set_host_charset // Set value. | |
110 | 114 | }, |
111 | 115 | |
112 | 116 | { |
... | ... | @@ -132,6 +136,7 @@ |
132 | 136 | |
133 | 137 | { |
134 | 138 | .name = "crlpath", // Property name. |
139 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
135 | 140 | .description = N_( "URL for the certificate revocation list" ), // Property description. |
136 | 141 | .get = lib3270_get_crl_url, // Get value. |
137 | 142 | .set = lib3270_set_crl_url, // Set value. |
... | ... | @@ -139,6 +144,7 @@ |
139 | 144 | |
140 | 145 | { |
141 | 146 | .name = "crlprefer", // Property name. |
147 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
142 | 148 | .description = N_( "Prefered protocol for CRL" ), // Property description. |
143 | 149 | .get = lib3270_get_crl_prefered_protocol, // Get value. |
144 | 150 | .set = lib3270_set_crl_prefered_protocol, // Set value. |
... | ... | @@ -167,6 +173,7 @@ |
167 | 173 | |
168 | 174 | { |
169 | 175 | .name = "oversize", // Property name. |
176 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
170 | 177 | .description = N_( "Screen oversize if larger than the chosen model"), // Property description. |
171 | 178 | .get = lib3270_get_oversize, // Get value. |
172 | 179 | .set = lib3270_set_oversize // Set value. | ... | ... |
src/core/properties/unsigned.c
... | ... | @@ -60,14 +60,16 @@ |
60 | 60 | static const LIB3270_UINT_PROPERTY properties[] = { |
61 | 61 | |
62 | 62 | { |
63 | - .name = "color_type", // Property name. | |
64 | - .description = N_( "The color type" ), // Property description. | |
65 | - .get = lib3270_get_color_type, // Get value. | |
66 | - .set = lib3270_set_color_type // Set value. | |
63 | + .name = "color_type", // Property name. | |
64 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
65 | + .description = N_( "The color type" ), // Property description. | |
66 | + .get = lib3270_get_color_type, // Get value. | |
67 | + .set = lib3270_set_color_type // Set value. | |
67 | 68 | }, |
68 | 69 | |
69 | 70 | { |
70 | 71 | .name = "model_number", // Property name. |
72 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | |
71 | 73 | .icon = "video-display", // Property Icon. |
72 | 74 | .label = N_("Terminal model"), // Property label. |
73 | 75 | .description = N_( "The model number" ), // Property description. |
... | ... | @@ -80,6 +82,7 @@ |
80 | 82 | |
81 | 83 | { |
82 | 84 | .name = "cursor_address", // Property name. |
85 | + .group = LIB3270_ACTION_GROUP_ONLINE, // Property group. | |
83 | 86 | .description = N_( "Cursor address" ), // Property description. |
84 | 87 | .get = lib3270_get_cursor_address, // Get value. |
85 | 88 | .set = lib3270_set_cursor_address // Set value. | ... | ... |
src/include/lib3270.h
... | ... | @@ -359,12 +359,27 @@ |
359 | 359 | |
360 | 360 | #endif |
361 | 361 | |
362 | + /// @brief Action/property groups. | |
363 | + typedef enum _lib3270_action_group | |
364 | + { | |
365 | + LIB3270_ACTION_GROUP_NONE, ///< @brief Simple action, no signals os special treatment. | |
366 | + LIB3270_ACTION_GROUP_ONLINE, ///< @brief Action requires online state. | |
367 | + LIB3270_ACTION_GROUP_OFFLINE, ///< @brief Action requires offline state. | |
368 | + LIB3270_ACTION_GROUP_SELECTION, ///< @brief Action depends on selection. | |
369 | + LIB3270_ACTION_GROUP_LOCK_STATE, ///< @brief Action depends on keyboard lock state. | |
370 | + LIB3270_ACTION_GROUP_FORMATTED, ///< @brief Action depends on a formatted screen. | |
371 | + | |
372 | + LIB3270_ACTION_GROUP_CUSTOM ///< @brief Custom group/Number of groups. | |
373 | + } LIB3270_ACTION_GROUP; | |
374 | + | |
375 | + | |
362 | 376 | /** |
363 | 377 | * @brief Head for property descriptors. |
364 | 378 | * |
365 | 379 | */ |
366 | 380 | #define LIB3270_PROPERTY_HEAD \ |
367 | 381 | const char * name; \ |
382 | + LIB3270_ACTION_GROUP group; \ | |
368 | 383 | const char * label; \ |
369 | 384 | const char * icon; \ |
370 | 385 | const char * summary; \ | ... | ... |
src/include/lib3270/actions.h
... | ... | @@ -33,18 +33,6 @@ |
33 | 33 | extern "C" { |
34 | 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 depends on selection. | |
42 | - LIB3270_ACTION_GROUP_LOCK_STATE, ///< @brief Action depends on keyboard lock state. | |
43 | - LIB3270_ACTION_GROUP_FORMATTED, ///< @brief Action depends on a formatted screen. | |
44 | - | |
45 | - LIB3270_ACTION_GROUP_CUSTOM ///< @brief Custom group/Number of groups. | |
46 | - } LIB3270_ACTION_GROUP; | |
47 | - | |
48 | 36 | typedef enum _lib3270_action_type |
49 | 37 | { |
50 | 38 | LIB3270_ACTION_TYPE_GENERIC, ///< @brief Generic action. |
... | ... | @@ -61,7 +49,6 @@ |
61 | 49 | { |
62 | 50 | LIB3270_PROPERTY_HEAD |
63 | 51 | |
64 | - LIB3270_ACTION_GROUP group; ///< @brief Action group. | |
65 | 52 | LIB3270_ACTION_TYPE type; ///< @brief Action type. |
66 | 53 | |
67 | 54 | int (*activate)(H3270 *hSession); ///< @brief lib3270 associated method. | ... | ... |