diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-08-26 22:15:05 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-08-26 22:15:05 (GMT) |
commit | 8ca477e012b11a19363542d171b8e973d637641c (patch) | |
tree | 94a4fcde1779f031946eff7a36075f41a17cd73b /src/gui/editor.c | |
parent | 4fb2ac107092671fe27fc3ebf9fc86dff7c3ec19 (diff) |
Removed most of the functions using the editor items as global access to active items.
Diffstat (limited to 'src/gui/editor.c')
-rw-r--r-- | src/gui/editor.c | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/src/gui/editor.c b/src/gui/editor.c index d042acd..a3055c7 100644 --- a/src/gui/editor.c +++ b/src/gui/editor.c @@ -38,6 +38,8 @@ #include "menus/menubar.h" #include "core/core.h" #include "core/panels.h" +#include "core/global.h" +#include "core/items.h" #include "panels/panel.h" #include "panels/welcome.h" #include "tb/portions.h" @@ -147,7 +149,6 @@ typedef struct _panel_node /* Support de fond pour les composants. */ -static GObject *_global_ref = NULL; static GtkWidget *_support = NULL; static panel_node *_nodes = NULL; @@ -185,22 +186,22 @@ static void delete_panel_node(panel_node *); /* Réagit à une demande de placement d'un panneau d'affichage. */ -void on_panel_item_dock_request(GPanelItem *, void *); +void on_panel_item_dock_request(GPanelItem *, gpointer); /* Réagit à une demande de suppression d'un panneau d'affichage. */ -void on_panel_item_undock_request(GPanelItem *, void *); +void on_panel_item_undock_request(GPanelItem *, gpointer); /* Réagit au changement d'onglet d'un panneau quelconque. */ -static void on_dock_item_switch(GtkDockStation *, GtkWidget *, GObject *); +static void on_dock_item_switch(GtkDockStation *, GtkWidget *, gpointer); /* Encastre comme demandé un panneau dans l'éditeur. */ static void dock_panel_into_current_station(GtkCheckMenuItem *, GPanelItem *); /* Réagit à une demande de menu pour rajouter des panneaux. */ -static void on_dock_menu_request(GtkDockStation *, GtkWidget *, GObject *); +static void on_dock_menu_request(GtkDockStation *, GtkWidget *, gpointer); /* Réagit à une demande de fermeture du panneau courant. */ -static void on_dock_close_request(GtkDockStation *, GtkWidget *, GObject *); +static void on_dock_close_request(GtkDockStation *, GtkWidget *, gpointer); /* Réagit à une variation dans une séparation de panneaux. */ static void notify_paned_handle_position_change(GObject *, GParamSpec *, gpointer); @@ -338,7 +339,6 @@ GtkWidget *create_editor(void) do { - _global_ref = ref; _support = gtk_event_box_new(); gtk_widget_show(_support); @@ -370,7 +370,7 @@ GtkWidget *create_editor(void) /* Actualisation des contenus */ - change_editor_items_current_binary(ref, NULL); + change_editor_items_current_binary(NULL); @@ -702,9 +702,9 @@ static panel_node *create_simple_panel_node_for_item(GPanelItem *item, const cha /* Partie graphique */ station = gtk_dock_station_new(); - g_signal_connect(station, "switch-widget", G_CALLBACK(on_dock_item_switch), _global_ref); - g_signal_connect(station, "menu-requested", G_CALLBACK(on_dock_menu_request), _global_ref); - g_signal_connect(station, "close-requested", G_CALLBACK(on_dock_close_request), _global_ref); + g_signal_connect(station, "switch-widget", G_CALLBACK(on_dock_item_switch), NULL); + g_signal_connect(station, "menu-requested", G_CALLBACK(on_dock_menu_request), NULL); + g_signal_connect(station, "close-requested", G_CALLBACK(on_dock_close_request), NULL); gtk_widget_show(station); gtk_dock_station_add_dockable(GTK_DOCK_STATION(station), GTK_DOCKABLE(item)); @@ -1234,7 +1234,7 @@ static void delete_panel_node(panel_node *node) * * ******************************************************************************/ -void on_panel_item_dock_request(GPanelItem *panel, void *unused) +void on_panel_item_dock_request(GPanelItem *panel, gpointer unused) { const char *path; /* Chemin d'accès */ panel_node *node; /* Noeud à supprimer */ @@ -1291,7 +1291,7 @@ void on_panel_item_dock_request(GPanelItem *panel, void *unused) * * ******************************************************************************/ -void on_panel_item_undock_request(GPanelItem *panel, void *unused) +void on_panel_item_undock_request(GPanelItem *panel, gpointer unused) { GtkWidget *station; /* Support courant */ GtkNotebook *notebook; /* Version parente de station */ @@ -1346,7 +1346,7 @@ void on_panel_item_undock_request(GPanelItem *panel, void *unused) * * * Paramètres : station = panneau de support des éléments concerné. * * item = nouvel élément présenté à l'affichage. * -* ref = adresse de l'espace de référencement global. * +* unused = adresse non utilisée ici. * * * * Description : Réagit au changement d'onglet d'un panneau quelconque. * * * @@ -1356,7 +1356,7 @@ void on_panel_item_undock_request(GPanelItem *panel, void *unused) * * ******************************************************************************/ -static void on_dock_item_switch(GtkDockStation *station, GtkWidget *widget, GObject *ref) +static void on_dock_item_switch(GtkDockStation *station, GtkWidget *widget, gpointer unused) { GLoadedBinary *old_binary; /* Ancien binaire édité */ GLoadedBinary *binary; /* Binaire en cours d'édition */ @@ -1371,20 +1371,18 @@ static void on_dock_item_switch(GtkDockStation *station, GtkWidget *widget, GObj { /* Changement de binaire ? */ - old_binary = G_LOADED_BINARY(g_object_get_data(ref, "current_binary")); + old_binary = get_current_binary(); binary = gtk_display_panel_get_binary(GTK_DISPLAY_PANEL(widget)); if (old_binary != binary) - { - //notify_panels_of_binary_change(binary); - change_editor_items_current_binary(ref, binary); - } - - change_editor_items_current_view(ref, GTK_DISPLAY_PANEL(widget)); + change_editor_items_current_binary(binary); + else + g_object_unref(G_OBJECT(binary)); - //notify_panels_of_view_change(GTK_DISPLAY_PANEL(widget), false); + g_object_unref(G_OBJECT(old_binary)); - g_object_unref(G_OBJECT(binary)); + g_object_ref(G_OBJECT(widget)); + change_editor_items_current_view(GTK_DISPLAY_PANEL(widget)); } @@ -1424,7 +1422,7 @@ static void dock_panel_into_current_station(GtkCheckMenuItem *menuitem, GPanelIt * * * Paramètres : station = panneau de support des éléments concerné. * * button = bouton à l'origine de la procédure. * -* ref = adresse de l'espace de référencement global. * +* unsued = adresse non utilisée ici. * * * * Description : Réagit à une demande de menu pour rajouter des panneaux. * * * @@ -1434,7 +1432,7 @@ static void dock_panel_into_current_station(GtkCheckMenuItem *menuitem, GPanelIt * * ******************************************************************************/ -static void on_dock_menu_request(GtkDockStation *station, GtkWidget *button, GObject *ref) +static void on_dock_menu_request(GtkDockStation *station, GtkWidget *button, gpointer unused) { GtkWidget *active; /* Composant actif modèle */ GPanelItem *model; /* Panneau encapsulé */ @@ -1512,7 +1510,7 @@ static void on_dock_menu_request(GtkDockStation *station, GtkWidget *button, GOb * * * Paramètres : station = panneau de support des éléments concerné. * * button = bouton à l'origine de la procédure. * -* ref = adresse de l'espace de référencement global. * +* unused = adresse non utilisée ici. * * * * Description : Réagit à une demande de fermeture du panneau courant. * * * @@ -1522,7 +1520,7 @@ static void on_dock_menu_request(GtkDockStation *station, GtkWidget *button, GOb * * ******************************************************************************/ -static void on_dock_close_request(GtkDockStation *station, GtkWidget *button, GObject *ref) +static void on_dock_close_request(GtkDockStation *station, GtkWidget *button, gpointer unused) { gint index; /* Indice de la page courante */ GtkWidget *active; /* Composant actif modèle */ |