Ist vielleicht eine etwas knifflige Frage, aber ich hoffe dennoch auf das Beste. Ich versuche mich derzeit an gtkmm (nachdem ich schon mehr als genug Erfahrung mit GTK+ habe) und würde jetzt zu gerne etwas in die Tat umsetzen:
Ich hab ein Liststore, in dem ich gerne Instanzen der von mir erstellten Klasse ablegen würde, was auch wunderbar funktioniert. Wenn ich besagte Spalte aber in einem treeview anzeigen lasse, produziert das Fehler in Hülle und Fülle. Mit Integer, Strings und anderem banalen Zeug funktioniert das problemlos, weil die treeview weiss, wie sie diese typen darzustellen hat, bei meinem Objekt ist der aber verständlicherweise ratlos. Wie bringe ich dem bei, eine korrekte Ausgabe von Objekten zu machen? Ich habs schon mit einem überladenen <<Operator versucht, hat aber nicht funktioniert. Ich hab im Tutorial von gtkmm nachgelesen, da steht nur folgendes:
ZitatFor other column types you must either connect a callback that converts your type into a string representation, with TreeViewColumn::set_cell_data_func(), or derive a custom CellRenderer.
mehr aber auch nicht und das hilft mir irgendwie überhaupt nicht weiter. Die Referenz hält sich diesbezüglich ebenfalls zurück.
Nur mal zur Beschreibung: Im Endeffekt soll das Objekt als String dargestellt werden, wie es auch im Tutorial vorgeschlagen wird. Natürlich könnte ich zwei Spalten dafür verwenden, eine in der tatsächlich das Objekt liegt und eine in der der entsprechende String liegt, wobei ich dann nur letztere im treeview anzeigen lasse. Aber das wär irgendwie doppelt gemoppelt und das würd ich gerne umgehen.
Liebe Grüße und fröhliches Zähneausbeissen,
MrMilti