diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-11-18 23:20:16 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-11-18 23:20:16 (GMT) |
commit | 783e5e1977c1e4dadf938befa9fce9a311079413 (patch) | |
tree | 995423e1069e31db4fe0517fb9a45432dafceb6d /src/editor.c | |
parent | 26d75963fba34d8e5a5b9a6186604110552f3a38 (diff) |
Saved the current work on binary parts selection.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@137 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/editor.c')
-rw-r--r-- | src/editor.c | 69 |
1 files changed, 42 insertions, 27 deletions
diff --git a/src/editor.c b/src/editor.c index 5cdd4df..eed0868 100644 --- a/src/editor.c +++ b/src/editor.c @@ -39,8 +39,8 @@ /** exemple GTK **/ +#include "project.h" -#include "dlg_sections.h" #include "analysis/binary.h" #include "gtkext/easygtk.h" #include "gtkext/gtkextstatusbar.h" @@ -49,6 +49,7 @@ #include "gtkext/gtkdockpanel.h" #include "debug/debuggers.h" +#include "dialogs/binparts.h" #include "panels/panel.h" @@ -106,15 +107,16 @@ void mcb_project_remove_binary(GtkMenuItem *, gpointer); -/* Affiche la boîte de sélection des sections. */ -void mcb_select_sections(GtkMenuItem *, gpointer); - /* Met à jour le contenu du menu 'Projet'. */ void reload_menu_project(GObject *); +/* Réagit avec le menu "Binaire -> Sélectionner les parties...". */ +static void mcb_binary_select_parts(GtkMenuItem *, GObject *); + + /*Réagit avec le menu "Débogage -> Démarrer". */ void mcb_debug_start(GtkCheckMenuItem *, gpointer); @@ -309,7 +311,16 @@ GtkWidget *create_editor(void) submenuitem = qck_create_menu_separator(); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - submenuitem = qck_create_menu_item(NULL, NULL, _("Select sections..."), G_CALLBACK(mcb_select_sections), NULL); + + + menuitem = gtk_menu_item_new_with_mnemonic(_("_Binary")); + gtk_widget_show(menuitem); + gtk_container_add(GTK_CONTAINER(menuboard), menuitem); + + menubar = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menubar); + + submenuitem = qck_create_menu_item(NULL, NULL, _("Select parts..."), G_CALLBACK(mcb_binary_select_parts), ref); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); @@ -932,28 +943,6 @@ void mcb_project_remove_binary(GtkMenuItem *menuitem, gpointer data) -/****************************************************************************** -* * -* Paramètres : menuitem = élément de menu sélectionné. * -* data = adresse de l'espace de référencement global. * -* * -* Description : Affiche la boîte de sélection des sections. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void mcb_select_sections(GtkMenuItem *menuitem, gpointer data) -{ - GtkWidget *dialog; /* Boîte de dialogue à montrer */ - - dialog = create_sections_dialog(create_empty_openida_project(G_OBJECT(data))/* FIXME */); - gtk_widget_show(dialog); - -} - @@ -1016,6 +1005,32 @@ void reload_menu_project(GObject *ref) +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu sélectionné. * +* ref = adresse de l'espace de référencement global. * +* * +* Description : Réagit avec le menu "Binaire -> Sélectionner les parties...".* +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +static void mcb_binary_select_parts(GtkMenuItem *menuitem, GObject *ref) +{ + GOpenidaBinary *binary; /* Binaire courant à l'écran */ + GtkWidget *dialog; /* Boîte de dialogue à montrer */ + + binary = G_OPENIDA_BINARY(g_object_get_data(ref, "current_binary")); + + dialog = create_sections_dialog(binary); + gtk_widget_show(dialog); + +} + + void debugger_stopped_cb(GBinaryDebugger *debugger, uint64_t last, uint64_t cur, gpointer data) { |