Commit b2e581193f1e04ccd6088ad9caa84e324e013647

Authored by Perry Werneck
1 parent 21daedae
Exists in master and in 1 other branch develop

Adjustments in the v3270 action object.

src/include/v3270/actions.h
@@ -128,12 +128,6 @@ @@ -128,12 +128,6 @@
128 /// @brief Activation method. 128 /// @brief Activation method.
129 void (*activate)(GAction *action, GVariant *parameter, GtkWidget *terminal); 129 void (*activate)(GAction *action, GVariant *parameter, GtkWidget *terminal);
130 130
131 - /// @brief Get State method.  
132 - GVariant * (*get_state_property)(GAction *action, GtkWidget *terminal);  
133 -  
134 - /// @brief Get state hint.  
135 - GVariant * (*get_state_hint)(GAction *action, GtkWidget *terminal);  
136 -  
137 } V3270Action; 131 } V3270Action;
138 132
139 typedef struct _V3270ActionClass { 133 typedef struct _V3270ActionClass {
@@ -148,6 +142,9 @@ @@ -148,6 +142,9 @@
148 void (*change_widget)(GAction *action, GtkWidget *from, GtkWidget *to); 142 void (*change_widget)(GAction *action, GtkWidget *from, GtkWidget *to);
149 gboolean (*get_enabled)(GAction *action, GtkWidget *terminal); 143 gboolean (*get_enabled)(GAction *action, GtkWidget *terminal);
150 144
  145 + GVariant * (*get_state)(GAction *action, GtkWidget *terminal);
  146 + GVariant * (*get_state_hint)(GAction *action, GtkWidget *terminal);
  147 +
151 } V3270ActionClass; 148 } V3270ActionClass;
152 149
153 LIB3270_EXPORT GType V3270Action_get_type(void) G_GNUC_CONST; 150 LIB3270_EXPORT GType V3270Action_get_type(void) G_GNUC_CONST;
src/terminal/actions/action.c
@@ -53,9 +53,10 @@ @@ -53,9 +53,10 @@
53 static const GVariantType * get_state_type(GAction *action); 53 static const GVariantType * get_state_type(GAction *action);
54 static GVariant * get_state_property(GAction *action); 54 static GVariant * get_state_property(GAction *action);
55 55
56 - static GVariant * internal_get_state_property(GAction *action, GtkWidget *terminal);  
57 static gboolean internal_get_enabled(GAction *action, GtkWidget *terminal); 56 static gboolean internal_get_enabled(GAction *action, GtkWidget *terminal);
58 static void internal_activate(GAction *action, GVariant *parameter, GtkWidget *terminal); 57 static void internal_activate(GAction *action, GVariant *parameter, GtkWidget *terminal);
  58 +
  59 + static GVariant * internal_get_state(GAction *action, GtkWidget *terminal);
59 static GVariant * internal_get_state_hint(GAction *action, GtkWidget *terminal); 60 static GVariant * internal_get_state_hint(GAction *action, GtkWidget *terminal);
60 61
61 static const GVariantType * get_parameter_type(GAction *action); 62 static const GVariantType * get_parameter_type(GAction *action);
@@ -97,6 +98,9 @@ @@ -97,6 +98,9 @@
97 98
98 klass->change_widget = change_widget; 99 klass->change_widget = change_widget;
99 klass->get_enabled = internal_get_enabled; 100 klass->get_enabled = internal_get_enabled;
  101 + klass->get_state = internal_get_state;
  102 + klass->get_state_hint = internal_get_state_hint;
  103 +
100 104
101 object_class->finalize = finalize; 105 object_class->finalize = finalize;
102 object_class->get_property = get_property; 106 object_class->get_property = get_property;
@@ -187,8 +191,8 @@ @@ -187,8 +191,8 @@
187 action->types.parameter = NULL; 191 action->types.parameter = NULL;
188 192
189 action->activate = internal_activate; 193 action->activate = internal_activate;
190 - action->get_state_property = internal_get_state_property;  
191 - action->get_state_hint = internal_get_state_hint; 194 +// action->get_state_property = internal_get_state_property;
  195 +// action->get_state_hint = internal_get_state_hint;
192 196
193 } 197 }
194 198
@@ -262,7 +266,7 @@ @@ -262,7 +266,7 @@
262 return NULL; 266 return NULL;
263 } 267 }
264 268
265 - GVariant * internal_get_state_property(GAction *object, GtkWidget G_GNUC_UNUSED(*terminal)) { 269 + GVariant * internal_get_state(GAction *object, GtkWidget G_GNUC_UNUSED(*terminal)) {
266 270
267 V3270Action * action = V3270_ACTION(object); 271 V3270Action * action = V3270_ACTION(object);
268 272
@@ -273,19 +277,7 @@ @@ -273,19 +277,7 @@
273 } 277 }
274 278
275 GVariant * get_state_property(GAction *object) { 279 GVariant * get_state_property(GAction *object) {
276 -  
277 - V3270Action * action = V3270_ACTION(object);  
278 - GVariant * state;  
279 -  
280 - if(action->terminal)  
281 - state = action->get_state_property(object,action->terminal);  
282 - else  
283 - state = internal_get_state_property(object,NULL);  
284 -  
285 - if(state)  
286 - g_variant_ref(state);  
287 -  
288 - return state; 280 + return V3270_ACTION_GET_CLASS(object)->get_state(object,V3270_ACTION(object)->terminal);
289 } 281 }
290 282
291 const GVariantType * get_parameter_type(GAction *action) { 283 const GVariantType * get_parameter_type(GAction *action) {
@@ -297,8 +289,7 @@ @@ -297,8 +289,7 @@
297 } 289 }
298 290
299 GVariant * get_state_hint(GAction *object) { 291 GVariant * get_state_hint(GAction *object) {
300 - V3270Action *action = V3270_ACTION(object);  
301 - return action->get_state_hint(object,action->terminal); 292 + return V3270_ACTION_GET_CLASS(object)->get_state_hint(object,V3270_ACTION(object)->terminal);
302 } 293 }
303 294
304 void change_state(GAction G_GNUC_UNUSED(*object), GVariant G_GNUC_UNUSED(*value)) { 295 void change_state(GAction G_GNUC_UNUSED(*object), GVariant G_GNUC_UNUSED(*value)) {