diff options
Diffstat (limited to 'src/gtkext')
-rw-r--r-- | src/gtkext/gtkbinview-int.h | 2 | ||||
-rw-r--r-- | src/gtkext/gtkbinview.c | 61 | ||||
-rw-r--r-- | src/gtkext/gtkbinview.h | 10 | ||||
-rw-r--r-- | src/gtkext/gtkblockview.c | 4 | ||||
-rw-r--r-- | src/gtkext/gtkgraphview.c | 4 |
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 */ |