gtk_tree_model_get_value called for invisible cells?



Hi,

I am testing simple subclass of GtkTreeModel to allow the user browsing a data tree without prefetching all the information from the database and storing all of it in memory. I understand that GtkTreeView should call gtk_tree_model_get_value() only for the actually displayed rows and columns but I cannot achieve this effect. Has anybody tried something like this?

The application basically has only a GtkTreeView widget in GtkScrolledWindow. GtkTreeView is connected to custom GtkTreeModel that fetches data from database in chunks. When GtkTreeView processes request-size event, it validates all the rows to compute their size: #1 0x401a5b8b in gtk_tree_model_get_value () #2 0x401cef6f in gtk_tree_view_column_cell_set_cell_data () #3 0x401bbe02 in validate_row () #4 0x401bcb74 in do_validate_rows ()
#5  0x401bcf55 in validate_rows ()
#6  0x401b7a68 in gtk_tree_view_size_request ()

The iteration over rows is done to compute the height of the widget and I am fine with that but I do not understand why get_value() is called. Isn't possible to fix all the cell widths and heights? There is a gtk_tree_view_column_set_fixed_width() method but it does not appear to change a thing?

Anybody can offer any hints? Has done something like this before? I have not seen this issue mentioned in the list archive.

Pawel



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]