1// +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16
2
3// See: https://developer.gnome.org/gtk3/3.18/api-index-3-18.html
4
5// For gtk_overlay_reorder_overlay():
6// See: https://git.gnome.org/browse/gtk+/tree/gtk/gtkoverlay.h?h=gtk-3-18
7
8package gtk
9
10// #include <gtk/gtk.h>
11import "C"
12
13/*
14 * GtkStack
15 */
16
17// TODO:
18// gtk_stack_get_interpolate_size().
19// gtk_stack_set_interpolate_size().
20
21/*
22 * GtkRadioMenuItem
23 */
24
25// JoinGroup is a wrapper around gtk_radio_menu_item_join_group().
26func (v *RadioMenuItem) JoinGroup(group_source *RadioMenuItem) {
27	C.gtk_radio_menu_item_join_group(v.native(), group_source.native())
28}
29
30/*
31 * GtkOverlay
32 */
33
34// ReorderOverlay() is a wrapper around gtk_overlay_reorder_overlay().
35func (v *Overlay) ReorderOverlay(child IWidget, position int) {
36	C.gtk_overlay_reorder_overlay(v.native(), child.toWidget(), C.int(position))
37}
38
39// GetOverlayPassThrough() is a wrapper around gtk_overlay_get_overlay_pass_through().
40func (v *Overlay) GetOverlayPassThrough(widget IWidget) bool {
41	c := C.gtk_overlay_get_overlay_pass_through(v.native(), widget.toWidget())
42	return gobool(c)
43}
44
45// SetOverlayPassThrough() is a wrapper around gtk_overlay_set_overlay_pass_through().
46func (v *Overlay) SetOverlayPassThrough(widget IWidget, passThrough bool) {
47	C.gtk_overlay_set_overlay_pass_through(v.native(), widget.toWidget(), gbool(passThrough))
48}
49
50/*
51 * GtkPlacesSidebar
52 */
53
54// TODO:
55// gtk_places_sidebar_set_show_recent().
56// gtk_places_sidebar_get_show_recent().
57// gtk_places_sidebar_get_show_trash().
58// gtk_places_sidebar_set_show_trash().
59// gtk_places_sidebar_get_show_other_locations().
60// gtk_places_sidebar_set_show_other_locations().
61// gtk_places_sidebar_set_drop_targets_visible().
62
63/*
64 * GtkPopover
65 */
66
67// SetDefaultWidget is a wrapper around gtk_popover_set_default_widget().
68func (p *Popover) SetDefaultWidget(widget IWidget) {
69	C.gtk_popover_set_default_widget(p.native(), widget.toWidget())
70}
71
72// GetDefaultWidget is a wrapper around gtk_popover_get_default_widget().
73func (p *Popover) GetDefaultWidget() (IWidget, error) {
74	w := C.gtk_popover_get_default_widget(p.native())
75	if w == nil {
76		return nil, nil
77	}
78	return castWidget(w)
79}
80
81/*
82 * GtkTextView
83 */
84
85// SetTopMargin is a wrapper around gtk_text_view_set_top_margin().
86func (v *TextView) SetTopMargin(topMargin int) {
87	C.gtk_text_view_set_top_margin(v.native(), C.gint(topMargin))
88}
89
90// GetTopMargin is a wrapper around gtk_text_view_get_top_margin().
91func (v *TextView) GetTopMargin() int {
92	return int(C.gtk_text_view_get_top_margin(v.native()))
93}
94
95// SetBottomMargin is a wrapper around gtk_text_view_set_bottom_margin().
96func (v *TextView) SetBottomMargin(bottomMargin int) {
97	C.gtk_text_view_set_bottom_margin(v.native(), C.gint(bottomMargin))
98}
99
100// GetBottomMargin is a wrapper around gtk_text_view_get_bottom_margin().
101func (v *TextView) GetBottomMargin() int {
102	return int(C.gtk_text_view_get_bottom_margin(v.native()))
103}
104