diff options
Diffstat (limited to 'src/gtkext/easygtk.c')
| -rw-r--r-- | src/gtkext/easygtk.c | 80 | 
1 files changed, 80 insertions, 0 deletions
| diff --git a/src/gtkext/easygtk.c b/src/gtkext/easygtk.c index e97b2fd..7021b87 100644 --- a/src/gtkext/easygtk.c +++ b/src/gtkext/easygtk.c @@ -801,6 +801,86 @@ GtkWidget *qck_create_menu_separator(void) + +/****************************************************************************** +*                                                                             * +*  Paramètres  : container = composant GTK contenant d'autres composants.     * +*                child     = composant GTK à retrouver.                       * +*                                                                             * +*  Description : Détermine l'indice d'un composant dans un conteneur GTK.     * +*                                                                             * +*  Retour      : Indice du composant dans le conteneur ou -1 si non trouvé.   * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +gint find_contained_child_index(GtkContainer *container, GtkWidget *child) +{ +    gint result;                            /* Indice à retourner          */ +    GList *list;                            /* Liste de composants contenus*/ +    gint counter;                           /* Décompte progressif         */ +    GList *iter;                            /* Boucle de parcours          */ + +    result = -1; + +    list = gtk_container_get_children(container); + +    counter = 0; + +    for (iter = g_list_first(list); iter != NULL; iter = g_list_next(iter)) +    { +        if (iter->data == child) +        { +            result = counter; +            break; +        } + +        counter++; + +    } + +    g_list_free(list); + +    return result; + +} + + +/****************************************************************************** +*                                                                             * +*  Paramètres  : container = composant GTK contenant d'autres composants.     * +*                n         = indice du composant à retrouver.                 * +*                                                                             * +*  Description : Récupère le nième composant d'un conteneur GTK.              * +*                                                                             * +*  Retour      : Composant à la position donnée ou NULL en cas d'absence.     * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +GtkWidget *get_nth_contained_child(GtkContainer *container, guint n) +{ +    GtkWidget *result;                      /* Résultat à retourner        */ +    GList *list;                            /* Liste de composants contenus*/ + +    result = NULL; + +    list = gtk_container_get_children(container); + +    result = g_list_nth_data(list, n); + +    if (result != NULL) +        g_object_ref(G_OBJECT(result)); + +    g_list_free(list); + +    return result; + +} + +  /******************************************************************************  *                                                                             *  *  Paramètres  : parent   = fenêtre parente pour la modalité d'affichage.     * | 
