Commit 5138be21e59e7c51610045bfb736840c0e59df24

Authored by Perry Werneck
1 parent ecbf3ba6

Grouping property descriptors.

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