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. | ... | ... |