summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkdockstation.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/gtkext/gtkdockstation.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/gtkext/gtkdockstation.c')
-rw-r--r--src/gtkext/gtkdockstation.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gtkext/gtkdockstation.c b/src/gtkext/gtkdockstation.c
index afea11d..4b837bc 100644
--- a/src/gtkext/gtkdockstation.c
+++ b/src/gtkext/gtkdockstation.c
@@ -29,6 +29,7 @@
#include "easygtk.h"
+#include "iodamarshal.h"
@@ -61,6 +62,13 @@ G_DEFINE_TYPE(GtkDockStation, gtk_dock_station, GTK_TYPE_VBOX)
static void gtk_dock_station_class_init(GtkDockStationClass *class)
{
+ g_signal_new("switch-widget",
+ GTK_TYPE_DOCK_STATION,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(GtkDockStationClass, switch_widget),
+ NULL, NULL,
+ g_cclosure_user_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, GTK_TYPE_WIDGET);
}
@@ -175,7 +183,7 @@ static gboolean gtk_dock_station_switch_panel(GtkNotebook *notebook, GtkNotebook
gtk_dock_panel_update_title(GTK_DOCK_STATION(data), widget, caption);
- //g_signal_emit_by_name(GTK_DOCK_PANEL(data), "switch-item", ditem);
+ g_signal_emit_by_name(GTK_DOCK_STATION(data), "switch-widget", widget);
return TRUE;
@@ -214,6 +222,9 @@ void gtk_dock_panel_add_widget(GtkDockStation *station, GtkWidget *widget, const
gtk_dock_panel_update_title(station, widget, caption);
+ if (gtk_notebook_get_n_pages(station->notebook) == 1)
+ g_signal_emit_by_name(station, "switch-widget", widget);
+
}