summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkdockable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext/gtkdockable.c')
-rw-r--r--src/gtkext/gtkdockable.c49
1 files changed, 40 insertions, 9 deletions
diff --git a/src/gtkext/gtkdockable.c b/src/gtkext/gtkdockable.c
index c4291b7..26feb95 100644
--- a/src/gtkext/gtkdockable.c
+++ b/src/gtkext/gtkdockable.c
@@ -44,6 +44,9 @@
/* Procède à l'initialisation de l'interface de rassemblement. */
static void gtk_dockable_default_init(GtkDockableInterface *);
+/* Applique un nouveau filtre sur un composant intégré. */
+static void gtk_dockable_update_filter(GtkDockable *, const char *);
+
/* ------------------------ FONCTIONS DE RECHERCHE INTEGREES ------------------------ */
@@ -151,13 +154,16 @@ static void gtk_dockable_default_init(GtkDockableInterface *iface)
* *
******************************************************************************/
-const char *gtk_dockable_get_name(const GtkDockable *dockable)
+char *gtk_dockable_get_name(const GtkDockable *dockable)
{
+ char *result; /* Désignation à retourner */
GtkDockableIface *iface; /* Interface utilisée */
iface = GTK_DOCKABLE_GET_IFACE(dockable);
- return iface->get_name(dockable);
+ result = iface->get_name(dockable);
+
+ return result;
}
@@ -174,13 +180,16 @@ const char *gtk_dockable_get_name(const GtkDockable *dockable)
* *
******************************************************************************/
-const char *gtk_dockable_get_desc(const GtkDockable *dockable)
+char *gtk_dockable_get_desc(const GtkDockable *dockable)
{
+ char *result; /* Description à retourner */
GtkDockableIface *iface; /* Interface utilisée */
iface = GTK_DOCKABLE_GET_IFACE(dockable);
- return iface->get_desc(dockable);
+ result = iface->get_desc(dockable);
+
+ return result;
}
@@ -191,7 +200,7 @@ const char *gtk_dockable_get_desc(const GtkDockable *dockable)
* *
* Description : Indique si le composant représenté à du contenu à fouiller. *
* *
-* Retour : - *
+* Retour : Etat de la capacité. *
* *
* Remarques : - *
* *
@@ -234,7 +243,6 @@ GtkWidget *gtk_dockable_build_widget(GtkDockable *dockable)
iface = GTK_DOCKABLE_GET_IFACE(dockable);
widget = iface->get_widget(dockable);
- g_object_ref(G_OBJECT(widget));
/* Encapsulation avec un panneau coulissant ? */
@@ -267,6 +275,30 @@ GtkWidget *gtk_dockable_build_widget(GtkDockable *dockable)
/******************************************************************************
* *
+* Paramètres : dockable = instance GTK dont l'interface est à manipuler. *
+* filter = nouveau filtre à appliquer. *
+* *
+* Description : Applique un nouveau filtre sur un composant intégré. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void gtk_dockable_update_filter(GtkDockable *dockable, const char *filter)
+{
+ GtkDockableIface *iface; /* Interface utilisée */
+
+ iface = GTK_DOCKABLE_GET_IFACE(dockable);
+
+ iface->update_filtered(dockable, filter);
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : dockable = instance GTK dont l'interface est à consulter. *
* support = composant à partir duquel décrocher ou NULL. [OUT]*
* *
@@ -392,15 +424,14 @@ static GtkWidget *build_search_area(GtkDockable *dockable, GtkWidget **search)
static void on_dockable_search_changed(GtkSearchEntry *entry, GtkDockable *dockable)
{
char *filter; /* Nouveau filtre à considérer */
- GtkDockableIface *iface; /* Interface utilisée */
filter = NULL;
update_regex_on_search_entry_changed(entry, &filter);
- iface = GTK_DOCKABLE_GET_IFACE(dockable);
+ gtk_dockable_update_filter(dockable, filter);
- iface->update_filtered(dockable, filter);
+ free(filter);
}