Example #1
0
// 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
}
Example #2
0
// 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)
	}
}