diff options
Diffstat (limited to 'src/editor.c')
-rw-r--r-- | src/editor.c | 77 |
1 files changed, 22 insertions, 55 deletions
diff --git a/src/editor.c b/src/editor.c index 59401d9..a2741ab 100644 --- a/src/editor.c +++ b/src/editor.c @@ -47,6 +47,7 @@ #include "gtkext/gtkbinview.h" #include "gtkext/gtkblockview.h" #include "gtkext/gtkdockpanel.h" +#include "gtkext/gtkviewpanel.h" #include "debug/debugger.h" #include "dialogs/about.h" @@ -310,6 +311,13 @@ GtkWidget *create_editor(void) g_object_set_data(G_OBJECT(submenuitem), "kind_of_view", GUINT_TO_POINTER(BVW_GRAPH)); 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(ref, "sourceview", rgroup, _("Source code"), G_CALLBACK(mcb_view_change_support), result); + add_accelerator_to_menu_item(submenuitem, "F4", accgroup); + g_object_set_data(G_OBJECT(submenuitem), "kind_of_view", GUINT_TO_POINTER(BVW_SOURCE)); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + submenuitem = qck_create_menu_separator(); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); @@ -452,53 +460,6 @@ GtkWidget *create_editor(void) gtk_paned_pack1(GTK_PANED(hpaned1), dpanel, TRUE, TRUE); -#if 0 - - scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_widget_show (scrolledwindow2); - //gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow2, FALSE, TRUE); - - - ditem = g_dock_item_new(_("Binary code"), scrolledwindow2); - gtk_dock_panel_add_item(dpanel, ditem); - - - view = gtk_graph_view_new(); - g_object_set_data(G_OBJECT(result), "grahview", view); - //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), binview); - //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview); - - - view = gtk_binview_new(); - g_object_set_data(G_OBJECT(result), "binview", view); - - snippet = gtk_snippet_new(); - g_object_set_data(G_OBJECT(result), "snippet", snippet); - gtk_widget_show(view); - /* - snippet = gtk_text_view_new (); - */ - 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(view), snippet); - - - - - - //binview = gtk_fixed_new(); - gtk_widget_show(view); - //g_object_set_data(G_OBJECT(result), "binview", binview); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), view); - //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview); - - -#endif - - @@ -899,7 +860,7 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref) GSList *iter; /* Boucle de parcours */ BinaryView view; /* Nouvelle vue à présenter */ GOpenidaBinary *binary; /* Edition courante */ - GtkBinView *binview; /* Afficheur effectif de code */ + GtkViewPanel *pview; /* Afficheur effectif de code */ GtkWidget *panel; /* Nouveau support à utiliser */ GDockItem *ditem; /* Panneau avec ses infos. */ @@ -915,15 +876,15 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref) view = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(iter->data), "kind_of_view")); binary = (GOpenidaBinary *)g_object_get_data(ref, "current_binary"); - panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view, &binview); + panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view, &pview); - g_object_set_data(ref, "binview", binview); + g_object_set_data(ref, "current_view", pview); ditem = gtk_dock_panel_get_item_from_binary(get_current_openida_project(), binary); g_dock_item_set_panel(ditem, panel); - notify_panels_of_view_change(binview, true); + notify_panels_of_view_change(pview, true); } @@ -948,6 +909,9 @@ void mcb_view_vaddress(GtkCheckMenuItem *menuitem, gpointer data) GtkBinView *binview; /* Zone de code principale */ gboolean active; /* Etat de sélection du menu */ + /* FIXME : "binview" -> "current_view" */ + return; + binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview")); active = gtk_check_menu_item_get_active(menuitem); @@ -974,6 +938,9 @@ void mcb_view_code(GtkCheckMenuItem *menuitem, gpointer data) GtkBinView *binview; /* Zone de code principale */ gboolean active; /* Etat de sélection du menu */ + /* FIXME : "binview" -> "current_view" */ + return; + binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview")); active = gtk_check_menu_item_get_active(menuitem); @@ -1479,12 +1446,12 @@ static void on_dock_item_switch(GtkDockPanel *panel, GDockItem *item, GObject *r if (GTK_IS_VIEWPORT(widget)) widget = gtk_bin_get_child(GTK_BIN(widget)); - if (GTK_IS_BIN_VIEW(widget)) + if (GTK_IS_VIEW_PANEL(widget)) { /* Changement de binaire ? */ old_binary = G_OPENIDA_BINARY(g_object_get_data(ref, "current_binary")); - binary = gtk_bin_view_get_binary(GTK_BIN_VIEW(widget)); + binary = gtk_view_panel_get_binary(GTK_VIEW_PANEL(widget)); if (old_binary != binary) { @@ -1492,11 +1459,11 @@ static void on_dock_item_switch(GtkDockPanel *panel, GDockItem *item, GObject *r notify_panels_of_binary_change(binary); } - g_object_set_data(ref, "binview", widget); + g_object_set_data(ref, "current_view", widget); refresh_editor_menus(ref, binary, GTK_BIN_VIEW(widget)); - notify_panels_of_view_change(GTK_BIN_VIEW(widget), false); + notify_panels_of_view_change(GTK_VIEW_PANEL(widget), false); } |