summaryrefslogtreecommitdiff
path: root/src/editor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-11-18 23:20:16 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-11-18 23:20:16 (GMT)
commit783e5e1977c1e4dadf938befa9fce9a311079413 (patch)
tree995423e1069e31db4fe0517fb9a45432dafceb6d /src/editor.c
parent26d75963fba34d8e5a5b9a6186604110552f3a38 (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.c69
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)
{