Gtk3 Treeview(als Listview) und alternierende bg-color

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Remline
User
Beiträge: 5
Registriert: Mittwoch 30. November 2011, 13:18

Hallo zusammen.

ich habe in meinem Programm ein Gtk.TreeView das die Daten eines ListStores anzeigt. Diese Daten sind nach logischen Gruppen sortiert, daher wäre es schön, wenn ich diese Gruppen mit einem dezenten Wechsel der Hintergrundfarbe optisch voneinander abgrenzen könnte.

Stellt euch einfach eine Liste mit Musikstücken vor, die nach der CD gruppiert sind auf der sie sich befinden.

Ich weiß, das es möglich ist jede zweite Zeile mit einem andersfarbigen Hintergrund zu belegen, aber ist es irgendwie möglich die Methode, die intern entscheidet, ob es eine gerade oder ungerade Zeile ist zu überschreiben, so das ich die Steuerung selbst vornehme und z.B immer 10 "gerade" und 10 "ungerade" Zeilen abwechseln lasse?

Klar was ich versuche?

Andy
rhersel
User
Beiträge: 105
Registriert: Mittwoch 3. Dezember 2008, 11:29

Mal so ins Unreine gesprochen: Du kannst doch dem TreeStore ein weiteres Attribut für die Hintergrundfarbe hinzufügen. Das wird dann eine unsichtbare Spalte in deinem TreeView. Diese Information benutzt du dann um jede Zeile im Baum individuell einzufärben.
Remline
User
Beiträge: 5
Registriert: Mittwoch 30. November 2011, 13:18

Ja,

derzeit ist das auch das beste, was ich aus dem TreeView herausholen kann. Es funktioniert zuverlässig. Der Weg über das odd/even Flag schien mir nur sinnvoller, weil ich mich dann immer noch im Rahmen des vom Benutzer ausgewählten Themes bewege. Und wenn der z.B. die alternierende Farbgebung für Listen (in der Theme-Einstellung) abschaltet, weil ihn das stört, dann würde sich mein TreeView dem auch unterwerfen.

Ich habe, bis auf den Quelltext des Widget jetzt so ziemlich alles gelesen, was ich im Netz gefunden habe, und habe immer noch das Gefühl, es müsste gehen, aber keine Ahnung wie.

Andy
Antworten