Op 10-05-18 om 00:06 schreef c.bu...@posteo.jp: > I want to have a date column in a Gtk.ListView. The field in the model > is a real "datetime.date". Based on that the content of the column > could display this: > > "2018-05-07" > "2 days ago" > "this week" > "7th May" > "7. Mai '18"
Store this string in the Gtk.List/TreeStore, keep the datetime.date somewhere and update the string when the user changes the date format. I never used it but you may want to experiment with storing a GLib.Date object. > This is all based on the same "datetime.date" instance. The user decide > how to display. So I need maximum flexibility. > > A cell_data_function is an option here to implement this. Is it a good > choice? You can of-course do all sorts of things and manipulate to your hearts content but I think you are making it too complicated. You could have two strings, one for the display and another that stores a version that is easily parsed by the datetime module. > What is about deriving from Gtk.CellRendererText? > But I don't see how to do this. May I only overload the render() > function? But how can I read from datetime.date object and convert it > to a string? You subclass and override the virtual methods [1] with your own. For example something like below. class MyRenderer(Gtk.CellRendereText): def __init__(self, datetime): super().__init__() self._datetime = datetime do_render(self, cr, widget, bg_area, cell_area, flags): # implement your own rendering here ~infirit _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list