2011-01-13 10 views
2

Ich habe eine Baumansicht, die die Eigenschaften eines Objekts auflistet. Eine dieser Eigenschaften ist eine Liste von Tags (Strings), die eine Liste von null bis zu einer beliebigen Anzahl von Elementen darstellen können. So könnten Sie einen Song mit "Jazz" und "Favorite" und "Chillout" oder was auch immer markieren. Im Moment habe ich diese als eine einzige Zeichenfolge implementiert mit Kommas, die jeden Tag trennen, aber ich hätte gerne eine intuitivere Benutzeroberfläche. Alle anderen Eigenschaften werden in einer Baumansicht mit zwei Spalten angezeigt, wobei die erste Spalte der Name der Eigenschaft und die zweite Spalte der Wert der Eigenschaft ist.Eine Baumansicht innerhalb einer Baumansicht? oder wie man eine Liste innerhalb einer Baumansicht zeigt

Es dachte, einen Weg, dies zu tun, wäre ein andere treeview in der zweiten Spalte in den Tags Zeile zu platzieren, wo Benutzer eine Zeile klicken können, bearbeiten/löschen oder es gibt einen „neuen Tag hinzufügen ...“ Zeile, können sie neue Tags hinzufügen.

Wie könnte ich das möglicherweise tun? Alternativ, verschiedene GUI-Vorschläge?

Antwort

2

Sie können Widgets (GtkWidget) nicht in eine Spalte einer Baumansicht einfügen. Aber Sie können mehrere Zellen (GtkCellRendenderer) in eine einzelne Spalte packen. Ein CellRenderer ist wie ein leichtes Widget. Es kann natürlich unterklassifiziert werden, so dass Sie Ihre eigenen schreiben können, wenn nichts anderes Ihren Bedürfnissen entspricht.