[C/GTK+] changer de child dans un container

Résolu
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bien le bonjour!

Alors voilà je programme un logiciel de messagerie internet en c avec GTK, mais ça fait quelques jours que je butte sur un problème tout con!
Je m'explique:

Dans ce logiciel se trouve dans la partie gauche une liste des comptes utilisateurs (sous forme de gtk_tree_store) qui s'affiche en fonction de ce que contient un fichier de configuration extérieur.
Donc, quand un nouveau compte est créé, il faut mettre à jour cette liste, ce que j'essaye de faire ainsi:

/*...Le contenant de l'arbre utilisé dans d'autres fichiers...*/
extern GtkWidget *TreeBox

/*...La fonction appelée pour créer et integrer l'arbre...*/
void Make_Tree_Accounts_View()
{
    /*...La vue statique permettant de revenir utiliser cette variable...*/
   static GtkWidget TreeView = NULL;

   /*...Autres variables...*/

    /*...Si on est déjà passé créer le TreeView (donc pour le changer)...*/
   if (TreeView != NULL)
    {
        /*...On enlève la vue précédente...*/
        gtk_container_remove(GTK_CONTAINER(TreeBox), TreeView);
    }

    /*...On crée un nouveau contenant dans la variable globale...*/
    TreeBox = gtk_vbox_new(TRUE, 0);

        /*...Création du nouveau TreeView (je vous épargne les détails!)...*/

    /*...et pour finir: ...*/
    gtk_container_add(GTK_CONTAINER(TreeBox), TreeView);
}


Comme vous vous en doutez, cette fonction est appellée une première fois pour l'affichage du programme (et ça marche à merveille), mais lorsque je la relance, l'affichage de l'arbre disparait (ce qui est normal), mais ne réapparait pas (ce qui est ennuyeux).

D'autant que la compilation réussit sans problème et qu'il n'y a même pas de messages d'erreur sur la console...

Pouvez vous m'aidez, s'il vous plait? Je suis dépassé!
A voir également:

1 réponse

gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai trouvé!
Il suffit de mettre le TreeBox en variable locale statique et puis de rajoutter un pointeur vers ce widget en return.
Si jamais ça peut servir à quelqu'un.
Merci quand même pour... heu... ben rien. Mais merci quand même!
0