diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-01-23 01:05:58 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-01-23 01:05:58 (GMT) |
commit | d761eddfd4b5a27620aaa5e67a0e2e2bc5d55cb1 (patch) | |
tree | dc0d69813fef1b982c3a0fbdc25a00a6183b0852 /src/gtkext/gtkdockstation.c | |
parent | d487ea54850c85ea22df22af3b21b57d9ad0fd2f (diff) |
Added menus to change the current displayed view. Do not try the source view.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@228 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkdockstation.c')
-rw-r--r-- | src/gtkext/gtkdockstation.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/gtkext/gtkdockstation.c b/src/gtkext/gtkdockstation.c index 4b837bc..3e33f2b 100644 --- a/src/gtkext/gtkdockstation.c +++ b/src/gtkext/gtkdockstation.c @@ -228,6 +228,46 @@ void gtk_dock_panel_add_widget(GtkDockStation *station, GtkWidget *widget, const } +/****************************************************************************** +* * +* Paramètres : station = plateforme GTK à compléter. * +* widget = nouvel élément à intégrer. * +* * +* Description : Change le contenu de l'onglet courant uniquement. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_dock_panel_change_active_widget(GtkDockStation *station, GtkWidget *widget) +{ + gint index; /* Indice de l'onglet actif */ + GtkWidget *old; /* Ancien composant */ + GtkWidget *label; /* Etiquette d'onglet */ + + index = gtk_notebook_get_current_page(station->notebook); + + g_signal_handlers_disconnect_by_func(station->notebook, + G_CALLBACK(gtk_dock_station_switch_panel), station); + + old = gtk_notebook_get_nth_page(station->notebook, index); + label = gtk_notebook_get_tab_label(station->notebook, old); + + gtk_widget_ref(old); + gtk_widget_ref(label); + + gtk_notebook_remove_page(station->notebook, index); + gtk_notebook_insert_page(station->notebook, widget, label, index); + + gtk_widget_unref(label); + + g_signal_connect(station->notebook, "switch-page", + G_CALLBACK(gtk_dock_station_switch_panel), station); + +} + /****************************************************************************** * * |