Commit 397032053791e9742fad4e105121099e681237d5

Authored by Perry Werneck
1 parent 126d58cf
Exists in master and in 1 other branch develop

Adjustments in the action object.

src/include/v3270/actions.h
@@ -138,16 +138,16 @@ @@ -138,16 +138,16 @@
138 GParamSpec * enabled; 138 GParamSpec * enabled;
139 } properties; 139 } properties;
140 140
141 - struct {  
142 - const GVariantType * state; ///> @brief State type.  
143 - const GVariantType * parameter; ///> @brief State type.  
144 - } type; 141 + void (*change_widget)(GAction *action, GtkWidget *from, GtkWidget *to);
145 142
146 - void (*change_widget)(GAction *action, GtkWidget *from, GtkWidget *to); 143 + const gchar * (*translate)(GAction *action, const gchar *text);
147 144
148 - gboolean (*get_enabled)(GAction *action, GtkWidget *terminal); 145 + const GVariantType * (*get_state_type)(GAction *object);
149 GVariant * (*get_state)(GAction *action, GtkWidget *terminal); 146 GVariant * (*get_state)(GAction *action, GtkWidget *terminal);
150 - const gchar * (*translate)(GAction *action, const gchar *text); 147 +
  148 + const GVariantType * (*get_parameter_type)(GAction *object);
  149 +
  150 + gboolean (*get_enabled)(GAction *action, GtkWidget *terminal);
151 151
152 const gchar * (*get_name)(GAction *action); 152 const gchar * (*get_name)(GAction *action);
153 const gchar * (*get_icon_name)(GAction *action); 153 const gchar * (*get_icon_name)(GAction *action);
src/terminal/actions/action.c
@@ -43,10 +43,12 @@ @@ -43,10 +43,12 @@
43 static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); 43 static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
44 static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); 44 static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
45 45
46 - static const gchar * get_icon_name(GAction *action);  
47 - static const gchar * get_label(GAction *action);  
48 - static const gchar * get_tooltip(GAction *action);  
49 - static const gchar * get_name(GAction *action); 46 + static const gchar * get_icon_name(GAction *action);
  47 + static const gchar * get_label(GAction *action);
  48 + static const gchar * get_tooltip(GAction *action);
  49 + static const gchar * get_name(GAction *action);
  50 + static const GVariantType * get_state_type(GAction *action);
  51 + static const GVariantType * get_parameter_type(GAction *object);
50 52
51 static void change_widget(GAction *action, GtkWidget *from, GtkWidget *to); 53 static void change_widget(GAction *action, GtkWidget *from, GtkWidget *to);
52 static void finalize(GObject *object); 54 static void finalize(GObject *object);
@@ -95,9 +97,8 @@ @@ -95,9 +97,8 @@
95 klass->get_icon_name = get_icon_name; 97 klass->get_icon_name = get_icon_name;
96 klass->get_label = get_label; 98 klass->get_label = get_label;
97 klass->get_tooltip = get_tooltip; 99 klass->get_tooltip = get_tooltip;
98 -  
99 - klass->type.state = NULL;  
100 - klass->type.parameter = NULL; 100 + klass->get_state_type = get_state_type;
  101 + klass->get_parameter_type = get_parameter_type;
