summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkdockstation.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-01-23 01:05:58 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-01-23 01:05:58 (GMT)
commitd761eddfd4b5a27620aaa5e67a0e2e2bc5d55cb1 (patch)
treedc0d69813fef1b982c3a0fbdc25a00a6183b0852 /src/gtkext/gtkdockstation.c
parentd487ea54850c85ea22df22af3b21b57d9ad0fd2f (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.c40
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);
+
+}
+
/******************************************************************************
* *