v0.2.1 c0399be

gtkstack.go RawHistoryFolder

1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5	"github.com/ebitengine/purego"
6
7	"github.com/bnema/puregotk/pkg/core"
8	"github.com/bnema/puregotk/v4/gobject"
9	"github.com/bnema/puregotk/v4/gobject/types"
10)
11
12// Possible transitions between pages in a `GtkStack` widget.
13//
14// New values may be added to this enumeration over time.
15type StackTransitionType int
16
17var xStackTransitionTypeGLibType func() types.GType
18
19func StackTransitionTypeGLibType() types.GType {
20	return xStackTransitionTypeGLibType()
21}
22
23const (
24
25	// No transition
26	StackTransitionTypeNoneValue StackTransitionType = 0
27	// A cross-fade
28	StackTransitionTypeCrossfadeValue StackTransitionType = 1
29	// Slide from left to right
30	StackTransitionTypeSlideRightValue StackTransitionType = 2
31	// Slide from right to left
32	StackTransitionTypeSlideLeftValue StackTransitionType = 3
33	// Slide from bottom up
34	StackTransitionTypeSlideUpValue StackTransitionType = 4
35	// Slide from top down
36	StackTransitionTypeSlideDownValue StackTransitionType = 5
37	// Slide from left or right according to the children order
38	StackTransitionTypeSlideLeftRightValue StackTransitionType = 6
39	// Slide from top down or bottom up according to the order
40	StackTransitionTypeSlideUpDownValue StackTransitionType = 7
41	// Cover the old page by sliding up
42	StackTransitionTypeOverUpValue StackTransitionType = 8
43	// Cover the old page by sliding down
44	StackTransitionTypeOverDownValue StackTransitionType = 9
45	// Cover the old page by sliding to the left
46	StackTransitionTypeOverLeftValue StackTransitionType = 10
47	// Cover the old page by sliding to the right
48	StackTransitionTypeOverRightValue StackTransitionType = 11
49	// Uncover the new page by sliding up
50	StackTransitionTypeUnderUpValue StackTransitionType = 12
51	// Uncover the new page by sliding down
52	StackTransitionTypeUnderDownValue StackTransitionType = 13
53	// Uncover the new page by sliding to the left
54	StackTransitionTypeUnderLeftValue StackTransitionType = 14
55	// Uncover the new page by sliding to the right
56	StackTransitionTypeUnderRightValue StackTransitionType = 15
57	// Cover the old page sliding up or uncover the new page sliding down, according to order
58	StackTransitionTypeOverUpDownValue StackTransitionType = 16
59	// Cover the old page sliding down or uncover the new page sliding up, according to order
60	StackTransitionTypeOverDownUpValue StackTransitionType = 17
61	// Cover the old page sliding left or uncover the new page sliding right, according to order
62	StackTransitionTypeOverLeftRightValue StackTransitionType = 18
63	// Cover the old page sliding right or uncover the new page sliding left, according to order
64	StackTransitionTypeOverRightLeftValue StackTransitionType = 19
65	// Pretend the pages are sides of a cube and rotate that cube to the left
66	StackTransitionTypeRotateLeftValue StackTransitionType = 20
67	// Pretend the pages are sides of a cube and rotate that cube to the right
68	StackTransitionTypeRotateRightValue StackTransitionType = 21
69	// Pretend the pages are sides of a cube and rotate that cube to the left or right according to the children order
70	StackTransitionTypeRotateLeftRightValue StackTransitionType = 22
71)
72
73// Shows one of its children at a time.
74//
75// <picture>
76//
77//	<source srcset="stack-dark.png" media="(prefers-color-scheme: dark)">
78//	<img alt="An example GtkStack" src="stack.png">
79//
80// </picture>
81//
82// In contrast to `GtkNotebook`, `GtkStack` does not provide a means
83// for users to change the visible child. Instead, a separate widget
84// such as [class@Gtk.StackSwitcher] or [class@Gtk.StackSidebar] can
85// be used with `GtkStack` to provide this functionality.
86//
87// Transitions between pages can be animated as slides or fades. This
88// can be controlled with [method@Gtk.Stack.set_transition_type].
89// These animations respect the [property@Gtk.Settings:gtk-enable-animations]
90// setting.
91//
92// `GtkStack` maintains a [class@Gtk.StackPage] object for each added
93// child, which holds additional per-child properties. You
94// obtain the `GtkStackPage` for a child with [method@Gtk.Stack.get_page]
95// and you can obtain a `GtkSelectionModel` containing all the pages
96// with [method@Gtk.Stack.get_pages].
97//
98// # GtkStack as GtkBuildable
99//
100// To set child-specific properties in a .ui file, create `GtkStackPage`
101// objects explicitly, and set the child widget as a property on it:
102//
103// ```xml
104//
105//	<object class="GtkStack" id="stack">
106//	  <child>
107//	    <object class="GtkStackPage">
108//	      <property name="name">page1</property>
109//	      <property name="title">In the beginning…</property>
110//	      <property name="child">
111//	        <object class="GtkLabel">
112//	          <property name="label">It was dark</property>
113//	        </object>
114//	      </property>
115//	    </object>
116//	  </child>
117//
118// ```
119//
120// # CSS nodes
121//
122// `GtkStack` has a single CSS node named stack.
123//
124// # Accessibility
125//
126// `GtkStack` uses the [enum@Gtk.AccessibleRole.tab_panel] role for the stack
127// pages, which are the accessible parent objects of the child widgets.
128type Stack struct {
129	Widget
130}
131
132var xStackGLibType func() types.GType
133
134func StackGLibType() types.GType {
135	return xStackGLibType()
136}
137
138func StackNewFromInternalPtr(ptr uintptr) *Stack {
139	cls := &Stack{}
140	cls.Ptr = ptr
141	return cls
142}
143
144var xNewStack func() uintptr
145
146// Creates a new `GtkStack`.
147func NewStack() *Stack {
148	var cls *Stack
149
150	cret := xNewStack()
151
152	if cret == 0 {
153		return nil
154	}
155	gobject.IncreaseRef(cret)
156	cls = &Stack{}
157	cls.Ptr = cret
158	return cls
159}
160
161var xStackAddChild func(uintptr, uintptr) uintptr
162
163// Adds a child to @stack.
164func (x *Stack) AddChild(ChildVar *Widget) *StackPage {
165	var cls *StackPage
166
167	cret := xStackAddChild(x.GoPointer(), ChildVar.GoPointer())
168
169	if cret == 0 {
170		return nil
171	}
172	gobject.IncreaseRef(cret)
173	cls = &StackPage{}
174	cls.Ptr = cret
175	return cls
176}
177
178var xStackAddNamed func(uintptr, uintptr, uintptr) uintptr
179
180// Adds a child to @stack.
181//
182// The child is identified by the @name.
183func (x *Stack) AddNamed(ChildVar *Widget, NameVar *string) *StackPage {
184	var cls *StackPage
185
186	NameVarPtr := core.GStrdupNullable(NameVar)
187	defer core.GFreeNullable(NameVarPtr)
188
189	cret := xStackAddNamed(x.GoPointer(), ChildVar.GoPointer(), NameVarPtr)
190
191	if cret == 0 {
192		return nil
193	}
194	gobject.IncreaseRef(cret)
195	cls = &StackPage{}
196	cls.Ptr = cret
197	return cls
198}
199
200var xStackAddTitled func(uintptr, uintptr, uintptr, string) uintptr
201
202// Adds a child to @stack.
203//
204// The child is identified by the @name. The @title
205// will be used by `GtkStackSwitcher` to represent
206// @child in a tab bar, so it should be short.
207func (x *Stack) AddTitled(ChildVar *Widget, NameVar *string, TitleVar string) *StackPage {
208	var cls *StackPage
209
210	NameVarPtr := core.GStrdupNullable(NameVar)
211	defer core.GFreeNullable(NameVarPtr)
212
213	cret := xStackAddTitled(x.GoPointer(), ChildVar.GoPointer(), NameVarPtr, TitleVar)
214
215	if cret == 0 {
216		return nil
217	}
218	gobject.IncreaseRef(cret)
219	cls = &StackPage{}
220	cls.Ptr = cret
221	return cls
222}
223
224var xStackGetChildByName func(uintptr, string) uintptr
225
226// Finds the child with the name given as the argument.
227//
228// Returns %NULL if there is no child with this name.
229func (x *Stack) GetChildByName(NameVar string) *Widget {
230	var cls *Widget
231
232	cret := xStackGetChildByName(x.GoPointer(), NameVar)
233
234	if cret == 0 {
235		return nil
236	}
237	gobject.IncreaseRef(cret)
238	cls = &Widget{}
239	cls.Ptr = cret
240	return cls
241}
242
243var xStackGetHhomogeneous func(uintptr) bool
244
245// Gets whether @stack is horizontally homogeneous.
246func (x *Stack) GetHhomogeneous() bool {
247
248	cret := xStackGetHhomogeneous(x.GoPointer())
249	return cret
250}
251
252var xStackGetInterpolateSize func(uintptr) bool
253
254// Returns whether the `GtkStack` is set up to interpolate between
255// the sizes of children on page switch.
256func (x *Stack) GetInterpolateSize() bool {
257
258	cret := xStackGetInterpolateSize(x.GoPointer())
259	return cret
260}
261
262var xStackGetPage func(uintptr, uintptr) uintptr
263
264// Returns the `GtkStackPage` object for @child.
265func (x *Stack) GetPage(ChildVar *Widget) *StackPage {
266	var cls *StackPage
267
268	cret := xStackGetPage(x.GoPointer(), ChildVar.GoPointer())
269
270	if cret == 0 {
271		return nil
272	}
273	gobject.IncreaseRef(cret)
274	cls = &StackPage{}
275	cls.Ptr = cret
276	return cls
277}
278
279var xStackGetPages func(uintptr) uintptr
280
281// Returns a `GListModel` that contains the pages of the stack.
282//
283// This can be used to keep an up-to-date view. The model also
284// implements [iface@Gtk.SelectionModel] and can be used to track
285// and modify the visible page.
286func (x *Stack) GetPages() *SelectionModelBase {
287	var cls *SelectionModelBase
288
289	cret := xStackGetPages(x.GoPointer())
290
291	if cret == 0 {
292		return nil
293	}
294	cls = &SelectionModelBase{}
295	cls.Ptr = cret
296	return cls
297}
298
299var xStackGetTransitionDuration func(uintptr) uint
300
301// Returns the amount of time (in milliseconds) that
302// transitions between pages in @stack will take.
303func (x *Stack) GetTransitionDuration() uint {
304
305	cret := xStackGetTransitionDuration(x.GoPointer())
306	return cret
307}
308
309var xStackGetTransitionRunning func(uintptr) bool
310
311// Returns whether the @stack is currently in a transition from one page to
312// another.
313func (x *Stack) GetTransitionRunning() bool {
314
315	cret := xStackGetTransitionRunning(x.GoPointer())
316	return cret
317}
318
319var xStackGetTransitionType func(uintptr) StackTransitionType
320
321// Gets the type of animation that will be used
322// for transitions between pages in @stack.
323func (x *Stack) GetTransitionType() StackTransitionType {
324
325	cret := xStackGetTransitionType(x.GoPointer())
326	return cret
327}
328
329var xStackGetVhomogeneous func(uintptr) bool
330
331// Gets whether @stack is vertically homogeneous.
332func (x *Stack) GetVhomogeneous() bool {
333
334	cret := xStackGetVhomogeneous(x.GoPointer())
335	return cret
336}
337
338var xStackGetVisibleChild func(uintptr) uintptr
339
340// Gets the currently visible child of @stack.
341//
342// Returns %NULL if there are no visible children.
343func (x *Stack) GetVisibleChild() *Widget {
344	var cls *Widget
345
346	cret := xStackGetVisibleChild(x.GoPointer())
347
348	if cret == 0 {
349		return nil
350	}
351	gobject.IncreaseRef(cret)
352	cls = &Widget{}
353	cls.Ptr = cret
354	return cls
355}
356
357var xStackGetVisibleChildName func(uintptr) string
358
359// Returns the name of the currently visible child of @stack.
360//
361// Returns %NULL if there is no visible child.
362func (x *Stack) GetVisibleChildName() string {
363
364	cret := xStackGetVisibleChildName(x.GoPointer())
365	return cret
366}
367
368var xStackRemove func(uintptr, uintptr)
369
370// Removes a child widget from @stack.
371func (x *Stack) Remove(ChildVar *Widget) {
372
373	xStackRemove(x.GoPointer(), ChildVar.GoPointer())
374
375}
376
377var xStackSetHhomogeneous func(uintptr, bool)
378
379// Sets the `GtkStack` to be horizontally homogeneous or not.
380//
381// If it is homogeneous, the `GtkStack` will request the same
382// width for all its children. If it isn't, the stack
383// may change width when a different child becomes visible.
384func (x *Stack) SetHhomogeneous(HhomogeneousVar bool) {
385
386	xStackSetHhomogeneous(x.GoPointer(), HhomogeneousVar)
387
388}
389
390var xStackSetInterpolateSize func(uintptr, bool)
391
392// Sets whether or not @stack will interpolate its size when
393// changing the visible child.
394//
395// If the [property@Gtk.Stack:interpolate-size] property is set
396// to %TRUE, @stack will interpolate its size between the current
397// one and the one it'll take after changing the visible child,
398// according to the set transition duration.
399func (x *Stack) SetInterpolateSize(InterpolateSizeVar bool) {
400
401	xStackSetInterpolateSize(x.GoPointer(), InterpolateSizeVar)
402
403}
404
405var xStackSetTransitionDuration func(uintptr, uint)
406
407// Sets the duration that transitions between pages in @stack
408// will take.
409func (x *Stack) SetTransitionDuration(DurationVar uint) {
410
411	xStackSetTransitionDuration(x.GoPointer(), DurationVar)
412
413}
414
415var xStackSetTransitionType func(uintptr, StackTransitionType)
416
417// Sets the type of animation that will be used for
418// transitions between pages in @stack.
419//
420// Available types include various kinds of fades and slides.
421//
422// The transition type can be changed without problems
423// at runtime, so it is possible to change the animation
424// based on the page that is about to become current.
425func (x *Stack) SetTransitionType(TransitionVar StackTransitionType) {
426
427	xStackSetTransitionType(x.GoPointer(), TransitionVar)
428
429}
430
431var xStackSetVhomogeneous func(uintptr, bool)
432
433// Sets the `GtkStack` to be vertically homogeneous or not.
434//
435// If it is homogeneous, the `GtkStack` will request the same
436// height for all its children. If it isn't, the stack
437// may change height when a different child becomes visible.
438func (x *Stack) SetVhomogeneous(VhomogeneousVar bool) {
439
440	xStackSetVhomogeneous(x.GoPointer(), VhomogeneousVar)
441
442}
443
444var xStackSetVisibleChild func(uintptr, uintptr)
445
446// Makes @child the visible child of @stack.
447//
448// If @child is different from the currently visible child,
449// the transition between the two will be animated with the
450// current transition type of @stack.
451//
452// Note that the @child widget has to be visible itself
453// (see [method@Gtk.Widget.show]) in order to become the visible
454// child of @stack.
455func (x *Stack) SetVisibleChild(ChildVar *Widget) {
456
457	xStackSetVisibleChild(x.GoPointer(), ChildVar.GoPointer())
458
459}
460
461var xStackSetVisibleChildFull func(uintptr, string, StackTransitionType)
462
463// Makes the child with the given name visible.
464//
465// Note that the child widget has to be visible itself
466// (see [method@Gtk.Widget.show]) in order to become the visible
467// child of @stack.
468func (x *Stack) SetVisibleChildFull(NameVar string, TransitionVar StackTransitionType) {
469
470	xStackSetVisibleChildFull(x.GoPointer(), NameVar, TransitionVar)
471
472}
473
474var xStackSetVisibleChildName func(uintptr, string)
475
476// Makes the child with the given name visible.
477//
478// If @child is different from the currently visible child,
479// the transition between the two will be animated with the
480// current transition type of @stack.
481//
482// Note that the child widget has to be visible itself
483// (see [method@Gtk.Widget.show]) in order to become the visible
484// child of @stack.
485func (x *Stack) SetVisibleChildName(NameVar string) {
486
487	xStackSetVisibleChildName(x.GoPointer(), NameVar)
488
489}
490
491func (c *Stack) GoPointer() uintptr {
492	if c == nil {
493		return 0
494	}
495	return c.Ptr
496}
497
498func (c *Stack) SetGoPointer(ptr uintptr) {
499	c.Ptr = ptr
500}
501
502// SetPropertyHhomogeneous sets the "hhomogeneous" property.
503// %TRUE if the stack allocates the same width for all children.
504func (x *Stack) SetPropertyHhomogeneous(value bool) {
505	var v gobject.Value
506	v.Init(gobject.TypeBooleanVal)
507	v.SetBoolean(value)
508	x.SetProperty("hhomogeneous", &v)
509}
510
511// GetPropertyHhomogeneous gets the "hhomogeneous" property.
512// %TRUE if the stack allocates the same width for all children.
513func (x *Stack) GetPropertyHhomogeneous() bool {
514	var v gobject.Value
515	x.GetProperty("hhomogeneous", &v)
516	return v.GetBoolean()
517}
518
519// SetPropertyInterpolateSize sets the "interpolate-size" property.
520// Whether or not the size should smoothly change during the transition.
521func (x *Stack) SetPropertyInterpolateSize(value bool) {
522	var v gobject.Value
523	v.Init(gobject.TypeBooleanVal)
524	v.SetBoolean(value)
525	x.SetProperty("interpolate-size", &v)
526}
527
528// GetPropertyInterpolateSize gets the "interpolate-size" property.
529// Whether or not the size should smoothly change during the transition.
530func (x *Stack) GetPropertyInterpolateSize() bool {
531	var v gobject.Value
532	x.GetProperty("interpolate-size", &v)
533	return v.GetBoolean()
534}
535
536// SetPropertyTransitionDuration sets the "transition-duration" property.
537// The animation duration, in milliseconds.
538func (x *Stack) SetPropertyTransitionDuration(value uint) {
539	var v gobject.Value
540	v.Init(gobject.TypeUintVal)
541	v.SetUint(value)
542	x.SetProperty("transition-duration", &v)
543}
544
545// GetPropertyTransitionDuration gets the "transition-duration" property.
546// The animation duration, in milliseconds.
547func (x *Stack) GetPropertyTransitionDuration() uint {
548	var v gobject.Value
549	x.GetProperty("transition-duration", &v)
550	return v.GetUint()
551}
552
553// GetPropertyTransitionRunning gets the "transition-running" property.
554// Whether or not the transition is currently running.
555func (x *Stack) GetPropertyTransitionRunning() bool {
556	var v gobject.Value
557	x.GetProperty("transition-running", &v)
558	return v.GetBoolean()
559}
560
561// SetPropertyVhomogeneous sets the "vhomogeneous" property.
562// %TRUE if the stack allocates the same height for all children.
563func (x *Stack) SetPropertyVhomogeneous(value bool) {
564	var v gobject.Value
565	v.Init(gobject.TypeBooleanVal)
566	v.SetBoolean(value)
567	x.SetProperty("vhomogeneous", &v)
568}
569
570// GetPropertyVhomogeneous gets the "vhomogeneous" property.
571// %TRUE if the stack allocates the same height for all children.
572func (x *Stack) GetPropertyVhomogeneous() bool {
573	var v gobject.Value
574	x.GetProperty("vhomogeneous", &v)
575	return v.GetBoolean()
576}
577
578// SetPropertyVisibleChildName sets the "visible-child-name" property.
579// The name of the widget currently visible in the stack.
580func (x *Stack) SetPropertyVisibleChildName(value string) {
581	var v gobject.Value
582	v.Init(gobject.TypeStringVal)
583	v.SetString(&value)
584	x.SetProperty("visible-child-name", &v)
585}
586
587// GetPropertyVisibleChildName gets the "visible-child-name" property.
588// The name of the widget currently visible in the stack.
589func (x *Stack) GetPropertyVisibleChildName() string {
590	var v gobject.Value
591	x.GetProperty("visible-child-name", &v)
592	return v.GetString()
593}
594
595// Requests the user's screen reader to announce the given message.
596//
597// This kind of notification is useful for messages that
598// either have only a visual representation or that are not
599// exposed visually at all, e.g. a notification about a
600// successful operation.
601//
602// Also, by using this API, you can ensure that the message
603// does not interrupts the user's current screen reader output.
604func (x *Stack) Announce(MessageVar string, PriorityVar AccessibleAnnouncementPriority) {
605
606	XGtkAccessibleAnnounce(x.GoPointer(), MessageVar, PriorityVar)
607
608}
609
610// Retrieves the accessible parent for an accessible object.
611//
612// This function returns `NULL` for top level widgets.
613func (x *Stack) GetAccessibleParent() *AccessibleBase {
614	var cls *AccessibleBase
615
616	cret := XGtkAccessibleGetAccessibleParent(x.GoPointer())
617
618	if cret == 0 {
619		return nil
620	}
621	cls = &AccessibleBase{}
622	cls.Ptr = cret
623	return cls
624}
625
626// Retrieves the accessible role of an accessible object.
627func (x *Stack) GetAccessibleRole() AccessibleRole {
628
629	cret := XGtkAccessibleGetAccessibleRole(x.GoPointer())
630	return cret
631}
632
633// Retrieves the implementation for the given accessible object.
634func (x *Stack) GetAtContext() *ATContext {
635	var cls *ATContext
636
637	cret := XGtkAccessibleGetAtContext(x.GoPointer())
638
639	if cret == 0 {
640		return nil
641	}
642	cls = &ATContext{}
643	cls.Ptr = cret
644	return cls
645}
646
647// Queries the coordinates and dimensions of this accessible
648//
649// This functionality can be overridden by `GtkAccessible`
650// implementations, e.g. to get the bounds from an ignored
651// child widget.
652func (x *Stack) GetBounds(XVar *int, YVar *int, WidthVar *int, HeightVar *int) bool {
653
654	cret := XGtkAccessibleGetBounds(x.GoPointer(), XVar, YVar, WidthVar, HeightVar)
655	return cret
656}
657
658// Retrieves the first accessible child of an accessible object.
659func (x *Stack) GetFirstAccessibleChild() *AccessibleBase {
660	var cls *AccessibleBase
661
662	cret := XGtkAccessibleGetFirstAccessibleChild(x.GoPointer())
663
664	if cret == 0 {
665		return nil
666	}
667	cls = &AccessibleBase{}
668	cls.Ptr = cret
669	return cls
670}
671
672// Retrieves the next accessible sibling of an accessible object
673func (x *Stack) GetNextAccessibleSibling() *AccessibleBase {
674	var cls *AccessibleBase
675
676	cret := XGtkAccessibleGetNextAccessibleSibling(x.GoPointer())
677
678	if cret == 0 {
679		return nil
680	}
681	cls = &AccessibleBase{}
682	cls.Ptr = cret
683	return cls
684}
685
686// Queries a platform state, such as focus.
687//
688// This functionality can be overridden by `GtkAccessible`
689// implementations, e.g. to get platform state from an ignored
690// child widget, as is the case for `GtkText` wrappers.
691func (x *Stack) GetPlatformState(StateVar AccessiblePlatformState) bool {
692
693	cret := XGtkAccessibleGetPlatformState(x.GoPointer(), StateVar)
694	return cret
695}
696
697// Resets the accessible property to its default value.
698func (x *Stack) ResetProperty(PropertyVar AccessibleProperty) {
699
700	XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
701
702}
703
704// Resets the accessible relation to its default value.
705func (x *Stack) ResetRelation(RelationVar AccessibleRelation) {
706
707	XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
708
709}
710
711// Resets the accessible state to its default value.
712func (x *Stack) ResetState(StateVar AccessibleState) {
713
714	XGtkAccessibleResetState(x.GoPointer(), StateVar)
715
716}
717
718// Sets the parent and sibling of an accessible object.
719//
720// This function is meant to be used by accessible implementations that are
721// not part of the widget hierarchy, and but act as a logical bridge between
722// widgets. For instance, if a widget creates an object that holds metadata
723// for each child, and you want that object to implement the `GtkAccessible`
724// interface, you will use this function to ensure that the parent of each
725// child widget is the metadata object, and the parent of each metadata
726// object is the container widget.
727func (x *Stack) SetAccessibleParent(ParentVar Accessible, NextSiblingVar Accessible) {
728
729	XGtkAccessibleSetAccessibleParent(x.GoPointer(), ParentVar.GoPointer(), NextSiblingVar.GoPointer())
730
731}
732
733// Updates the next accessible sibling.
734//
735// That might be useful when a new child of a custom accessible
736// is created, and it needs to be linked to a previous child.
737func (x *Stack) UpdateNextAccessibleSibling(NewSiblingVar Accessible) {
738
739	XGtkAccessibleUpdateNextAccessibleSibling(x.GoPointer(), NewSiblingVar.GoPointer())
740
741}
742
743// Informs ATs that the platform state has changed.
744//
745// This function should be used by `GtkAccessible` implementations that
746// have a platform state but are not widgets. Widgets handle platform
747// states automatically.
748func (x *Stack) UpdatePlatformState(StateVar AccessiblePlatformState) {
749
750	XGtkAccessibleUpdatePlatformState(x.GoPointer(), StateVar)
751
752}
753
754// Updates a list of accessible properties.
755//
756// See the [enum@Gtk.AccessibleProperty] documentation for the
757// value types of accessible properties.
758//
759// This function should be called by `GtkWidget` types whenever
760// an accessible property change must be communicated to assistive
761// technologies.
762//
763// Example:
764// ```c
765// value = gtk_adjustment_get_value (adjustment);
766// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
767//
768//	GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
769//	-1);
770//
771// ```
772func (x *Stack) UpdateProperty(FirstPropertyVar AccessibleProperty, varArgs ...interface{}) {
773
774	XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
775
776}
777
778// Updates an array of accessible properties.
779//
780// This function should be called by `GtkWidget` types whenever an accessible
781// property change must be communicated to assistive technologies.
782//
783// This function is meant to be used by language bindings.
784func (x *Stack) UpdatePropertyValue(NPropertiesVar int, PropertiesVar []AccessibleProperty, ValuesVar []gobject.Value) {
785
786	XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
787
788}
789
790// Updates a list of accessible relations.
791//
792// This function should be called by `GtkWidget` types whenever an accessible
793// relation change must be communicated to assistive technologies.
794//
795// If the [enum@Gtk.AccessibleRelation] requires a list of references,
796// you should pass each reference individually, followed by `NULL`, e.g.
797//
798// ```c
799// gtk_accessible_update_relation (accessible,
800//
801//	GTK_ACCESSIBLE_RELATION_CONTROLS,
802//	  ref1, NULL,
803//	GTK_ACCESSIBLE_RELATION_LABELLED_BY,
804//	  ref1, ref2, ref3, NULL,
805//	-1);
806//
807// ```
808func (x *Stack) UpdateRelation(FirstRelationVar AccessibleRelation, varArgs ...interface{}) {
809
810	XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
811
812}
813
814// Updates an array of accessible relations.
815//
816// This function should be called by `GtkWidget` types whenever an accessible
817// relation change must be communicated to assistive technologies.
818//
819// This function is meant to be used by language bindings.
820func (x *Stack) UpdateRelationValue(NRelationsVar int, RelationsVar []AccessibleRelation, ValuesVar []gobject.Value) {
821
822	XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
823
824}
825
826// Updates a list of accessible states.
827//
828// See the [enum@Gtk.AccessibleState] documentation for the
829// value types of accessible states.
830//
831// This function should be called by `GtkWidget` types whenever
832// an accessible state change must be communicated to assistive
833// technologies.
834//
835// Example:
836//
837// ```c
838// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
839// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
840//
841//	GTK_ACCESSIBLE_STATE_CHECKED, value,
842//	-1);
843//
844// ```
845func (x *Stack) UpdateState(FirstStateVar AccessibleState, varArgs ...interface{}) {
846
847	XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
848
849}
850
851// Updates an array of accessible states.
852//
853// This function should be called by `GtkWidget` types whenever an accessible
854// state change must be communicated to assistive technologies.
855//
856// This function is meant to be used by language bindings.
857func (x *Stack) UpdateStateValue(NStatesVar int, StatesVar []AccessibleState, ValuesVar []gobject.Value) {
858
859	XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
860
861}
862
863// Gets the ID of the @buildable object.
864//
865// `GtkBuilder` sets the name based on the ID attribute
866// of the `<object>` tag used to construct the @buildable.
867func (x *Stack) GetBuildableId() string {
868
869	cret := XGtkBuildableGetBuildableId(x.GoPointer())
870	return cret
871}
872
873// An auxiliary class used by `GtkStack`.
874type StackPage struct {
875	gobject.Object
876}
877
878var xStackPageGLibType func() types.GType
879
880func StackPageGLibType() types.GType {
881	return xStackPageGLibType()
882}
883
884func StackPageNewFromInternalPtr(ptr uintptr) *StackPage {
885	cls := &StackPage{}
886	cls.Ptr = ptr
887	return cls
888}
889
890var xStackPageGetChild func(uintptr) uintptr
891
892// Returns the stack child to which @self belongs.
893func (x *StackPage) GetChild() *Widget {
894	var cls *Widget
895
896	cret := xStackPageGetChild(x.GoPointer())
897
898	if cret == 0 {
899		return nil
900	}
901	gobject.IncreaseRef(cret)
902	cls = &Widget{}
903	cls.Ptr = cret
904	return cls
905}
906
907var xStackPageGetIconName func(uintptr) string
908
909// Returns the icon name of the page.
910func (x *StackPage) GetIconName() string {
911
912	cret := xStackPageGetIconName(x.GoPointer())
913	return cret
914}
915
916var xStackPageGetName func(uintptr) string
917
918// Returns the name of the page.
919func (x *StackPage) GetName() string {
920
921	cret := xStackPageGetName(x.GoPointer())
922	return cret
923}
924
925var xStackPageGetNeedsAttention func(uintptr) bool
926
927// Returns whether the page is marked as “needs attention”.
928func (x *StackPage) GetNeedsAttention() bool {
929
930	cret := xStackPageGetNeedsAttention(x.GoPointer())
931	return cret
932}
933
934var xStackPageGetTitle func(uintptr) string
935
936// Gets the page title.
937func (x *StackPage) GetTitle() string {
938
939	cret := xStackPageGetTitle(x.GoPointer())
940	return cret
941}
942
943var xStackPageGetUseUnderline func(uintptr) bool
944
945// Gets whether underlines in the page title indicate mnemonics.
946func (x *StackPage) GetUseUnderline() bool {
947
948	cret := xStackPageGetUseUnderline(x.GoPointer())
949	return cret
950}
951
952var xStackPageGetVisible func(uintptr) bool
953
954// Returns whether @page is visible in its `GtkStack`.
955//
956// This is independent from the [property@Gtk.Widget:visible]
957// property of its widget.
958func (x *StackPage) GetVisible() bool {
959
960	cret := xStackPageGetVisible(x.GoPointer())
961	return cret
962}
963
964var xStackPageSetIconName func(uintptr, string)
965
966// Sets the icon name of the page.
967func (x *StackPage) SetIconName(SettingVar string) {
968
969	xStackPageSetIconName(x.GoPointer(), SettingVar)
970
971}
972
973var xStackPageSetName func(uintptr, string)
974
975// Sets the name of the page.
976func (x *StackPage) SetName(SettingVar string) {
977
978	xStackPageSetName(x.GoPointer(), SettingVar)
979
980}
981
982var xStackPageSetNeedsAttention func(uintptr, bool)
983
984// Sets whether the page is marked as “needs attention”.
985func (x *StackPage) SetNeedsAttention(SettingVar bool) {
986
987	xStackPageSetNeedsAttention(x.GoPointer(), SettingVar)
988
989}
990
991var xStackPageSetTitle func(uintptr, string)
992
993// Sets the page title.
994func (x *StackPage) SetTitle(SettingVar string) {
995
996	xStackPageSetTitle(x.GoPointer(), SettingVar)
997
998}
999
1000var xStackPageSetUseUnderline func(uintptr, bool)
1001
1002// Sets whether underlines in the page title indicate mnemonics.
1003func (x *StackPage) SetUseUnderline(SettingVar bool) {
1004
1005	xStackPageSetUseUnderline(x.GoPointer(), SettingVar)
1006
1007}
1008
1009var xStackPageSetVisible func(uintptr, bool)
1010
1011// Sets whether @page is visible in its `GtkStack`.
1012func (x *StackPage) SetVisible(VisibleVar bool) {
1013
1014	xStackPageSetVisible(x.GoPointer(), VisibleVar)
1015
1016}
1017
1018func (c *StackPage) GoPointer() uintptr {
1019	if c == nil {
1020		return 0
1021	}
1022	return c.Ptr
1023}
1024
1025func (c *StackPage) SetGoPointer(ptr uintptr) {
1026	c.Ptr = ptr
1027}
1028
1029// SetPropertyIconName sets the "icon-name" property.
1030// The icon name of the child page.
1031func (x *StackPage) SetPropertyIconName(value string) {
1032	var v gobject.Value
1033	v.Init(gobject.TypeStringVal)
1034	v.SetString(&value)
1035	x.SetProperty("icon-name", &v)
1036}
1037
1038// GetPropertyIconName gets the "icon-name" property.
1039// The icon name of the child page.
1040func (x *StackPage) GetPropertyIconName() string {
1041	var v gobject.Value
1042	x.GetProperty("icon-name", &v)
1043	return v.GetString()
1044}
1045
1046// SetPropertyName sets the "name" property.
1047// The name of the child page.
1048func (x *StackPage) SetPropertyName(value string) {
1049	var v gobject.Value
1050	v.Init(gobject.TypeStringVal)
1051	v.SetString(&value)
1052	x.SetProperty("name", &v)
1053}
1054
1055// GetPropertyName gets the "name" property.
1056// The name of the child page.
1057func (x *StackPage) GetPropertyName() string {
1058	var v gobject.Value
1059	x.GetProperty("name", &v)
1060	return v.GetString()
1061}
1062
1063// SetPropertyNeedsAttention sets the "needs-attention" property.
1064// Whether the page requires the user attention.
1065//
1066// This is used by the [class@Gtk.StackSwitcher] to change the
1067// appearance of the corresponding button when a page needs
1068// attention and it is not the current one.
1069func (x *StackPage) SetPropertyNeedsAttention(value bool) {
1070	var v gobject.Value
1071	v.Init(gobject.TypeBooleanVal)
1072	v.SetBoolean(value)
1073	x.SetProperty("needs-attention", &v)
1074}
1075
1076// GetPropertyNeedsAttention gets the "needs-attention" property.
1077// Whether the page requires the user attention.
1078//
1079// This is used by the [class@Gtk.StackSwitcher] to change the
1080// appearance of the corresponding button when a page needs
1081// attention and it is not the current one.
1082func (x *StackPage) GetPropertyNeedsAttention() bool {
1083	var v gobject.Value
1084	x.GetProperty("needs-attention", &v)
1085	return v.GetBoolean()
1086}
1087
1088// SetPropertyTitle sets the "title" property.
1089// The title of the child page.
1090func (x *StackPage) SetPropertyTitle(value string) {
1091	var v gobject.Value
1092	v.Init(gobject.TypeStringVal)
1093	v.SetString(&value)
1094	x.SetProperty("title", &v)
1095}
1096
1097// GetPropertyTitle gets the "title" property.
1098// The title of the child page.
1099func (x *StackPage) GetPropertyTitle() string {
1100	var v gobject.Value
1101	x.GetProperty("title", &v)
1102	return v.GetString()
1103}
1104
1105// SetPropertyUseUnderline sets the "use-underline" property.
1106// If set, an underline in the title indicates a mnemonic.
1107func (x *StackPage) SetPropertyUseUnderline(value bool) {
1108	var v gobject.Value
1109	v.Init(gobject.TypeBooleanVal)
1110	v.SetBoolean(value)
1111	x.SetProperty("use-underline", &v)
1112}
1113
1114// GetPropertyUseUnderline gets the "use-underline" property.
1115// If set, an underline in the title indicates a mnemonic.
1116func (x *StackPage) GetPropertyUseUnderline() bool {
1117	var v gobject.Value
1118	x.GetProperty("use-underline", &v)
1119	return v.GetBoolean()
1120}
1121
1122// SetPropertyVisible sets the "visible" property.
1123// Whether this page is visible.
1124func (x *StackPage) SetPropertyVisible(value bool) {
1125	var v gobject.Value
1126	v.Init(gobject.TypeBooleanVal)
1127	v.SetBoolean(value)
1128	x.SetProperty("visible", &v)
1129}
1130
1131// GetPropertyVisible gets the "visible" property.
1132// Whether this page is visible.
1133func (x *StackPage) GetPropertyVisible() bool {
1134	var v gobject.Value
1135	x.GetProperty("visible", &v)
1136	return v.GetBoolean()
1137}
1138
1139// Requests the user's screen reader to announce the given message.
1140//
1141// This kind of notification is useful for messages that
1142// either have only a visual representation or that are not
1143// exposed visually at all, e.g. a notification about a
1144// successful operation.
1145//
1146// Also, by using this API, you can ensure that the message
1147// does not interrupts the user's current screen reader output.
1148func (x *StackPage) Announce(MessageVar string, PriorityVar AccessibleAnnouncementPriority) {
1149
1150	XGtkAccessibleAnnounce(x.GoPointer(), MessageVar, PriorityVar)
1151
1152}
1153
1154// Retrieves the accessible parent for an accessible object.
1155//
1156// This function returns `NULL` for top level widgets.
1157func (x *StackPage) GetAccessibleParent() *AccessibleBase {
1158	var cls *AccessibleBase
1159
1160	cret := XGtkAccessibleGetAccessibleParent(x.GoPointer())
1161
1162	if cret == 0 {
1163		return nil
1164	}
1165	cls = &AccessibleBase{}
1166	cls.Ptr = cret
1167	return cls
1168}
1169
1170// Retrieves the accessible role of an accessible object.
1171func (x *StackPage) GetAccessibleRole() AccessibleRole {
1172
1173	cret := XGtkAccessibleGetAccessibleRole(x.GoPointer())
1174	return cret
1175}
1176
1177// Retrieves the implementation for the given accessible object.
1178func (x *StackPage) GetAtContext() *ATContext {
1179	var cls *ATContext
1180
1181	cret := XGtkAccessibleGetAtContext(x.GoPointer())
1182
1183	if cret == 0 {
1184		return nil
1185	}
1186	cls = &ATContext{}
1187	cls.Ptr = cret
1188	return cls
1189}
1190
1191// Queries the coordinates and dimensions of this accessible
1192//
1193// This functionality can be overridden by `GtkAccessible`
1194// implementations, e.g. to get the bounds from an ignored
1195// child widget.
1196func (x *StackPage) GetBounds(XVar *int, YVar *int, WidthVar *int, HeightVar *int) bool {
1197
1198	cret := XGtkAccessibleGetBounds(x.GoPointer(), XVar, YVar, WidthVar, HeightVar)
1199	return cret
1200}
1201
1202// Retrieves the first accessible child of an accessible object.
1203func (x *StackPage) GetFirstAccessibleChild() *AccessibleBase {
1204	var cls *AccessibleBase
1205
1206	cret := XGtkAccessibleGetFirstAccessibleChild(x.GoPointer())
1207
1208	if cret == 0 {
1209		return nil
1210	}
1211	cls = &AccessibleBase{}
1212	cls.Ptr = cret
1213	return cls
1214}
1215
1216// Retrieves the next accessible sibling of an accessible object
1217func (x *StackPage) GetNextAccessibleSibling() *AccessibleBase {
1218	var cls *AccessibleBase
1219
1220	cret := XGtkAccessibleGetNextAccessibleSibling(x.GoPointer())
1221
1222	if cret == 0 {
1223		return nil
1224	}
1225	cls = &AccessibleBase{}
1226	cls.Ptr = cret
1227	return cls
1228}
1229
1230// Queries a platform state, such as focus.
1231//
1232// This functionality can be overridden by `GtkAccessible`
1233// implementations, e.g. to get platform state from an ignored
1234// child widget, as is the case for `GtkText` wrappers.
1235func (x *StackPage) GetPlatformState(StateVar AccessiblePlatformState) bool {
1236
1237	cret := XGtkAccessibleGetPlatformState(x.GoPointer(), StateVar)
1238	return cret
1239}
1240
1241// Resets the accessible property to its default value.
1242func (x *StackPage) ResetProperty(PropertyVar AccessibleProperty) {
1243
1244	XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
1245
1246}
1247
1248// Resets the accessible relation to its default value.
1249func (x *StackPage) ResetRelation(RelationVar AccessibleRelation) {
1250
1251	XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
1252
1253}
1254
1255// Resets the accessible state to its default value.
1256func (x *StackPage) ResetState(StateVar AccessibleState) {
1257
1258	XGtkAccessibleResetState(x.GoPointer(), StateVar)
1259
1260}
1261
1262// Sets the parent and sibling of an accessible object.
1263//
1264// This function is meant to be used by accessible implementations that are
1265// not part of the widget hierarchy, and but act as a logical bridge between
1266// widgets. For instance, if a widget creates an object that holds metadata
1267// for each child, and you want that object to implement the `GtkAccessible`
1268// interface, you will use this function to ensure that the parent of each
1269// child widget is the metadata object, and the parent of each metadata
1270// object is the container widget.
1271func (x *StackPage) SetAccessibleParent(ParentVar Accessible, NextSiblingVar Accessible) {
1272
1273	XGtkAccessibleSetAccessibleParent(x.GoPointer(), ParentVar.GoPointer(), NextSiblingVar.GoPointer())
1274
1275}
1276
1277// Updates the next accessible sibling.
1278//
1279// That might be useful when a new child of a custom accessible
1280// is created, and it needs to be linked to a previous child.
1281func (x *StackPage) UpdateNextAccessibleSibling(NewSiblingVar Accessible) {
1282
1283	XGtkAccessibleUpdateNextAccessibleSibling(x.GoPointer(), NewSiblingVar.GoPointer())
1284
1285}
1286
1287// Informs ATs that the platform state has changed.
1288//
1289// This function should be used by `GtkAccessible` implementations that
1290// have a platform state but are not widgets. Widgets handle platform
1291// states automatically.
1292func (x *StackPage) UpdatePlatformState(StateVar AccessiblePlatformState) {
1293
1294	XGtkAccessibleUpdatePlatformState(x.GoPointer(), StateVar)
1295
1296}
1297
1298// Updates a list of accessible properties.
1299//
1300// See the [enum@Gtk.AccessibleProperty] documentation for the
1301// value types of accessible properties.
1302//
1303// This function should be called by `GtkWidget` types whenever
1304// an accessible property change must be communicated to assistive
1305// technologies.
1306//
1307// Example:
1308// ```c
1309// value = gtk_adjustment_get_value (adjustment);
1310// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
1311//
1312//	GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
1313//	-1);
1314//
1315// ```
1316func (x *StackPage) UpdateProperty(FirstPropertyVar AccessibleProperty, varArgs ...interface{}) {
1317
1318	XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
1319
1320}
1321
1322// Updates an array of accessible properties.
1323//
1324// This function should be called by `GtkWidget` types whenever an accessible
1325// property change must be communicated to assistive technologies.
1326//
1327// This function is meant to be used by language bindings.
1328func (x *StackPage) UpdatePropertyValue(NPropertiesVar int, PropertiesVar []AccessibleProperty, ValuesVar []gobject.Value) {
1329
1330	XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
1331
1332}
1333
1334// Updates a list of accessible relations.
1335//
1336// This function should be called by `GtkWidget` types whenever an accessible
1337// relation change must be communicated to assistive technologies.
1338//
1339// If the [enum@Gtk.AccessibleRelation] requires a list of references,
1340// you should pass each reference individually, followed by `NULL`, e.g.
1341//
1342// ```c
1343// gtk_accessible_update_relation (accessible,
1344//
1345//	GTK_ACCESSIBLE_RELATION_CONTROLS,
1346//	  ref1, NULL,
1347//	GTK_ACCESSIBLE_RELATION_LABELLED_BY,
1348//	  ref1, ref2, ref3, NULL,
1349//	-1);
1350//
1351// ```
1352func (x *StackPage) UpdateRelation(FirstRelationVar AccessibleRelation, varArgs ...interface{}) {
1353
1354	XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
1355
1356}
1357
1358// Updates an array of accessible relations.
1359//
1360// This function should be called by `GtkWidget` types whenever an accessible
1361// relation change must be communicated to assistive technologies.
1362//
1363// This function is meant to be used by language bindings.
1364func (x *StackPage) UpdateRelationValue(NRelationsVar int, RelationsVar []AccessibleRelation, ValuesVar []gobject.Value) {
1365
1366	XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
1367
1368}
1369
1370// Updates a list of accessible states.
1371//
1372// See the [enum@Gtk.AccessibleState] documentation for the
1373// value types of accessible states.
1374//
1375// This function should be called by `GtkWidget` types whenever
1376// an accessible state change must be communicated to assistive
1377// technologies.
1378//
1379// Example:
1380//
1381// ```c
1382// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
1383// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
1384//
1385//	GTK_ACCESSIBLE_STATE_CHECKED, value,
1386//	-1);
1387//
1388// ```
1389func (x *StackPage) UpdateState(FirstStateVar AccessibleState, varArgs ...interface{}) {
1390
1391	XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
1392
1393}
1394
1395// Updates an array of accessible states.
1396//
1397// This function should be called by `GtkWidget` types whenever an accessible
1398// state change must be communicated to assistive technologies.
1399//
1400// This function is meant to be used by language bindings.
1401func (x *StackPage) UpdateStateValue(NStatesVar int, StatesVar []AccessibleState, ValuesVar []gobject.Value) {
1402
1403	XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
1404
1405}
1406
1407func init() {
1408	core.SetPackageName("GTK", "gtk4")
1409	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
1410	var libs []uintptr
1411	for _, libPath := range core.GetPaths("GTK") {
1412		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
1413		if err != nil {
1414			panic(err)
1415		}
1416		libs = append(libs, lib)
1417	}
1418
1419	core.PuregoSafeRegister(&xStackTransitionTypeGLibType, libs, "gtk_stack_transition_type_get_type")
1420
1421	core.PuregoSafeRegister(&xStackGLibType, libs, "gtk_stack_get_type")
1422
1423	core.PuregoSafeRegister(&xNewStack, libs, "gtk_stack_new")
1424
1425	core.PuregoSafeRegister(&xStackAddChild, libs, "gtk_stack_add_child")
1426	core.PuregoSafeRegister(&xStackAddNamed, libs, "gtk_stack_add_named")
1427	core.PuregoSafeRegister(&xStackAddTitled, libs, "gtk_stack_add_titled")
1428	core.PuregoSafeRegister(&xStackGetChildByName, libs, "gtk_stack_get_child_by_name")
1429	core.PuregoSafeRegister(&xStackGetHhomogeneous, libs, "gtk_stack_get_hhomogeneous")
1430	core.PuregoSafeRegister(&xStackGetInterpolateSize, libs, "gtk_stack_get_interpolate_size")
1431	core.PuregoSafeRegister(&xStackGetPage, libs, "gtk_stack_get_page")
1432	core.PuregoSafeRegister(&xStackGetPages, libs, "gtk_stack_get_pages")
1433	core.PuregoSafeRegister(&xStackGetTransitionDuration, libs, "gtk_stack_get_transition_duration")
1434	core.PuregoSafeRegister(&xStackGetTransitionRunning, libs, "gtk_stack_get_transition_running")
1435	core.PuregoSafeRegister(&xStackGetTransitionType, libs, "gtk_stack_get_transition_type")
1436	core.PuregoSafeRegister(&xStackGetVhomogeneous, libs, "gtk_stack_get_vhomogeneous")
1437	core.PuregoSafeRegister(&xStackGetVisibleChild, libs, "gtk_stack_get_visible_child")
1438	core.PuregoSafeRegister(&xStackGetVisibleChildName, libs, "gtk_stack_get_visible_child_name")
1439	core.PuregoSafeRegister(&xStackRemove, libs, "gtk_stack_remove")
1440	core.PuregoSafeRegister(&xStackSetHhomogeneous, libs, "gtk_stack_set_hhomogeneous")
1441	core.PuregoSafeRegister(&xStackSetInterpolateSize, libs, "gtk_stack_set_interpolate_size")
1442	core.PuregoSafeRegister(&xStackSetTransitionDuration, libs, "gtk_stack_set_transition_duration")
1443	core.PuregoSafeRegister(&xStackSetTransitionType, libs, "gtk_stack_set_transition_type")
1444	core.PuregoSafeRegister(&xStackSetVhomogeneous, libs, "gtk_stack_set_vhomogeneous")
1445	core.PuregoSafeRegister(&xStackSetVisibleChild, libs, "gtk_stack_set_visible_child")
1446	core.PuregoSafeRegister(&xStackSetVisibleChildFull, libs, "gtk_stack_set_visible_child_full")
1447	core.PuregoSafeRegister(&xStackSetVisibleChildName, libs, "gtk_stack_set_visible_child_name")
1448
1449	core.PuregoSafeRegister(&xStackPageGLibType, libs, "gtk_stack_page_get_type")
1450
1451	core.PuregoSafeRegister(&xStackPageGetChild, libs, "gtk_stack_page_get_child")
1452	core.PuregoSafeRegister(&xStackPageGetIconName, libs, "gtk_stack_page_get_icon_name")
1453	core.PuregoSafeRegister(&xStackPageGetName, libs, "gtk_stack_page_get_name")
1454	core.PuregoSafeRegister(&xStackPageGetNeedsAttention, libs, "gtk_stack_page_get_needs_attention")
1455	core.PuregoSafeRegister(&xStackPageGetTitle, libs, "gtk_stack_page_get_title")
1456	core.PuregoSafeRegister(&xStackPageGetUseUnderline, libs, "gtk_stack_page_get_use_underline")
1457	core.PuregoSafeRegister(&xStackPageGetVisible, libs, "gtk_stack_page_get_visible")
1458	core.PuregoSafeRegister(&xStackPageSetIconName, libs, "gtk_stack_page_set_icon_name")
1459	core.PuregoSafeRegister(&xStackPageSetName, libs, "gtk_stack_page_set_name")
1460	core.PuregoSafeRegister(&xStackPageSetNeedsAttention, libs, "gtk_stack_page_set_needs_attention")
1461	core.PuregoSafeRegister(&xStackPageSetTitle, libs, "gtk_stack_page_set_title")
1462	core.PuregoSafeRegister(&xStackPageSetUseUnderline, libs, "gtk_stack_page_set_use_underline")
1463	core.PuregoSafeRegister(&xStackPageSetVisible, libs, "gtk_stack_page_set_visible")
1464
1465}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close