1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5 "structs"
6 "unsafe"
7
8 "github.com/ebitengine/purego"
9
10 "github.com/bnema/puregotk/pkg/core"
11 "github.com/bnema/puregotk/v4/gobject"
12 "github.com/bnema/puregotk/v4/gobject/types"
13)
14
15type ColumnViewRowClass struct {
16 _ structs.HostLayout
17}
18
19func (x *ColumnViewRowClass) GoPointer() uintptr {
20 return uintptr(unsafe.Pointer(x))
21}
22
23// Configures how rows are displayed in a [class@Gtk.ColumnView].
24//
25// It is not used to set the widgets displayed in the individual cells. For that
26// see [method@GtkColumnViewColumn.set_factory] and [class@GtkColumnViewCell].
27type ColumnViewRow struct {
28 gobject.Object
29}
30
31var xColumnViewRowGLibType func() types.GType
32
33func ColumnViewRowGLibType() types.GType {
34 return xColumnViewRowGLibType()
35}
36
37func ColumnViewRowNewFromInternalPtr(ptr uintptr) *ColumnViewRow {
38 cls := &ColumnViewRow{}
39 cls.Ptr = ptr
40 return cls
41}
42
43var xColumnViewRowGetAccessibleDescription func(uintptr) string
44
45// Gets the accessible description of @self.
46func (x *ColumnViewRow) GetAccessibleDescription() string {
47
48 cret := xColumnViewRowGetAccessibleDescription(x.GoPointer())
49 return cret
50}
51
52var xColumnViewRowGetAccessibleLabel func(uintptr) string
53
54// Gets the accessible label of @self.
55func (x *ColumnViewRow) GetAccessibleLabel() string {
56
57 cret := xColumnViewRowGetAccessibleLabel(x.GoPointer())
58 return cret
59}
60
61var xColumnViewRowGetActivatable func(uintptr) bool
62
63// Checks if the row has been set to be activatable via
64// gtk_column_view_row_set_activatable().
65func (x *ColumnViewRow) GetActivatable() bool {
66
67 cret := xColumnViewRowGetActivatable(x.GoPointer())
68 return cret
69}
70
71var xColumnViewRowGetFocusable func(uintptr) bool
72
73// Checks if a row item has been set to be focusable via
74// gtk_column_view_row_set_focusable().
75func (x *ColumnViewRow) GetFocusable() bool {
76
77 cret := xColumnViewRowGetFocusable(x.GoPointer())
78 return cret
79}
80
81var xColumnViewRowGetItem func(uintptr) uintptr
82
83// Gets the model item that associated with @self.
84//
85// If @self is unbound, this function returns %NULL.
86func (x *ColumnViewRow) GetItem() *gobject.Object {
87 var cls *gobject.Object
88
89 cret := xColumnViewRowGetItem(x.GoPointer())
90
91 if cret == 0 {
92 return nil
93 }
94 gobject.IncreaseRef(cret)
95 cls = &gobject.Object{}
96 cls.Ptr = cret
97 return cls
98}
99
100var xColumnViewRowGetPosition func(uintptr) uint
101
102// Gets the position in the model that @self currently displays.
103//
104// If @self is unbound, %GTK_INVALID_LIST_POSITION is returned.
105func (x *ColumnViewRow) GetPosition() uint {
106
107 cret := xColumnViewRowGetPosition(x.GoPointer())
108 return cret
109}
110
111var xColumnViewRowGetSelectable func(uintptr) bool
112
113// Checks if the row has been set to be selectable via
114// gtk_column_view_row_set_selectable().
115//
116// Do not confuse this function with [method@Gtk.ColumnViewRow.get_selected].
117func (x *ColumnViewRow) GetSelectable() bool {
118
119 cret := xColumnViewRowGetSelectable(x.GoPointer())
120 return cret
121}
122
123var xColumnViewRowGetSelected func(uintptr) bool
124
125// Checks if the item is selected that this row corresponds to.
126//
127// The selected state is maintained by the list widget and its model
128// and cannot be set otherwise.
129func (x *ColumnViewRow) GetSelected() bool {
130
131 cret := xColumnViewRowGetSelected(x.GoPointer())
132 return cret
133}
134
135var xColumnViewRowSetAccessibleDescription func(uintptr, string)
136
137// Sets the accessible description for the row,
138// which may be used by e.g. screen readers.
139func (x *ColumnViewRow) SetAccessibleDescription(DescriptionVar string) {
140
141 xColumnViewRowSetAccessibleDescription(x.GoPointer(), DescriptionVar)
142
143}
144
145var xColumnViewRowSetAccessibleLabel func(uintptr, string)
146
147// Sets the accessible label for the row,
148// which may be used by e.g. screen readers.
149func (x *ColumnViewRow) SetAccessibleLabel(LabelVar string) {
150
151 xColumnViewRowSetAccessibleLabel(x.GoPointer(), LabelVar)
152
153}
154
155var xColumnViewRowSetActivatable func(uintptr, bool)
156
157// Sets @self to be activatable.
158//
159// If a row is activatable, double-clicking on the row, using
160// the Return key or calling gtk_widget_activate() will activate
161// the row. Activating instructs the containing columnview to
162// emit the [signal@Gtk.ColumnView::activate] signal.
163//
164// By default, row are activatable.
165func (x *ColumnViewRow) SetActivatable(ActivatableVar bool) {
166
167 xColumnViewRowSetActivatable(x.GoPointer(), ActivatableVar)
168
169}
170
171var xColumnViewRowSetFocusable func(uintptr, bool)
172
173// Sets @self to be focusable.
174//
175// If a row is focusable, it can be focused using the keyboard.
176// This works similar to [method@Gtk.Widget.set_focusable].
177//
178// Note that if row are not focusable, the contents of cells can still be focused if
179// they are focusable.
180//
181// By default, rows are focusable.
182func (x *ColumnViewRow) SetFocusable(FocusableVar bool) {
183
184 xColumnViewRowSetFocusable(x.GoPointer(), FocusableVar)
185
186}
187
188var xColumnViewRowSetSelectable func(uintptr, bool)
189
190// Sets @self to be selectable.
191//
192// If a row is selectable, clicking on the row or using the keyboard
193// will try to select or unselect the row. Whether this succeeds is up to
194// the model to determine, as it is managing the selected state.
195//
196// Note that this means that making a row non-selectable has no
197// influence on the selected state at all. A non-selectable row
198// may still be selected.
199//
200// By default, rows are selectable.
201func (x *ColumnViewRow) SetSelectable(SelectableVar bool) {
202
203 xColumnViewRowSetSelectable(x.GoPointer(), SelectableVar)
204
205}
206
207func (c *ColumnViewRow) GoPointer() uintptr {
208 if c == nil {
209 return 0
210 }
211 return c.Ptr
212}
213
214func (c *ColumnViewRow) SetGoPointer(ptr uintptr) {
215 c.Ptr = ptr
216}
217
218// SetPropertyAccessibleDescription sets the "accessible-description" property.
219// The accessible description to set on the row.
220func (x *ColumnViewRow) SetPropertyAccessibleDescription(value string) {
221 var v gobject.Value
222 v.Init(gobject.TypeStringVal)
223 v.SetString(&value)
224 x.SetProperty("accessible-description", &v)
225}
226
227// GetPropertyAccessibleDescription gets the "accessible-description" property.
228// The accessible description to set on the row.
229func (x *ColumnViewRow) GetPropertyAccessibleDescription() string {
230 var v gobject.Value
231 x.GetProperty("accessible-description", &v)
232 return v.GetString()
233}
234
235// SetPropertyAccessibleLabel sets the "accessible-label" property.
236// The accessible label to set on the row.
237func (x *ColumnViewRow) SetPropertyAccessibleLabel(value string) {
238 var v gobject.Value
239 v.Init(gobject.TypeStringVal)
240 v.SetString(&value)
241 x.SetProperty("accessible-label", &v)
242}
243
244// GetPropertyAccessibleLabel gets the "accessible-label" property.
245// The accessible label to set on the row.
246func (x *ColumnViewRow) GetPropertyAccessibleLabel() string {
247 var v gobject.Value
248 x.GetProperty("accessible-label", &v)
249 return v.GetString()
250}
251
252// SetPropertyActivatable sets the "activatable" property.
253// If the row can be activated by the user.
254func (x *ColumnViewRow) SetPropertyActivatable(value bool) {
255 var v gobject.Value
256 v.Init(gobject.TypeBooleanVal)
257 v.SetBoolean(value)
258 x.SetProperty("activatable", &v)
259}
260
261// GetPropertyActivatable gets the "activatable" property.
262// If the row can be activated by the user.
263func (x *ColumnViewRow) GetPropertyActivatable() bool {
264 var v gobject.Value
265 x.GetProperty("activatable", &v)
266 return v.GetBoolean()
267}
268
269// SetPropertyFocusable sets the "focusable" property.
270// If the row can be focused with the keyboard.
271func (x *ColumnViewRow) SetPropertyFocusable(value bool) {
272 var v gobject.Value
273 v.Init(gobject.TypeBooleanVal)
274 v.SetBoolean(value)
275 x.SetProperty("focusable", &v)
276}
277
278// GetPropertyFocusable gets the "focusable" property.
279// If the row can be focused with the keyboard.
280func (x *ColumnViewRow) GetPropertyFocusable() bool {
281 var v gobject.Value
282 x.GetProperty("focusable", &v)
283 return v.GetBoolean()
284}
285
286// GetPropertyPosition gets the "position" property.
287// Position of the row.
288func (x *ColumnViewRow) GetPropertyPosition() uint {
289 var v gobject.Value
290 x.GetProperty("position", &v)
291 return v.GetUint()
292}
293
294// SetPropertySelectable sets the "selectable" property.
295// If the row can be selected by the user.
296func (x *ColumnViewRow) SetPropertySelectable(value bool) {
297 var v gobject.Value
298 v.Init(gobject.TypeBooleanVal)
299 v.SetBoolean(value)
300 x.SetProperty("selectable", &v)
301}
302
303// GetPropertySelectable gets the "selectable" property.
304// If the row can be selected by the user.
305func (x *ColumnViewRow) GetPropertySelectable() bool {
306 var v gobject.Value
307 x.GetProperty("selectable", &v)
308 return v.GetBoolean()
309}
310
311// GetPropertySelected gets the "selected" property.
312// If the item in the row is currently selected.
313func (x *ColumnViewRow) GetPropertySelected() bool {
314 var v gobject.Value
315 x.GetProperty("selected", &v)
316 return v.GetBoolean()
317}
318
319func init() {
320 core.SetPackageName("GTK", "gtk4")
321 core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
322 var libs []uintptr
323 for _, libPath := range core.GetPaths("GTK") {
324 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
325 if err != nil {
326 panic(err)
327 }
328 libs = append(libs, lib)
329 }
330
331 core.PuregoSafeRegister(&xColumnViewRowGLibType, libs, "gtk_column_view_row_get_type")
332
333 core.PuregoSafeRegister(&xColumnViewRowGetAccessibleDescription, libs, "gtk_column_view_row_get_accessible_description")
334 core.PuregoSafeRegister(&xColumnViewRowGetAccessibleLabel, libs, "gtk_column_view_row_get_accessible_label")
335 core.PuregoSafeRegister(&xColumnViewRowGetActivatable, libs, "gtk_column_view_row_get_activatable")
336 core.PuregoSafeRegister(&xColumnViewRowGetFocusable, libs, "gtk_column_view_row_get_focusable")
337 core.PuregoSafeRegister(&xColumnViewRowGetItem, libs, "gtk_column_view_row_get_item")
338 core.PuregoSafeRegister(&xColumnViewRowGetPosition, libs, "gtk_column_view_row_get_position")
339 core.PuregoSafeRegister(&xColumnViewRowGetSelectable, libs, "gtk_column_view_row_get_selectable")
340 core.PuregoSafeRegister(&xColumnViewRowGetSelected, libs, "gtk_column_view_row_get_selected")
341 core.PuregoSafeRegister(&xColumnViewRowSetAccessibleDescription, libs, "gtk_column_view_row_set_accessible_description")
342 core.PuregoSafeRegister(&xColumnViewRowSetAccessibleLabel, libs, "gtk_column_view_row_set_accessible_label")
343 core.PuregoSafeRegister(&xColumnViewRowSetActivatable, libs, "gtk_column_view_row_set_activatable")
344 core.PuregoSafeRegister(&xColumnViewRowSetFocusable, libs, "gtk_column_view_row_set_focusable")
345 core.PuregoSafeRegister(&xColumnViewRowSetSelectable, libs, "gtk_column_view_row_set_selectable")
346
347}