// SelectedIter returns the iter matching the selected line. // func SelectedIter(model *gtk.ListStore, selection *gtk.TreeSelection) (*gtk.TreeIter, error) { if selection.CountSelectedRows() == 0 { return nil, errors.New("no line selected") } _, iter, ok := selection.GetSelected() if !ok { return nil, errors.New("SelectedIter: GetSelected failed") } return iter, nil }
// Handle selection func treeSelectionChangedCB(selection *gtk.TreeSelection) { var iter *gtk.TreeIter var model gtk.ITreeModel var ok bool model, iter, ok = selection.GetSelected() if ok { tpath, err := model.(*gtk.TreeModel).GetPath(iter) if err != nil { log.Printf("treeSelectionChangedCB: Could not get path from model: %s\n", err) return } log.Printf("treeSelectionChangedCB: selected path: %s\n", tpath) } }