summaryrefslogtreecommitdiff
path: root/src/gui/status.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-01-17 13:45:49 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-01-17 19:06:08 (GMT)
commitd13bccd74759cd1c63a2036c279f04d9f052ecf3 (patch)
treeadbd0b9d915748a2b46070282c07b3f16033d89e /src/gui/status.c
parent52ac5b1b340335f56ceb599dba63164a26f10b10 (diff)
Updated access to the Edition menu based on the current selection.
Diffstat (limited to 'src/gui/status.c')
-rw-r--r--src/gui/status.c58
1 files changed, 5 insertions, 53 deletions
diff --git a/src/gui/status.c b/src/gui/status.c
index de80049..8db4f3a 100644
--- a/src/gui/status.c
+++ b/src/gui/status.c
@@ -46,9 +46,6 @@ struct _GStatusInfo
{
GEditorItem parent; /* A laisser en premier */
- GObject *caret_instance; /* Dernier émetteur de signaux */
- bstatus_id_t msg_id; /* Identifiant du dernier msg. */
-
};
@@ -72,11 +69,8 @@ static void g_status_info_dispose(GStatusInfo *);
/* Procède à la libération totale de la mémoire. */
static void g_status_info_finalize(GStatusInfo *);
-/* Lance une actualisation du fait d'un changement de vue. */
-static void update_status_info_for_view(GStatusInfo *, GtkViewPanel *);
-
/* Imprime la position du parcours courant dans le statut. */
-static void track_caret_address_on_buffer_views(GtkBufferView *, const vmpa2t *, GStatusInfo *);
+static void track_caret_address_for_status_info(GStatusInfo *, GtkBufferView *, const vmpa2t *);
/* Concentre l'attention de l'ensemble sur une adresse donnée. */
static void focus_address_in_status_info(GStatusInfo *, GLoadedBinary *, const vmpa2t *);
@@ -111,7 +105,7 @@ static void g_status_info_class_init(GStatusInfoClass *klass)
editem = G_EDITOR_ITEM_CLASS(klass);
- editem->update_view = (update_item_view_fc)update_status_info_for_view;
+ 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;
}
@@ -157,14 +151,6 @@ static void g_status_info_init(GStatusInfo *bar)
static void g_status_info_dispose(GStatusInfo *info)
{
- if (info->caret_instance != NULL)
- {
- g_signal_handlers_disconnect_by_func(info->caret_instance,
- G_CALLBACK(track_caret_address_on_buffer_views),
- info);
- g_object_unref(info->caret_instance);
- }
-
G_OBJECT_CLASS(g_status_info_parent_class)->dispose(G_OBJECT(info));
}
@@ -222,43 +208,9 @@ GEditorItem *g_status_info_new(GObject *ref)
/******************************************************************************
* *
-* Paramètres : info = barre de statut à actualiser. *
-* view = nouveau panneau d'affichage actif. *
-* *
-* Description : Lance une actualisation du fait d'un changement de vue. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void update_status_info_for_view(GStatusInfo *info, GtkViewPanel *view)
-{
- if (info->caret_instance != NULL)
- {
- g_signal_handlers_disconnect_by_func(info->caret_instance,
- G_CALLBACK(track_caret_address_on_buffer_views),
- info);
- g_object_unref(info->caret_instance);
- }
-
- if (GTK_IS_BLOCK_VIEW(view))
- g_signal_connect(view, "caret-moved",
- G_CALLBACK(track_caret_address_on_buffer_views),
- info);
-
- info->caret_instance = G_OBJECT(view);
- g_object_ref(info->caret_instance);
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : view = composant d'affichage parcouru. *
+* Paramètres : info = barre de statut présentant les informations. *
+* view = composant d'affichage parcouru. *
* addr = nouvelle adresse du curseur courant. *
-* info = barre de statut présentant les informations. *
* *
* Description : Imprime la position du parcours courant dans le statut. *
* *
@@ -268,7 +220,7 @@ static void update_status_info_for_view(GStatusInfo *info, GtkViewPanel *view)
* *
******************************************************************************/
-static void track_caret_address_on_buffer_views(GtkBufferView *view, const vmpa2t *addr, GStatusInfo *info)
+static void track_caret_address_for_status_info(GStatusInfo *info, GtkBufferView *view, const vmpa2t *addr)
{
GEditorItem *item; /* Autre version de l'élément */
GLoadedBinary *binary; /* Binaire courant */