diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-01-30 02:19:38 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-01-30 02:19:38 (GMT) |
commit | eacb69625d51707ac0a158815a53f71fb70968ce (patch) | |
tree | 8d14e34639f80a0955529604d9c0d3ccae4d7dde /src/editor.c | |
parent | 7bcec72d69c5350678ed6350636687c3c29bbc61 (diff) |
Provided a new working Project menu.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@230 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/editor.c')
-rw-r--r-- | src/editor.c | 197 |
1 files changed, 1 insertions, 196 deletions
diff --git a/src/editor.c b/src/editor.c index 68b9c28..728e7ca 100644 --- a/src/editor.c +++ b/src/editor.c @@ -52,7 +52,7 @@ #include "gtkext/gtkviewpanel.h" #include "debug/debugger.h" -#include "dialogs/add_shellcode.h" +//#include "dialogs/add_shellcode.h" #include "dialogs/binparts.h" #include "dialogs/export.h" #include "dialogs/plugins.h" @@ -90,21 +90,7 @@ 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 *); -/* Affiche la boîte d'ajout d'un binaire au projet courant. */ -void mcb_project_add_binary(GtkMenuItem *, gpointer); -/* Réagit au menu "Projet -> Ajouter un binaire -> Shellcode". */ -static void mcb_project_add_binary_shellcode(GtkMenuItem *, GObject *); - -/* Retire un binaire du projet courant. */ -void mcb_project_remove_binary(GtkMenuItem *, gpointer); - - - - - -/* Met à jour le contenu du menu 'Projet'. */ -void reload_menu_project(GObject *); /* Réagit avec le menu "Binaire -> Sélectionner les parties...". */ @@ -332,38 +318,6 @@ GtkWidget *create_editor(void) - /* Projet */ - - menuitem = gtk_menu_item_new_with_mnemonic(_("_Project")); - 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, _("Add a binary..."), G_CALLBACK(mcb_project_add_binary), result); - gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - - submenuitem = qck_create_menu_item(NULL, NULL, _("Add a binary"), NULL, NULL); - gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - - submenubar = gtk_menu_new(); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(submenuitem), submenubar); - - submenuitem = qck_create_menu_item(NULL, NULL, _("Shellcode"), G_CALLBACK(mcb_project_add_binary_shellcode), result); - gtk_container_add(GTK_CONTAINER(submenubar), submenuitem); - - submenuitem = qck_create_menu_item(G_OBJECT(result), "menu_prj_remove_bin", _("Remove a binary"), NULL, NULL); - gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - - submenubar = gtk_menu_new(); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(submenuitem), submenubar); - - submenuitem = qck_create_menu_separator(); - gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - - - menuitem = gtk_menu_item_new_with_mnemonic(_("_Binary")); gtk_widget_show(menuitem); gtk_container_add(GTK_CONTAINER(menuboard), menuitem); @@ -425,9 +379,6 @@ GtkWidget *create_editor(void) - menuitem = gtk_menu_item_new_with_mnemonic(_("_Plugins")); - gtk_widget_show(menuitem); - gtk_container_add(GTK_CONTAINER(menuboard), menuitem); @@ -574,8 +525,6 @@ GtkWidget *create_editor(void) - reload_menu_project(G_OBJECT(result)); - return result; @@ -867,97 +816,12 @@ void mcb_open_recent_project(GtkMenuItem *menuitem, GObject *ref) -/****************************************************************************** -* * -* Paramètres : menuitem = élément de menu sélectionné. * -* data = adresse de l'espace de référencement global. * -* * -* Description : Affiche la boîte d'ajout d'un binaire au projet courant. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void mcb_project_add_binary(GtkMenuItem *menuitem, gpointer data) -{ - GtkWidget *dialog; /* Boîte à afficher */ - 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); - - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) - { - filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - - binary = g_openida_binary_new_from_file(filename); - - if (binary != NULL) - { - g_study_project_attach_binary(get_current_project(), binary); - //reload_menu_project(G_OBJECT(data)); - } - - g_free(filename); - - } - - gtk_widget_destroy(dialog); - -} - - -/****************************************************************************** -* * -* Paramètres : menuitem = élément de menu sélectionné. * -* ref = adresse de l'espace de référencement global. * -* * -* Description : Réagit au menu "Projet -> Ajouter un binaire -> Shellcode". * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void mcb_project_add_binary_shellcode(GtkMenuItem *menuitem, GObject *ref) -{ - run_add_shellcode_assistant(get_current_project(), GTK_WINDOW(ref)); - -} - -/****************************************************************************** -* * -* Paramètres : menuitem = élément de menu sélectionné. * -* data = adresse de l'espace de référencement global. * -* * -* Description : Retire un binaire du projet courant. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ -void mcb_project_remove_binary(GtkMenuItem *menuitem, gpointer data) -{ - GOpenidaBinary *binary; /* Représentation chargée */ - binary = g_object_get_data(G_OBJECT(menuitem), "binary"); - g_study_project_detach_binary(get_current_project(), binary); - //unload_binary_file(binary); - //reload_menu_project(G_OBJECT(data)); -} @@ -966,65 +830,6 @@ void mcb_project_remove_binary(GtkMenuItem *menuitem, gpointer data) - - -/****************************************************************************** -* * -* Paramètres : ref = espace de référencements global. * -* * -* Description : Met à jour le contenu du menu 'Projet'. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void reload_menu_project(GObject *ref) -{ -#if 0 - GtkWidget *menuitem; /* Menu principal à compléter */ - GtkWidget *menubar; /* Support pour éléments */ - GList *list; /* Liste des éléments en place */ - GList *iter; /* Boucle de parcours #1 */ - size_t count; /* Nombre de binaires attachés */ - const GOpenidaBinary **binaries; /* Liste de ces binaires */ - size_t i; /* Boucle de parcours #2 */ - const char *desc; /* Description à afficher */ - GtkWidget *submenuitem; /* Sous-menu à ajouter */ - - menuitem = GTK_WIDGET(g_object_get_data(ref, "menu_prj_remove_bin")); - menubar = gtk_menu_item_get_submenu(GTK_MENU_ITEM(menuitem)); - - /* Remise à zéro */ - - list = gtk_container_get_children(GTK_CONTAINER(menubar)); - - for (iter = list; iter != NULL; iter = g_list_next(iter)) - gtk_container_remove(GTK_CONTAINER(menubar), GTK_WIDGET(iter->data)); - - g_list_free(list); - - /* Ajout des entrées */ - - binaries = get_openida_project_binaries(get_current_project(), &count); - - for (i = 0; i < count; i++) - { - desc = g_openida_binary_to_string(binaries[i]); - - submenuitem = qck_create_menu_item(NULL, NULL, desc, G_CALLBACK(mcb_project_remove_binary), ref); - g_object_set_data(G_OBJECT(submenuitem), "binary", binaries[i]); - gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - - } - - gtk_widget_set_sensitive(menuitem, count > 0); -#endif -} - - - /****************************************************************************** * * * Paramètres : menuitem = élément de menu sélectionné. * |