Commit b2e581193f1e04ccd6088ad9caa84e324e013647
1 parent
21daedae
Exists in
master
and in
1 other branch
Adjustments in the v3270 action object.
Showing
2 changed files
with
13 additions
and
25 deletions
Show diff stats
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)) { |