summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--src/Makefile.am2
-rw-r--r--src/easygtk.c39
-rw-r--r--src/easygtk.h3
-rw-r--r--src/editor.c136
-rw-r--r--src/gtkbinview.c (renamed from src/gtkcodeview.c)46
-rw-r--r--src/gtkbinview.h69
-rw-r--r--src/gtkcodeview.h69
-rw-r--r--src/pan_symbols.c8
9 files changed, 272 insertions, 121 deletions
diff --git a/ChangeLog b/ChangeLog
index ffddf03..e2d0f8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}