summaryrefslogtreecommitdiff
path: root/src/editor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-03-21 18:54:20 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-03-21 18:54:20 (GMT)
commit8123d9342f92a2cf6fd999b350252c001f403092 (patch)
tree5030aa5d40fa8551937649cdd3377062ec8991d0 /src/editor.c
parenta6acb5629572e6da4d72f4419b01672c2ea5ddf2 (diff)
Allowed a simple export of an assembly content.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@144 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/editor.c')
-rw-r--r--src/editor.c49
1 files changed, 40 insertions, 9 deletions
diff --git a/src/editor.c b/src/editor.c
index 8291a2e..8f6428d 100644
--- a/src/editor.c
+++ b/src/editor.c
@@ -50,6 +50,7 @@
#include "debug/debuggers.h"
#include "dialogs/binparts.h"
+#include "dialogs/export.h"
#include "panels/panel.h"
@@ -86,8 +87,6 @@ void mcb_file_save_project(GtkMenuItem *, gpointer);
/* Réagit au menu "Fichier -> Enregistrer le projet sous...". */
void mcb_file_save_project_as(GtkMenuItem *, gpointer);
-
-
/* Charge un projet récent et met à jour la liste. */
void mcb_open_recent_project(GtkMenuItem *, GObject *);
@@ -118,6 +117,9 @@ 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 au menu "Binaire -> Exporter...". */
+static void mcb_binary_export(GtkMenuItem *, GObject *);
+
/*Réagit avec le menu "Débogage -> Démarrer". */
void mcb_debug_start(GtkCheckMenuItem *, gpointer);
@@ -326,6 +328,12 @@ GtkWidget *create_editor(void)
submenuitem = qck_create_menu_item(NULL, NULL, _("Select parts..."), G_CALLBACK(mcb_binary_select_parts), ref);
gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
+ submenuitem = qck_create_menu_separator();
+ gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
+
+ submenuitem = qck_create_menu_item(ref, "mnu_binary_export", _("Export..."), G_CALLBACK(mcb_binary_export), ref);
+ gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
+
menuitem = gtk_menu_item_new_with_mnemonic(_("_Debug"));
@@ -798,8 +806,6 @@ void mcb_file_save_project_as(GtkMenuItem *menuitem, gpointer data)
}
-
-
/******************************************************************************
* *
* Paramètres : menuitem = élément de menu sélectionné. *
@@ -960,11 +966,11 @@ void mcb_project_add_binary(GtkMenuItem *menuitem, gpointer data)
gchar *filename; /* Nom du fichier à intégrer */
GOpenidaBinary *binary; /* Représentation chargée */
- dialog = gtk_file_chooser_dialog_new (_("Open a binary file"), GTK_WINDOW(data),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
+ dialog = gtk_file_chooser_dialog_new(_("Open a binary file"), GTK_WINDOW(data),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
{
@@ -1105,6 +1111,31 @@ static void mcb_binary_select_parts(GtkMenuItem *menuitem, GObject *ref)
}
+/******************************************************************************
+* *
+* Paramètres : menuitem = élément de menu sélectionné. *
+* ref = adresse de l'espace de référencement global. *
+* *
+* Description : Réagit au menu "Binaire -> Exporter...". *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void mcb_binary_export(GtkMenuItem *menuitem, GObject *ref)
+{
+ GOpenidaBinary *binary; /* Edition courante */
+
+ binary = (GOpenidaBinary *)g_object_get_data(ref, "current_binary");
+
+ run_export_assistant(binary, GTK_WINDOW(ref));
+
+}
+
+
+
void debugger_stopped_cb(GBinaryDebugger *debugger, uint64_t last, uint64_t cur, gpointer data)
{