summaryrefslogtreecommitdiff
path: root/src/gui/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/status.c')
-rw-r--r--src/gui/status.c52
1 files changed, 17 insertions, 35 deletions
diff --git a/src/gui/status.c b/src/gui/status.c
index bd52310..645028e 100644
--- a/src/gui/status.c
+++ b/src/gui/status.c
@@ -70,10 +70,10 @@ static void g_status_info_dispose(GStatusInfo *);
static void g_status_info_finalize(GStatusInfo *);
/* Imprime la position du parcours courant dans le statut. */
-static void track_caret_address_for_status_info(GStatusInfo *, GtkBufferDisplay *, const vmpa2t *);
+static void track_cursor_for_status_info(GStatusInfo *, GLoadedPanel *, const GLineCursor *);
/* Concentre l'attention de l'ensemble sur une adresse donnée. */
-static void focus_address_in_status_info(GStatusInfo *, GLoadedBinary *, const vmpa2t *);
+static void focus_cursor_in_status_info(GStatusInfo *, GLoadedContent *, const GLineCursor *);
@@ -105,8 +105,8 @@ static void g_status_info_class_init(GStatusInfoClass *klass)
editem = G_EDITOR_ITEM_CLASS(klass);
- editem->track_caret = (track_caret_in_view_fc)track_caret_address_for_status_info;
- editem->focus_addr = (focus_addr_fc)focus_address_in_status_info;
+ editem->track_cursor = (track_cursor_in_view_fc)track_cursor_for_status_info;
+ editem->focus_cursor = (focus_cursor_fc)focus_cursor_in_status_info;
}
@@ -208,9 +208,9 @@ GEditorItem *g_status_info_new(GObject *ref)
/******************************************************************************
* *
-* Paramètres : info = barre de statut présentant les informations. *
-* display = composant d'affichage parcouru. *
-* addr = nouvelle adresse du curseur courant. *
+* Paramètres : info = barre de statut présentant les informations. *
+* panel = composant d'affichage parcouru. *
+* cursor = nouvel emplacement du curseur courant. *
* *
* Description : Imprime la position du parcours courant dans le statut. *
* *
@@ -220,24 +220,24 @@ GEditorItem *g_status_info_new(GObject *ref)
* *
******************************************************************************/
-static void track_caret_address_for_status_info(GStatusInfo *info, GtkBufferDisplay *display, const vmpa2t *addr)
+static void track_cursor_for_status_info(GStatusInfo *info, GLoadedPanel *panel, const GLineCursor *cursor)
{
- GLoadedBinary *binary; /* Binaire courant */
+ GLoadedContent *content; /* Contenu courant */
- binary = get_current_binary();
+ content = g_loaded_panel_get_content(panel);
- focus_address_in_status_info(info, binary, addr);
+ focus_cursor_in_status_info(info, content, cursor);
- g_object_unref(G_OBJECT(binary));
+ g_object_unref(G_OBJECT(content));
}
/******************************************************************************
* *
-* Paramètres : info = composant réactif à mettre à jour. *
-* binary = binaire contenant l'adresse à représenter. *
-* addr = adresse mémoire à mettre en avant. *
+* Paramètres : info = composant réactif à mettre à jour. *
+* content = contenu contenant le curseur à représenter. *
+* cursor = nouvel emplacement du curseur courant. *
* *
* Description : Concentre l'attention de l'ensemble sur une adresse donnée. *
* *
@@ -247,30 +247,12 @@ static void track_caret_address_for_status_info(GStatusInfo *info, GtkBufferDisp
* *
******************************************************************************/
-static void focus_address_in_status_info(GStatusInfo *info, GLoadedBinary *binary, const vmpa2t *addr)
+static void focus_cursor_in_status_info(GStatusInfo *info, GLoadedContent *content, const GLineCursor *cursor)
{
GEditorItem *item; /* Autre version de l'élément */
- GArchProcessor *proc; /* Architecture du binaire */
- GArchInstruction *instr; /* Instruction présente */
item = G_EDITOR_ITEM(info);
- if (is_invalid_vmpa(addr))
- gtk_status_stack_reset_current_instruction(GTK_STATUS_STACK(item->widget));
-
- else
- {
- proc = g_loaded_binary_get_processor(binary);
-
- instr = _g_arch_processor_find_instr_by_address(proc, addr, true);
- assert(instr != NULL);
-
- gtk_status_stack_update_current_instruction(GTK_STATUS_STACK(item->widget), binary, instr);
-
- g_object_unref(G_OBJECT(instr));
-
- g_object_unref(G_OBJECT(proc));
-
- }
+ g_line_cursor_show_status(cursor, GTK_STATUS_STACK(item->widget), content);
}