diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-01-06 21:45:56 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-01-06 21:45:56 (GMT) |
commit | 8f1e49332cd81760c98166be9df79a7136f5ca57 (patch) | |
tree | da84c9dfa7c8767a15f2a4c7e31b60297bec0588 | |
parent | 9ab4df2596b48b6f4739fa99767863d395e24eac (diff) |
Reorganized the code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@45 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/easygtk.c | 39 | ||||
-rw-r--r-- | src/easygtk.h | 3 | ||||
-rw-r--r-- | src/editor.c | 136 | ||||
-rw-r--r-- | src/gtkbinview.c (renamed from src/gtkcodeview.c) | 46 | ||||
-rw-r--r-- | src/gtkbinview.h | 69 | ||||
-rw-r--r-- | src/gtkcodeview.h | 69 | ||||
-rw-r--r-- | src/pan_symbols.c | 8 |
9 files changed, 272 insertions, 121 deletions
@@ -1,3 +1,24 @@ +2009-01-06 Cyrille Bagard <nocbos@gmail.com> + + * src/easygtk.c: + * src/easygtk.h: + Add a function allowing to [quickly] create radio menu items. + + * src/editor.c: + Update code. + + * src/gtkbinview.c: + * src/gtkbinview.h: + * src/gtkcodeview.c: + * src/gtkcodeview.h: + New/old entries: rename gtkcodeview.[ch] into gtkbinview.[ch]. + + * src/Makefile.am: + Add gtkbinview.[ch] to openida_SOURCES and remove gtkcodeview.[ch]. + + * src/pan_symbols.c: + Update code. + 2008-12-23 Cyrille Bagard <nocbos@gmail.com> * src/arch/x86/instruction.h: diff --git a/src/Makefile.am b/src/Makefile.am index 2dec03f..24c955a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,8 +6,8 @@ openida_SOURCES = \ dlg_sections.h dlg_sections.c \ easygtk.h easygtk.c \ editor.c \ + gtkbinview.h gtkbinview.c \ gtksnippet.h gtksnippet.c \ - gtkcodeview.h gtkcodeview.c \ pan_strings.h pan_strings.c \ pan_symbols.h pan_symbols.c \ project.h project.c \ diff --git a/src/easygtk.c b/src/easygtk.c index d53b19e..04584b5 100644 --- a/src/easygtk.c +++ b/src/easygtk.c @@ -400,6 +400,45 @@ GtkWidget *qck_create_check_menu_item(GObject *object, const char *name, const c /****************************************************************************** * * +* Paramètres : object = espace dédié à l'inscription de références. * +* name = nom à donner au nouveau composant. * +* rgroup = groupe d'apparatenance pour les radios. * +* caption = intitulé du menu à créer. * +* handler = éventuelle fonction de sélection associée. * +* data = données à transmettre avec l'événement si besoin. * +* * +* Description : Crée et enregistre un composant 'GtkRadioMenuItem'. * +* * +* Retour : Simple élément de menu mis en place. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GtkWidget *qck_create_radio_menu_item(GObject *object, const char *name, GSList *rgroup, const char *caption, GCallback handler, gpointer data) +{ + GtkWidget *result; /* Résultat à renvoyer */ + + result = gtk_radio_menu_item_new_with_mnemonic(rgroup, caption); + + if (G_IS_OBJECT(object) && name != NULL) + { + gtk_widget_ref(result); + g_object_set_data_full(object, name, result, (GtkDestroyNotify)gtk_widget_unref); + } + + gtk_widget_show(result); + + if (handler != NULL) + g_signal_connect(result, "toggled", handler, data); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : - * * * * Description : Crée et enregistre un composant 'GtkSeparatorMenuItem'. * diff --git a/src/easygtk.h b/src/easygtk.h index 5104588..bde6332 100644 --- a/src/easygtk.h +++ b/src/easygtk.h @@ -62,6 +62,9 @@ GtkWidget *qck_create_menu_item(GObject *, const char *, const char *, GCallback /* Crée et enregistre un composant 'GtkCheckMenuItem'. */ GtkWidget *qck_create_check_menu_item(GObject *, const char *, const char *, GCallback, gpointer); +/* Crée et enregistre un composant 'GtkRadioMenuItem'. */ +GtkWidget *qck_create_radio_menu_item(GObject *, const char *, GSList *, const char *, GCallback, gpointer); + /* Crée et enregistre un composant 'GtkSeparatorMenuItem'. */ GtkWidget *qck_create_menu_separator(void); 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); } diff --git a/src/gtkcodeview.c b/src/gtkbinview.c index 78d3b24..5ed6388 100644 --- a/src/gtkcodeview.c +++ b/src/gtkbinview.c @@ -1,6 +1,6 @@ /* OpenIDA - Outil d'analyse de fichiers binaires - * gtkcodeview.c - affichage d'un ou de plusieurs morceaux de code + * gtkbinview.c - affichage d'un ou de plusieurs morceaux de code * * Copyright (C) 2008 Cyrille Bagard * @@ -21,7 +21,7 @@ */ -#include "gtkcodeview.h" +#include "gtkbinview.h" #include "gtksnippet.h" @@ -30,13 +30,13 @@ -struct _GtkCodeview +struct _GtkBinview { GtkViewport viewport; }; -struct _GtkCodeviewClass +struct _GtkBinviewClass { GtkViewportClass parent_class; @@ -46,7 +46,7 @@ struct _GtkCodeviewClass /* Détermine le type du composant d'affichage des morceaux. */ -G_DEFINE_TYPE(GtkCodeview, gtk_codeview, GTK_TYPE_VIEWPORT) +G_DEFINE_TYPE(GtkBinview, gtk_binview, GTK_TYPE_VIEWPORT) @@ -65,7 +65,7 @@ G_DEFINE_TYPE(GtkCodeview, gtk_codeview, GTK_TYPE_VIEWPORT) * * ******************************************************************************/ -static void gtk_codeview_class_init(GtkCodeviewClass *class) +static void gtk_binview_class_init(GtkBinviewClass *class) { GtkWidgetClass *widget_class; /* Classe de haut niveau */ GtkViewportClass *viewport_class; /* Classe du niveau supérieur */ @@ -78,7 +78,7 @@ static void gtk_codeview_class_init(GtkCodeviewClass *class) /****************************************************************************** * * -* Paramètres : codeview = composant GTK à initialiser. * +* Paramètres : binview = composant GTK à initialiser. * * * * Description : Procède à l'initialisation de l'afficheur de morceaux. * * * @@ -88,7 +88,7 @@ static void gtk_codeview_class_init(GtkCodeviewClass *class) * * ******************************************************************************/ -static void gtk_codeview_init(GtkCodeview *codeview) +static void gtk_binview_init(GtkBinview *binview) { @@ -108,9 +108,9 @@ static void gtk_codeview_init(GtkCodeview *codeview) * * ******************************************************************************/ -GtkWidget* gtk_codeview_new(void) +GtkWidget* gtk_binview_new(void) { - return g_object_new(GTK_TYPE_CODE_VIEW, NULL); + return g_object_new(GTK_TYPE_BIN_VIEW, NULL); } @@ -121,8 +121,8 @@ GtkWidget* gtk_codeview_new(void) /****************************************************************************** * * -* Paramètres : codeview = composant GTK à manipuler. * -* show = état de l'affichage auquel parvenir. * +* Paramètres : binview = composant GTK à manipuler. * +* show = état de l'affichage auquel parvenir. * * * * Description : Choisit d'afficher les adresses virtuelles ou non. * * * @@ -132,12 +132,12 @@ GtkWidget* gtk_codeview_new(void) * * ******************************************************************************/ -void gtk_codeview_show_vaddress(GtkCodeview *codeview, gboolean show) +void gtk_binview_show_vaddress(GtkBinview *binview, gboolean show) { GList *list; /* Ensemble des enfants */ GList *iter; /* Boucle de parcours */ - list = gtk_container_get_children(GTK_CONTAINER(codeview)); + list = gtk_container_get_children(GTK_CONTAINER(binview)); for (iter = g_list_first(list); iter != NULL; iter = g_list_next(iter)) gtk_snippet_show_vaddress(GTK_SNIPPET(iter->data), show); @@ -149,8 +149,8 @@ void gtk_codeview_show_vaddress(GtkCodeview *codeview, gboolean show) /****************************************************************************** * * -* Paramètres : codeview = composant GTK à manipuler. * -* show = état de l'affichage auquel parvenir. * +* Paramètres : binview = composant GTK à manipuler. * +* show = état de l'affichage auquel parvenir. * * * * Description : Choisit d'afficher le code brut ou non. * * * @@ -160,12 +160,12 @@ void gtk_codeview_show_vaddress(GtkCodeview *codeview, gboolean show) * * ******************************************************************************/ -void gtk_codeview_show_code(GtkCodeview *codeview, gboolean show) +void gtk_binview_show_code(GtkBinview *binview, gboolean show) { GList *list; /* Ensemble des enfants */ GList *iter; /* Boucle de parcours */ - list = gtk_container_get_children(GTK_CONTAINER(codeview)); + list = gtk_container_get_children(GTK_CONTAINER(binview)); for (iter = g_list_first(list); iter != NULL; iter = g_list_next(iter)) gtk_snippet_show_code(GTK_SNIPPET(iter->data), show); @@ -182,8 +182,8 @@ void gtk_codeview_show_code(GtkCodeview *codeview, gboolean show) /****************************************************************************** * * -* Paramètres : codeview = composant GTK à manipuler. * -* address = adresse à présenter à l'écran. * +* Paramètres : binview = composant GTK à manipuler. * +* address = adresse à présenter à l'écran. * * * * Description : S'assure qu'une adresse donnée est visible à l'écran. * * * @@ -193,7 +193,7 @@ void gtk_codeview_show_code(GtkCodeview *codeview, gboolean show) * * ******************************************************************************/ -void gtk_codeview_scroll_to_address(GtkCodeview *codeview, uint64_t address) +void gtk_binview_scroll_to_address(GtkBinview *binview, uint64_t address) { GList *list; /* Ensemble des enfants */ GList *iter; /* Boucle de parcours */ @@ -201,7 +201,7 @@ void gtk_codeview_scroll_to_address(GtkCodeview *codeview, uint64_t address) gint position; /* Position à garantir */ GtkAdjustment *vadj; /* Défilement à mettre à jour */ - list = gtk_container_get_children(GTK_CONTAINER(codeview)); + list = gtk_container_get_children(GTK_CONTAINER(binview)); for (iter = g_list_first(list); iter != NULL; iter = g_list_next(iter)) { @@ -209,7 +209,7 @@ void gtk_codeview_scroll_to_address(GtkCodeview *codeview, uint64_t address) if (gtk_snippet_get_address_vposition(snippet, address, &position)) { - vadj = GTK_VIEWPORT(codeview)->vadjustment; + vadj = GTK_VIEWPORT(binview)->vadjustment; gtk_adjustment_set_value(vadj, position); diff --git a/src/gtkbinview.h b/src/gtkbinview.h new file mode 100644 index 0000000..4fafad1 --- /dev/null +++ b/src/gtkbinview.h @@ -0,0 +1,69 @@ + +/* OpenIDA - Outil d'analyse de fichiers binaires + * gtkbinview.h - prototypes pour l'affichage d'un ou de plusieurs morceaux de code + * + * Copyright (C) 2008 Cyrille Bagard + * + * This file is part of OpenIDA. + * + * OpenIDA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * OpenIDA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +#ifndef _GTK_BINVIEW_H +#define _GTK_BINVIEW_H + + +#include <gtk/gtkwidget.h> + + +#include <stdint.h> + + + +#define GTK_TYPE_BIN_VIEW (gtk_binview_get_type()) +#define GTK_BIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_BIN_VIEW, GtkBinview)) +#define GTK_BIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_BIN_VIEW, GtkBinviewClass)) +#define GTK_IS_BIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_BIN_VIEW)) +#define GTK_IS_BIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_BIN_VIEW)) +#define GTK_BIN_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_BIN_VIEW, GtkBinviewClass)) + + +typedef struct _GtkBinview GtkBinview; +typedef struct _GtkBinviewClass GtkBinviewClass; + + + +/* Détermine le type du composant d'affichage des morceaux. */ +GType gtk_binview_get_type(void); + +/* Crée un nouveau composant pour l'affichage de morceaux. */ +GtkWidget* gtk_binview_new(void); + + + +/* Choisit d'afficher les adresses virtuelles ou non. */ +void gtk_binview_show_vaddress(GtkBinview *, gboolean); + +/* Choisit d'afficher le code brut ou non. */ +void gtk_binview_show_code(GtkBinview *, gboolean); + + + +/* S'assure qu'une adresse donnée est visible à l'écran. */ +void gtk_binview_scroll_to_address(GtkBinview *, uint64_t); + + + +#endif /* _GTK_BINVIEW_H */ diff --git a/src/gtkcodeview.h b/src/gtkcodeview.h deleted file mode 100644 index d1dd308..0000000 --- a/src/gtkcodeview.h +++ /dev/null @@ -1,69 +0,0 @@ - -/* OpenIDA - Outil d'analyse de fichiers binaires - * gtkcodeview.h - prototypes pour l'affichage d'un ou de plusieurs morceaux de code - * - * Copyright (C) 2008 Cyrille Bagard - * - * This file is part of OpenIDA. - * - * OpenIDA is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * OpenIDA is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Foobar. If not, see <http://www.gnu.org/licenses/>. - */ - - -#ifndef _GTK_CODEVIEW_H -#define _GTK_CODEVIEW_H - - -#include <gtk/gtk.h> - - -#include <stdint.h> - - - -#define GTK_TYPE_CODE_VIEW (gtk_codeview_get_type()) -#define GTK_CODE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_CODE_VIEW, GtkCodeview)) -#define GTK_CODE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_CODE_VIEW, GtkCodeviewClass)) -#define GTK_IS_CODE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_CODE_VIEW)) -#define GTK_IS_CODE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_CODE_VIEW)) -#define GTK_CODE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_CODE_VIEW, GtkCodeviewClass)) - - -typedef struct _GtkCodeview GtkCodeview; -typedef struct _GtkCodeviewClass GtkCodeviewClass; - - - -/* Détermine le type du composant d'affichage des morceaux. */ -GType gtk_codeview_get_type(void); - -/* Crée un nouveau composant pour l'affichage de morceaux. */ -GtkWidget* gtk_codeview_new(void); - - - -/* Choisit d'afficher les adresses virtuelles ou non. */ -void gtk_codeview_show_vaddress(GtkCodeview *, gboolean); - -/* Choisit d'afficher le code brut ou non. */ -void gtk_codeview_show_code(GtkCodeview *, gboolean); - - - -/* S'assure qu'une adresse donnée est visible à l'écran. */ -void gtk_codeview_scroll_to_address(GtkCodeview *, uint64_t); - - - -#endif /* _GTK_CODEVIEW_H */ diff --git a/src/pan_symbols.c b/src/pan_symbols.c index cef099e..adc8056 100644 --- a/src/pan_symbols.c +++ b/src/pan_symbols.c @@ -29,7 +29,7 @@ #include <stdlib.h> -#include "gtkcodeview.h" +#include "gtkbinview.h" @@ -128,7 +128,7 @@ void change_symbols_selection(GtkTreeSelection *selection, gpointer data) GtkTreeModel *model; gchar *string; /* Chaîne sélectionnée */ uint64_t address; /* Adresse à rejoindre */ - GtkCodeview *codeview; /* Affichage à faire défiler */ + GtkBinview *binview; /* Affichage à faire défiler */ if (gtk_tree_selection_get_selected(selection, &model, &iter)) { @@ -136,9 +136,9 @@ void change_symbols_selection(GtkTreeSelection *selection, gpointer data) address = strtoll(string, NULL, 16); g_free(string); - codeview = GTK_CODE_VIEW(g_object_get_data(G_OBJECT(data), "codeview")); + binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview")); - gtk_codeview_scroll_to_address(codeview, address); + gtk_binview_scroll_to_address(binview, address); } |