101 102
102 object_class->finalize = finalize; 103 object_class->finalize = finalize;
103 object_class->get_property = get_property; 104 object_class->get_property = get_property;
@@ -267,7 +268,7 @@ @@ -267,7 +268,7 @@
267 } 268 }
268 269
269 void v3270_action_notify_state(GAction *action) { 270 void v3270_action_notify_state(GAction *action) {
270 - if(V3270_ACTION_GET_CLASS(action)->type.state) 271 + if(g_action_get_state_type(action))
271 g_idle_add((GSourceFunc) bg_notify_state, G_OBJECT(action)); 272 g_idle_add((GSourceFunc) bg_notify_state, G_OBJECT(action));
272 } 273 }
273 274
@@ -294,8 +295,7 @@ @@ -294,8 +295,7 @@
294 295
295 g_idle_add((GSourceFunc) bg_notify_enabled, G_OBJECT(action)); 296 g_idle_add((GSourceFunc) bg_notify_enabled, G_OBJECT(action));
296 297
297 - if(V3270_ACTION_GET_CLASS(action)->type.state)  
298 - g_idle_add((GSourceFunc) bg_notify_state, G_OBJECT(action)); 298 + v3270_action_notify_state(object);
299 299
300 } 300 }
301 301
@@ -405,9 +405,9 @@ @@ -405,9 +405,9 @@
405 405
406 GVariant * state = NULL; 406 GVariant * state = NULL;
407 407
408 - if(V3270_ACTION_GET_CLASS(object)->type.state) { 408 + if(g_action_get_state_type(object)) {
409 409
410 - GtkWidget * terminal = V3270_ACTION(object)->terminal; 410 + GtkWidget * terminal = V3270_ACTION(object)->terminal;
411 411
412 if(terminal) { 412 if(terminal) {
413 state = V3270_ACTION_GET_CLASS(object)->get_state(object,terminal); 413 state = V3270_ACTION_GET_CLASS(object)->get_state(object,terminal);
@@ -424,12 +424,13 @@ @@ -424,12 +424,13 @@
424 424
425 } 425 }
426 426
  427 +
427 const GVariantType * iface_get_parameter_type(GAction *object) { 428 const GVariantType * iface_get_parameter_type(GAction *object) {
428 - return V3270_ACTION_GET_CLASS(object)->type.parameter; 429 + return V3270_ACTION_GET_CLASS(object)->get_parameter_type(object);
429 } 430 }
430 431
431 const GVariantType * iface_get_state_type(GAction *object) { 432 const GVariantType * iface_get_state_type(GAction *object) {
432 - return V3270_ACTION_GET_CLASS(object)->type.state; 433 + return V3270_ACTION_GET_CLASS(object)->get_state_type(object);
433 } 434 }
434 435
435 GVariant * iface_get_state_hint(GAction G_GNUC_UNUSED(*object)) { 436 GVariant * iface_get_state_hint(GAction G_GNUC_UNUSED(*object)) {
@@ -515,3 +516,10 @@ @@ -515,3 +516,10 @@
515 return V3270_ACTION_GET_CLASS(action)->get_tooltip(action); 516 return V3270_ACTION_GET_CLASS(action)->get_tooltip(action);
516 } 517 }
517 518
  519 + const GVariantType * get_state_type(GAction G_GNUC_UNUSED(*object)) {
  520 + return NULL;
  521 + }
  522 +
  523 + const GVariantType * get_parameter_type(GAction G_GNUC_UNUSED(*object)) {
  524 + return NULL;
  525 + }
src/terminal/actions/pakey.c
@@ -82,8 +82,12 @@ @@ -82,8 +82,12 @@
82 82
83 } 83 }
84 84
  85 + static const GVariantType * get_parameter_type(GAction G_GNUC_UNUSED(*object)) {
  86 + return G_VARIANT_TYPE_UINT32;
  87 + }
  88 +
85 void Lib3270PaAction_class_init(Lib3270PaActionClass *klass) { 89 void Lib3270PaAction_class_init(Lib3270PaActionClass *klass) {
86 - klass->parent_class.type.parameter = G_VARIANT_TYPE_UINT32; 90 + klass->parent_class.get_parameter_type = get_parameter_type;
87 } 91 }
88 92
89 void Lib3270PaAction_init(Lib3270PaAction *action) { 93 void Lib3270PaAction_init(Lib3270PaAction *action) {
src/terminal/actions/pfkey.c
@@ -82,8 +82,12 @@ @@ -82,8 +82,12 @@
82 82
83 } 83 }
84 84
  85 + static const GVariantType * get_parameter_type(GAction G_GNUC_UNUSED(*object)) {
  86 + return G_VARIANT_TYPE_UINT32;
  87 + }
  88 +
85 void Lib3270PfAction_class_init(Lib3270PfActionClass *klass) { 89 void Lib3270PfAction_class_init(Lib3270PfActionClass *klass) {
86 - klass->parent_class.type.parameter = G_VARIANT_TYPE_UINT32; 90 + klass->parent_class.get_parameter_type = get_parameter_type;
87 } 91 }
88 92
89 void Lib3270PfAction_init(Lib3270PfAction *action) { 93 void Lib3270PfAction_init(Lib3270PfAction *action) {
src/terminal/actions/toggle.c
@@ -107,11 +107,15 @@ @@ -107,11 +107,15 @@
107 107
108 } 108 }
109 109
  110 + static const GVariantType * get_state_type(GAction G_GNUC_UNUSED(*object)) {
  111 + return G_VARIANT_TYPE_BOOLEAN;
  112 + }
  113 +
110 void Lib3270ToggleAction_class_init(Lib3270ToggleActionClass *klass) { 114 void Lib3270ToggleAction_class_init(Lib3270ToggleActionClass *klass) {
111 115
112 klass->parent_class.change_widget = change_widget; 116 klass->parent_class.change_widget = change_widget;
113 - klass->parent_class.type.state = G_VARIANT_TYPE_BOOLEAN;  
114 klass->parent_class.get_state = get_state; 117 klass->parent_class.get_state = get_state;
  118 + klass->parent_class.get_state_type = get_state_type;
115 119
116 } 120 }
117 121