summaryrefslogtreecommitdiff
path: root/src/gui/panels/panel.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-01-16 01:29:18 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-01-16 01:29:18 (GMT)
commitd487ea54850c85ea22df22af3b21b57d9ad0fd2f (patch)
treee84eefa64d8845cb97ca98c95cc9acf713ccfcf8 /src/gui/panels/panel.c
parent725304423eccf57b8e829542670b5abe7b00eeb4 (diff)
Updated menus on view change.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@227 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gui/panels/panel.c')
-rw-r--r--src/gui/panels/panel.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/gui/panels/panel.c b/src/gui/panels/panel.c
index 8cc79ce..584ec09 100644
--- a/src/gui/panels/panel.c
+++ b/src/gui/panels/panel.c
@@ -37,10 +37,14 @@
-/* Support de fond pour les composants */
+/* Support de fond pour les composants. */
static GtkWidget *_support;
-/* Liste des panneaux en place */
+/* Procédure à appeler lors des changements de panneaux. */
+static GCallback _handler;
+static gpointer _data;
+
+/* Liste des panneaux en place. */
static GPanelItem *_panels_list = NULL;
@@ -261,6 +265,7 @@ void g_panel_item_dock(GPanelItem *item)
gtk_container_add(GTK_CONTAINER(_support), GTK_WIDGET(class->first));
station = gtk_dock_station_new();
+ g_signal_connect(station, "switch-widget", _handler, _data);
gtk_widget_show(station);
gtk_container_add(GTK_CONTAINER(class->first), station);
@@ -425,6 +430,8 @@ static void create_panel_division(GtkWidget *parent, GtkWidget *child1, const ch
if (!GTK_IS_DOCK_STATION(child1))
{
station = gtk_dock_station_new();
+ g_signal_connect(station, "switch-widget", _handler, _data);
+
gtk_widget_show(station);
gtk_dock_panel_add_widget(GTK_DOCK_STATION(station), child1, name1);
@@ -435,6 +442,8 @@ static void create_panel_division(GtkWidget *parent, GtkWidget *child1, const ch
if (!GTK_IS_DOCK_STATION(child2))
{
station = gtk_dock_station_new();
+ g_signal_connect(station, "switch-widget", _handler, _data);
+
gtk_widget_show(station);
gtk_dock_panel_add_widget(GTK_DOCK_STATION(station), child2, name2);
@@ -609,7 +618,8 @@ static void _g_panel_item_dock(GtkWidget *base, GEditorItem *item, const char *p
/******************************************************************************
* *
-* Paramètres : - *
+* Paramètres : handler = procédure à réveiller en cas de changements. *
+* data = donnée à faire suivre. *
* *
* Description : Prépare le terrain pour l'affichage central. *
* *
@@ -619,7 +629,7 @@ static void _g_panel_item_dock(GtkWidget *base, GEditorItem *item, const char *p
* *
******************************************************************************/
-GtkWidget *init_panels2(void)
+GtkWidget *init_panels2(GCallback handler, gpointer data)
{
GtkWidget *result; /* Support à retourner */
@@ -627,6 +637,8 @@ GtkWidget *init_panels2(void)
gtk_widget_show(result);
_support = result;
+ _handler = handler;
+ _data = data;
return result;