diff options
Diffstat (limited to 'src/editor.c')
-rw-r--r-- | src/editor.c | 136 |
1 files changed, 112 insertions, 24 deletions
diff --git a/src/editor.c b/src/editor.c index 60ec900..dc9f524 100644 --- a/src/editor.c +++ b/src/editor.c @@ -52,8 +52,8 @@ #include "binary.h" #include "dlg_sections.h" #include "easygtk.h" +#include "gtkbinview.h" #include "gtksnippet.h" -#include "gtkcodeview.h" #include "pan_strings.h" #include "pan_symbols.h" @@ -85,6 +85,11 @@ void mcb_file_save_project_as(GtkMenuItem *, gpointer); void mcb_open_recent_project(GtkMenuItem *, gpointer); +/* Réagit avec le menu "Affichage -> Vue textuelle". */ +void mcb_view_as_text(GtkCheckMenuItem *, gpointer); + +/* Réagit avec le menu "Affichage -> Vue graphique". */ +void mcb_view_as_graph(GtkCheckMenuItem *, gpointer); /* Réagit avec le menu "Affichage -> Adresse virtuelle". */ void mcb_view_vaddress(GtkCheckMenuItem *, gpointer); @@ -400,12 +405,14 @@ GtkWidget *create_editor(void) GtkWidget *menubar; /* Support pour éléments */ GtkWidget *submenuitem; /* Sous-élément de menu */ GtkWidget *submenubar; /* Support pour sous-éléments */ + GSList *rgroup; /* Groupe des boutons radio */ + GtkWidget *vbox1; GtkWidget *vpaned1; GtkWidget *hpaned1; GtkWidget *scrolledwindow2; - GtkWidget *textview2; + GtkWidget *snippet; GtkWidget *fixed1; GtkWidget *label1; GtkWidget *button2; @@ -434,7 +441,7 @@ GtkWidget *create_editor(void) GtkWidget *textview1; GtkWidget *statusbar1; - GtkWidget *codeview; + GtkWidget *binview; GtkWidget *panel; GtkWidget *_panel; @@ -509,6 +516,17 @@ GtkWidget *create_editor(void) menubar = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menubar); + submenuitem = qck_create_radio_menu_item(NULL, NULL, NULL, _("Text view"), G_CALLBACK(mcb_view_as_text), result); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + rgroup = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(submenuitem)); + + submenuitem = qck_create_radio_menu_item(NULL, NULL, rgroup, _("Graph view"), G_CALLBACK(mcb_view_as_graph), result); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + submenuitem = qck_create_menu_separator(); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + submenuitem = qck_create_check_menu_item(NULL, NULL, _("Virtual address"), G_CALLBACK(mcb_view_vaddress), result); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); @@ -568,22 +586,43 @@ GtkWidget *create_editor(void) gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow2, FALSE, TRUE); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(scrolledwindow2), GTK_SHADOW_IN); - codeview = gtk_codeview_new(); - g_object_set_data(G_OBJECT(result), "codeview", codeview); - //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), codeview); - gtk_container_add(GTK_CONTAINER(scrolledwindow2), codeview); - textview2 = gtk_snippet_new(); - gtk_widget_show(codeview); - gtk_snippet_set_sel(GTK_SNIPPET(textview2), 44); + + binview = gtk_binview_new(); + g_object_set_data(G_OBJECT(result), "binview", binview); + //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), binview); + //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview); + + + + snippet = gtk_snippet_new(); + gtk_widget_show(binview); + gtk_snippet_set_sel(GTK_SNIPPET(snippet), 44); /* - textview2 = gtk_text_view_new (); + snippet = gtk_text_view_new (); */ - gtk_widget_show (textview2); - /*gtk_container_add (GTK_CONTAINER (scrolledwindow2), textview2);*/ - //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), textview2); + gtk_widget_show (snippet); + /*gtk_container_add (GTK_CONTAINER (scrolledwindow2), snippet);*/ + //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), snippet); + + gtk_container_add(GTK_CONTAINER(binview), snippet); + + + + + + //binview = gtk_fixed_new(); + gtk_widget_show(binview); + //g_object_set_data(G_OBJECT(result), "binview", binview); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), binview); + //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview); + + + + + + - gtk_container_add(GTK_CONTAINER(codeview), textview2); fixed1 = gtk_fixed_new (); gtk_widget_show (fixed1); @@ -801,11 +840,11 @@ GtkWidget *create_editor(void) - + /* g_signal_connect ((gpointer) button1, "clicked", G_CALLBACK (on_button1_clicked), textview1); - + */ @@ -817,7 +856,7 @@ GtkWidget *create_editor(void) /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - fill_snippet(textview2, _panel, panel); + fill_snippet(snippet, _panel, panel); @@ -956,6 +995,55 @@ void mcb_open_recent_project(GtkMenuItem *menuitem, gpointer data) +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu ayant basculé. * +* data = adresse de l'espace de référencement global. * +* * +* Description : Réagit avec le menu "Affichage -> Vue textuelle". * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void mcb_view_as_text(GtkCheckMenuItem *menuitem, gpointer data) +{ + gboolean active; /* Etat de sélection du menu */ + + active = gtk_check_menu_item_get_active(menuitem); + + printf("View as text ? %d\n", active); + + +} + + +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu ayant basculé. * +* data = adresse de l'espace de référencement global. * +* * +* Description : Réagit avec le menu "Affichage -> Vue graphique". * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void mcb_view_as_graph(GtkCheckMenuItem *menuitem, gpointer data) +{ + gboolean active; /* Etat de sélection du menu */ + + active = gtk_check_menu_item_get_active(menuitem); + + printf("View as graph ? %d\n", active); + + +} + /****************************************************************************** * * @@ -972,13 +1060,13 @@ void mcb_open_recent_project(GtkMenuItem *menuitem, gpointer data) void mcb_view_vaddress(GtkCheckMenuItem *menuitem, gpointer data) { - GtkCodeview *codeview; /* Zone de code principale */ + GtkBinview *binview; /* Zone de code principale */ gboolean active; /* Etat de sélection du menu */ - codeview = GTK_CODE_VIEW(g_object_get_data(G_OBJECT(data), "codeview")); + binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview")); active = gtk_check_menu_item_get_active(menuitem); - gtk_codeview_show_vaddress(codeview, active); + gtk_binview_show_vaddress(binview, active); } @@ -998,13 +1086,13 @@ void mcb_view_vaddress(GtkCheckMenuItem *menuitem, gpointer data) void mcb_view_code(GtkCheckMenuItem *menuitem, gpointer data) { - GtkCodeview *codeview; /* Zone de code principale */ + GtkBinview *binview; /* Zone de code principale */ gboolean active; /* Etat de sélection du menu */ - codeview = GTK_CODE_VIEW(g_object_get_data(G_OBJECT(data), "codeview")); + binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview")); active = gtk_check_menu_item_get_active(menuitem); - gtk_codeview_show_code(codeview, active); + gtk_binview_show_code(binview, active); } |