resander
July 9th, 2009, 05:45 PM
My application written years ago for Windows needs an integer. It cannot use GtkTreeIters.
For example, I need index 1 to be returned for the selected item below:
red
green <<< selected
blue
....
There is a function gtk_tree_selection_get_selected that returns the treeiter for currently selected item in single-select mode. In multi-select mode there is a callback function GtkTreeSelectionForeachFunc that also provides a treeiter for selected items. But how do I convert this treeiter to an integer?
A very inefficient way would be to visit all rows and check which are selected and return the integer row indexes.
I have seen a function gtk_tree_selection_get_user_data() that returns userdata for a selected row. I could store row indexes as userdata, 0 for the first row, 1 for the second and thus be able to get the integer index I want for selected rows, but I don't know how to set userdata for listrows. How?
Or are there better ways?
For example, I need index 1 to be returned for the selected item below:
red
green <<< selected
blue
....
There is a function gtk_tree_selection_get_selected that returns the treeiter for currently selected item in single-select mode. In multi-select mode there is a callback function GtkTreeSelectionForeachFunc that also provides a treeiter for selected items. But how do I convert this treeiter to an integer?
A very inefficient way would be to visit all rows and check which are selected and return the integer row indexes.
I have seen a function gtk_tree_selection_get_user_data() that returns userdata for a selected row. I could store row indexes as userdata, 0 for the first row, 1 for the second and thus be able to get the integer index I want for selected rows, but I don't know how to set userdata for listrows. How?
Or are there better ways?