gtk/gtk.go
func (v *TreeSelection) GetSelectedRows(model ITreeModel) *glib.List {
	var pcmodel **C.GtkTreeModel
	if model != nil {
		cmodel := model.toTreeModel()
		pcmodel = &cmodel
	}

	clist := C.gtk_tree_selection_get_selected_rows(v.native(), pcmodel)
	if clist == nil {
		return nil
	}

	glist := glib.WrapList(uintptr(unsafe.Pointer(clist)))
	glist.DataWrapper(func(ptr unsafe.Pointer) interface{} {
		return &TreePath{(*C.GtkTreePath)(ptr)}
	})
	runtime.SetFinalizer(glist, func(glist *glib.List) {
		glist.FreeFull(func(item interface{}) {
			path := item.(*TreePath)
			C.gtk_tree_path_free(path.GtkTreePath)
		})
	})

	return glist
}
func (v *TreeSelection) GetSelectedRows(model ITreeModel) *glib.List {
	var pcmodel **C.GtkTreeModel
	if model != nil {
		cmodel := model.toTreeModel()
		pcmodel = &cmodel
	}

	clist := C.gtk_tree_selection_get_selected_rows(v.native(), pcmodel)
	if clist == nil {
		return nil
	}

	glist := glib.WrapList(uintptr(unsafe.Pointer(clist)))
	glist.DataWrapper(func(ptr unsafe.Pointer) interface{} {
		return &TreePath{(*C.GtkTreePath)(ptr)}
	})
	runtime.SetFinalizer(glist, func(glist *glib.List) {
		glist.FreeFull(func(item interface{}) {
			path := item.(*TreePath)
			C.gtk_tree_path_free(path.GtkTreePath)
		})
	})

	return glist
}
func ( v * TreeSelection ) GetSelectedRows ( model ITreeModel ) * glib . List { var pcmodel * * C . GtkTreeModel if model != nil { cmodel := model . toTreeModel ( ) pcmodel = & cmodel } clist := C . gtk_tree_selection_get_selected_rows ( v . native ( ) , pcmodel ) if clist == nil { return nil } glist := glib . WrapList ( uintptr ( unsafe . Pointer ( clist ) ) ) glist . DataWrapper ( func ( ptr unsafe . Pointer ) interface { } { return & TreePath { ( * C . GtkTreePath ) ( ptr ) } } ) runtime . SetFinalizer ( glist , func ( glist * glib . List ) { glist . FreeFull ( func ( item interface { } ) { path := item . ( * TreePath ) C . gtk_tree_path_free ( path . GtkTreePath ) } ) } ) return glist }
// GetSelectedRows is a wrapper around gtk_tree_selection_get_selected_rows().
// All the elements of returned list are wrapped into (*gtk.TreePath) values.
//
// Please note that a runtime finalizer is only set on the head of the linked
// list, and must be kept live while accessing any item in the list, or the
// Go garbage collector will free the whole list.
GetSelectedRows is a wrapper around gtk_tree_selection_get_selected_rows () . All the elements of returned list are wrapped into ( * gtk . TreePath ) values . Please note that a runtime finalizer is only set on the head of the linked list and must be kept live while accessing any item in the list or the Go garbage collector will free the whole list .