refresh GtkTreeView
-
hi
ich habe ein GtkTreeview was im laufe der zeit immer mehr einträge bekommt. Mein problem ist das sich der GtkTreeView nciht selbständigt refresh, Mein Frage lautet: Welche funktion oder welche Paramter muss ich setzen damit sich die Liste refresht
gtk_list_store_append (GTK_LIST_STORE(modelbla), &iter); gtk_list_store_set (GTK_LIST_STORE(modelbla), &iter, COLUMN_ITEM_NUMBER, newpackage.number, COLUMN_ITEM_TIMER, newpackage.timer, COLUMN_ITEM_SOURCE, newpackage.source, COLUMN_ITEM_DESTINATION, newpackage.destination, COLUMN_ITEM_PROTOCOL, newpackage.protocol, COLUMN_ITEM_INFO, newpackage.info, -1); //fehlt hier eine refreshfunktion??
mfg spjoe
-
Ich schätzte, dass das wärend eine längeren Rechenoperation passiert und nach der operation alle Items dargestellt werden.
Ist das der Fall musst du folgenden Code nach jeder Änderung eintragen.
while (gtk_events_pending ()) gtk_main_iteration ();
-
Hmm jetzt gibts noch weniger refresh als sonst, und es refresht sich erst wenn ich fenster resize, aber wahrscheinlich hab ich dich falsch verstanden. Oder es liegt daran dass der aufbau dieser liste eine anderer thread macht
mfg spjoe
-
Also im Normalfall sollte, wenn deine Funktion an den Eventloop übergibt, oder aus einem Callback zurückkehrt, das Tree View richtig dargestellt werden. Wenn du zwischendurch "updaten" willst, dann must du das mit der oben genannetn Methode machen.
Ach ja... Wenn das TreeModel in einem anderen Thread bearbeitet wird, musst du da noch andere Dinge beachten. Das ist auch im Normalfall nicht zu empfehlen.
-
Hier ist noch ein Link dazu: http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html