// Code generated by cmd/cgo; DO NOT EDIT. //line /home/josie/.cache/paru/clone/wiiudownloader/src/pkg/mod/github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56/gtk/windowgroup.go:1:1 // Same copyright and license as the rest of the files in this project package gtk // #include // #include "gtk.go.h" import _ "unsafe" import ( "runtime" "unsafe" "github.com/gotk3/gotk3/gdk" "github.com/gotk3/gotk3/glib" ) /* * GtkWindowGroup */ type WindowGroup struct { *glib.Object } // native returns a pointer to the underlying GtkWindowGroup. func (v *WindowGroup) native() * /*line :25:33*/_Ctype_GtkWindowGroup /*line :25:49*/ { if v == nil || v.GObject == nil { return nil } p := unsafe.Pointer(v.GObject) return func() *_Ctype_struct__GtkWindowGroup{ _cgo0 := /*line :30:28*/p; _cgoCheckPointer(_cgo0, nil); return /*line :30:30*/_Cfunc_toGtkWindowGroup(_cgo0); }() } func marshalWindowGroup(p uintptr) (interface{}, error) { c := ( /*line :34:7*/_Cfunc_g_value_get_object /*line :34:26*/)((* /*line :34:30*/_Ctype_GValue /*line :34:38*/)(unsafe.Pointer(p))) obj := glib.Take(unsafe.Pointer(c)) return wrapWindowGroup(obj), nil } func wrapWindowGroup(obj *glib.Object) *WindowGroup { if obj == nil { return nil } return &WindowGroup{obj} } // WindowGroupNew is a wrapper around gtk_window_group_new(). func WindowGroupNew() (*WindowGroup, error) { c := ( /*line :49:7*/_Cfunc_gtk_window_group_new /*line :49:28*/)() if c == nil { return nil, nilPtrErr } return wrapWindowGroup(glib.Take(unsafe.Pointer(c))), nil } // AddWindow is a wrapper around gtk_window_group_add_window(). func (v *WindowGroup) AddWindow(window IWindow) { var pw * /*line :58:10*/_Ctype_GtkWindow /*line :58:21*/ = nil if window != nil { pw = window.toWindow() } func() { _cgo0 := /*line :62:32*/v.native(); _cgo1 := /*line :62:44*/pw; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :62:47*/_Cfunc_gtk_window_group_add_window(_cgo0, _cgo1); }() } // RemoveWindow is a wrapper around gtk_window_group_remove_window(). func (v *WindowGroup) RemoveWindow(window IWindow) { var pw * /*line :67:10*/_Ctype_GtkWindow /*line :67:21*/ = nil if window != nil { pw = window.toWindow() } func() { _cgo0 := /*line :71:35*/v.native(); _cgo1 := /*line :71:47*/pw; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :71:50*/_Cfunc_gtk_window_group_remove_window(_cgo0, _cgo1); }() } // ListWindows is a wrapper around gtk_window_group_list_windows(). // Returned list is wrapped to return *gtk.Window elements. // TODO: Use IWindow and wrap to correct type func (v *WindowGroup) ListWindows() *glib.List { clist := func() *_Ctype_struct__GList{ _cgo0 := /*line :78:43*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :78:54*/_Cfunc_gtk_window_group_list_windows(_cgo0); }() if clist == nil { return nil } glist := glib.WrapList(uintptr(unsafe.Pointer(clist))) glist.DataWrapper(func(ptr unsafe.Pointer) interface{} { return wrapWindow(glib.Take(ptr)) }) runtime.SetFinalizer(glist, func(l *glib.List) { glib.FinalizerStrategy(l.Free) }) return glist } // GetCurrentGrab is a wrapper around gtk_window_group_get_current_grab(). func (v *WindowGroup) GetCurrentGrab() (IWidget, error) { c := func() *_Ctype_struct__GtkWidget{ _cgo0 := /*line :92:43*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :92:54*/_Cfunc_gtk_window_group_get_current_grab(_cgo0); }() if c == nil { return nil, nil } return castWidget(c) } // GetCurrentDeviceGrab is a wrapper around gtk_window_group_get_current_device_grab(). func (v *WindowGroup) GetCurrentDeviceGrab(device *gdk.Device) (IWidget, error) { c := func() *_Ctype_struct__GtkWidget{ _cgo0 := /*line :101:50*/v.native(); _cgo1 := func() *_Ctype_struct__GdkDevice{ _cgo0 := /*line :101:76*/unsafe.Pointer(device.Native()); _cgoCheckPointer(_cgo0, nil); return /*line :101:108*/_Cfunc_toGdkDevice(_cgo0); }(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); return /*line :101:109*/_Cfunc_gtk_window_group_get_current_device_grab(_cgo0, _cgo1); }() if c == nil { return nil, nil } return castWidget(c) }