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,6 +27,11 @@ | ||
27 | * | 27 | * |
28 | */ | 28 | */ |
29 | 29 | ||
30 | + /** | ||
31 | + * @brief Implements the boolean properties. | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
30 | #include <config.h> | 35 | #include <config.h> |
31 | #include <internals.h> | 36 | #include <internals.h> |
32 | #include <string.h> | 37 | #include <string.h> |
@@ -66,6 +71,7 @@ | @@ -66,6 +71,7 @@ | ||
66 | 71 | ||
67 | { | 72 | { |
68 | .name = "tso", // Property name. | 73 | .name = "tso", // Property name. |
74 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
69 | .description = N_( "Non zero if the host is TSO." ), // Property description. | 75 | .description = N_( "Non zero if the host is TSO." ), // Property description. |
70 | .get = lib3270_is_tso, // Get value. | 76 | .get = lib3270_is_tso, // Get value. |
71 | .set = lib3270_set_tso // Set value. | 77 | .set = lib3270_set_tso // Set value. |
@@ -73,6 +79,7 @@ | @@ -73,6 +79,7 @@ | ||
73 | 79 | ||
74 | { | 80 | { |
75 | .name = "as400", // Property name. | 81 | .name = "as400", // Property name. |
82 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
76 | .description = N_( "Non zero if the host is AS400." ), // Property description. | 83 | .description = N_( "Non zero if the host is AS400." ), // Property description. |
77 | .get = lib3270_is_as400, // Get value. | 84 | .get = lib3270_is_as400, // Get value. |
78 | .set = lib3270_set_as400 // Set value. | 85 | .set = lib3270_set_as400 // Set value. |
src/core/properties/string.c
@@ -67,46 +67,50 @@ | @@ -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,6 +136,7 @@ | ||
132 | 136 | ||
133 | { | 137 | { |
134 | .name = "crlpath", // Property name. | 138 | .name = "crlpath", // Property name. |
139 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
135 | .description = N_( "URL for the certificate revocation list" ), // Property description. | 140 | .description = N_( "URL for the certificate revocation list" ), // Property description. |
136 | .get = lib3270_get_crl_url, // Get value. | 141 | .get = lib3270_get_crl_url, // Get value. |
137 | .set = lib3270_set_crl_url, // Set value. | 142 | .set = lib3270_set_crl_url, // Set value. |
@@ -139,6 +144,7 @@ | @@ -139,6 +144,7 @@ | ||
139 | 144 | ||
140 | { | 145 | { |
141 | .name = "crlprefer", // Property name. | 146 | .name = "crlprefer", // Property name. |
147 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
142 | .description = N_( "Prefered protocol for CRL" ), // Property description. | 148 | .description = N_( "Prefered protocol for CRL" ), // Property description. |
143 | .get = lib3270_get_crl_prefered_protocol, // Get value. | 149 | .get = lib3270_get_crl_prefered_protocol, // Get value. |
144 | .set = lib3270_set_crl_prefered_protocol, // Set value. | 150 | .set = lib3270_set_crl_prefered_protocol, // Set value. |
@@ -167,6 +173,7 @@ | @@ -167,6 +173,7 @@ | ||
167 | 173 | ||
168 | { | 174 | { |
169 | .name = "oversize", // Property name. | 175 | .name = "oversize", // Property name. |
176 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
170 | .description = N_( "Screen oversize if larger than the chosen model"), // Property description. | 177 | .description = N_( "Screen oversize if larger than the chosen model"), // Property description. |
171 | .get = lib3270_get_oversize, // Get value. | 178 | .get = lib3270_get_oversize, // Get value. |
172 | .set = lib3270_set_oversize // Set value. | 179 | .set = lib3270_set_oversize // Set value. |
src/core/properties/unsigned.c
@@ -60,14 +60,16 @@ | @@ -60,14 +60,16 @@ | ||
60 | static const LIB3270_UINT_PROPERTY properties[] = { | 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 | .name = "model_number", // Property name. | 71 | .name = "model_number", // Property name. |
72 | + .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group. | ||
71 | .icon = "video-display", // Property Icon. | 73 | .icon = "video-display", // Property Icon. |
72 | .label = N_("Terminal model"), // Property label. | 74 | .label = N_("Terminal model"), // Property label. |
73 | .description = N_( "The model number" ), // Property description. | 75 | .description = N_( "The model number" ), // Property description. |
@@ -80,6 +82,7 @@ | @@ -80,6 +82,7 @@ | ||
80 | 82 | ||
81 | { | 83 | { |
82 | .name = "cursor_address", // Property name. | 84 | .name = "cursor_address", // Property name. |
85 | + .group = LIB3270_ACTION_GROUP_ONLINE, // Property group. | ||
83 | .description = N_( "Cursor address" ), // Property description. | 86 | .description = N_( "Cursor address" ), // Property description. |
84 | .get = lib3270_get_cursor_address, // Get value. | 87 | .get = lib3270_get_cursor_address, // Get value. |
85 | .set = lib3270_set_cursor_address // Set value. | 88 | .set = lib3270_set_cursor_address // Set value. |
src/include/lib3270.h
@@ -359,12 +359,27 @@ | @@ -359,12 +359,27 @@ | ||
359 | 359 | ||
360 | #endif | 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 | * @brief Head for property descriptors. | 377 | * @brief Head for property descriptors. |
364 | * | 378 | * |
365 | */ | 379 | */ |
366 | #define LIB3270_PROPERTY_HEAD \ | 380 | #define LIB3270_PROPERTY_HEAD \ |
367 | const char * name; \ | 381 | const char * name; \ |
382 | + LIB3270_ACTION_GROUP group; \ | ||
368 | const char * label; \ | 383 | const char * label; \ |
369 | const char * icon; \ | 384 | const char * icon; \ |
370 | const char * summary; \ | 385 | const char * summary; \ |
src/include/lib3270/actions.h
@@ -33,18 +33,6 @@ | @@ -33,18 +33,6 @@ | ||
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 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 | typedef enum _lib3270_action_type | 36 | typedef enum _lib3270_action_type |
49 | { | 37 | { |
50 | LIB3270_ACTION_TYPE_GENERIC, ///< @brief Generic action. | 38 | LIB3270_ACTION_TYPE_GENERIC, ///< @brief Generic action. |
@@ -61,7 +49,6 @@ | @@ -61,7 +49,6 @@ | ||
61 | { | 49 | { |
62 | LIB3270_PROPERTY_HEAD | 50 | LIB3270_PROPERTY_HEAD |
63 | 51 | ||
64 | - LIB3270_ACTION_GROUP group; ///< @brief Action group. | ||
65 | LIB3270_ACTION_TYPE type; ///< @brief Action type. | 52 | LIB3270_ACTION_TYPE type; ///< @brief Action type. |
66 | 53 | ||
67 | int (*activate)(H3270 *hSession); ///< @brief lib3270 associated method. | 54 | int (*activate)(H3270 *hSession); ///< @brief lib3270 associated method. |