[Gtk-sharp-list] gtk_tree_selection_get_selected_rows() custom
or generated?
Lee Mallabone
gnome@fonicmonkey.net
21 Feb 2003 17:52:22 -0500
On Thu, 2003-02-20 at 23:52, George Farris wrote:
> Well I'm stumped at the moment. I guess I'll leave multiple selection
> and move on, maybe someone with more programming knowledge than me will
> figure it out.
For what it's worth, I've got SelectedForeach to be useful in the following way...
Create your own GetAllSelected() function in a convenient place, (my class encapsulates a scrolled window and TreeView).
Have a member variable in your class that's an ArrayList called 'rows'.
Your GetAllSelected does something like:
public IList GetAllSelected()
{
TreeSelection selectionInfo = widget.Selection;
rows = new ArrayList();
selectionInfo.SelectedForeach(new TreeSelectionForeachFunc(recordRow));
Console.WriteLine("got " + rows.Count + " rows");
return rows;
}
And the recordRow() function is something like this:
private void recordRow(Gtk.TreeModel model, Gtk.TreePath path, Gtk.TreeIter iter)
{
string listIndex = path.ToString();
// Optionally look up some data based on the fact that
// list index tells you which row is selected
rows.Add(listIndex);
}
Then when you call your GetAllSelected() function you have full control over what gets returned.
I realize it's far from a one-liner, but I think it gives you all the control you could want...
Hope that helps!
--
Lee Mallabone <gnome@fonicmonkey.net>