1// Package adw was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package adw
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 "github.com/bnema/puregotk/v4/gtk"
14)
15
16type CarouselIndicatorLinesClass struct {
17 _ structs.HostLayout
18
19 ParentClass gtk.WidgetClass
20}
21
22func (x *CarouselIndicatorLinesClass) GoPointer() uintptr {
23 return uintptr(unsafe.Pointer(x))
24}
25
26// A lines indicator for [class@Carousel].
27//
28// <picture>
29//
30// <source srcset="carousel-indicator-lines-dark.png" media="(prefers-color-scheme: dark)">
31// <img src="carousel-indicator-lines.png" alt="carousel-indicator-lines">
32//
33// </picture>
34//
35// The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of
36// a given [class@Carousel]. The carousel's active page is shown as another line
37// that moves between them to match the carousel's position.
38//
39// See also [class@CarouselIndicatorDots].
40//
41// ## CSS nodes
42//
43// `AdwCarouselIndicatorLines` has a single CSS node with name
44// `carouselindicatorlines`.
45type CarouselIndicatorLines struct {
46 gtk.Widget
47}
48
49var xCarouselIndicatorLinesGLibType func() types.GType
50
51func CarouselIndicatorLinesGLibType() types.GType {
52 return xCarouselIndicatorLinesGLibType()
53}
54
55func CarouselIndicatorLinesNewFromInternalPtr(ptr uintptr) *CarouselIndicatorLines {
56 cls := &CarouselIndicatorLines{}
57 cls.Ptr = ptr
58 return cls
59}
60
61var xNewCarouselIndicatorLines func() uintptr
62
63// Creates a new `AdwCarouselIndicatorLines`.
64func NewCarouselIndicatorLines() *CarouselIndicatorLines {
65 var cls *CarouselIndicatorLines
66
67 cret := xNewCarouselIndicatorLines()
68
69 if cret == 0 {
70 return nil
71 }
72 gobject.IncreaseRef(cret)
73 cls = &CarouselIndicatorLines{}
74 cls.Ptr = cret
75 return cls
76}
77
78var xCarouselIndicatorLinesGetCarousel func(uintptr) uintptr
79
80// Gets the displayed carousel.
81func (x *CarouselIndicatorLines) GetCarousel() *Carousel {
82 var cls *Carousel
83
84 cret := xCarouselIndicatorLinesGetCarousel(x.GoPointer())
85
86 if cret == 0 {
87 return nil
88 }
89 gobject.IncreaseRef(cret)
90 cls = &Carousel{}
91 cls.Ptr = cret
92 return cls
93}
94
95var xCarouselIndicatorLinesSetCarousel func(uintptr, uintptr)
96
97// Sets the displayed carousel.
98func (x *CarouselIndicatorLines) SetCarousel(CarouselVar *Carousel) {
99
100 xCarouselIndicatorLinesSetCarousel(x.GoPointer(), CarouselVar.GoPointer())
101
102}
103
104func (c *CarouselIndicatorLines) GoPointer() uintptr {
105 if c == nil {
106 return 0
107 }
108 return c.Ptr
109}
110
111func (c *CarouselIndicatorLines) SetGoPointer(ptr uintptr) {
112 c.Ptr = ptr
113}
114
115// Requests the user's screen reader to announce the given message.
116//
117// This kind of notification is useful for messages that
118// either have only a visual representation or that are not
119// exposed visually at all, e.g. a notification about a
120// successful operation.
121//
122// Also, by using this API, you can ensure that the message
123// does not interrupts the user's current screen reader output.
124func (x *CarouselIndicatorLines) Announce(MessageVar string, PriorityVar gtk.AccessibleAnnouncementPriority) {
125
126 gtk.XGtkAccessibleAnnounce(x.GoPointer(), MessageVar, PriorityVar)
127
128}
129
130// Retrieves the accessible parent for an accessible object.
131//
132// This function returns `NULL` for top level widgets.
133func (x *CarouselIndicatorLines) GetAccessibleParent() *gtk.AccessibleBase {
134 var cls *gtk.AccessibleBase
135
136 cret := gtk.XGtkAccessibleGetAccessibleParent(x.GoPointer())
137
138 if cret == 0 {
139 return nil
140 }
141 cls = >k.AccessibleBase{}
142 cls.Ptr = cret
143 return cls
144}
145
146// Retrieves the accessible role of an accessible object.
147func (x *CarouselIndicatorLines) GetAccessibleRole() gtk.AccessibleRole {
148
149 cret := gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
150 return cret
151}
152
153// Retrieves the implementation for the given accessible object.
154func (x *CarouselIndicatorLines) GetAtContext() *gtk.ATContext {
155 var cls *gtk.ATContext
156
157 cret := gtk.XGtkAccessibleGetAtContext(x.GoPointer())
158
159 if cret == 0 {
160 return nil
161 }
162 cls = >k.ATContext{}
163 cls.Ptr = cret
164 return cls
165}
166
167// Queries the coordinates and dimensions of this accessible
168//
169// This functionality can be overridden by `GtkAccessible`
170// implementations, e.g. to get the bounds from an ignored
171// child widget.
172func (x *CarouselIndicatorLines) GetBounds(XVar *int, YVar *int, WidthVar *int, HeightVar *int) bool {
173
174 cret := gtk.XGtkAccessibleGetBounds(x.GoPointer(), XVar, YVar, WidthVar, HeightVar)
175 return cret
176}
177
178// Retrieves the first accessible child of an accessible object.
179func (x *CarouselIndicatorLines) GetFirstAccessibleChild() *gtk.AccessibleBase {
180 var cls *gtk.AccessibleBase
181
182 cret := gtk.XGtkAccessibleGetFirstAccessibleChild(x.GoPointer())
183
184 if cret == 0 {
185 return nil
186 }
187 cls = >k.AccessibleBase{}
188 cls.Ptr = cret
189 return cls
190}
191
192// Retrieves the next accessible sibling of an accessible object
193func (x *CarouselIndicatorLines) GetNextAccessibleSibling() *gtk.AccessibleBase {
194 var cls *gtk.AccessibleBase
195
196 cret := gtk.XGtkAccessibleGetNextAccessibleSibling(x.GoPointer())
197
198 if cret == 0 {
199 return nil
200 }
201 cls = >k.AccessibleBase{}
202 cls.Ptr = cret
203 return cls
204}
205
206// Queries a platform state, such as focus.
207//
208// This functionality can be overridden by `GtkAccessible`
209// implementations, e.g. to get platform state from an ignored
210// child widget, as is the case for `GtkText` wrappers.
211func (x *CarouselIndicatorLines) GetPlatformState(StateVar gtk.AccessiblePlatformState) bool {
212
213 cret := gtk.XGtkAccessibleGetPlatformState(x.GoPointer(), StateVar)
214 return cret
215}
216
217// Resets the accessible property to its default value.
218func (x *CarouselIndicatorLines) ResetProperty(PropertyVar gtk.AccessibleProperty) {
219
220 gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
221
222}
223
224// Resets the accessible relation to its default value.
225func (x *CarouselIndicatorLines) ResetRelation(RelationVar gtk.AccessibleRelation) {
226
227 gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
228
229}
230
231// Resets the accessible state to its default value.
232func (x *CarouselIndicatorLines) ResetState(StateVar gtk.AccessibleState) {
233
234 gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
235
236}
237
238// Sets the parent and sibling of an accessible object.
239//
240// This function is meant to be used by accessible implementations that are
241// not part of the widget hierarchy, and but act as a logical bridge between
242// widgets. For instance, if a widget creates an object that holds metadata
243// for each child, and you want that object to implement the `GtkAccessible`
244// interface, you will use this function to ensure that the parent of each
245// child widget is the metadata object, and the parent of each metadata
246// object is the container widget.
247func (x *CarouselIndicatorLines) SetAccessibleParent(ParentVar gtk.Accessible, NextSiblingVar gtk.Accessible) {
248
249 gtk.XGtkAccessibleSetAccessibleParent(x.GoPointer(), ParentVar.GoPointer(), NextSiblingVar.GoPointer())
250
251}
252
253// Updates the next accessible sibling.
254//
255// That might be useful when a new child of a custom accessible
256// is created, and it needs to be linked to a previous child.
257func (x *CarouselIndicatorLines) UpdateNextAccessibleSibling(NewSiblingVar gtk.Accessible) {
258
259 gtk.XGtkAccessibleUpdateNextAccessibleSibling(x.GoPointer(), NewSiblingVar.GoPointer())
260
261}
262
263// Informs ATs that the platform state has changed.
264//
265// This function should be used by `GtkAccessible` implementations that
266// have a platform state but are not widgets. Widgets handle platform
267// states automatically.
268func (x *CarouselIndicatorLines) UpdatePlatformState(StateVar gtk.AccessiblePlatformState) {
269
270 gtk.XGtkAccessibleUpdatePlatformState(x.GoPointer(), StateVar)
271
272}
273
274// Updates a list of accessible properties.
275//
276// See the [enum@Gtk.AccessibleProperty] documentation for the
277// value types of accessible properties.
278//
279// This function should be called by `GtkWidget` types whenever
280// an accessible property change must be communicated to assistive
281// technologies.
282//
283// Example:
284// ```c
285// value = gtk_adjustment_get_value (adjustment);
286// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
287//
288// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
289// -1);
290//
291// ```
292func (x *CarouselIndicatorLines) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
293
294 gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
295
296}
297
298// Updates an array of accessible properties.
299//
300// This function should be called by `GtkWidget` types whenever an accessible
301// property change must be communicated to assistive technologies.
302//
303// This function is meant to be used by language bindings.
304func (x *CarouselIndicatorLines) UpdatePropertyValue(NPropertiesVar int, PropertiesVar []gtk.AccessibleProperty, ValuesVar []gobject.Value) {
305
306 gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
307
308}
309
310// Updates a list of accessible relations.
311//
312// This function should be called by `GtkWidget` types whenever an accessible
313// relation change must be communicated to assistive technologies.
314//
315// If the [enum@Gtk.AccessibleRelation] requires a list of references,
316// you should pass each reference individually, followed by `NULL`, e.g.
317//
318// ```c
319// gtk_accessible_update_relation (accessible,
320//
321// GTK_ACCESSIBLE_RELATION_CONTROLS,
322// ref1, NULL,
323// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
324// ref1, ref2, ref3, NULL,
325// -1);
326//
327// ```
328func (x *CarouselIndicatorLines) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
329
330 gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
331
332}
333
334// Updates an array of accessible relations.
335//
336// This function should be called by `GtkWidget` types whenever an accessible
337// relation change must be communicated to assistive technologies.
338//
339// This function is meant to be used by language bindings.
340func (x *CarouselIndicatorLines) UpdateRelationValue(NRelationsVar int, RelationsVar []gtk.AccessibleRelation, ValuesVar []gobject.Value) {
341
342 gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
343
344}
345
346// Updates a list of accessible states.
347//
348// See the [enum@Gtk.AccessibleState] documentation for the
349// value types of accessible states.
350//
351// This function should be called by `GtkWidget` types whenever
352// an accessible state change must be communicated to assistive
353// technologies.
354//
355// Example:
356//
357// ```c
358// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
359// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
360//
361// GTK_ACCESSIBLE_STATE_CHECKED, value,
362// -1);
363//
364// ```
365func (x *CarouselIndicatorLines) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
366
367 gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
368
369}
370
371// Updates an array of accessible states.
372//
373// This function should be called by `GtkWidget` types whenever an accessible
374// state change must be communicated to assistive technologies.
375//
376// This function is meant to be used by language bindings.
377func (x *CarouselIndicatorLines) UpdateStateValue(NStatesVar int, StatesVar []gtk.AccessibleState, ValuesVar []gobject.Value) {
378
379 gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
380
381}
382
383// Gets the ID of the @buildable object.
384//
385// `GtkBuilder` sets the name based on the ID attribute
386// of the `<object>` tag used to construct the @buildable.
387func (x *CarouselIndicatorLines) GetBuildableId() string {
388
389 cret := gtk.XGtkBuildableGetBuildableId(x.GoPointer())
390 return cret
391}
392
393// Retrieves the orientation of the @orientable.
394func (x *CarouselIndicatorLines) GetOrientation() gtk.Orientation {
395
396 cret := gtk.XGtkOrientableGetOrientation(x.GoPointer())
397 return cret
398}
399
400// Sets the orientation of the @orientable.
401func (x *CarouselIndicatorLines) SetOrientation(OrientationVar gtk.Orientation) {
402
403 gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
404
405}
406
407func init() {
408 core.SetPackageName("ADW", "libadwaita-1")
409 core.SetSharedLibraries("ADW", []string{"libadwaita-1.so.0"})
410 var libs []uintptr
411 for _, libPath := range core.GetPaths("ADW") {
412 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
413 if err != nil {
414 panic(err)
415 }
416 libs = append(libs, lib)
417 }
418
419 core.PuregoSafeRegister(&xCarouselIndicatorLinesGLibType, libs, "adw_carousel_indicator_lines_get_type")
420
421 core.PuregoSafeRegister(&xNewCarouselIndicatorLines, libs, "adw_carousel_indicator_lines_new")
422
423 core.PuregoSafeRegister(&xCarouselIndicatorLinesGetCarousel, libs, "adw_carousel_indicator_lines_get_carousel")
424 core.PuregoSafeRegister(&xCarouselIndicatorLinesSetCarousel, libs, "adw_carousel_indicator_lines_set_carousel")
425
426}