diff options
Diffstat (limited to 'src/gtkext/gtkdockstation.c')
-rw-r--r-- | src/gtkext/gtkdockstation.c | 13 |
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); + } |