Forum Programmation.c [GtkTreeStore] Supression d'un enfant

Posté par  .
Étiquettes : aucune
0
11
août
2005
Bonsoir.

Je m'essaye à la suppression d'élément ds un GtkTreeStore avec gtk_tree_store_remove.

Si l'enfant n'a pas de frères, alors, le parent suivant devient l'enfant du précédent.
Hrem.

En gros :

Parent 1
-- Enfant 1
Parent 2
-- Enfant 2
-- Enfant 3

Devient après avoir supprimer l'enfant 1 :

Parent 1
-- Parent 2
-- -- Enfant 2
-- -- Enfant 3

Comment pourrais-je bien faire pr que Parent 2 ne prenne pas la place de Enfant 1 ?

Je sais que cette fct ne peut mener qu'à ça, mais il doit bien y avoir une astuce, une autre fct ?
Ou des opérations à effectuer avant ?

http://developer.gnome.org/doc/API/2.0/gtk/GtkTreeStore.html#gtk-tr(...)

"After being removed, iter is set to the next valid row at that level, or invalidated if it previously pointed to the last one."

Merci
  • # iter

    Posté par  (site web personnel) . Évalué à 2.

    iter te sert à itérer dans ton arbre, c'est bien ça ?
    Donc il pointe sur le prochain élément qui est bon. Maitenant est-tu sur que ton arbre à la forme que tu donnes ?
    Repart à zéro et affiche le.
    (j'ai jamais fait de GTK.)
    • [^] # Re: iter

      Posté par  . Évalué à 1.

      Le schéma que j'ai fait est le bon.

      Donc, en effet, iter a un pointeur sur le suivant.
      La fct remove "remplace" donc iter par son suivant.

      Mais si iter est un fils, alors, le suivant le devient aussi...
      Et ça, je ne veux pas.

      A la limite, il faudrait faire en sorte que le père de l'enfant ne soit plus père SI il n'a qu'un enfant...

      Pr savoir combien il a d'enfant, pas de problème.
      Mais comment faire pr qu'il ne soit plus père ? ...
      Aucune idée...

      Reconstruire l'arbre entièrement ?
      • [^] # Re: iter

        Posté par  (site web personnel) . Évalué à 3.

        • [^] # Re: iter

          Posté par  (site web personnel) . Évalué à 2.

          ouais, merci pour lui, un schema vaut mieux qu'un grand discours !
        • [^] # Re: iter

          Posté par  . Évalué à 2.

          Je reviens de ma journée de travail, et j'ai pensé au problème pdt la journée.

          Hier, j'ai testé avec un treeview, et le résultat n'était pas celui que j'obtenais différement.

          Comment obtenais-je ce résultat ?

          En fait, le résultat que j'obtenais était faussé à cause d'un atrribut.

          Une ligne, si elle est père, à un attribut spécial.
          Donc, lorsque je lisais mon treestore, la ligne père qui ne l'était plus puisqu'elle n'avait plus de fils, prenait d'autre fils, mais uniquement à cause de son attribut de père.

          Je me suis donc trompé, :$

          Pardon, et merci :]

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.