summaryrefslogtreecommitdiff
path: root/src/gtkext
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext')
-rw-r--r--src/gtkext/gtkbinview-int.h2
-rw-r--r--src/gtkext/gtkbinview.c61
-rw-r--r--src/gtkext/gtkbinview.h10
-rw-r--r--src/gtkext/gtkblockview.c4
-rw-r--r--src/gtkext/gtkgraphview.c4
5 files changed, 76 insertions, 5 deletions
diff --git a/src/gtkext/gtkbinview-int.h b/src/gtkext/gtkbinview-int.h
index 63334d5..2410915 100644
--- a/src/gtkext/gtkbinview-int.h
+++ b/src/gtkext/gtkbinview-int.h
@@ -40,7 +40,7 @@ typedef void (* set_rendering_lines_fc) (GtkBinview *, GRenderingLine *, GRender
typedef void (* define_main_address_fc) (GtkBinView *, vmpa_t);
/* Indique la position d'affichage d'une adresse donnée. */
-typedef bool (* get_addr_coordinates_fc) (GtkBinView *, vmpa_t, gint *, gint *);
+typedef bool (* get_addr_coordinates_fc) (const GtkBinView *, vmpa_t, gint *, gint *);
struct _GtkBinview
diff --git a/src/gtkext/gtkbinview.c b/src/gtkext/gtkbinview.c
index ccb533f..aa231f2 100644
--- a/src/gtkext/gtkbinview.c
+++ b/src/gtkext/gtkbinview.c
@@ -247,6 +247,44 @@ void gtk_bin_view_set_rendering_lines(GtkBinview *view, openida_binary *binary,
}
+/******************************************************************************
+* *
+* Paramètres : view = composant GTK à consulter. *
+* *
+* Description : Fournit la liste des lignes associées à la représentation. *
+* *
+* Retour : Ligne de représentation. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+GRenderingLine *gtk_bin_view_get_lines(const GtkBinview *view)
+{
+ return view->lines;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : view = composant GTK à consulter. *
+* *
+* Description : Fournit la dernière ligne associée à la représentation. *
+* *
+* Retour : Ligne de représentation. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+GRenderingLine *gtk_bin_view_get_last_line(const GtkBinview *view)
+{
+ return view->last; /* FIXME last == NULL */
+
+}
+
+
@@ -330,6 +368,29 @@ void gtk_binview_show_code(GtkBinview *binview, gboolean show)
/******************************************************************************
* *
* Paramètres : view = composant GTK à manipuler. *
+* addr = adresse à rechercher. *
+* *
+* Description : Indique si la vue contient une addrese donnée. *
+* *
+* Retour : true si l'adresse est présente, false sinon. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+bool gtk_bin_view_contain_address(const GtkBinview *view, vmpa_t addr)
+{
+ gint dummy_x; /* Abscisse pour l'appel */
+ gint dummy_y; /* Ordonnée pour l'appel */
+
+ return view->get_coordinates(view, addr, &dummy_x, &dummy_y);
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : view = composant GTK à manipuler. *
* addr = adresse à présenter à l'écran. *
* *
* Description : S'assure qu'une adresse donnée est visible à l'écran. *
diff --git a/src/gtkext/gtkbinview.h b/src/gtkext/gtkbinview.h
index 978c146..241669c 100644
--- a/src/gtkext/gtkbinview.h
+++ b/src/gtkext/gtkbinview.h
@@ -62,6 +62,13 @@ void gtk_bin_view_show_border(GtkBinview *, bool);
/* Définit les lignes à associer à la représentation. */
void gtk_bin_view_set_rendering_lines(GtkBinview *, openida_binary *, GRenderingLine *, GRenderingLine *);
+/* Fournit la liste des lignes associées à la représentation. */
+GRenderingLine *gtk_bin_view_get_lines(const GtkBinview *);
+
+/* Fournit la dernière ligne associée à la représentation. */
+GRenderingLine *gtk_bin_view_get_last_line(const GtkBinview *);
+
+
@@ -73,6 +80,9 @@ void gtk_binview_show_code(GtkBinview *, gboolean);
+/* Indique si la vue contient une addrese donnée. */
+bool gtk_bin_view_contain_address(const GtkBinview *, vmpa_t);
+
/* S'assure qu'une adresse donnée est visible à l'écran. */
void gtk_bin_view_scroll_to_address(GtkBinview *, vmpa_t);
diff --git a/src/gtkext/gtkblockview.c b/src/gtkext/gtkblockview.c
index b03bbff..cfd4ee0 100644
--- a/src/gtkext/gtkblockview.c
+++ b/src/gtkext/gtkblockview.c
@@ -91,7 +91,7 @@ void gtk_block_view_recompute_size_request(GtkBlockView *);
/* Indique la position d'affichage d'une adresse donnée. */
-static bool gtk_block_view_get_address_coordinates(GtkBlockView *, vmpa_t, gint *, gint *);
+static bool gtk_block_view_get_address_coordinates(const GtkBlockView *, vmpa_t, gint *, gint *);
@@ -571,7 +571,7 @@ void gtk_block_view_recompute_size_request(GtkBlockView *view)
* *
******************************************************************************/
-static bool gtk_block_view_get_address_coordinates(GtkBlockView *view, vmpa_t addr, gint *x, gint *y)
+static bool gtk_block_view_get_address_coordinates(const GtkBlockView *view, vmpa_t addr, gint *x, gint *y)
{
bool result; /* Bilan à retourner */
GRenderingLine *iter; /* Boucle de parcours */
diff --git a/src/gtkext/gtkgraphview.c b/src/gtkext/gtkgraphview.c
index dae1d54..d060f69 100644
--- a/src/gtkext/gtkgraphview.c
+++ b/src/gtkext/gtkgraphview.c
@@ -75,7 +75,7 @@ static void gtk_graph_view_set_rendering_lines(GtkGraphView *, GRenderingLine *,
static void gtk_graph_view_define_main_address(GtkGraphView *, vmpa_t);
/* Indique la position d'affichage d'une adresse donnée. */
-static bool gtk_graph_view_get_address_coordinates(GtkGraphView *, vmpa_t, gint *, gint *);
+static bool gtk_graph_view_get_address_coordinates(const GtkGraphView *, vmpa_t, gint *, gint *);
/* Définit la liste complète des éléments du futur graphique. */
static GtkBinView **gtk_graph_view_load_nodes(openida_binary *, GRenderingLine *, GRenderingLine *, size_t *);
@@ -349,7 +349,7 @@ static void gtk_graph_view_define_main_address(GtkGraphView *view, vmpa_t addr)
* *
******************************************************************************/
-static bool gtk_graph_view_get_address_coordinates(GtkGraphView *view, vmpa_t addr, gint *x, gint *y)
+static bool gtk_graph_view_get_address_coordinates(const GtkGraphView *view, vmpa_t addr, gint *x, gint *y)
{
bool result; /* Bilan à retourner */
size_t i; /* Boucle de parcours */