diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-07-21 08:59:12 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-07-21 08:59:12 (GMT) |
commit | 29afd1e99c21e02d6a151907f5db393c3d3ef462 (patch) | |
tree | 5cab2a586a5b0da1940ee265b3b308e6124c7a3c | |
parent | 036689f13f9c2d08a91fdd26b9e8dffd252a7e09 (diff) |
Made the status stack more modular.
-rw-r--r-- | src/gtkext/gtkstatusstack.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gtkext/gtkstatusstack.c b/src/gtkext/gtkstatusstack.c index 1765eaf..e36c406 100644 --- a/src/gtkext/gtkstatusstack.c +++ b/src/gtkext/gtkstatusstack.c @@ -57,6 +57,8 @@ struct _GtkStatusStack GtkStack *main; /* Pile d'informations associée*/ + GSourceFunc def_source; /* Appel en fin d'activité */ + GObject *asm_ref; /* Espace de référencements #1 */ assembly_info *asm_info; /* Informations courantes #1 */ @@ -227,6 +229,8 @@ static void gtk_status_stack_init(GtkStatusStack *stack) gtk_widget_show(GTK_WIDGET(stack->main)); gtk_box_pack_start(GTK_BOX(stack), GTK_WIDGET(stack->main), TRUE, TRUE, 8); + stack->def_source = (GSourceFunc)gtk_status_stack_show_current_instruction; + layer = build_assembly_status_stack(stack); gtk_stack_add_named(stack->main, layer, "asm_info"); @@ -449,7 +453,7 @@ static void on_size_allocate_for_asm_status(GtkWidget *widget, GdkRectangle *all gtk_widget_set_size_request(hbox, (allocation->width * 40) / 100, -1); /** - * On intervient après que le containeur soit passer collecter les tailles + * On intervient après que le containeur soit passé collecter les tailles * de ses enfants lors de son redimensionnement. * * Donc on force un prise en compte des changements. @@ -647,6 +651,8 @@ static gboolean gtk_status_stack_show_current_instruction(GtkStatusStack *stack) char raw_pos[6 + VMPA_MAX_LEN + 1]; /* Formatage final en direct */ char *content; /* Contenu dynamique */ + stack->def_source = (GSourceFunc)gtk_status_stack_show_current_instruction; + gtk_stack_set_visible_child_name(stack->main, "asm_info"); ref = stack->asm_ref; @@ -1089,7 +1095,7 @@ void gtk_status_stack_remove_activity(GtkStatusStack *stack, activity_id_t id) if (info->count == 0) { info->tag = 0; - g_idle_add((GSourceFunc)gtk_status_stack_show_current_instruction, stack); + g_idle_add(stack->def_source, stack); } else info->tag = g_idle_add((GSourceFunc)gtk_status_stack_show_current_activity, stack); |