detached 7d292f2

initial commit

commit
7d292f29a68fd087b8058504ca73618ab33315eb
author
jwijenbergh · · 2023-06-17 08:52 UTC
committer
jwijenbergh · · 2023-08-15 10:50 UTC
parent
none (root commit)
signature
GPG Unverified1A2298F6C34F96E5 The key is unknown
696 files · +745353 -0
A LICENSE +21 -0
@@ -0,0 +1,21 @@
1+MIT License
2+
3+Copyright (c) 2023 Jeroen Wijenbergh
4+
5+Permission is hereby granted, free of charge, to any person obtaining a copy
6+of this software and associated documentation files (the "Software"), to deal
7+in the Software without restriction, including without limitation the rights
8+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+copies of the Software, and to permit persons to whom the Software is
10+furnished to do so, subject to the following conditions:
11+
12+The above copyright notice and this permission notice shall be included in all
13+copies or substantial portions of the Software.
14+
15+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+SOFTWARE.
A README.md +95 -0
@@ -0,0 +1,95 @@
1+# Puregotk
2+
3+> **_NOTE:_** This library is currently expiremental and needs thorough testing. Some APIs might be incorrectly exposed
4+
5+Autogenerated GTK4+Adwaita bindings for Go leveraging [purego](https://github.com/ebitengine/purego)
6+
7+# Motivation
8+I created this library because I found that alternative libraries using Cgo had much too slow compilation speed. For my laptop around 15 minutes to build a simple example for [gotk3](https://github.com/gotk3/gotk3) and also [gotk4](https://github.com/diamondburned/gotk4).
9+This is not a fault for these libraries as CGo compilation is just inherently slow in Go. In this project I want to test a new approach by levering purego which allows you to load libraries using dlopen without needing cgo.
10+
11+Compilation speed currently is around 40 seconds for me on basic examples.
12+
13+## Advantages
14+
15+No Cgo needed, thus:
16+* Easy cross compilation
17+* No C toolchain needed
18+* Much faster compile times than alternatives like [gotk3](https://github.com/gotk3/gotk3) & [gotk4](https://github.com/diamondburned/gotk4)
19+
20+## Disadvantages
21+
22+Limitations of this library as compared to the alternatives using cgo:
23+* Some APIs are not possible due to purego not currently supporting struct arguments (that are not pointers)
24+* Currently only support for x86, for ARM I need to figure out how to get callbacks working in purego and contribute to purego
25+
26+# Planned features
27+In order of priority:
28+* General code cleanup
29+* ARM support
30+* Support for OS other than Linux (I only test on Linux currently)
31+* GTK 3 support
32+
33+# Basic example
34+
35+```go
36+package main
37+
38+import (
39+ "os"
40+ "github.com/jwijenbergh/puregotk/v4/gtk"
41+ "github.com/jwijenbergh/puregotk/v4/gio"
42+)
43+
44+func main() {
45+ app := gtk.NewApplication("com.github.jwijenbergh.puregotk.gtk4.hello", gio.GApplicationFlagsNoneValue)
46+ defer app.Unref()
47+ app.ConnectActivate(func (_ gio.Application) {
48+ activate(app)
49+ })
50+
51+ if code := app.Run(len(os.Args), os.Args); code > 0 {
52+ os.Exit(code)
53+ }
54+}
55+
56+func activate(app gtk.Application) {
57+ var window gtk.ApplicationWindow
58+ gtk.NewApplicationWindow(app).Cast(&window)
59+ window.SetTitle("purego")
60+ window.SetChild(gtk.NewLabel("Hello, World!"))
61+ window.SetDefaultSize(500, 500)
62+ window.Show()
63+}
64+```
65+
66+Save this to a main.go and then build & run with
67+
68+```bash
69+CGO_ENABLED=0 go run main.go
70+```
71+
72+> **_NOTE:_** Passing CGO_ENABLED=0 is currently required
73+
74+# Generating the library
75+This library is automatically generated by reading GIR files.
76+
77+To generate the library, run:
78+
79+```bash
80+./gen.sh
81+```
82+
83+In the root of the project. This needs:
84+
85+- Go >= 1.20
86+- [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports)
87+
88+# License
89+
90+[MIT](./LICENSE)
91+
92+# Acknowledgements
93+* [Purego](https://github.com/ebitengine/purego) and the ebitengine team for their great work
94+* [gotk4](https://github.com/diamondburned/gotk4) for some GIR type definitions
95+* [gtk](https://gitlab.com/gnome/gtk) of course
A gen.go +47 -0
@@ -0,0 +1,47 @@
1+package main
2+
3+import (
4+ "os"
5+ "path/filepath"
6+ "strings"
7+ "text/template"
8+
9+ "github.com/jwijenbergh/puregotk/internal/gir/pass"
10+ "github.com/jwijenbergh/puregotk/internal/gir/util"
11+)
12+
13+//go:generate go run gen.go
14+
15+func main() {
16+ dir := "v4"
17+ os.RemoveAll(dir)
18+ var girs []string
19+ filepath.Walk("internal/gir/spec", func(path string, f os.FileInfo, err error) error {
20+ if !strings.HasSuffix(path, ".gir") {
21+ return nil
22+ }
23+ girs = append(girs, path)
24+ return nil
25+ })
26+ p, err := pass.New(girs)
27+ if err != nil {
28+ panic(err)
29+ }
30+ // collect basic type info
31+ p.First()
32+
33+ // Create the template
34+ gotemp, err := template.New("go").Funcs(template.FuncMap{"conv": util.ConvertArgs, "convc": util.ConvertArgsComma}).ParseFiles("templates/go")
35+ if err != nil {
36+ panic(err)
37+ }
38+
39+ // Write go files by making the second pass
40+ p.Second(dir, gotemp)
41+
42+ // Finally copy some extra code that we want in the API
43+ data, err := os.ReadFile("templates/gobject")
44+ if err == nil {
45+ os.WriteFile("v4/gobject/more.go", data, 0o644)
46+ }
47+}
A gen.sh +18 -0
@@ -0,0 +1,18 @@
1+#!/usr/bin/env bash
2+
3+set -e
4+
5+echo "generating go files..."
6+go generate
7+
8+tmp=$(mktemp -d)
9+
10+echo "making sure imports are correct..."
11+GOPATH="$tmp" goimports --srcdir . -w v4 || { rm -r "$tmp"; exit 1; }
12+rm -r "$tmp"
13+
14+echo "formatting files..."
15+go fmt "github.com/jwijenbergh/puregotk/v4/..."
16+
17+echo "running go vet..."
18+go vet ./v4/...
A go.mod +7 -0
@@ -0,0 +1,7 @@
1+module github.com/jwijenbergh/puregotk
2+
3+go 1.20
4+
5+require github.com/jwijenbergh/purego v0.0.0-20230815104821-b26146068cfb
6+
7+require golang.org/x/sys v0.11.0 // indirect
A go.sum +4 -0 generated file: collapsed
A internal/core/core.go +138 -0
@@ -0,0 +1,138 @@
1+// package core implements core functionality for the generated files
2+// this core lib is imported by the generated code
3+package core
4+
5+import (
6+ "bytes"
7+ "fmt"
8+ "os"
9+ "os/exec"
10+ "path/filepath"
11+ "strings"
12+
13+ "github.com/jwijenbergh/purego"
14+)
15+
16+func PuregoSafeRegister(fptr interface{}, handle uintptr, name string) error {
17+ sym, err := purego.Dlsym(handle, name)
18+ if err != nil {
19+ return err
20+ }
21+ purego.RegisterFunc(fptr, sym)
22+ return nil
23+}
24+
25+// paths to where the shared object files should be located
26+// TODO: This needs to be split in architecture and more paths should be added
27+var paths = []string{
28+ "/usr/lib/x86_64-linux-gnu/",
29+}
30+
31+// names is a lookup from library names to shared object filenames
32+var names = map[string][]string{
33+ "ADW": {"libadwaita-1.so"},
34+ "CAIRO": {"libcairo.so"},
35+ "GDK": {"libgtk-4.so"},
36+ "GDKPIXBUF": {"libgdk_pixbuf-2.0.so"},
37+ "GIO": {"libgio-2.0.so"},
38+ "GLIB": {"libglib-2.0.so"},
39+ "GMODULE": {"libgmodule-2.0.so"},
40+ "GOBJECT": {"libgobject-2.0.so"},
41+ "GRAPHENE": {"libgraphene-1.0.so"},
42+ "GSK": {"libgtk-4.so"},
43+ "GTK": {"libgtk-4.so"},
44+ "PANGO": {"libpango-1.0.so"},
45+ "PANGOCAIRO": {"libpangocairo-1.0.so"},
46+}
47+
48+// pkgConfNames is a lookup from library names to pkg-config library names
49+// TODO: Get this from the package name in the gir files with a fallback to gtk's package name
50+var pkgConfNames = map[string]string{
51+ "ADW": "libadwaita-1",
52+ "CAIRO": "cairo",
53+ "GDK": "gtk4",
54+ "GDKPIXBUF": "gdk-pixbuf-2.0",
55+ "GIO": "gio-2.0",
56+ "GLIB": "glib-2.0",
57+ "GMODULE": "gmodule-2.0",
58+ "GOBJECT": "gobject-2.0",
59+ "GRAPHENE": "graphene-gobject-1.0",
60+ "GSK": "gtk4",
61+ "GTK": "gtk4",
62+ "PANGO": "pango",
63+ "PANGOCAIRO": "pangocairo",
64+}
65+
66+// findSo tries to find a shared object from a path and a library name
67+// It does this by mapping the library name to a suitable shared object filename and then trying some suffixes
68+func findSo(path string, name string) string {
69+ for _, n := range names[name] {
70+ suffixes := []string{"", ".0", ".1", ".2"}
71+ fn := filepath.Join(path, n)
72+ for _, s := range suffixes {
73+ if _, err := os.Stat(fn + s); err == nil {
74+ return fn
75+ }
76+ }
77+ }
78+ return ""
79+}
80+
81+// findPkgConf finds a shared object file with pkg-config
82+// it does this by running pkg-config --libs-only-L libname
83+// and then it loops over the directories returned and finds a suitable one
84+func findPkgConf(name string) string {
85+ // try to get with pkg-config
86+ cmd := exec.Command("pkg-config", "--libs-only-L", pkgConfNames[name])
87+ var out, outerr bytes.Buffer
88+ cmd.Stdout = &out
89+ cmd.Stderr = &outerr
90+ err := cmd.Run()
91+ if err != nil {
92+ fmt.Fprintf(os.Stderr, "pkg-config, failed with: %v and stderr: %s\n", err, outerr.String())
93+ return ""
94+ }
95+ outs := strings.Split(out.String(), "-L")
96+ for _, v := range outs {
97+ c := strings.TrimSpace(v)
98+ if c == "" {
99+ continue
100+ }
101+ g := findSo(c, name)
102+ if g != "" {
103+ return g
104+ }
105+ }
106+ return ""
107+}
108+
109+// GetPath gets a shared object file from a library name
110+// it does it in the following order
111+// see if PUREGOTK_LIBNAME_PATH is set
112+// go over the hardcoded paths
113+// find a library name with pkg-config
114+// panic if failed
115+// TODO: Hardcore a library shared object with linker -X flag
116+// This is useful for packaging
117+func GetPath(name string) string {
118+ // try to get from env var
119+ ev := fmt.Sprintf("PUREGOTK_%s_PATH", name)
120+ if v := os.Getenv(ev); v != "" {
121+ return v
122+ }
123+
124+ // try to loop over paths
125+ for _, p := range paths {
126+ g := findSo(p, name)
127+ if g != "" {
128+ return g
129+ }
130+
131+ }
132+ g := findPkgConf(name)
133+ if g != "" {
134+ return g
135+ }
136+
137+ panic(fmt.Sprintf("Path for library: %s not found. Please set the path to this library shared object file manually with env variable: %s. Or make sure pkg-config is setup correctly", strings.ToLower(name), ev))
138+}
A internal/gir/pass/pass.go +303 -0
@@ -0,0 +1,303 @@
1+// package pass implements the first and second pass to go from gir files to go files
2+// the first pass collects basic type information
3+// the second pass uses the basic type information to go over the gir files again and convert it to go files
4+package pass
5+
6+import (
7+ "encoding/xml"
8+ "fmt"
9+ "os"
10+ "strings"
11+ "text/template"
12+
13+ "github.com/jwijenbergh/puregotk/internal/gir/types"
14+ "github.com/jwijenbergh/puregotk/internal/gir/util"
15+)
16+
17+type Pass struct {
18+ Parsed []types.Repository
19+ Types types.KindMap
20+}
21+
22+// New creates a new pass struct by parsing gir files in the string slice
23+// This pass object will then be used to go over these files multiple times up until we have the full info to convert it to go files
24+func New(files []string) (*Pass, error) {
25+ p := Pass{
26+ Parsed: make([]types.Repository, len(files)),
27+ Types: make(types.KindMap),
28+ }
29+ for i, f := range files {
30+ b, err := os.ReadFile(f)
31+ if err != nil {
32+ return nil, err
33+ }
34+ var r types.Repository
35+ err = xml.Unmarshal(b, &r)
36+ if err != nil {
37+ return nil, err
38+ }
39+ p.Parsed[i] = r
40+ }
41+ return &p, nil
42+}
43+
44+func (p *Pass) collectTypes(r types.Repository) {
45+ ns := r.Namespaces[0]
46+ for _, cls := range ns.Classes {
47+ p.Types.Add(ns.Name, cls.Name, types.ClassesType, cls)
48+ }
49+ for _, rec := range ns.Records {
50+ p.Types.Add(ns.Name, rec.Name, types.RecordsType, rec)
51+ }
52+ for _, en := range ns.Enums {
53+ // TODO: This probably shouldn't be aliastype, but we should make dedicated types
54+ p.Types.Add(ns.Name, en.Name, types.AliasType, en)
55+ }
56+ for _, cb := range ns.Callbacks {
57+ p.Types.Add(ns.Name, cb.Name, types.CallbackType, cb)
58+ }
59+ for _, b := range ns.Bitfields {
60+ // TODO: This probably shouldn't be aliastype, but we should make dedicated types
61+ p.Types.Add(ns.Name, b.Name, types.AliasType, b)
62+ }
63+ for _, inter := range ns.Interfaces {
64+ p.Types.Add(ns.Name, inter.Name, types.InterfacesType, inter)
65+ }
66+}
67+
68+// First does a "first pass" meaning it collects basic type information for all the repositories
69+func (p *Pass) First() {
70+ for _, r := range p.Parsed {
71+ p.collectTypes(r)
72+ }
73+}
74+
75+func (p *Pass) writeGo(r types.Repository, gotemp *template.Template, dir string) {
76+ ns := r.Namespaces[0]
77+
78+ aliases := make(map[string][]types.AliasTemplate)
79+ enums := make(map[string][]types.EnumTemplate)
80+ var files []string
81+ for _, el := range ns.Bitfields {
82+ temp := el.Template(ns.Name)
83+ fn := el.FilenameSafe()
84+ files = append(files, fn)
85+ enums[fn] = append(enums[fn], temp)
86+ }
87+
88+ for _, el := range ns.Enums {
89+ temp := el.Template(ns.Name)
90+ fn := el.FilenameSafe()
91+ files = append(files, fn)
92+ enums[fn] = append(enums[fn], temp)
93+ }
94+
95+ records := make(map[string][]types.RecordTemplate)
96+ recordLookup := make(map[string]bool)
97+ for _, rec := range ns.Records {
98+ name := util.SnakeToCamel(rec.Name)
99+ fields := make([]types.RecordField, len(rec.Fields))
100+ fn := rec.FilenameSafe()
101+ files = append(files, fn)
102+ for _, f := range rec.Fields {
103+ _type := f.Translate(ns.Name, p.Types)
104+ if _type == "" {
105+ continue
106+ }
107+ fields = append(fields, types.RecordField{
108+ Name: util.SnakeToCamel(f.Name),
109+ Type: _type,
110+ })
111+ }
112+ records[fn] = append(records[fn], types.RecordTemplate{
113+ Name: name,
114+ Doc: rec.Doc.StringSafe(),
115+ Fields: fields,
116+ })
117+ recordLookup[name] = true
118+ }
119+
120+ callbacks := make(map[string][]types.CallbackTemplate)
121+ // set every callback equal to uintptr as well
122+ for _, cb := range ns.Callbacks {
123+ fn := cb.FilenameSafe()
124+ files = append(files, fn)
125+ cbT := types.CallbackTemplate{
126+ Doc: cb.Doc.StringSafe(),
127+ Name: cb.Name,
128+ Args: cb.Parameters.Template(ns.Name, "", p.Types),
129+ Ret: cb.ReturnValue.Template(ns.Name, "", p.Types),
130+ }
131+ callbacks[fn] = append(callbacks[fn], cbT)
132+ }
133+
134+ interfaces := make(map[string][]types.InterfaceTemplate)
135+ for _, inter := range ns.Interfaces {
136+ fn := inter.FilenameSafe()
137+ files = append(files, fn)
138+ interfaces[fn] = append(interfaces[fn], types.ConvertInterface(ns.Name, "", inter, nil, p.Types))
139+ }
140+
141+ for _, union := range ns.Unions {
142+ fn := union.FilenameSafe()
143+ files = append(files, fn)
144+ name := util.SnakeToCamel(union.Name)
145+ interT := types.AliasTemplate{
146+ Doc: union.Doc.StringSafe(),
147+ Name: name,
148+ // structs are not yet supported in CGO
149+ Value: "uintptr",
150+ }
151+ aliases[fn] = append(aliases[fn], interT)
152+ }
153+
154+ for _, alias := range ns.Aliases {
155+ fn := alias.FilenameSafe()
156+ files = append(files, fn)
157+ typeName := alias.Type.Template(ns.Name, p.Types)
158+ if typeName == "" {
159+ typeName = "uintptr"
160+ }
161+ name := util.SnakeToCamel(alias.Name)
162+ aliasT := types.AliasTemplate{
163+ Doc: alias.Doc.StringSafe(),
164+ Name: name,
165+ // structs are not yet supported in CGO
166+ Value: typeName,
167+ }
168+ aliases[fn] = append(aliases[fn], aliasT)
169+ }
170+
171+ functions := make(map[string][]types.FuncTemplate)
172+ for _, f := range ns.Functions {
173+ name := util.SnakeToCamel(f.Name)
174+ if p.Types.Kind(ns.Name, name) != types.UnknownType {
175+ name = "New" + name
176+ }
177+ fn := f.FilenameSafe()
178+ files = append(files, fn)
179+ functions[fn] = append(functions[fn], types.FuncTemplate{
180+ Name: name,
181+ CName: f.CIdentifier,
182+ Doc: f.Doc.StringSafe(),
183+ Args: f.Parameters.Template(ns.Name, "", p.Types),
184+ Ret: f.ReturnValue.Template(ns.Name, "", p.Types),
185+ })
186+ }
187+
188+ classes := make(map[string][]types.ClassTemplate)
189+ for _, cls := range ns.Classes {
190+ implemented := make(map[string]bool)
191+ constructors := make([]types.FuncTemplate, len(cls.Constructors))
192+ fn := cls.FilenameSafe()
193+ files = append(files, fn)
194+
195+ for i, c := range cls.Constructors {
196+ name := util.SnakeToCamel(c.Name)
197+ constructors[i] = types.FuncTemplate{
198+ Name: name,
199+ CName: c.CIdentifier,
200+ Doc: c.Doc.StringSafe(),
201+ Args: c.Parameters.Template(ns.Name, "", p.Types),
202+ Ret: c.ReturnValue.Template(ns.Name, "", p.Types),
203+ }
204+ }
205+ signals := make([]types.SignalsTemplate, len(cls.Signals))
206+ for i, s := range cls.Signals {
207+ signals[i] = types.SignalsTemplate{
208+ Doc: s.Doc.StringSafe(),
209+ Name: util.DashToCamel(s.Name),
210+ CName: s.Name,
211+ Args: s.Parameters.Template(ns.Name, "", p.Types),
212+ Ret: s.ReturnValue.Template(ns.Name, "", p.Types),
213+ }
214+ }
215+ receivers := make([]types.FuncTemplate, len(cls.Methods))
216+ for i, f := range cls.Methods {
217+ name := util.SnakeToCamel(f.Name)
218+ implemented[name] = true
219+ receivers[i] = types.FuncTemplate{
220+ Doc: f.Doc.StringSafe(),
221+ Name: name,
222+ CName: f.CIdentifier,
223+ Args: f.Parameters.Template(ns.Name, "", p.Types),
224+ Ret: f.ReturnValue.Template(ns.Name, "", p.Types),
225+ }
226+ }
227+ var interfaces []types.InterfaceTemplate
228+ for _, impl := range cls.Implements {
229+ interfaces = append(interfaces, types.GetInterfaceFuncs(ns.Name, impl.Name, implemented, p.Types))
230+ }
231+ classes[fn] = append(classes[fn], types.ClassTemplate{
232+ Doc: cls.Doc.StringSafe(),
233+ Name: cls.Name,
234+ Parent: util.NormalizeNamespace(ns.Name, cls.Parent, true),
235+ Constructors: constructors,
236+ Receivers: receivers,
237+ Interfaces: interfaces,
238+ Signals: signals,
239+ })
240+ }
241+
242+ pkgName := strings.ToLower(ns.Name)
243+ for _, fn := range files {
244+ var includesSlice []string
245+ //includesSlice := make([]string, len(includes[fn]))
246+ //i := 0
247+ //for k, v := range includes[fn] {
248+ // if v {
249+ // includesSlice[i] = k
250+ // }
251+ // i++
252+ //}
253+ methods := 0
254+ for _, i := range interfaces[fn] {
255+ for range i.Methods {
256+ methods += 1
257+ }
258+ }
259+ for _, i := range classes[fn] {
260+ for range i.Constructors {
261+ methods += 1
262+ }
263+ for range i.Receivers {
264+ methods += 1
265+ }
266+ }
267+ // we do not need to add the length of interfaces in here
268+ // as they should only be loaded when there are classes
269+ needsInit := (len(functions[fn]) + methods) > 0
270+
271+ args := types.TemplateArg{
272+ PkgName: pkgName,
273+ PkgEnv: strings.ToUpper(pkgName),
274+ NeedsInit: needsInit,
275+ Imports: includesSlice,
276+ Aliases: aliases[fn],
277+ Callbacks: callbacks[fn],
278+ Records: records[fn],
279+ Enums: enums[fn],
280+ Functions: functions[fn],
281+ Interfaces: interfaces[fn],
282+ Classes: classes[fn],
283+ }
284+
285+ os.MkdirAll(fmt.Sprintf(dir+"/%s", pkgName), 0o755)
286+
287+ f, err := os.Create(fmt.Sprintf(dir+"/%s/%s", pkgName, fn))
288+ if err != nil {
289+ panic(err)
290+ }
291+ err = gotemp.Execute(f, args)
292+ if err != nil {
293+ panic(err)
294+ }
295+
296+ }
297+}
298+
299+func (p *Pass) Second(dir string, gotemp *template.Template) {
300+ for _, r := range p.Parsed {
301+ p.writeGo(r, gotemp, dir)
302+ }
303+}
A internal/gir/spec/Adw-1.gir +29130 -0
@@ -0,0 +1,29130 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="Gio" version="2.0"/>
10+ <include name="Gtk" version="4.0"/>
11+ <package name="libadwaita-1"/>
12+ <c:include name="adwaita.h"/>
13+ <namespace name="Adw"
14+ version="1"
15+ shared-library="libadwaita-1.so.0"
16+ c:identifier-prefixes="Adw"
17+ c:symbol-prefixes="adw">
18+ <class name="AboutWindow"
19+ c:symbol-prefix="about_window"
20+ c:type="AdwAboutWindow"
21+ version="1.2"
22+ parent="Window"
23+ final="1"
24+ glib:type-name="AdwAboutWindow"
25+ glib:get-type="adw_about_window_get_type"
26+ glib:type-struct="AboutWindowClass">
27+ <doc xml:space="preserve"
28+ filename="src/adw-about-window.c"
29+ line="19">A window showing information about the application.
30+
31+&lt;picture&gt;
32+ &lt;source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
33+ &lt;img src="about-window.png" alt="about-window"&gt;
34+&lt;/picture&gt;
35+
36+An about window is typically opened when the user activates the `About …`
37+item in the application's primary menu. All parts of the window are optional.
38+
39+## Main page
40+
41+`AdwAboutWindow` prominently displays the application's icon, name, developer
42+name and version. They can be set with the [property@AboutWindow:application-icon],
43+[property@AboutWindow:application-name],
44+[property@AboutWindow:developer-name] and [property@AboutWindow:version]
45+respectively.
46+
47+## What's New
48+
49+`AdwAboutWindow` provides a way for applications to display their release
50+notes, set with the [property@AboutWindow:release-notes] property.
51+
52+Release notes are formatted the same way as
53+[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
54+
55+The supported formatting options are:
56+
57+* Paragraph (`&lt;p&gt;`)
58+* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
59+* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
60+
61+Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
62+(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
63+while inline code is shown in a monospaced font.
64+
65+Any text outside paragraphs or list items is ignored.
66+
67+Nested lists are not supported.
68+
69+Only one version can be shown at a time. By default, the displayed version
70+number matches [property@AboutWindow:version]. Use
71+[property@AboutWindow:release-notes-version] to override it.
72+
73+## Details
74+
75+The Details page displays the application comments and links.
76+
77+The comments can be set with the [property@AboutWindow:comments] property.
78+Unlike [property@Gtk.AboutDialog:comments], this string can be long and
79+detailed. It can also contain links and Pango markup.
80+
81+To set the application website, use [property@AboutWindow:website].
82+To add extra links below the website, use [method@AboutWindow.add_link].
83+
84+If the Details page doesn't have any other content besides website, the
85+website will be displayed on the main page instead.
86+
87+## Troubleshooting
88+
89+`AdwAboutWindow` displays the following two links on the main page:
90+
91+* Support Questions, set with the [property@AboutWindow:support-url] property,
92+* Report an Issue, set with the [property@AboutWindow:issue-url] property.
93+
94+Additionally, applications can provide debugging information. It will be
95+shown separately on the Troubleshooting page. Use the
96+[property@AboutWindow:debug-info] property to specify it.
97+
98+It's intended to be attached to issue reports when reporting issues against
99+the application. As such, it cannot contain markup or links.
100+
101+`AdwAboutWindow` provides a quick way to save debug information to a file.
102+When saving, [property@AboutWindow:debug-info-filename] would be used as
103+the suggested filename.
104+
105+## Credits and Acknowledgements
106+
107+The Credits page has the following default sections:
108+
109+* Developers, set with the [property@AboutWindow:developers] property,
110+* Designers, set with the [property@AboutWindow:designers] property,
111+* Artists, set with the [property@AboutWindow:artists] property,
112+* Documenters, set with the [property@AboutWindow:documenters] property,
113+* Translators, set with the [property@AboutWindow:translator-credits] property.
114+
115+When setting translator credits, use the strings `"translator-credits"` or
116+`"translator_credits"` and mark them as translatable.
117+
118+The default sections that don't contain any names won't be displayed.
119+
120+The Credits page can also contain an arbitrary number of extra sections below
121+the default ones. Use [method@AboutWindow.add_credit_section] to add them.
122+
123+The Acknowledgements page can be used to acknowledge additional people and
124+organizations for their non-development contributions. Use
125+[method@AboutWindow.add_acknowledgement_section] to add sections to it. For
126+example, it can be used to list backers in a crowdfunded project or to give
127+special thanks.
128+
129+Each of the people or organizations can have an email address or a website
130+specified. To add a email address, use a string like
131+`Edgar Allan Poe &lt;edgar@poe.com&gt;`. To specify a website with a title, use a
132+string like `The GNOME Project https://www.gnome.org`:
133+
134+&lt;picture&gt;
135+ &lt;source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)"&gt;
136+ &lt;img src="about-window-credits.png" alt="about-window-credits"&gt;
137+&lt;/picture&gt;
138+
139+## Legal
140+
141+The Legal page displays the copyright and licensing information for the
142+application and other modules.
143+
144+The copyright string is set with the [property@AboutWindow:copyright]
145+property and should be a short string of one or two lines, for example:
146+`© 2022 Example`.
147+
148+Licensing information can be quickly set from a list of known licenses with
149+the [property@AboutWindow:license-type] property. If the application's
150+license is not in the list, [property@AboutWindow:license] can be used
151+instead.
152+
153+To add information about other modules, such as application dependencies or
154+data, use [method@AboutWindow.add_legal_section].
155+
156+## Constructing
157+
158+To make constructing an `AdwAboutWindow` as convenient as possible, you can
159+use the function [func@show_about_window] which constructs and shows a
160+window.
161+
162+```c
163+static void
164+show_about (GtkApplication *app)
165+{
166+ const char *developers[] = {
167+ "Angela Avery",
168+ NULL
169+ };
170+
171+ const char *designers[] = {
172+ "GNOME Design Team",
173+ NULL
174+ };
175+
176+ adw_show_about_window (gtk_application_get_active_window (app),
177+ "application-name", _("Example"),
178+ "application-icon", "org.example.App",
179+ "version", "1.2.3",
180+ "copyright", "© 2022 Angela Avery",
181+ "issue-url", "https://gitlab.gnome.org/example/example/-/issues/new",
182+ "license-type", GTK_LICENSE_GPL_3_0,
183+ "developers", developers,
184+ "designers", designers,
185+ "translator-credits", _("translator-credits"),
186+ NULL);
187+}
188+```
189+
190+## CSS nodes
191+
192+`AdwAboutWindow` has a main CSS node with the name `window` and the
193+style class `.about`.</doc>
194+ <source-position filename="src/adw-about-window.h" line="23"/>
195+ <implements name="Gtk.Accessible"/>
196+ <implements name="Gtk.Buildable"/>
197+ <implements name="Gtk.ConstraintTarget"/>
198+ <implements name="Gtk.Native"/>
199+ <implements name="Gtk.Root"/>
200+ <implements name="Gtk.ShortcutManager"/>
201+ <constructor name="new"
202+ c:identifier="adw_about_window_new"
203+ version="1.2">
204+ <doc xml:space="preserve"
205+ filename="src/adw-about-window.c"
206+ line="1941">Creates a new `AdwAboutWindow`.</doc>
207+ <source-position filename="src/adw-about-window.h" line="26"/>
208+ <return-value transfer-ownership="none">
209+ <doc xml:space="preserve"
210+ filename="src/adw-about-window.c"
211+ line="1946">the newly created `AdwAboutWindow`</doc>
212+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
213+ </return-value>
214+ </constructor>
215+ <method name="add_acknowledgement_section"
216+ c:identifier="adw_about_window_add_acknowledgement_section"
217+ version="1.2">
218+ <doc xml:space="preserve"
219+ filename="src/adw-about-window.c"
220+ line="2962">Adds a section to the Acknowledgements page.
221+
222+This can be used to acknowledge additional people and organizations for their
223+non-development contributions - for example, backers in a crowdfunded
224+project.
225+
226+Each name may contain email addresses and URLs, see the introduction for more
227+details.
228+
229+See also:
230+
231+* [property@AboutWindow:developers]
232+* [property@AboutWindow:designers]
233+* [property@AboutWindow:artists]
234+* [property@AboutWindow:documenters]
235+* [property@AboutWindow:translator-credits]
236+* [method@AboutWindow.add_credit_section]</doc>
237+ <source-position filename="src/adw-about-window.h" line="141"/>
238+ <return-value transfer-ownership="none">
239+ <type name="none" c:type="void"/>
240+ </return-value>
241+ <parameters>
242+ <instance-parameter name="self" transfer-ownership="none">
243+ <doc xml:space="preserve"
244+ filename="src/adw-about-window.c"
245+ line="2964">an about window</doc>
246+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
247+ </instance-parameter>
248+ <parameter name="name"
249+ transfer-ownership="none"
250+ nullable="1"
251+ allow-none="1">
252+ <doc xml:space="preserve"
253+ filename="src/adw-about-window.c"
254+ line="2965">the section name</doc>
255+ <type name="utf8" c:type="const char*"/>
256+ </parameter>
257+ <parameter name="people" transfer-ownership="none">
258+ <doc xml:space="preserve"
259+ filename="src/adw-about-window.c"
260+ line="2966">the list of names</doc>
261+ <array c:type="const char**">
262+ <type name="utf8" c:type="char*"/>
263+ </array>
264+ </parameter>
265+ </parameters>
266+ </method>
267+ <method name="add_credit_section"
268+ c:identifier="adw_about_window_add_credit_section"
269+ version="1.2">
270+ <doc xml:space="preserve"
271+ filename="src/adw-about-window.c"
272+ line="2919">Adds an extra section to the Credits page.
273+
274+Extra sections are displayed below the standard categories.
275+
276+Each name may contain email addresses and URLs, see the introduction for more
277+details.
278+
279+See also:
280+
281+* [property@AboutWindow:developers]
282+* [property@AboutWindow:designers]
283+* [property@AboutWindow:artists]
284+* [property@AboutWindow:documenters]
285+* [property@AboutWindow:translator-credits]
286+* [method@AboutWindow.add_acknowledgement_section]</doc>
287+ <source-position filename="src/adw-about-window.h" line="136"/>
288+ <return-value transfer-ownership="none">
289+ <type name="none" c:type="void"/>
290+ </return-value>
291+ <parameters>
292+ <instance-parameter name="self" transfer-ownership="none">
293+ <doc xml:space="preserve"
294+ filename="src/adw-about-window.c"
295+ line="2921">an about window</doc>
296+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
297+ </instance-parameter>
298+ <parameter name="name"
299+ transfer-ownership="none"
300+ nullable="1"
301+ allow-none="1">
302+ <doc xml:space="preserve"
303+ filename="src/adw-about-window.c"
304+ line="2922">the section name</doc>
305+ <type name="utf8" c:type="const char*"/>
306+ </parameter>
307+ <parameter name="people" transfer-ownership="none">
308+ <doc xml:space="preserve"
309+ filename="src/adw-about-window.c"
310+ line="2923">the list of names</doc>
311+ <array c:type="const char**">
312+ <type name="utf8" c:type="char*"/>
313+ </array>
314+ </parameter>
315+ </parameters>
316+ </method>
317+ <method name="add_legal_section"
318+ c:identifier="adw_about_window_add_legal_section"
319+ version="1.2">
320+ <doc xml:space="preserve"
321+ filename="src/adw-about-window.c"
322+ line="3188">Adds an extra section to the Legal page.
323+
324+Extra sections will be displayed below the application's own information.
325+
326+The parameters @copyright, @license_type and @license will be used to present
327+the it the same way as [property@AboutWindow:copyright],
328+[property@AboutWindow:license-type] and [property@AboutWindow:license] are
329+for the application's own information.
330+
331+See those properties for more details.
332+
333+This can be useful to attribute the application dependencies or data.
334+
335+Examples:
336+
337+```c
338+adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
339+ _("Copyright and a known license"),
340+ "© 2022 Example",
341+ GTK_LICENSE_LGPL_2_1,
342+ NULL);
343+
344+adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
345+ _("Copyright and custom license"),
346+ "© 2022 Example",
347+ GTK_LICENSE_CUSTOM,
348+ "Custom license text");
349+
350+adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
351+ _("Copyright only"),
352+ "© 2022 Example",
353+ GTK_LICENSE_UNKNOWN,
354+ NULL);
355+
356+adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
357+ _("Custom license only"),
358+ NULL,
359+ GTK_LICENSE_CUSTOM,
360+ "Something completely custom here.");
361+```</doc>
362+ <source-position filename="src/adw-about-window.h" line="164"/>
363+ <return-value transfer-ownership="none">
364+ <type name="none" c:type="void"/>
365+ </return-value>
366+ <parameters>
367+ <instance-parameter name="self" transfer-ownership="none">
368+ <doc xml:space="preserve"
369+ filename="src/adw-about-window.c"
370+ line="3190">an about window</doc>
371+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
372+ </instance-parameter>
373+ <parameter name="title" transfer-ownership="none">
374+ <doc xml:space="preserve"
375+ filename="src/adw-about-window.c"
376+ line="3191">the name of the section</doc>
377+ <type name="utf8" c:type="const char*"/>
378+ </parameter>
379+ <parameter name="copyright"
380+ transfer-ownership="none"
381+ nullable="1"
382+ allow-none="1">
383+ <doc xml:space="preserve"
384+ filename="src/adw-about-window.c"
385+ line="3192">a copyright string</doc>
386+ <type name="utf8" c:type="const char*"/>
387+ </parameter>
388+ <parameter name="license_type" transfer-ownership="none">
389+ <doc xml:space="preserve"
390+ filename="src/adw-about-window.c"
391+ line="3193">the type of license</doc>
392+ <type name="Gtk.License" c:type="GtkLicense"/>
393+ </parameter>
394+ <parameter name="license"
395+ transfer-ownership="none"
396+ nullable="1"
397+ allow-none="1">
398+ <doc xml:space="preserve"
399+ filename="src/adw-about-window.c"
400+ line="3194">custom license information</doc>
401+ <type name="utf8" c:type="const char*"/>
402+ </parameter>
403+ </parameters>
404+ </method>
405+ <method name="add_link"
406+ c:identifier="adw_about_window_add_link"
407+ version="1.2">
408+ <doc xml:space="preserve"
409+ filename="src/adw-about-window.c"
410+ line="2475">Adds an extra link to the Details page.
411+
412+Extra links are displayed under the comment and website.
413+
414+Underlines in @title will be interpreted as indicating a mnemonic.
415+
416+See [property@AboutWindow:website].</doc>
417+ <source-position filename="src/adw-about-window.h" line="89"/>
418+ <return-value transfer-ownership="none">
419+ <type name="none" c:type="void"/>
420+ </return-value>
421+ <parameters>
422+ <instance-parameter name="self" transfer-ownership="none">
423+ <doc xml:space="preserve"
424+ filename="src/adw-about-window.c"
425+ line="2477">an about window</doc>
426+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
427+ </instance-parameter>
428+ <parameter name="title" transfer-ownership="none">
429+ <doc xml:space="preserve"
430+ filename="src/adw-about-window.c"
431+ line="2478">the link title</doc>
432+ <type name="utf8" c:type="const char*"/>
433+ </parameter>
434+ <parameter name="url" transfer-ownership="none">
435+ <doc xml:space="preserve"
436+ filename="src/adw-about-window.c"
437+ line="2479">the link URL</doc>
438+ <type name="utf8" c:type="const char*"/>
439+ </parameter>
440+ </parameters>
441+ </method>
442+ <method name="get_application_icon"
443+ c:identifier="adw_about_window_get_application_icon"
444+ glib:get-property="application-icon"
445+ version="1.2">
446+ <attribute name="org.gtk.Method.get_property"
447+ value="application-icon"/>
448+ <doc xml:space="preserve"
449+ filename="src/adw-about-window.c"
450+ line="1956">Gets the name of the application icon for @self.</doc>
451+ <source-position filename="src/adw-about-window.h" line="35"/>
452+ <return-value transfer-ownership="none">
453+ <doc xml:space="preserve"
454+ filename="src/adw-about-window.c"
455+ line="1962">the application icon name</doc>
456+ <type name="utf8" c:type="const char*"/>
457+ </return-value>
458+ <parameters>
459+ <instance-parameter name="self" transfer-ownership="none">
460+ <doc xml:space="preserve"
461+ filename="src/adw-about-window.c"
462+ line="1958">an about window</doc>
463+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
464+ </instance-parameter>
465+ </parameters>
466+ </method>
467+ <method name="get_application_name"
468+ c:identifier="adw_about_window_get_application_name"
469+ glib:get-property="application-name"
470+ version="1.2">
471+ <attribute name="org.gtk.Method.get_property"
472+ value="application-name"/>
473+ <doc xml:space="preserve"
474+ filename="src/adw-about-window.c"
475+ line="2004">Gets the application name for @self.</doc>
476+ <source-position filename="src/adw-about-window.h" line="29"/>
477+ <return-value transfer-ownership="none">
478+ <doc xml:space="preserve"
479+ filename="src/adw-about-window.c"
480+ line="2010">the application name</doc>
481+ <type name="utf8" c:type="const char*"/>
482+ </return-value>
483+ <parameters>
484+ <instance-parameter name="self" transfer-ownership="none">
485+ <doc xml:space="preserve"
486+ filename="src/adw-about-window.c"
487+ line="2006">an about window</doc>
488+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
489+ </instance-parameter>
490+ </parameters>
491+ </method>
492+ <method name="get_artists"
493+ c:identifier="adw_about_window_get_artists"
494+ glib:get-property="artists"
495+ version="1.2">
496+ <attribute name="org.gtk.Method.get_property" value="artists"/>
497+ <doc xml:space="preserve"
498+ filename="src/adw-about-window.c"
499+ line="2741">Gets the list of artists of the application.</doc>
500+ <source-position filename="src/adw-about-window.h" line="118"/>
501+ <return-value transfer-ownership="none" nullable="1">
502+ <doc xml:space="preserve"
503+ filename="src/adw-about-window.c"
504+ line="2747">The list of artists</doc>
505+ <array c:type="const char* const*">
506+ <type name="utf8"/>
507+ </array>
508+ </return-value>
509+ <parameters>
510+ <instance-parameter name="self" transfer-ownership="none">
511+ <doc xml:space="preserve"
512+ filename="src/adw-about-window.c"
513+ line="2743">an about window</doc>
514+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
515+ </instance-parameter>
516+ </parameters>
517+ </method>
518+ <method name="get_comments"
519+ c:identifier="adw_about_window_get_comments"
520+ glib:get-property="comments"
521+ version="1.2">
522+ <attribute name="org.gtk.Method.get_property" value="comments"/>
523+ <doc xml:space="preserve"
524+ filename="src/adw-about-window.c"
525+ line="2281">Gets the comments about the application.</doc>
526+ <source-position filename="src/adw-about-window.h" line="65"/>
527+ <return-value transfer-ownership="none">
528+ <doc xml:space="preserve"
529+ filename="src/adw-about-window.c"
530+ line="2287">the comments</doc>
531+ <type name="utf8" c:type="const char*"/>
532+ </return-value>
533+ <parameters>
534+ <instance-parameter name="self" transfer-ownership="none">
535+ <doc xml:space="preserve"
536+ filename="src/adw-about-window.c"
537+ line="2283">an about window</doc>
538+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
539+ </instance-parameter>
540+ </parameters>
541+ </method>
542+ <method name="get_copyright"
543+ c:identifier="adw_about_window_get_copyright"
544+ glib:get-property="copyright"
545+ version="1.2">
546+ <attribute name="org.gtk.Method.get_property" value="copyright"/>
547+ <doc xml:space="preserve"
548+ filename="src/adw-about-window.c"
549+ line="3003">Gets the copyright information for @self.</doc>
550+ <source-position filename="src/adw-about-window.h" line="146"/>
551+ <return-value transfer-ownership="none">
552+ <doc xml:space="preserve"
553+ filename="src/adw-about-window.c"
554+ line="3009">the copyright information</doc>
555+ <type name="utf8" c:type="const char*"/>
556+ </return-value>
557+ <parameters>
558+ <instance-parameter name="self" transfer-ownership="none">
559+ <doc xml:space="preserve"
560+ filename="src/adw-about-window.c"
561+ line="3005">an about window</doc>
562+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
563+ </instance-parameter>
564+ </parameters>
565+ </method>
566+ <method name="get_debug_info"
567+ c:identifier="adw_about_window_get_debug_info"
568+ glib:get-property="debug-info"
569+ version="1.2">
570+ <attribute name="org.gtk.Method.get_property" value="debug-info"/>
571+ <doc xml:space="preserve"
572+ filename="src/adw-about-window.c"
573+ line="2522">Gets the debug information for @self.</doc>
574+ <source-position filename="src/adw-about-window.h" line="94"/>
575+ <return-value transfer-ownership="none">
576+ <doc xml:space="preserve"
577+ filename="src/adw-about-window.c"
578+ line="2528">the debug information</doc>
579+ <type name="utf8" c:type="const char*"/>
580+ </return-value>
581+ <parameters>
582+ <instance-parameter name="self" transfer-ownership="none">
583+ <doc xml:space="preserve"
584+ filename="src/adw-about-window.c"
585+ line="2524">an about window</doc>
586+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
587+ </instance-parameter>
588+ </parameters>
589+ </method>
590+ <method name="get_debug_info_filename"
591+ c:identifier="adw_about_window_get_debug_info_filename"
592+ glib:get-property="debug-info-filename"
593+ version="1.2">
594+ <attribute name="org.gtk.Method.get_property"
595+ value="debug-info-filename"/>
596+ <doc xml:space="preserve"
597+ filename="src/adw-about-window.c"
598+ line="2577">Gets the debug information filename for @self.</doc>
599+ <source-position filename="src/adw-about-window.h" line="100"/>
600+ <return-value transfer-ownership="none">
601+ <doc xml:space="preserve"
602+ filename="src/adw-about-window.c"
603+ line="2583">the debug information filename</doc>
604+ <type name="utf8" c:type="const char*"/>
605+ </return-value>
606+ <parameters>
607+ <instance-parameter name="self" transfer-ownership="none">
608+ <doc xml:space="preserve"
609+ filename="src/adw-about-window.c"
610+ line="2579">an about window</doc>
611+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
612+ </instance-parameter>
613+ </parameters>
614+ </method>
615+ <method name="get_designers"
616+ c:identifier="adw_about_window_get_designers"
617+ glib:get-property="designers"
618+ version="1.2">
619+ <attribute name="org.gtk.Method.get_property" value="designers"/>
620+ <doc xml:space="preserve"
621+ filename="src/adw-about-window.c"
622+ line="2683">Gets the list of designers of the application.</doc>
623+ <source-position filename="src/adw-about-window.h" line="112"/>
624+ <return-value transfer-ownership="none" nullable="1">
625+ <doc xml:space="preserve"
626+ filename="src/adw-about-window.c"
627+ line="2689">The list of designers</doc>
628+ <array c:type="const char* const*">
629+ <type name="utf8"/>
630+ </array>
631+ </return-value>
632+ <parameters>
633+ <instance-parameter name="self" transfer-ownership="none">
634+ <doc xml:space="preserve"
635+ filename="src/adw-about-window.c"
636+ line="2685">an about window</doc>
637+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
638+ </instance-parameter>
639+ </parameters>
640+ </method>
641+ <method name="get_developer_name"
642+ c:identifier="adw_about_window_get_developer_name"
643+ glib:get-property="developer-name"
644+ version="1.2">
645+ <attribute name="org.gtk.Method.get_property" value="developer-name"/>
646+ <doc xml:space="preserve"
647+ filename="src/adw-about-window.c"
648+ line="2052">Gets the developer name for @self.</doc>
649+ <source-position filename="src/adw-about-window.h" line="41"/>
650+ <return-value transfer-ownership="none">
651+ <doc xml:space="preserve"
652+ filename="src/adw-about-window.c"
653+ line="2058">the developer_name</doc>
654+ <type name="utf8" c:type="const char*"/>
655+ </return-value>
656+ <parameters>
657+ <instance-parameter name="self" transfer-ownership="none">
658+ <doc xml:space="preserve"
659+ filename="src/adw-about-window.c"
660+ line="2054">an about window</doc>
661+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
662+ </instance-parameter>
663+ </parameters>
664+ </method>
665+ <method name="get_developers"
666+ c:identifier="adw_about_window_get_developers"
667+ glib:get-property="developers"
668+ version="1.2">
669+ <attribute name="org.gtk.Method.get_property" value="developers"/>
670+ <doc xml:space="preserve"
671+ filename="src/adw-about-window.c"
672+ line="2625">Gets the list of developers of the application.</doc>
673+ <source-position filename="src/adw-about-window.h" line="106"/>
674+ <return-value transfer-ownership="none" nullable="1">
675+ <doc xml:space="preserve"
676+ filename="src/adw-about-window.c"
677+ line="2631">The list of developers</doc>
678+ <array c:type="const char* const*">
679+ <type name="utf8"/>
680+ </array>
681+ </return-value>
682+ <parameters>
683+ <instance-parameter name="self" transfer-ownership="none">
684+ <doc xml:space="preserve"
685+ filename="src/adw-about-window.c"
686+ line="2627">an about window</doc>
687+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
688+ </instance-parameter>
689+ </parameters>
690+ </method>
691+ <method name="get_documenters"
692+ c:identifier="adw_about_window_get_documenters"
693+ glib:get-property="documenters"
694+ version="1.2">
695+ <attribute name="org.gtk.Method.get_property" value="documenters"/>
696+ <doc xml:space="preserve"
697+ filename="src/adw-about-window.c"
698+ line="2799">Gets the list of documenters of the application.</doc>
699+ <source-position filename="src/adw-about-window.h" line="124"/>
700+ <return-value transfer-ownership="none" nullable="1">
701+ <doc xml:space="preserve"
702+ filename="src/adw-about-window.c"
703+ line="2805">The list of documenters</doc>
704+ <array c:type="const char* const*">
705+ <type name="utf8"/>
706+ </array>
707+ </return-value>
708+ <parameters>
709+ <instance-parameter name="self" transfer-ownership="none">
710+ <doc xml:space="preserve"
711+ filename="src/adw-about-window.c"
712+ line="2801">an about window</doc>
713+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
714+ </instance-parameter>
715+ </parameters>
716+ </method>
717+ <method name="get_issue_url"
718+ c:identifier="adw_about_window_get_issue_url"
719+ glib:get-property="issue-url"
720+ version="1.2">
721+ <attribute name="org.gtk.Method.get_property" value="issue-url"/>
722+ <doc xml:space="preserve"
723+ filename="src/adw-about-window.c"
724+ line="2428">Gets the issue tracker URL for @self.</doc>
725+ <source-position filename="src/adw-about-window.h" line="83"/>
726+ <return-value transfer-ownership="none">
727+ <doc xml:space="preserve"
728+ filename="src/adw-about-window.c"
729+ line="2434">the issue tracker URL</doc>
730+ <type name="utf8" c:type="const char*"/>
731+ </return-value>
732+ <parameters>
733+ <instance-parameter name="self" transfer-ownership="none">
734+ <doc xml:space="preserve"
735+ filename="src/adw-about-window.c"
736+ line="2430">an about window</doc>
737+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
738+ </instance-parameter>
739+ </parameters>
740+ </method>
741+ <method name="get_license"
742+ c:identifier="adw_about_window_get_license"
743+ glib:get-property="license"
744+ version="1.2">
745+ <attribute name="org.gtk.Method.get_property" value="license"/>
746+ <doc xml:space="preserve"
747+ filename="src/adw-about-window.c"
748+ line="3123">Gets the license for @self.</doc>
749+ <source-position filename="src/adw-about-window.h" line="158"/>
750+ <return-value transfer-ownership="none">
751+ <doc xml:space="preserve"
752+ filename="src/adw-about-window.c"
753+ line="3129">the license</doc>
754+ <type name="utf8" c:type="const char*"/>
755+ </return-value>
756+ <parameters>
757+ <instance-parameter name="self" transfer-ownership="none">
758+ <doc xml:space="preserve"
759+ filename="src/adw-about-window.c"
760+ line="3125">an about window</doc>
761+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
762+ </instance-parameter>
763+ </parameters>
764+ </method>
765+ <method name="get_license_type"
766+ c:identifier="adw_about_window_get_license_type"
767+ glib:get-property="license-type"
768+ version="1.2">
769+ <attribute name="org.gtk.Method.get_property" value="license-type"/>
770+ <doc xml:space="preserve"
771+ filename="src/adw-about-window.c"
772+ line="3057">Gets the license type for @self.</doc>
773+ <source-position filename="src/adw-about-window.h" line="152"/>
774+ <return-value transfer-ownership="none">
775+ <doc xml:space="preserve"
776+ filename="src/adw-about-window.c"
777+ line="3063">the license type</doc>
778+ <type name="Gtk.License" c:type="GtkLicense"/>
779+ </return-value>
780+ <parameters>
781+ <instance-parameter name="self" transfer-ownership="none">
782+ <doc xml:space="preserve"
783+ filename="src/adw-about-window.c"
784+ line="3059">an about window</doc>
785+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
786+ </instance-parameter>
787+ </parameters>
788+ </method>
789+ <method name="get_release_notes"
790+ c:identifier="adw_about_window_get_release_notes"
791+ glib:get-property="release-notes"
792+ version="1.2">
793+ <attribute name="org.gtk.Method.get_property" value="release-notes"/>
794+ <doc xml:space="preserve"
795+ filename="src/adw-about-window.c"
796+ line="2212">Gets the release notes for @self.</doc>
797+ <source-position filename="src/adw-about-window.h" line="59"/>
798+ <return-value transfer-ownership="none">
799+ <doc xml:space="preserve"
800+ filename="src/adw-about-window.c"
801+ line="2218">the release notes</doc>
802+ <type name="utf8" c:type="const char*"/>
803+ </return-value>
804+ <parameters>
805+ <instance-parameter name="self" transfer-ownership="none">
806+ <doc xml:space="preserve"
807+ filename="src/adw-about-window.c"
808+ line="2214">an about window</doc>
809+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
810+ </instance-parameter>
811+ </parameters>
812+ </method>
813+ <method name="get_release_notes_version"
814+ c:identifier="adw_about_window_get_release_notes_version"
815+ glib:get-property="release-notes-version"
816+ version="1.2">
817+ <attribute name="org.gtk.Method.get_property"
818+ value="release-notes-version"/>
819+ <doc xml:space="preserve"
820+ filename="src/adw-about-window.c"
821+ line="2155">Gets the version described by the application's release notes.</doc>
822+ <source-position filename="src/adw-about-window.h" line="53"/>
823+ <return-value transfer-ownership="none">
824+ <doc xml:space="preserve"
825+ filename="src/adw-about-window.c"
826+ line="2161">the release notes version</doc>
827+ <type name="utf8" c:type="const char*"/>
828+ </return-value>
829+ <parameters>
830+ <instance-parameter name="self" transfer-ownership="none">
831+ <doc xml:space="preserve"
832+ filename="src/adw-about-window.c"
833+ line="2157">an about window</doc>
834+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
835+ </instance-parameter>
836+ </parameters>
837+ </method>
838+ <method name="get_support_url"
839+ c:identifier="adw_about_window_get_support_url"
840+ glib:get-property="support-url"
841+ version="1.2">
842+ <attribute name="org.gtk.Method.get_property" value="support-url"/>
843+ <doc xml:space="preserve"
844+ filename="src/adw-about-window.c"
845+ line="2381">Gets the URL of the support page for @self.</doc>
846+ <source-position filename="src/adw-about-window.h" line="77"/>
847+ <return-value transfer-ownership="none">
848+ <doc xml:space="preserve"
849+ filename="src/adw-about-window.c"
850+ line="2387">the support page URL</doc>
851+ <type name="utf8" c:type="const char*"/>
852+ </return-value>
853+ <parameters>
854+ <instance-parameter name="self" transfer-ownership="none">
855+ <doc xml:space="preserve"
856+ filename="src/adw-about-window.c"
857+ line="2383">an about window</doc>
858+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
859+ </instance-parameter>
860+ </parameters>
861+ </method>
862+ <method name="get_translator_credits"
863+ c:identifier="adw_about_window_get_translator_credits"
864+ glib:get-property="translator-credits"
865+ version="1.2">
866+ <attribute name="org.gtk.Method.get_property"
867+ value="translator-credits"/>
868+ <doc xml:space="preserve"
869+ filename="src/adw-about-window.c"
870+ line="2857">Gets the translator credits string.</doc>
871+ <source-position filename="src/adw-about-window.h" line="130"/>
872+ <return-value transfer-ownership="none">
873+ <doc xml:space="preserve"
874+ filename="src/adw-about-window.c"
875+ line="2863">The translator credits string</doc>
876+ <type name="utf8" c:type="const char*"/>
877+ </return-value>
878+ <parameters>
879+ <instance-parameter name="self" transfer-ownership="none">
880+ <doc xml:space="preserve"
881+ filename="src/adw-about-window.c"
882+ line="2859">an about window</doc>
883+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
884+ </instance-parameter>
885+ </parameters>
886+ </method>
887+ <method name="get_version"
888+ c:identifier="adw_about_window_get_version"
889+ glib:get-property="version"
890+ version="1.2">
891+ <attribute name="org.gtk.Method.get_property" value="version"/>
892+ <doc xml:space="preserve"
893+ filename="src/adw-about-window.c"
894+ line="2105">Gets the version for @self.</doc>
895+ <source-position filename="src/adw-about-window.h" line="47"/>
896+ <return-value transfer-ownership="none">
897+ <doc xml:space="preserve"
898+ filename="src/adw-about-window.c"
899+ line="2111">the version</doc>
900+ <type name="utf8" c:type="const char*"/>
901+ </return-value>
902+ <parameters>
903+ <instance-parameter name="self" transfer-ownership="none">
904+ <doc xml:space="preserve"
905+ filename="src/adw-about-window.c"
906+ line="2107">an about window</doc>
907+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
908+ </instance-parameter>
909+ </parameters>
910+ </method>
911+ <method name="get_website"
912+ c:identifier="adw_about_window_get_website"
913+ glib:get-property="website"
914+ version="1.2">
915+ <attribute name="org.gtk.Method.get_property" value="website"/>
916+ <doc xml:space="preserve"
917+ filename="src/adw-about-window.c"
918+ line="2331">Gets the application website URL for @self.</doc>
919+ <source-position filename="src/adw-about-window.h" line="71"/>
920+ <return-value transfer-ownership="none">
921+ <doc xml:space="preserve"
922+ filename="src/adw-about-window.c"
923+ line="2337">the website URL</doc>
924+ <type name="utf8" c:type="const char*"/>
925+ </return-value>
926+ <parameters>
927+ <instance-parameter name="self" transfer-ownership="none">
928+ <doc xml:space="preserve"
929+ filename="src/adw-about-window.c"
930+ line="2333">an about window</doc>
931+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
932+ </instance-parameter>
933+ </parameters>
934+ </method>
935+ <method name="set_application_icon"
936+ c:identifier="adw_about_window_set_application_icon"
937+ glib:set-property="application-icon"
938+ version="1.2">
939+ <attribute name="org.gtk.Method.set_property"
940+ value="application-icon"/>
941+ <doc xml:space="preserve"
942+ filename="src/adw-about-window.c"
943+ line="1974">Sets the name of the application icon for @self.
944+
945+The icon is displayed at the top of the main page.</doc>
946+ <source-position filename="src/adw-about-window.h" line="37"/>
947+ <return-value transfer-ownership="none">
948+ <type name="none" c:type="void"/>
949+ </return-value>
950+ <parameters>
951+ <instance-parameter name="self" transfer-ownership="none">
952+ <doc xml:space="preserve"
953+ filename="src/adw-about-window.c"
954+ line="1976">an about window</doc>
955+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
956+ </instance-parameter>
957+ <parameter name="application_icon" transfer-ownership="none">
958+ <doc xml:space="preserve"
959+ filename="src/adw-about-window.c"
960+ line="1977">the application icon name</doc>
961+ <type name="utf8" c:type="const char*"/>
962+ </parameter>
963+ </parameters>
964+ </method>
965+ <method name="set_application_name"
966+ c:identifier="adw_about_window_set_application_name"
967+ glib:set-property="application-name"
968+ version="1.2">
969+ <attribute name="org.gtk.Method.set_property"
970+ value="application-name"/>
971+ <doc xml:space="preserve"
972+ filename="src/adw-about-window.c"
973+ line="2022">Sets the application name for @self.
974+
975+The name is displayed at the top of the main page.</doc>
976+ <source-position filename="src/adw-about-window.h" line="31"/>
977+ <return-value transfer-ownership="none">
978+ <type name="none" c:type="void"/>
979+ </return-value>
980+ <parameters>
981+ <instance-parameter name="self" transfer-ownership="none">
982+ <doc xml:space="preserve"
983+ filename="src/adw-about-window.c"
984+ line="2024">an about window</doc>
985+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
986+ </instance-parameter>
987+ <parameter name="application_name" transfer-ownership="none">
988+ <doc xml:space="preserve"
989+ filename="src/adw-about-window.c"
990+ line="2025">the application name</doc>
991+ <type name="utf8" c:type="const char*"/>
992+ </parameter>
993+ </parameters>
994+ </method>
995+ <method name="set_artists"
996+ c:identifier="adw_about_window_set_artists"
997+ glib:set-property="artists"
998+ version="1.2">
999+ <attribute name="org.gtk.Method.set_property" value="artists"/>
1000+ <doc xml:space="preserve"
1001+ filename="src/adw-about-window.c"
1002+ line="2759">Sets the list of artists of the application.
1003+
1004+It will be displayed on the Credits page.
1005+
1006+Each name may contain email addresses and URLs, see the introduction for more
1007+details.
1008+
1009+See also:
1010+
1011+* [property@AboutWindow:developers]
1012+* [property@AboutWindow:designers]
1013+* [property@AboutWindow:documenters]
1014+* [property@AboutWindow:translator-credits]
1015+* [method@AboutWindow.add_credit_section]
1016+* [method@AboutWindow.add_acknowledgement_section]</doc>
1017+ <source-position filename="src/adw-about-window.h" line="120"/>
1018+ <return-value transfer-ownership="none">
1019+ <type name="none" c:type="void"/>
1020+ </return-value>
1021+ <parameters>
1022+ <instance-parameter name="self" transfer-ownership="none">
1023+ <doc xml:space="preserve"
1024+ filename="src/adw-about-window.c"
1025+ line="2761">an about window</doc>
1026+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1027+ </instance-parameter>
1028+ <parameter name="artists"
1029+ transfer-ownership="none"
1030+ nullable="1"
1031+ allow-none="1">
1032+ <doc xml:space="preserve"
1033+ filename="src/adw-about-window.c"
1034+ line="2762">the list of artists</doc>
1035+ <array c:type="const char**">
1036+ <type name="utf8" c:type="char*"/>
1037+ </array>
1038+ </parameter>
1039+ </parameters>
1040+ </method>
1041+ <method name="set_comments"
1042+ c:identifier="adw_about_window_set_comments"
1043+ glib:set-property="comments"
1044+ version="1.2">
1045+ <attribute name="org.gtk.Method.set_property" value="comments"/>
1046+ <doc xml:space="preserve"
1047+ filename="src/adw-about-window.c"
1048+ line="2299">Sets the comments about the application.
1049+
1050+Comments will be shown on the Details page, above links.
1051+
1052+Unlike [property@Gtk.AboutDialog:comments], this string can be long and
1053+detailed. It can also contain links and Pango markup.</doc>
1054+ <source-position filename="src/adw-about-window.h" line="67"/>
1055+ <return-value transfer-ownership="none">
1056+ <type name="none" c:type="void"/>
1057+ </return-value>
1058+ <parameters>
1059+ <instance-parameter name="self" transfer-ownership="none">
1060+ <doc xml:space="preserve"
1061+ filename="src/adw-about-window.c"
1062+ line="2301">an about window</doc>
1063+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1064+ </instance-parameter>
1065+ <parameter name="comments" transfer-ownership="none">
1066+ <doc xml:space="preserve"
1067+ filename="src/adw-about-window.c"
1068+ line="2302">the comments</doc>
1069+ <type name="utf8" c:type="const char*"/>
1070+ </parameter>
1071+ </parameters>
1072+ </method>
1073+ <method name="set_copyright"
1074+ c:identifier="adw_about_window_set_copyright"
1075+ glib:set-property="copyright"
1076+ version="1.2">
1077+ <attribute name="org.gtk.Method.set_property" value="copyright"/>
1078+ <doc xml:space="preserve"
1079+ filename="src/adw-about-window.c"
1080+ line="3021">Sets the copyright information for @self.
1081+
1082+This should be a short string of one or two lines, for example:
1083+`© 2022 Example`.
1084+
1085+The copyright information will be displayed on the Legal page, before the
1086+application license.
1087+
1088+[method@AboutWindow.add_legal_section] can be used to add copyright
1089+information for the application dependencies or other components.</doc>
1090+ <source-position filename="src/adw-about-window.h" line="148"/>
1091+ <return-value transfer-ownership="none">
1092+ <type name="none" c:type="void"/>
1093+ </return-value>
1094+ <parameters>
1095+ <instance-parameter name="self" transfer-ownership="none">
1096+ <doc xml:space="preserve"
1097+ filename="src/adw-about-window.c"
1098+ line="3023">an about window</doc>
1099+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1100+ </instance-parameter>
1101+ <parameter name="copyright" transfer-ownership="none">
1102+ <doc xml:space="preserve"
1103+ filename="src/adw-about-window.c"
1104+ line="3024">the copyright information</doc>
1105+ <type name="utf8" c:type="const char*"/>
1106+ </parameter>
1107+ </parameters>
1108+ </method>
1109+ <method name="set_debug_info"
1110+ c:identifier="adw_about_window_set_debug_info"
1111+ glib:set-property="debug-info"
1112+ version="1.2">
1113+ <attribute name="org.gtk.Method.set_property" value="debug-info"/>
1114+ <doc xml:space="preserve"
1115+ filename="src/adw-about-window.c"
1116+ line="2540">Sets the debug information for @self.
1117+
1118+Debug information will be shown on the Troubleshooting page. It's intended
1119+to be attached to issue reports when reporting issues against the
1120+application.
1121+
1122+`AdwAboutWindow` provides a quick way to save debug information to a file.
1123+When saving, [property@AboutWindow:debug-info-filename] would be used as
1124+the suggested filename.
1125+
1126+Debug information cannot contain markup or links.</doc>
1127+ <source-position filename="src/adw-about-window.h" line="96"/>
1128+ <return-value transfer-ownership="none">
1129+ <type name="none" c:type="void"/>
1130+ </return-value>
1131+ <parameters>
1132+ <instance-parameter name="self" transfer-ownership="none">
1133+ <doc xml:space="preserve"
1134+ filename="src/adw-about-window.c"
1135+ line="2542">an about window</doc>
1136+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1137+ </instance-parameter>
1138+ <parameter name="debug_info" transfer-ownership="none">
1139+ <doc xml:space="preserve"
1140+ filename="src/adw-about-window.c"
1141+ line="2543">the debug information</doc>
1142+ <type name="utf8" c:type="const char*"/>
1143+ </parameter>
1144+ </parameters>
1145+ </method>
1146+ <method name="set_debug_info_filename"
1147+ c:identifier="adw_about_window_set_debug_info_filename"
1148+ glib:set-property="debug-info-filename"
1149+ version="1.2">
1150+ <attribute name="org.gtk.Method.set_property" value="debug-info"/>
1151+ <doc xml:space="preserve"
1152+ filename="src/adw-about-window.c"
1153+ line="2595">Sets the debug information filename for @self.
1154+
1155+It will be used as the suggested filename when saving debug information to a
1156+file.
1157+
1158+See [property@AboutWindow:debug-info].</doc>
1159+ <source-position filename="src/adw-about-window.h" line="102"/>
1160+ <return-value transfer-ownership="none">
1161+ <type name="none" c:type="void"/>
1162+ </return-value>
1163+ <parameters>
1164+ <instance-parameter name="self" transfer-ownership="none">
1165+ <doc xml:space="preserve"
1166+ filename="src/adw-about-window.c"
1167+ line="2597">an about window</doc>
1168+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1169+ </instance-parameter>
1170+ <parameter name="filename" transfer-ownership="none">
1171+ <doc xml:space="preserve"
1172+ filename="src/adw-about-window.c"
1173+ line="2598">the debug info filename</doc>
1174+ <type name="utf8" c:type="const char*"/>
1175+ </parameter>
1176+ </parameters>
1177+ </method>
1178+ <method name="set_designers"
1179+ c:identifier="adw_about_window_set_designers"
1180+ glib:set-property="designers"
1181+ version="1.2">
1182+ <attribute name="org.gtk.Method.set_property" value="designers"/>
1183+ <doc xml:space="preserve"
1184+ filename="src/adw-about-window.c"
1185+ line="2701">Sets the list of designers of the application.
1186+
1187+It will be displayed on the Credits page.
1188+
1189+Each name may contain email addresses and URLs, see the introduction for more
1190+details.
1191+
1192+See also:
1193+
1194+* [property@AboutWindow:developers]
1195+* [property@AboutWindow:artists]
1196+* [property@AboutWindow:documenters]
1197+* [property@AboutWindow:translator-credits]
1198+* [method@AboutWindow.add_credit_section]
1199+* [method@AboutWindow.add_acknowledgement_section]</doc>
1200+ <source-position filename="src/adw-about-window.h" line="114"/>
1201+ <return-value transfer-ownership="none">
1202+ <type name="none" c:type="void"/>
1203+ </return-value>
1204+ <parameters>
1205+ <instance-parameter name="self" transfer-ownership="none">
1206+ <doc xml:space="preserve"
1207+ filename="src/adw-about-window.c"
1208+ line="2703">an about window</doc>
1209+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1210+ </instance-parameter>
1211+ <parameter name="designers"
1212+ transfer-ownership="none"
1213+ nullable="1"
1214+ allow-none="1">
1215+ <doc xml:space="preserve"
1216+ filename="src/adw-about-window.c"
1217+ line="2704">the list of designers</doc>
1218+ <array c:type="const char**">
1219+ <type name="utf8" c:type="char*"/>
1220+ </array>
1221+ </parameter>
1222+ </parameters>
1223+ </method>
1224+ <method name="set_developer_name"
1225+ c:identifier="adw_about_window_set_developer_name"
1226+ glib:set-property="developer-name"
1227+ version="1.2">
1228+ <attribute name="org.gtk.Method.set_property" value="developer-name"/>
1229+ <doc xml:space="preserve"
1230+ filename="src/adw-about-window.c"
1231+ line="2070">Sets the developer name for @self.
1232+
1233+The developer name is displayed on the main page, under the application name.
1234+
1235+If the application is developed by multiple people, the developer name can be
1236+set to values like "AppName team", "AppName developers" or
1237+"The AppName project", and the individual contributors can be listed on the
1238+Credits page, with [property@AboutWindow:developers] and related properties.</doc>
1239+ <source-position filename="src/adw-about-window.h" line="43"/>
1240+ <return-value transfer-ownership="none">
1241+ <type name="none" c:type="void"/>
1242+ </return-value>
1243+ <parameters>
1244+ <instance-parameter name="self" transfer-ownership="none">
1245+ <doc xml:space="preserve"
1246+ filename="src/adw-about-window.c"
1247+ line="2072">an about window</doc>
1248+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1249+ </instance-parameter>
1250+ <parameter name="developer_name" transfer-ownership="none">
1251+ <doc xml:space="preserve"
1252+ filename="src/adw-about-window.c"
1253+ line="2073">the developer name</doc>
1254+ <type name="utf8" c:type="const char*"/>
1255+ </parameter>
1256+ </parameters>
1257+ </method>
1258+ <method name="set_developers"
1259+ c:identifier="adw_about_window_set_developers"
1260+ glib:set-property="developers"
1261+ version="1.2">
1262+ <attribute name="org.gtk.Method.set_property" value="developers"/>
1263+ <doc xml:space="preserve"
1264+ filename="src/adw-about-window.c"
1265+ line="2643">Sets the list of developers of the application.
1266+
1267+It will be displayed on the Credits page.
1268+
1269+Each name may contain email addresses and URLs, see the introduction for more
1270+details.
1271+
1272+See also:
1273+
1274+* [property@AboutWindow:designers]
1275+* [property@AboutWindow:artists]
1276+* [property@AboutWindow:documenters]
1277+* [property@AboutWindow:translator-credits]
1278+* [method@AboutWindow.add_credit_section]
1279+* [method@AboutWindow.add_acknowledgement_section]</doc>
1280+ <source-position filename="src/adw-about-window.h" line="108"/>
1281+ <return-value transfer-ownership="none">
1282+ <type name="none" c:type="void"/>
1283+ </return-value>
1284+ <parameters>
1285+ <instance-parameter name="self" transfer-ownership="none">
1286+ <doc xml:space="preserve"
1287+ filename="src/adw-about-window.c"
1288+ line="2645">an about window</doc>
1289+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1290+ </instance-parameter>
1291+ <parameter name="developers"
1292+ transfer-ownership="none"
1293+ nullable="1"
1294+ allow-none="1">
1295+ <doc xml:space="preserve"
1296+ filename="src/adw-about-window.c"
1297+ line="2646">the list of developers</doc>
1298+ <array c:type="const char**">
1299+ <type name="utf8" c:type="char*"/>
1300+ </array>
1301+ </parameter>
1302+ </parameters>
1303+ </method>
1304+ <method name="set_documenters"
1305+ c:identifier="adw_about_window_set_documenters"
1306+ glib:set-property="documenters"
1307+ version="1.2">
1308+ <attribute name="org.gtk.Method.set_property" value="documenters"/>
1309+ <doc xml:space="preserve"
1310+ filename="src/adw-about-window.c"
1311+ line="2817">Sets the list of documenters of the application.
1312+
1313+It will be displayed on the Credits page.
1314+
1315+Each name may contain email addresses and URLs, see the introduction for more
1316+details.
1317+
1318+See also:
1319+
1320+* [property@AboutWindow:developers]
1321+* [property@AboutWindow:designers]
1322+* [property@AboutWindow:artists]
1323+* [property@AboutWindow:translator-credits]
1324+* [method@AboutWindow.add_credit_section]
1325+* [method@AboutWindow.add_acknowledgement_section]</doc>
1326+ <source-position filename="src/adw-about-window.h" line="126"/>
1327+ <return-value transfer-ownership="none">
1328+ <type name="none" c:type="void"/>
1329+ </return-value>
1330+ <parameters>
1331+ <instance-parameter name="self" transfer-ownership="none">
1332+ <doc xml:space="preserve"
1333+ filename="src/adw-about-window.c"
1334+ line="2819">an about window</doc>
1335+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1336+ </instance-parameter>
1337+ <parameter name="documenters"
1338+ transfer-ownership="none"
1339+ nullable="1"
1340+ allow-none="1">
1341+ <doc xml:space="preserve"
1342+ filename="src/adw-about-window.c"
1343+ line="2820">the list of documenters</doc>
1344+ <array c:type="const char**">
1345+ <type name="utf8" c:type="char*"/>
1346+ </array>
1347+ </parameter>
1348+ </parameters>
1349+ </method>
1350+ <method name="set_issue_url"
1351+ c:identifier="adw_about_window_set_issue_url"
1352+ glib:set-property="issue-url"
1353+ version="1.2">
1354+ <attribute name="org.gtk.Method.set_property" value="issue-url"/>
1355+ <doc xml:space="preserve"
1356+ filename="src/adw-about-window.c"
1357+ line="2446">Sets the issue tracker URL for @self.
1358+
1359+The issue tracker link is displayed on the main page.</doc>
1360+ <source-position filename="src/adw-about-window.h" line="85"/>
1361+ <return-value transfer-ownership="none">
1362+ <type name="none" c:type="void"/>
1363+ </return-value>
1364+ <parameters>
1365+ <instance-parameter name="self" transfer-ownership="none">
1366+ <doc xml:space="preserve"
1367+ filename="src/adw-about-window.c"
1368+ line="2448">an about window</doc>
1369+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1370+ </instance-parameter>
1371+ <parameter name="issue_url" transfer-ownership="none">
1372+ <doc xml:space="preserve"
1373+ filename="src/adw-about-window.c"
1374+ line="2449">the issue tracker URL</doc>
1375+ <type name="utf8" c:type="const char*"/>
1376+ </parameter>
1377+ </parameters>
1378+ </method>
1379+ <method name="set_license"
1380+ c:identifier="adw_about_window_set_license"
1381+ glib:set-property="license"
1382+ version="1.2">
1383+ <attribute name="org.gtk.Method.set_property" value="license"/>
1384+ <doc xml:space="preserve"
1385+ filename="src/adw-about-window.c"
1386+ line="3141">Sets the license for @self.
1387+
1388+This can be used to set a custom text for the license if it can't be set via
1389+[property@AboutWindow:license-type].
1390+
1391+When set, [property@AboutWindow:license-type] will be set to
1392+`GTK_LICENSE_CUSTOM`.
1393+
1394+The license text will be displayed on the Legal page, below the copyright
1395+information.
1396+
1397+License text can contain Pango markup and links.
1398+
1399+[method@AboutWindow.add_legal_section] can be used to add license information
1400+for the application dependencies or other components.</doc>
1401+ <source-position filename="src/adw-about-window.h" line="160"/>
1402+ <return-value transfer-ownership="none">
1403+ <type name="none" c:type="void"/>
1404+ </return-value>
1405+ <parameters>
1406+ <instance-parameter name="self" transfer-ownership="none">
1407+ <doc xml:space="preserve"
1408+ filename="src/adw-about-window.c"
1409+ line="3143">an about window</doc>
1410+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1411+ </instance-parameter>
1412+ <parameter name="license" transfer-ownership="none">
1413+ <doc xml:space="preserve"
1414+ filename="src/adw-about-window.c"
1415+ line="3144">the license</doc>
1416+ <type name="utf8" c:type="const char*"/>
1417+ </parameter>
1418+ </parameters>
1419+ </method>
1420+ <method name="set_license_type"
1421+ c:identifier="adw_about_window_set_license_type"
1422+ glib:set-property="license-type"
1423+ version="1.2">
1424+ <attribute name="org.gtk.Method.set_property" value="license-type"/>
1425+ <doc xml:space="preserve"
1426+ filename="src/adw-about-window.c"
1427+ line="3075">Sets the license for @self from a list of known licenses.
1428+
1429+If the application's license is not in the list,
1430+[property@AboutWindow:license] can be used instead. The license type will be
1431+automatically set to `GTK_LICENSE_CUSTOM` in that case.
1432+
1433+If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.
1434+
1435+If @license_type is different from `GTK_LICENSE_CUSTOM`.
1436+[property@AboutWindow:license] will be cleared out.
1437+
1438+The license description will be displayed on the Legal page, below the
1439+copyright information.
1440+
1441+[method@AboutWindow.add_legal_section] can be used to add license information
1442+for the application dependencies or other components.</doc>
1443+ <source-position filename="src/adw-about-window.h" line="154"/>
1444+ <return-value transfer-ownership="none">
1445+ <type name="none" c:type="void"/>
1446+ </return-value>
1447+ <parameters>
1448+ <instance-parameter name="self" transfer-ownership="none">
1449+ <doc xml:space="preserve"
1450+ filename="src/adw-about-window.c"
1451+ line="3077">an about window</doc>
1452+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1453+ </instance-parameter>
1454+ <parameter name="license_type" transfer-ownership="none">
1455+ <doc xml:space="preserve"
1456+ filename="src/adw-about-window.c"
1457+ line="3078">the license type</doc>
1458+ <type name="Gtk.License" c:type="GtkLicense"/>
1459+ </parameter>
1460+ </parameters>
1461+ </method>
1462+ <method name="set_release_notes"
1463+ c:identifier="adw_about_window_set_release_notes"
1464+ glib:set-property="release-notes"
1465+ version="1.2">
1466+ <attribute name="org.gtk.Method.set_property" value="release-notes"/>
1467+ <doc xml:space="preserve"
1468+ filename="src/adw-about-window.c"
1469+ line="2230">Sets the release notes for @self.
1470+
1471+Release notes are displayed on the the What's New page.
1472+
1473+Release notes are formatted the same way as
1474+[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
1475+
1476+The supported formatting options are:
1477+
1478+* Paragraph (`&lt;p&gt;`)
1479+* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
1480+* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
1481+
1482+Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
1483+(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
1484+while inline code is shown in a monospaced font.
1485+
1486+Any text outside paragraphs or list items is ignored.
1487+
1488+Nested lists are not supported.
1489+
1490+`AdwAboutWindow` displays the version above the release notes. If set, the
1491+[property@AboutWindow:release-notes-version] of the property will be used
1492+as the version; otherwise, [property@AboutWindow:version] is used.</doc>
1493+ <source-position filename="src/adw-about-window.h" line="61"/>
1494+ <return-value transfer-ownership="none">
1495+ <type name="none" c:type="void"/>
1496+ </return-value>
1497+ <parameters>
1498+ <instance-parameter name="self" transfer-ownership="none">
1499+ <doc xml:space="preserve"
1500+ filename="src/adw-about-window.c"
1501+ line="2232">an about window</doc>
1502+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1503+ </instance-parameter>
1504+ <parameter name="release_notes" transfer-ownership="none">
1505+ <doc xml:space="preserve"
1506+ filename="src/adw-about-window.c"
1507+ line="2233">the release notes</doc>
1508+ <type name="utf8" c:type="const char*"/>
1509+ </parameter>
1510+ </parameters>
1511+ </method>
1512+ <method name="set_release_notes_version"
1513+ c:identifier="adw_about_window_set_release_notes_version"
1514+ glib:set-property="release-notes-version"
1515+ version="1.2">
1516+ <attribute name="org.gtk.Method.set_property"
1517+ value="release-notes-version"/>
1518+ <doc xml:space="preserve"
1519+ filename="src/adw-about-window.c"
1520+ line="2173">Sets the version described by the application's release notes.
1521+
1522+The release notes version is displayed on the What's New page, above the
1523+release notes.
1524+
1525+If not set, [property@AboutWindow:version] will be used instead.
1526+
1527+For example, an application with the current version 2.0.2 might want to
1528+keep the release notes from 2.0.0, and set the release notes version
1529+accordingly.
1530+
1531+See [property@AboutWindow:release-notes].</doc>
1532+ <source-position filename="src/adw-about-window.h" line="55"/>
1533+ <return-value transfer-ownership="none">
1534+ <type name="none" c:type="void"/>
1535+ </return-value>
1536+ <parameters>
1537+ <instance-parameter name="self" transfer-ownership="none">
1538+ <doc xml:space="preserve"
1539+ filename="src/adw-about-window.c"
1540+ line="2175">an about window</doc>
1541+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1542+ </instance-parameter>
1543+ <parameter name="version" transfer-ownership="none">
1544+ <doc xml:space="preserve"
1545+ filename="src/adw-about-window.c"
1546+ line="2176">the release notes version</doc>
1547+ <type name="utf8" c:type="const char*"/>
1548+ </parameter>
1549+ </parameters>
1550+ </method>
1551+ <method name="set_support_url"
1552+ c:identifier="adw_about_window_set_support_url"
1553+ glib:set-property="support-url"
1554+ version="1.2">
1555+ <attribute name="org.gtk.Method.set_property" value="support-url"/>
1556+ <doc xml:space="preserve"
1557+ filename="src/adw-about-window.c"
1558+ line="2399">Sets the URL of the support page for @self.
1559+
1560+The support page link is displayed on the main page.</doc>
1561+ <source-position filename="src/adw-about-window.h" line="79"/>
1562+ <return-value transfer-ownership="none">
1563+ <type name="none" c:type="void"/>
1564+ </return-value>
1565+ <parameters>
1566+ <instance-parameter name="self" transfer-ownership="none">
1567+ <doc xml:space="preserve"
1568+ filename="src/adw-about-window.c"
1569+ line="2401">an about window</doc>
1570+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1571+ </instance-parameter>
1572+ <parameter name="support_url" transfer-ownership="none">
1573+ <doc xml:space="preserve"
1574+ filename="src/adw-about-window.c"
1575+ line="2402">the support page URL</doc>
1576+ <type name="utf8" c:type="const char*"/>
1577+ </parameter>
1578+ </parameters>
1579+ </method>
1580+ <method name="set_translator_credits"
1581+ c:identifier="adw_about_window_set_translator_credits"
1582+ glib:set-property="translator-credits"
1583+ version="1.2">
1584+ <attribute name="org.gtk.Method.set_property"
1585+ value="translator-credits"/>
1586+ <doc xml:space="preserve"
1587+ filename="src/adw-about-window.c"
1588+ line="2875">Sets the translator credits string.
1589+
1590+It will be displayed on the Credits page.
1591+
1592+This string should be `"translator-credits"` or `"translator_credits"` and
1593+should be marked as translatable.
1594+
1595+The string may contain email addresses and URLs, see the introduction for
1596+more details.
1597+
1598+See also:
1599+
1600+* [property@AboutWindow:developers]
1601+* [property@AboutWindow:designers]
1602+* [property@AboutWindow:artists]
1603+* [property@AboutWindow:documenters]
1604+* [method@AboutWindow.add_credit_section]
1605+* [method@AboutWindow.add_acknowledgement_section]</doc>
1606+ <source-position filename="src/adw-about-window.h" line="132"/>
1607+ <return-value transfer-ownership="none">
1608+ <type name="none" c:type="void"/>
1609+ </return-value>
1610+ <parameters>
1611+ <instance-parameter name="self" transfer-ownership="none">
1612+ <doc xml:space="preserve"
1613+ filename="src/adw-about-window.c"
1614+ line="2877">an about window</doc>
1615+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1616+ </instance-parameter>
1617+ <parameter name="translator_credits" transfer-ownership="none">
1618+ <doc xml:space="preserve"
1619+ filename="src/adw-about-window.c"
1620+ line="2878">the translator credits</doc>
1621+ <type name="utf8" c:type="const char*"/>
1622+ </parameter>
1623+ </parameters>
1624+ </method>
1625+ <method name="set_version"
1626+ c:identifier="adw_about_window_set_version"
1627+ glib:set-property="version"
1628+ version="1.2">
1629+ <attribute name="org.gtk.Method.set_property" value="version"/>
1630+ <doc xml:space="preserve"
1631+ filename="src/adw-about-window.c"
1632+ line="2123">Sets the version for @self.
1633+
1634+The version is displayed on the main page.
1635+
1636+If [property@AboutWindow:release-notes-version] is not set, the version will
1637+also be displayed above the release notes on the What's New page.</doc>
1638+ <source-position filename="src/adw-about-window.h" line="49"/>
1639+ <return-value transfer-ownership="none">
1640+ <type name="none" c:type="void"/>
1641+ </return-value>
1642+ <parameters>
1643+ <instance-parameter name="self" transfer-ownership="none">
1644+ <doc xml:space="preserve"
1645+ filename="src/adw-about-window.c"
1646+ line="2125">an about window</doc>
1647+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1648+ </instance-parameter>
1649+ <parameter name="version" transfer-ownership="none">
1650+ <doc xml:space="preserve"
1651+ filename="src/adw-about-window.c"
1652+ line="2126">the version</doc>
1653+ <type name="utf8" c:type="const char*"/>
1654+ </parameter>
1655+ </parameters>
1656+ </method>
1657+ <method name="set_website"
1658+ c:identifier="adw_about_window_set_website"
1659+ glib:set-property="website"
1660+ version="1.2">
1661+ <attribute name="org.gtk.Method.set_property" value="website"/>
1662+ <doc xml:space="preserve"
1663+ filename="src/adw-about-window.c"
1664+ line="2349">Sets the application website URL for @self.
1665+
1666+Website is displayed on the Details page, below comments, or on the main page
1667+if the Details page doesn't have any other content.
1668+
1669+Applications can add other links below, see [method@AboutWindow.add_link].</doc>
1670+ <source-position filename="src/adw-about-window.h" line="73"/>
1671+ <return-value transfer-ownership="none">
1672+ <type name="none" c:type="void"/>
1673+ </return-value>
1674+ <parameters>
1675+ <instance-parameter name="self" transfer-ownership="none">
1676+ <doc xml:space="preserve"
1677+ filename="src/adw-about-window.c"
1678+ line="2351">an about window</doc>
1679+ <type name="AboutWindow" c:type="AdwAboutWindow*"/>
1680+ </instance-parameter>
1681+ <parameter name="website" transfer-ownership="none">
1682+ <doc xml:space="preserve"
1683+ filename="src/adw-about-window.c"
1684+ line="2352">the website URL</doc>
1685+ <type name="utf8" c:type="const char*"/>
1686+ </parameter>
1687+ </parameters>
1688+ </method>
1689+ <property name="application-icon"
1690+ version="1.2"
1691+ writable="1"
1692+ transfer-ownership="none"
1693+ setter="set_application_icon"
1694+ getter="get_application_icon">
1695+ <attribute name="org.gtk.Property.get"
1696+ value="adw_about_window_get_application_icon"/>
1697+ <attribute name="org.gtk.Property.set"
1698+ value="adw_about_window_set_application_icon"/>
1699+ <doc xml:space="preserve"
1700+ filename="src/adw-about-window.c"
1701+ line="1372">The name of the application icon.
1702+
1703+The icon is displayed at the top of the main page.</doc>
1704+ <type name="utf8" c:type="gchar*"/>
1705+ </property>
1706+ <property name="application-name"
1707+ version="1.2"
1708+ writable="1"
1709+ transfer-ownership="none"
1710+ setter="set_application_name"
1711+ getter="get_application_name">
1712+ <attribute name="org.gtk.Property.get"
1713+ value="adw_about_window_get_application_name"/>
1714+ <attribute name="org.gtk.Property.set"
1715+ value="adw_about_window_set_application_name"/>
1716+ <doc xml:space="preserve"
1717+ filename="src/adw-about-window.c"
1718+ line="1386">The name of the application.
1719+
1720+The name is displayed at the top of the main page.</doc>
1721+ <type name="utf8" c:type="gchar*"/>
1722+ </property>
1723+ <property name="artists"
1724+ version="1.2"
1725+ writable="1"
1726+ transfer-ownership="none"
1727+ setter="set_artists"
1728+ getter="get_artists">
1729+ <attribute name="org.gtk.Property.get"
1730+ value="adw_about_window_get_artists"/>
1731+ <attribute name="org.gtk.Property.set"
1732+ value="adw_about_window_set_artists"/>
1733+ <doc xml:space="preserve"
1734+ filename="src/adw-about-window.c"
1735+ line="1649">The list of artists of the application.
1736+
1737+It will be displayed on the Credits page.
1738+
1739+Each name may contain email addresses and URLs, see the introduction for
1740+more details.
1741+
1742+See also:
1743+
1744+* [property@AboutWindow:developers]
1745+* [property@AboutWindow:designers]
1746+* [property@AboutWindow:documenters]
1747+* [property@AboutWindow:translator-credits]
1748+* [method@AboutWindow.add_credit_section]
1749+* [method@AboutWindow.add_acknowledgement_section]</doc>
1750+ <array>
1751+ <type name="utf8"/>
1752+ </array>
1753+ </property>
1754+ <property name="comments"
1755+ version="1.2"
1756+ writable="1"
1757+ transfer-ownership="none"
1758+ setter="set_comments"
1759+ getter="get_comments">
1760+ <attribute name="org.gtk.Property.get"
1761+ value="adw_about_window_get_comments"/>
1762+ <attribute name="org.gtk.Property.set"
1763+ value="adw_about_window_set_comments"/>
1764+ <doc xml:space="preserve"
1765+ filename="src/adw-about-window.c"
1766+ line="1496">The comments about the application.
1767+
1768+Comments will be shown on the Details page, above links.
1769+
1770+Unlike [property@Gtk.AboutDialog:comments], this string can be long and
1771+detailed. It can also contain links and Pango markup.</doc>
1772+ <type name="utf8" c:type="gchar*"/>
1773+ </property>
1774+ <property name="copyright"
1775+ version="1.2"
1776+ writable="1"
1777+ transfer-ownership="none"
1778+ setter="set_copyright"
1779+ getter="get_copyright">
1780+ <attribute name="org.gtk.Property.get"
1781+ value="adw_about_window_get_copyright"/>
1782+ <attribute name="org.gtk.Property.set"
1783+ value="adw_about_window_set_copyright"/>
1784+ <doc xml:space="preserve"
1785+ filename="src/adw-about-window.c"
1786+ line="1730">The copyright information.
1787+
1788+This should be a short string of one or two lines, for example:
1789+`© 2022 Example`.
1790+
1791+The copyright information will be displayed on the Legal page, above the
1792+application license.
1793+
1794+[method@AboutWindow.add_legal_section] can be used to add copyright
1795+information for the application dependencies or other components.</doc>
1796+ <type name="utf8" c:type="gchar*"/>
1797+ </property>
1798+ <property name="debug-info"
1799+ version="1.2"
1800+ writable="1"
1801+ transfer-ownership="none"
1802+ setter="set_debug_info"
1803+ getter="get_debug_info">
1804+ <attribute name="org.gtk.Property.get"
1805+ value="adw_about_window_get_debug_info"/>
1806+ <attribute name="org.gtk.Property.set"
1807+ value="adw_about_window_set_debug_info"/>
1808+ <doc xml:space="preserve"
1809+ filename="src/adw-about-window.c"
1810+ line="1558">The debug information.
1811+
1812+Debug information will be shown on the Troubleshooting page. It's intended
1813+to be attached to issue reports when reporting issues against the
1814+application.
1815+
1816+`AdwAboutWindow` provides a quick way to save debug information to a file.
1817+When saving, [property@AboutWindow:debug-info-filename] would be used as
1818+the suggested filename.
1819+
1820+Debug information cannot contain markup or links.</doc>
1821+ <type name="utf8" c:type="gchar*"/>
1822+ </property>
1823+ <property name="debug-info-filename"
1824+ version="1.2"
1825+ writable="1"
1826+ transfer-ownership="none"
1827+ setter="set_debug_info_filename"
1828+ getter="get_debug_info_filename">
1829+ <attribute name="org.gtk.Property.get"
1830+ value="adw_about_window_get_debug_info_filename"/>
1831+ <attribute name="org.gtk.Property.set"
1832+ value="adw_about_window_set_debug_info_filename"/>
1833+ <doc xml:space="preserve"
1834+ filename="src/adw-about-window.c"
1835+ line="1580">The debug information filename.
1836+
1837+It will be used as the suggested filename when saving debug information to
1838+a file.
1839+
1840+See [property@AboutWindow:debug-info].</doc>
1841+ <type name="utf8" c:type="gchar*"/>
1842+ </property>
1843+ <property name="designers"
1844+ version="1.2"
1845+ writable="1"
1846+ transfer-ownership="none"
1847+ setter="set_designers"
1848+ getter="get_designers">
1849+ <attribute name="org.gtk.Property.get"
1850+ value="adw_about_window_get_designers"/>
1851+ <attribute name="org.gtk.Property.set"
1852+ value="adw_about_window_set_designers"/>
1853+ <doc xml:space="preserve"
1854+ filename="src/adw-about-window.c"
1855+ line="1623">The list of designers of the application.
1856+
1857+It will be displayed on the Credits page.
1858+
1859+Each name may contain email addresses and URLs, see the introduction for
1860+more details.
1861+
1862+See also:
1863+
1864+* [property@AboutWindow:developers]
1865+* [property@AboutWindow:artists]
1866+* [property@AboutWindow:documenters]
1867+* [property@AboutWindow:translator-credits]
1868+* [method@AboutWindow.add_credit_section]
1869+* [method@AboutWindow.add_acknowledgement_section]</doc>
1870+ <array>
1871+ <type name="utf8"/>
1872+ </array>
1873+ </property>
1874+ <property name="developer-name"
1875+ version="1.2"
1876+ writable="1"
1877+ transfer-ownership="none"
1878+ setter="set_developer_name"
1879+ getter="get_developer_name">
1880+ <attribute name="org.gtk.Property.get"
1881+ value="adw_about_window_get_developer_name"/>
1882+ <attribute name="org.gtk.Property.set"
1883+ value="adw_about_window_set_developer_name"/>
1884+ <doc xml:space="preserve"
1885+ filename="src/adw-about-window.c"
1886+ line="1400">The developer name.
1887+
1888+The developer name is displayed on the main page, under the application
1889+name.
1890+
1891+If the application is developed by multiple people, the developer name can
1892+be set to values like "AppName team", "AppName developers" or
1893+"The AppName project", and the individual contributors can be listed on the
1894+Credits page, with [property@AboutWindow:developers] and related
1895+properties.</doc>
1896+ <type name="utf8" c:type="gchar*"/>
1897+ </property>
1898+ <property name="developers"
1899+ version="1.2"
1900+ writable="1"
1901+ transfer-ownership="none"
1902+ setter="set_developers"
1903+ getter="get_developers">
1904+ <attribute name="org.gtk.Property.get"
1905+ value="adw_about_window_get_developers"/>
1906+ <attribute name="org.gtk.Property.set"
1907+ value="adw_about_window_set_developers"/>
1908+ <doc xml:space="preserve"
1909+ filename="src/adw-about-window.c"
1910+ line="1597">The list of developers of the application.
1911+
1912+It will be displayed on the Credits page.
1913+
1914+Each name may contain email addresses and URLs, see the introduction for
1915+more details.
1916+
1917+See also:
1918+
1919+* [property@AboutWindow:designers]
1920+* [property@AboutWindow:artists]
1921+* [property@AboutWindow:documenters]
1922+* [property@AboutWindow:translator-credits]
1923+* [method@AboutWindow.add_credit_section]
1924+* [method@AboutWindow.add_acknowledgement_section]</doc>
1925+ <array>
1926+ <type name="utf8"/>
1927+ </array>
1928+ </property>
1929+ <property name="documenters"
1930+ version="1.2"
1931+ writable="1"
1932+ transfer-ownership="none"
1933+ setter="set_documenters"
1934+ getter="get_documenters">
1935+ <attribute name="org.gtk.Property.get"
1936+ value="adw_about_window_get_documenters"/>
1937+ <attribute name="org.gtk.Property.set"
1938+ value="adw_about_window_set_documenters"/>
1939+ <doc xml:space="preserve"
1940+ filename="src/adw-about-window.c"
1941+ line="1675">The list of documenters of the application.
1942+
1943+It will be displayed on the Credits page.
1944+
1945+Each name may contain email addresses and URLs, see the introduction for
1946+more details.
1947+
1948+See also:
1949+
1950+* [property@AboutWindow:developers]
1951+* [property@AboutWindow:designers]
1952+* [property@AboutWindow:artists]
1953+* [property@AboutWindow:translator-credits]
1954+* [method@AboutWindow.add_credit_section]
1955+* [method@AboutWindow.add_acknowledgement_section]</doc>
1956+ <array>
1957+ <type name="utf8"/>
1958+ </array>
1959+ </property>
1960+ <property name="issue-url"
1961+ version="1.2"
1962+ writable="1"
1963+ transfer-ownership="none"
1964+ setter="set_issue_url"
1965+ getter="get_issue_url">
1966+ <attribute name="org.gtk.Property.get"
1967+ value="adw_about_window_get_issue_url"/>
1968+ <attribute name="org.gtk.Property.set"
1969+ value="adw_about_window_set_issue_url"/>
1970+ <doc xml:space="preserve"
1971+ filename="src/adw-about-window.c"
1972+ line="1544">The URL for the application's issue tracker.
1973+
1974+The issue tracker link is displayed on the main page.</doc>
1975+ <type name="utf8" c:type="gchar*"/>
1976+ </property>
1977+ <property name="license"
1978+ version="1.2"
1979+ writable="1"
1980+ transfer-ownership="none"
1981+ setter="set_license"
1982+ getter="get_license">
1983+ <attribute name="org.gtk.Property.get"
1984+ value="adw_about_window_get_license"/>
1985+ <attribute name="org.gtk.Property.set"
1986+ value="adw_about_window_set_license"/>
1987+ <doc xml:space="preserve"
1988+ filename="src/adw-about-window.c"
1989+ line="1781">The license text.
1990+
1991+This can be used to set a custom text for the license if it can't be set
1992+via [property@AboutWindow:license-type].
1993+
1994+When set, [property@AboutWindow:license-type] will be set to
1995+`GTK_LICENSE_CUSTOM`.
1996+
1997+The license text will be displayed on the Legal page, below the copyright
1998+information.
1999+
2000+License text can contain Pango markup and links.
2001+
2002+[method@AboutWindow.add_legal_section] can be used to add license
2003+information for the application dependencies or other components.</doc>
2004+ <type name="utf8" c:type="gchar*"/>
2005+ </property>
2006+ <property name="license-type"
2007+ version="1.2"
2008+ writable="1"
2009+ transfer-ownership="none"
2010+ setter="set_license_type"
2011+ getter="get_license_type"
2012+ default-value="GTK_LICENSE_UNKNOWN">
2013+ <attribute name="org.gtk.Property.get"
2014+ value="adw_about_window_get_license_type"/>
2015+ <attribute name="org.gtk.Property.set"
2016+ value="adw_about_window_set_license_type"/>
2017+ <doc xml:space="preserve"
2018+ filename="src/adw-about-window.c"
2019+ line="1751">The license type.
2020+
2021+Allows to set the application's license froma list of known licenses.
2022+
2023+If the application's license is not in the list,
2024+[property@AboutWindow:license] can be used instead. The license type will
2025+be automatically set to `GTK_LICENSE_CUSTOM` in that case.
2026+
2027+If set to `GTK_LICENSE_UNKNOWN`, no information will be displayed.
2028+
2029+If the license type is different from `GTK_LICENSE_CUSTOM`.
2030+[property@AboutWindow:license] will be cleared out.
2031+
2032+The license description will be displayed on the Legal page, below the
2033+copyright information.
2034+
2035+[method@AboutWindow.add_legal_section] can be used to add license
2036+information for the application dependencies or other components.</doc>
2037+ <type name="Gtk.License"/>
2038+ </property>
2039+ <property name="release-notes"
2040+ version="1.2"
2041+ writable="1"
2042+ transfer-ownership="none"
2043+ setter="set_release_notes"
2044+ getter="get_release_notes">
2045+ <attribute name="org.gtk.Property.get"
2046+ value="adw_about_window_get_release_notes"/>
2047+ <attribute name="org.gtk.Property.set"
2048+ value="adw_about_window_set_release_notes"/>
2049+ <doc xml:space="preserve"
2050+ filename="src/adw-about-window.c"
2051+ line="1461">The release notes of the application.
2052+
2053+Release notes are displayed on the the What's New page.
2054+
2055+Release notes are formatted the same way as
2056+[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
2057+
2058+The supported formatting options are:
2059+
2060+* Paragraph (`&lt;p&gt;`)
2061+* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
2062+* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
2063+
2064+Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
2065+(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
2066+while inline code is shown in a monospaced font.
2067+
2068+Any text outside paragraphs or list items is ignored.
2069+
2070+Nested lists are not supported.
2071+
2072+`AdwAboutWindow` displays the version above the release notes. If set, the
2073+[property@AboutWindow:release-notes-version] of the property will be used
2074+as the version; otherwise, [property@AboutWindow:version] is used.</doc>
2075+ <type name="utf8" c:type="gchar*"/>
2076+ </property>
2077+ <property name="release-notes-version"
2078+ version="1.2"
2079+ writable="1"
2080+ transfer-ownership="none"
2081+ setter="set_release_notes_version"
2082+ getter="get_release_notes_version">
2083+ <attribute name="org.gtk.Property.get"
2084+ value="adw_about_window_get_release_notes_version"/>
2085+ <attribute name="org.gtk.Property.set"
2086+ value="adw_about_window_set_release_notes_version"/>
2087+ <doc xml:space="preserve"
2088+ filename="src/adw-about-window.c"
2089+ line="1438">The version described by the application's release notes.
2090+
2091+The release notes version is displayed on the What's New page, above the
2092+release notes.
2093+
2094+If not set, [property@AboutWindow:version] will be used instead.
2095+
2096+For example, an application with the current version 2.0.2 might want to
2097+keep the release notes from 2.0.0, and set the release notes version
2098+accordingly.
2099+
2100+See [property@AboutWindow:release-notes].</doc>
2101+ <type name="utf8" c:type="gchar*"/>
2102+ </property>
2103+ <property name="support-url"
2104+ version="1.2"
2105+ writable="1"
2106+ transfer-ownership="none"
2107+ setter="set_support_url"
2108+ getter="get_support_url">
2109+ <attribute name="org.gtk.Property.get"
2110+ value="adw_about_window_get_support_url"/>
2111+ <attribute name="org.gtk.Property.set"
2112+ value="adw_about_window_set_support_url"/>
2113+ <doc xml:space="preserve"
2114+ filename="src/adw-about-window.c"
2115+ line="1530">The URL of the application's support page.
2116+
2117+The support page link is displayed on the main page.</doc>
2118+ <type name="utf8" c:type="gchar*"/>
2119+ </property>
2120+ <property name="translator-credits"
2121+ version="1.2"
2122+ writable="1"
2123+ transfer-ownership="none"
2124+ setter="set_translator_credits"
2125+ getter="get_translator_credits">
2126+ <attribute name="org.gtk.Property.get"
2127+ value="adw_about_window_get_translator_credits"/>
2128+ <attribute name="org.gtk.Property.set"
2129+ value="adw_about_window_set_translator_credits"/>
2130+ <doc xml:space="preserve"
2131+ filename="src/adw-about-window.c"
2132+ line="1701">The translator credits string.
2133+
2134+It will be displayed on the Credits page.
2135+
2136+This string should be `"translator-credits"` or `"translator_credits"` and
2137+should be marked as translatable.
2138+
2139+The string may contain email addresses and URLs, see the introduction for
2140+more details.
2141+
2142+See also:
2143+
2144+* [property@AboutWindow:developers]
2145+* [property@AboutWindow:designers]
2146+* [property@AboutWindow:artists]
2147+* [property@AboutWindow:documenters]
2148+* [method@AboutWindow.add_credit_section]
2149+* [method@AboutWindow.add_acknowledgement_section]</doc>
2150+ <type name="utf8" c:type="gchar*"/>
2151+ </property>
2152+ <property name="version"
2153+ version="1.2"
2154+ writable="1"
2155+ transfer-ownership="none"
2156+ setter="set_version"
2157+ getter="get_version">
2158+ <attribute name="org.gtk.Property.get"
2159+ value="adw_about_window_get_version"/>
2160+ <attribute name="org.gtk.Property.set"
2161+ value="adw_about_window_set_version"/>
2162+ <doc xml:space="preserve"
2163+ filename="src/adw-about-window.c"
2164+ line="1421">The version of the application.
2165+
2166+The version is displayed on the main page.
2167+
2168+If [property@AboutWindow:release-notes-version] is not set, the version
2169+will also be displayed above the release notes on the What's New page.</doc>
2170+ <type name="utf8" c:type="gchar*"/>
2171+ </property>
2172+ <property name="website"
2173+ version="1.2"
2174+ writable="1"
2175+ transfer-ownership="none"
2176+ setter="set_website"
2177+ getter="get_website">
2178+ <attribute name="org.gtk.Property.get"
2179+ value="adw_about_window_get_website"/>
2180+ <attribute name="org.gtk.Property.set"
2181+ value="adw_about_window_set_website"/>
2182+ <doc xml:space="preserve"
2183+ filename="src/adw-about-window.c"
2184+ line="1513">The URL of the application's website.
2185+
2186+Website is displayed on the Details page, below comments, or on the main
2187+page if the Details page doesn't have any other content.
2188+
2189+Applications can add other links below, see [method@AboutWindow.add_link].</doc>
2190+ <type name="utf8" c:type="gchar*"/>
2191+ </property>
2192+ <glib:signal name="activate-link" when="last" version="1.2">
2193+ <doc xml:space="preserve"
2194+ filename="src/adw-about-window.c"
2195+ line="1809">Emitted when a URL is activated.
2196+
2197+Applications may connect to it to override the default behavior, which is
2198+to call [func@Gtk.show_uri].</doc>
2199+ <return-value transfer-ownership="none">
2200+ <doc xml:space="preserve"
2201+ filename="src/adw-about-window.c"
2202+ line="1819">`TRUE` if the link has been activated</doc>
2203+ <type name="gboolean" c:type="gboolean"/>
2204+ </return-value>
2205+ <parameters>
2206+ <parameter name="uri" transfer-ownership="none">
2207+ <doc xml:space="preserve"
2208+ filename="src/adw-about-window.c"
2209+ line="1812">the URI to activate</doc>
2210+ <type name="utf8" c:type="gchar*"/>
2211+ </parameter>
2212+ </parameters>
2213+ </glib:signal>
2214+ </class>
2215+ <record name="AboutWindowClass"
2216+ c:type="AdwAboutWindowClass"
2217+ glib:is-gtype-struct-for="AboutWindow">
2218+ <source-position filename="src/adw-about-window.h" line="23"/>
2219+ <field name="parent_class">
2220+ <type name="WindowClass" c:type="AdwWindowClass"/>
2221+ </field>
2222+ </record>
2223+ <class name="ActionRow"
2224+ c:symbol-prefix="action_row"
2225+ c:type="AdwActionRow"
2226+ parent="PreferencesRow"
2227+ glib:type-name="AdwActionRow"
2228+ glib:get-type="adw_action_row_get_type"
2229+ glib:type-struct="ActionRowClass">
2230+ <doc xml:space="preserve"
2231+ filename="src/adw-action-row.c"
2232+ line="13">A [class@Gtk.ListBoxRow] used to present actions.
2233+
2234+&lt;picture&gt;
2235+ &lt;source srcset="action-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
2236+ &lt;img src="action-row.png" alt="action-row"&gt;
2237+&lt;/picture&gt;
2238+
2239+The `AdwActionRow` widget can have a title, a subtitle and an icon. The row
2240+can receive additional widgets at its end, or prefix widgets at its start.
2241+
2242+It is convenient to present a preference and its related actions.
2243+
2244+`AdwActionRow` is unactivatable by default, giving it an activatable widget
2245+will automatically make it activatable, but unsetting it won't change the
2246+row's activatability.
2247+
2248+## AdwActionRow as GtkBuildable
2249+
2250+The `AdwActionRow` implementation of the [iface@Gtk.Buildable] interface
2251+supports adding a child at its end by specifying “suffix” or omitting the
2252+“type” attribute of a &lt;child&gt; element.
2253+
2254+It also supports adding a child as a prefix widget by specifying “prefix” as
2255+the “type” attribute of a &lt;child&gt; element.
2256+
2257+## CSS nodes
2258+
2259+`AdwActionRow` has a main CSS node with name `row`.
2260+
2261+It contains the subnode `box.header` for its main horizontal box, and
2262+`box.title` for the vertical box containing the title and subtitle labels.
2263+
2264+It contains subnodes `label.title` and `label.subtitle` representing
2265+respectively the title label and subtitle label.</doc>
2266+ <source-position filename="src/adw-action-row.h" line="37"/>
2267+ <implements name="Gtk.Accessible"/>
2268+ <implements name="Gtk.Actionable"/>
2269+ <implements name="Gtk.Buildable"/>
2270+ <implements name="Gtk.ConstraintTarget"/>
2271+ <constructor name="new" c:identifier="adw_action_row_new">
2272+ <doc xml:space="preserve"
2273+ filename="src/adw-action-row.c"
2274+ line="389">Creates a new `AdwActionRow`.</doc>
2275+ <source-position filename="src/adw-action-row.h" line="40"/>
2276+ <return-value transfer-ownership="none">
2277+ <doc xml:space="preserve"
2278+ filename="src/adw-action-row.c"
2279+ line="394">the newly created `AdwActionRow`</doc>
2280+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2281+ </return-value>
2282+ </constructor>
2283+ <virtual-method name="activate" invoker="activate">
2284+ <doc xml:space="preserve"
2285+ filename="src/adw-action-row.c"
2286+ line="827">Activates @self.</doc>
2287+ <source-position filename="src/adw-action-row.h" line="33"/>
2288+ <return-value transfer-ownership="none">
2289+ <type name="none" c:type="void"/>
2290+ </return-value>
2291+ <parameters>
2292+ <instance-parameter name="self" transfer-ownership="none">
2293+ <doc xml:space="preserve"
2294+ filename="src/adw-action-row.c"
2295+ line="829">an action row</doc>
2296+ <type name="ActionRow" c:type="AdwActionRow*"/>
2297+ </instance-parameter>
2298+ </parameters>
2299+ </virtual-method>
2300+ <method name="activate" c:identifier="adw_action_row_activate">
2301+ <doc xml:space="preserve"
2302+ filename="src/adw-action-row.c"
2303+ line="827">Activates @self.</doc>
2304+ <source-position filename="src/adw-action-row.h" line="90"/>
2305+ <return-value transfer-ownership="none">
2306+ <type name="none" c:type="void"/>
2307+ </return-value>
2308+ <parameters>
2309+ <instance-parameter name="self" transfer-ownership="none">
2310+ <doc xml:space="preserve"
2311+ filename="src/adw-action-row.c"
2312+ line="829">an action row</doc>
2313+ <type name="ActionRow" c:type="AdwActionRow*"/>
2314+ </instance-parameter>
2315+ </parameters>
2316+ </method>
2317+ <method name="add_prefix" c:identifier="adw_action_row_add_prefix">
2318+ <doc xml:space="preserve"
2319+ filename="src/adw-action-row.c"
2320+ line="402">Adds a prefix widget to @self.</doc>
2321+ <source-position filename="src/adw-action-row.h" line="43"/>
2322+ <return-value transfer-ownership="none">
2323+ <type name="none" c:type="void"/>
2324+ </return-value>
2325+ <parameters>
2326+ <instance-parameter name="self" transfer-ownership="none">
2327+ <doc xml:space="preserve"
2328+ filename="src/adw-action-row.c"
2329+ line="404">an action row</doc>
2330+ <type name="ActionRow" c:type="AdwActionRow*"/>
2331+ </instance-parameter>
2332+ <parameter name="widget" transfer-ownership="none">
2333+ <doc xml:space="preserve"
2334+ filename="src/adw-action-row.c"
2335+ line="405">a widget</doc>
2336+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2337+ </parameter>
2338+ </parameters>
2339+ </method>
2340+ <method name="add_suffix" c:identifier="adw_action_row_add_suffix">
2341+ <doc xml:space="preserve"
2342+ filename="src/adw-action-row.c"
2343+ line="424">Adds a suffix widget to @self.</doc>
2344+ <source-position filename="src/adw-action-row.h" line="46"/>
2345+ <return-value transfer-ownership="none">
2346+ <type name="none" c:type="void"/>
2347+ </return-value>
2348+ <parameters>
2349+ <instance-parameter name="self" transfer-ownership="none">
2350+ <doc xml:space="preserve"
2351+ filename="src/adw-action-row.c"
2352+ line="426">an action row</doc>
2353+ <type name="ActionRow" c:type="AdwActionRow*"/>
2354+ </instance-parameter>
2355+ <parameter name="widget" transfer-ownership="none">
2356+ <doc xml:space="preserve"
2357+ filename="src/adw-action-row.c"
2358+ line="427">a widget</doc>
2359+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2360+ </parameter>
2361+ </parameters>
2362+ </method>
2363+ <method name="get_activatable_widget"
2364+ c:identifier="adw_action_row_get_activatable_widget"
2365+ glib:get-property="activatable-widget">
2366+ <attribute name="org.gtk.Method.get_property"
2367+ value="activatable-widget"/>
2368+ <doc xml:space="preserve"
2369+ filename="src/adw-action-row.c"
2370+ line="575">Gets the widget activated when @self is activated.</doc>
2371+ <source-position filename="src/adw-action-row.h" line="65"/>
2372+ <return-value transfer-ownership="none" nullable="1">
2373+ <doc xml:space="preserve"
2374+ filename="src/adw-action-row.c"
2375+ line="581">the activatable widget for @self</doc>
2376+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2377+ </return-value>
2378+ <parameters>
2379+ <instance-parameter name="self" transfer-ownership="none">
2380+ <doc xml:space="preserve"
2381+ filename="src/adw-action-row.c"
2382+ line="577">an action row</doc>
2383+ <type name="ActionRow" c:type="AdwActionRow*"/>
2384+ </instance-parameter>
2385+ </parameters>
2386+ </method>
2387+ <method name="get_icon_name"
2388+ c:identifier="adw_action_row_get_icon_name"
2389+ glib:get-property="icon-name"
2390+ deprecated="1"
2391+ deprecated-version="1.3">
2392+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
2393+ <doc xml:space="preserve"
2394+ filename="src/adw-action-row.c"
2395+ line="524">Gets the icon name for @self.</doc>
2396+ <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
2397+ <source-position filename="src/adw-action-row.h" line="59"/>
2398+ <return-value transfer-ownership="none" nullable="1">
2399+ <doc xml:space="preserve"
2400+ filename="src/adw-action-row.c"
2401+ line="530">the icon name for @self</doc>
2402+ <type name="utf8" c:type="const char*"/>
2403+ </return-value>
2404+ <parameters>
2405+ <instance-parameter name="self" transfer-ownership="none">
2406+ <doc xml:space="preserve"
2407+ filename="src/adw-action-row.c"
2408+ line="526">an action row</doc>
2409+ <type name="ActionRow" c:type="AdwActionRow*"/>
2410+ </instance-parameter>
2411+ </parameters>
2412+ </method>
2413+ <method name="get_subtitle"
2414+ c:identifier="adw_action_row_get_subtitle"
2415+ glib:get-property="subtitle">
2416+ <attribute name="org.gtk.Method.get_property" value="subtitle"/>
2417+ <doc xml:space="preserve"
2418+ filename="src/adw-action-row.c"
2419+ line="476">Gets the subtitle for @self.</doc>
2420+ <source-position filename="src/adw-action-row.h" line="53"/>
2421+ <return-value transfer-ownership="none" nullable="1">
2422+ <doc xml:space="preserve"
2423+ filename="src/adw-action-row.c"
2424+ line="482">the subtitle for @self</doc>
2425+ <type name="utf8" c:type="const char*"/>
2426+ </return-value>
2427+ <parameters>
2428+ <instance-parameter name="self" transfer-ownership="none">
2429+ <doc xml:space="preserve"
2430+ filename="src/adw-action-row.c"
2431+ line="478">an action row</doc>
2432+ <type name="ActionRow" c:type="AdwActionRow*"/>
2433+ </instance-parameter>
2434+ </parameters>
2435+ </method>
2436+ <method name="get_subtitle_lines"
2437+ c:identifier="adw_action_row_get_subtitle_lines"
2438+ glib:get-property="subtitle-lines">
2439+ <attribute name="org.gtk.Method.get_property" value="subtitle-lines"/>
2440+ <doc xml:space="preserve"
2441+ filename="src/adw-action-row.c"
2442+ line="724">Gets the number of lines at the end of which the subtitle label will be
2443+ellipsized.</doc>
2444+ <source-position filename="src/adw-action-row.h" line="77"/>
2445+ <return-value transfer-ownership="none">
2446+ <doc xml:space="preserve"
2447+ filename="src/adw-action-row.c"
2448+ line="731">the number of lines at the end of which the subtitle label will be
2449+ ellipsized</doc>
2450+ <type name="gint" c:type="int"/>
2451+ </return-value>
2452+ <parameters>
2453+ <instance-parameter name="self" transfer-ownership="none">
2454+ <doc xml:space="preserve"
2455+ filename="src/adw-action-row.c"
2456+ line="726">an action row</doc>
2457+ <type name="ActionRow" c:type="AdwActionRow*"/>
2458+ </instance-parameter>
2459+ </parameters>
2460+ </method>
2461+ <method name="get_subtitle_selectable"
2462+ c:identifier="adw_action_row_get_subtitle_selectable"
2463+ glib:get-property="subtitle-selectable"
2464+ version="1.3">
2465+ <attribute name="org.gtk.Method.get_property"
2466+ value="subtitle-selectable"/>
2467+ <doc xml:space="preserve"
2468+ filename="src/adw-action-row.c"
2469+ line="778">Gets whether the user can copy the subtitle from the label</doc>
2470+ <source-position filename="src/adw-action-row.h" line="83"/>
2471+ <return-value transfer-ownership="none">
2472+ <doc xml:space="preserve"
2473+ filename="src/adw-action-row.c"
2474+ line="784">whether the user can copy the subtitle from the label</doc>
2475+ <type name="gboolean" c:type="gboolean"/>
2476+ </return-value>
2477+ <parameters>
2478+ <instance-parameter name="self" transfer-ownership="none">
2479+ <doc xml:space="preserve"
2480+ filename="src/adw-action-row.c"
2481+ line="780">a `AdwActionRow`</doc>
2482+ <type name="ActionRow" c:type="AdwActionRow*"/>
2483+ </instance-parameter>
2484+ </parameters>
2485+ </method>
2486+ <method name="get_title_lines"
2487+ c:identifier="adw_action_row_get_title_lines"
2488+ glib:get-property="title-lines">
2489+ <attribute name="org.gtk.Method.get_property" value="title-lines"/>
2490+ <doc xml:space="preserve"
2491+ filename="src/adw-action-row.c"
2492+ line="670">Gets the number of lines at the end of which the title label will be
2493+ellipsized.</doc>
2494+ <source-position filename="src/adw-action-row.h" line="71"/>
2495+ <return-value transfer-ownership="none">
2496+ <doc xml:space="preserve"
2497+ filename="src/adw-action-row.c"
2498+ line="677">the number of lines at the end of which the title label will be
2499+ ellipsized</doc>
2500+ <type name="gint" c:type="int"/>
2501+ </return-value>
2502+ <parameters>
2503+ <instance-parameter name="self" transfer-ownership="none">
2504+ <doc xml:space="preserve"
2505+ filename="src/adw-action-row.c"
2506+ line="672">an action row</doc>
2507+ <type name="ActionRow" c:type="AdwActionRow*"/>
2508+ </instance-parameter>
2509+ </parameters>
2510+ </method>
2511+ <method name="remove" c:identifier="adw_action_row_remove">
2512+ <doc xml:space="preserve"
2513+ filename="src/adw-action-row.c"
2514+ line="446">Removes a child from @self.</doc>
2515+ <source-position filename="src/adw-action-row.h" line="49"/>
2516+ <return-value transfer-ownership="none">
2517+ <type name="none" c:type="void"/>
2518+ </return-value>
2519+ <parameters>
2520+ <instance-parameter name="self" transfer-ownership="none">
2521+ <doc xml:space="preserve"
2522+ filename="src/adw-action-row.c"
2523+ line="448">an action row</doc>
2524+ <type name="ActionRow" c:type="AdwActionRow*"/>
2525+ </instance-parameter>
2526+ <parameter name="widget" transfer-ownership="none">
2527+ <doc xml:space="preserve"
2528+ filename="src/adw-action-row.c"
2529+ line="449">the child to be removed</doc>
2530+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2531+ </parameter>
2532+ </parameters>
2533+ </method>
2534+ <method name="set_activatable_widget"
2535+ c:identifier="adw_action_row_set_activatable_widget"
2536+ glib:set-property="activatable-widget">
2537+ <attribute name="org.gtk.Method.set_property"
2538+ value="activatable-widget"/>
2539+ <doc xml:space="preserve"
2540+ filename="src/adw-action-row.c"
2541+ line="608">Sets the widget to activate when @self is activated.
2542+
2543+The row can be activated either by clicking on it, calling
2544+[method@ActionRow.activate], or via mnemonics in the title.
2545+See the [property@PreferencesRow:use-underline] property to enable mnemonics.
2546+
2547+The target widget will be activated by emitting the
2548+[signal@Gtk.Widget::mnemonic-activate] signal on it.</doc>
2549+ <source-position filename="src/adw-action-row.h" line="67"/>
2550+ <return-value transfer-ownership="none">
2551+ <type name="none" c:type="void"/>
2552+ </return-value>
2553+ <parameters>
2554+ <instance-parameter name="self" transfer-ownership="none">
2555+ <doc xml:space="preserve"
2556+ filename="src/adw-action-row.c"
2557+ line="610">an action row</doc>
2558+ <type name="ActionRow" c:type="AdwActionRow*"/>
2559+ </instance-parameter>
2560+ <parameter name="widget"
2561+ transfer-ownership="none"
2562+ nullable="1"
2563+ allow-none="1">
2564+ <doc xml:space="preserve"
2565+ filename="src/adw-action-row.c"
2566+ line="611">the target widget</doc>
2567+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
2568+ </parameter>
2569+ </parameters>
2570+ </method>
2571+ <method name="set_icon_name"
2572+ c:identifier="adw_action_row_set_icon_name"
2573+ glib:set-property="icon-name"
2574+ deprecated="1"
2575+ deprecated-version="1.3">
2576+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
2577+ <doc xml:space="preserve"
2578+ filename="src/adw-action-row.c"
2579+ line="546">Sets the icon name for @self.</doc>
2580+ <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
2581+ <source-position filename="src/adw-action-row.h" line="61"/>
2582+ <return-value transfer-ownership="none">
2583+ <type name="none" c:type="void"/>
2584+ </return-value>
2585+ <parameters>
2586+ <instance-parameter name="self" transfer-ownership="none">
2587+ <doc xml:space="preserve"
2588+ filename="src/adw-action-row.c"
2589+ line="548">an action row</doc>
2590+ <type name="ActionRow" c:type="AdwActionRow*"/>
2591+ </instance-parameter>
2592+ <parameter name="icon_name"
2593+ transfer-ownership="none"
2594+ nullable="1"
2595+ allow-none="1">
2596+ <doc xml:space="preserve"
2597+ filename="src/adw-action-row.c"
2598+ line="549">the icon name</doc>
2599+ <type name="utf8" c:type="const char*"/>
2600+ </parameter>
2601+ </parameters>
2602+ </method>
2603+ <method name="set_subtitle"
2604+ c:identifier="adw_action_row_set_subtitle"
2605+ glib:set-property="subtitle">
2606+ <attribute name="org.gtk.Method.set_property" value="subtitle"/>
2607+ <doc xml:space="preserve"
2608+ filename="src/adw-action-row.c"
2609+ line="496">Sets the subtitle for @self.
2610+
2611+The subtitle is interpreted as Pango markup unless
2612+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
2613+ <source-position filename="src/adw-action-row.h" line="55"/>
2614+ <return-value transfer-ownership="none">
2615+ <type name="none" c:type="void"/>
2616+ </return-value>
2617+ <parameters>
2618+ <instance-parameter name="self" transfer-ownership="none">
2619+ <doc xml:space="preserve"
2620+ filename="src/adw-action-row.c"
2621+ line="498">an action row</doc>
2622+ <type name="ActionRow" c:type="AdwActionRow*"/>
2623+ </instance-parameter>
2624+ <parameter name="subtitle" transfer-ownership="none">
2625+ <doc xml:space="preserve"
2626+ filename="src/adw-action-row.c"
2627+ line="499">the subtitle</doc>
2628+ <type name="utf8" c:type="const char*"/>
2629+ </parameter>
2630+ </parameters>
2631+ </method>
2632+ <method name="set_subtitle_lines"
2633+ c:identifier="adw_action_row_set_subtitle_lines"
2634+ glib:set-property="subtitle-lines">
2635+ <attribute name="org.gtk.Method.set_property" value="subtitle-lines"/>
2636+ <doc xml:space="preserve"
2637+ filename="src/adw-action-row.c"
2638+ line="746">Sets the number of lines at the end of which the subtitle label will be
2639+ellipsized.
2640+
2641+If the value is 0, the number of lines won't be limited.</doc>
2642+ <source-position filename="src/adw-action-row.h" line="79"/>
2643+ <return-value transfer-ownership="none">
2644+ <type name="none" c:type="void"/>
2645+ </return-value>
2646+ <parameters>
2647+ <instance-parameter name="self" transfer-ownership="none">
2648+ <doc xml:space="preserve"
2649+ filename="src/adw-action-row.c"
2650+ line="748">an action row</doc>
2651+ <type name="ActionRow" c:type="AdwActionRow*"/>
2652+ </instance-parameter>
2653+ <parameter name="subtitle_lines" transfer-ownership="none">
2654+ <doc xml:space="preserve"
2655+ filename="src/adw-action-row.c"
2656+ line="749">the number of lines at the end of which the subtitle label will be ellipsized</doc>
2657+ <type name="gint" c:type="int"/>
2658+ </parameter>
2659+ </parameters>
2660+ </method>
2661+ <method name="set_subtitle_selectable"
2662+ c:identifier="adw_action_row_set_subtitle_selectable"
2663+ glib:set-property="subtitle-selectable"
2664+ version="1.3">
2665+ <attribute name="org.gtk.Method.set_property"
2666+ value="subtitle-selectable"/>
2667+ <doc xml:space="preserve"
2668+ filename="src/adw-action-row.c"
2669+ line="798">Sets whether the user can copy the subtitle from the label
2670+
2671+See also [property@Gtk.Label:selectable].</doc>
2672+ <source-position filename="src/adw-action-row.h" line="86"/>
2673+ <return-value transfer-ownership="none">
2674+ <type name="none" c:type="void"/>
2675+ </return-value>
2676+ <parameters>
2677+ <instance-parameter name="self" transfer-ownership="none">
2678+ <doc xml:space="preserve"
2679+ filename="src/adw-action-row.c"
2680+ line="800">a `AdwActionRow`</doc>
2681+ <type name="ActionRow" c:type="AdwActionRow*"/>
2682+ </instance-parameter>
2683+ <parameter name="subtitle_selectable" transfer-ownership="none">
2684+ <doc xml:space="preserve"
2685+ filename="src/adw-action-row.c"
2686+ line="801">`TRUE` if the user can copy the subtitle from the label</doc>
2687+ <type name="gboolean" c:type="gboolean"/>
2688+ </parameter>
2689+ </parameters>
2690+ </method>
2691+ <method name="set_title_lines"
2692+ c:identifier="adw_action_row_set_title_lines"
2693+ glib:set-property="title-lines">
2694+ <attribute name="org.gtk.Method.set_property" value="title-lines"/>
2695+ <doc xml:space="preserve"
2696+ filename="src/adw-action-row.c"
2697+ line="692">Sets the number of lines at the end of which the title label will be
2698+ellipsized.
2699+
2700+If the value is 0, the number of lines won't be limited.</doc>
2701+ <source-position filename="src/adw-action-row.h" line="73"/>
2702+ <return-value transfer-ownership="none">
2703+ <type name="none" c:type="void"/>
2704+ </return-value>
2705+ <parameters>
2706+ <instance-parameter name="self" transfer-ownership="none">
2707+ <doc xml:space="preserve"
2708+ filename="src/adw-action-row.c"
2709+ line="694">an action row</doc>
2710+ <type name="ActionRow" c:type="AdwActionRow*"/>
2711+ </instance-parameter>
2712+ <parameter name="title_lines" transfer-ownership="none">
2713+ <doc xml:space="preserve"
2714+ filename="src/adw-action-row.c"
2715+ line="695">the number of lines at the end of which the title label will be ellipsized</doc>
2716+ <type name="gint" c:type="int"/>
2717+ </parameter>
2718+ </parameters>
2719+ </method>
2720+ <property name="activatable-widget"
2721+ writable="1"
2722+ transfer-ownership="none"
2723+ setter="set_activatable_widget"
2724+ getter="get_activatable_widget">
2725+ <attribute name="org.gtk.Property.get"
2726+ value="adw_action_row_get_activatable_widget"/>
2727+ <attribute name="org.gtk.Property.set"
2728+ value="adw_action_row_set_activatable_widget"/>
2729+ <doc xml:space="preserve"
2730+ filename="src/adw-action-row.c"
2731+ line="262">The widget to activate when the row is activated.
2732+
2733+The row can be activated either by clicking on it, calling
2734+[method@ActionRow.activate], or via mnemonics in the title.
2735+See the [property@PreferencesRow:use-underline] property to enable
2736+mnemonics.
2737+
2738+The target widget will be activated by emitting the
2739+[signal@Gtk.Widget::mnemonic-activate] signal on it.</doc>
2740+ <type name="Gtk.Widget"/>
2741+ </property>
2742+ <property name="icon-name"
2743+ deprecated="1"
2744+ deprecated-version="1.3"
2745+ writable="1"
2746+ transfer-ownership="none"
2747+ setter="set_icon_name"
2748+ getter="get_icon_name">
2749+ <attribute name="org.gtk.Property.get"
2750+ value="adw_action_row_get_icon_name"/>
2751+ <attribute name="org.gtk.Property.set"
2752+ value="adw_action_row_set_icon_name"/>
2753+ <doc xml:space="preserve"
2754+ filename="src/adw-action-row.c"
2755+ line="250">The icon name for this row.</doc>
2756+ <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
2757+ <type name="utf8" c:type="gchar*"/>
2758+ </property>
2759+ <property name="subtitle"
2760+ writable="1"
2761+ transfer-ownership="none"
2762+ setter="set_subtitle"
2763+ getter="get_subtitle">
2764+ <attribute name="org.gtk.Property.get"
2765+ value="adw_action_row_get_subtitle"/>
2766+ <attribute name="org.gtk.Property.set"
2767+ value="adw_action_row_set_subtitle"/>
2768+ <doc xml:space="preserve"
2769+ filename="src/adw-action-row.c"
2770+ line="237">The subtitle for this row.
2771+
2772+The subtitle is interpreted as Pango markup unless
2773+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
2774+ <type name="utf8" c:type="gchar*"/>
2775+ </property>
2776+ <property name="subtitle-lines"
2777+ writable="1"
2778+ transfer-ownership="none"
2779+ setter="set_subtitle_lines"
2780+ getter="get_subtitle_lines"
2781+ default-value="0">
2782+ <attribute name="org.gtk.Property.get"
2783+ value="adw_action_row_get_subtitle_lines"/>
2784+ <attribute name="org.gtk.Property.set"
2785+ value="adw_action_row_set_subtitle_lines"/>
2786+ <doc xml:space="preserve"
2787+ filename="src/adw-action-row.c"
2788+ line="293">The number of lines at the end of which the subtitle label will be
2789+ellipsized.
2790+
2791+If the value is 0, the number of lines won't be limited.</doc>
2792+ <type name="gint" c:type="gint"/>
2793+ </property>
2794+ <property name="subtitle-selectable"
2795+ version="1.3"
2796+ writable="1"
2797+ transfer-ownership="none"
2798+ setter="set_subtitle_selectable"
2799+ getter="get_subtitle_selectable"
2800+ default-value="FALSE">
2801+ <attribute name="org.gtk.Property.get"
2802+ value="adw_action_row_get_subtitle_selectable"/>
2803+ <attribute name="org.gtk.Property.set"
2804+ value="adw_action_row_set_subtitle_selectable"/>
2805+ <doc xml:space="preserve"
2806+ filename="src/adw-action-row.c"
2807+ line="307">Whether the user can copy the subtitle from the label.
2808+
2809+See also [property@Gtk.Label:selectable].</doc>
2810+ <type name="gboolean" c:type="gboolean"/>
2811+ </property>
2812+ <property name="title-lines"
2813+ writable="1"
2814+ transfer-ownership="none"
2815+ setter="set_title_lines"
2816+ getter="get_title_lines"
2817+ default-value="0">
2818+ <attribute name="org.gtk.Property.get"
2819+ value="adw_action_row_get_title_lines"/>
2820+ <attribute name="org.gtk.Property.set"
2821+ value="adw_action_row_set_title_lines"/>
2822+ <doc xml:space="preserve"
2823+ filename="src/adw-action-row.c"
2824+ line="280">The number of lines at the end of which the title label will be ellipsized.
2825+
2826+If the value is 0, the number of lines won't be limited.</doc>
2827+ <type name="gint" c:type="gint"/>
2828+ </property>
2829+ <field name="parent_instance">
2830+ <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
2831+ </field>
2832+ <glib:signal name="activated" when="last">
2833+ <doc xml:space="preserve"
2834+ filename="src/adw-action-row.c"
2835+ line="323">This signal is emitted after the row has been activated.</doc>
2836+ <return-value transfer-ownership="none">
2837+ <type name="none" c:type="void"/>
2838+ </return-value>
2839+ </glib:signal>
2840+ </class>
2841+ <record name="ActionRowClass"
2842+ c:type="AdwActionRowClass"
2843+ glib:is-gtype-struct-for="ActionRow">
2844+ <source-position filename="src/adw-action-row.h" line="37"/>
2845+ <field name="parent_class">
2846+ <doc xml:space="preserve"
2847+ filename="src/adw-action-row.h"
2848+ line="26">The parent class</doc>
2849+ <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
2850+ </field>
2851+ <field name="activate">
2852+ <callback name="activate">
2853+ <source-position filename="src/adw-action-row.h" line="33"/>
2854+ <return-value transfer-ownership="none">
2855+ <type name="none" c:type="void"/>
2856+ </return-value>
2857+ <parameters>
2858+ <parameter name="self" transfer-ownership="none">
2859+ <doc xml:space="preserve"
2860+ filename="src/adw-action-row.c"
2861+ line="829">an action row</doc>
2862+ <type name="ActionRow" c:type="AdwActionRow*"/>
2863+ </parameter>
2864+ </parameters>
2865+ </callback>
2866+ </field>
2867+ <field name="padding" readable="0" private="1">
2868+ <array zero-terminated="0" fixed-size="4">
2869+ <type name="gpointer" c:type="gpointer"/>
2870+ </array>
2871+ </field>
2872+ </record>
2873+ <class name="Animation"
2874+ c:symbol-prefix="animation"
2875+ c:type="AdwAnimation"
2876+ parent="GObject.Object"
2877+ abstract="1"
2878+ glib:type-name="AdwAnimation"
2879+ glib:get-type="adw_animation_get_type"
2880+ glib:type-struct="AnimationClass">
2881+ <doc xml:space="preserve"
2882+ filename="src/adw-animation.c"
2883+ line="16">A base class for animations.
2884+
2885+`AdwAnimation` represents an animation on a widget. It has a target that
2886+provides a value to animate, and a state indicating whether the
2887+animation hasn't been started yet, is playing, paused or finished.
2888+
2889+Currently there are two concrete animation types:
2890+[class@TimedAnimation] and [class@SpringAnimation].
2891+
2892+`AdwAnimation` will automatically skip the animation if
2893+[property@Animation:widget] is unmapped, or if
2894+[property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
2895+
2896+The [signal@Animation::done] signal can be used to perform an action after
2897+the animation ends, for example hiding a widget after animating its
2898+[property@Gtk.Widget:opacity] to 0.
2899+
2900+`AdwAnimation` will be kept alive while the animation is playing. As such,
2901+it's safe to create an animation, start it and immediately unref it:
2902+A fire-and-forget animation:
2903+
2904+```c
2905+static void
2906+animation_cb (double value,
2907+ MyObject *self)
2908+{
2909+ // Do something with @value
2910+}
2911+
2912+static void
2913+my_object_animate (MyObject *self)
2914+{
2915+ AdwAnimationTarget *target =
2916+ adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb,
2917+ self, NULL);
2918+ g_autoptr (AdwAnimation) animation =
2919+ adw_timed_animation_new (widget, 0, 1, 250, target);
2920+
2921+ adw_animation_play (animation);
2922+}
2923+```
2924+
2925+If there's a chance the previous animation for the same target hasn't yet
2926+finished, the previous animation should be stopped first, or the existing
2927+`AdwAnimation` object can be reused.</doc>
2928+ <source-position filename="src/adw-animation.h" line="36"/>
2929+ <method name="get_follow_enable_animations_setting"
2930+ c:identifier="adw_animation_get_follow_enable_animations_setting"
2931+ glib:get-property="follow-enable-animations-setting"
2932+ version="1.3">
2933+ <attribute name="org.gtk.Method.get_property"
2934+ value="follow-enable-animations-setting"/>
2935+ <doc xml:space="preserve"
2936+ filename="src/adw-animation.c"
2937+ line="762">Gets whether @self should be skipped when animations are globally disabled.</doc>
2938+ <source-position filename="src/adw-animation.h" line="72"/>
2939+ <return-value transfer-ownership="none">
2940+ <doc xml:space="preserve"
2941+ filename="src/adw-animation.c"
2942+ line="768">whether to follow the global setting</doc>
2943+ <type name="gboolean" c:type="gboolean"/>
2944+ </return-value>
2945+ <parameters>
2946+ <instance-parameter name="self" transfer-ownership="none">
2947+ <doc xml:space="preserve"
2948+ filename="src/adw-animation.c"
2949+ line="764">an animation</doc>
2950+ <type name="Animation" c:type="AdwAnimation*"/>
2951+ </instance-parameter>
2952+ </parameters>
2953+ </method>
2954+ <method name="get_state"
2955+ c:identifier="adw_animation_get_state"
2956+ glib:get-property="state">
2957+ <attribute name="org.gtk.Method.get_property" value="state"/>
2958+ <doc xml:space="preserve"
2959+ filename="src/adw-animation.c"
2960+ line="549">Gets the current value of @self.
2961+
2962+The state indicates whether @self is currently playing, paused, finished or
2963+hasn't been started yet.</doc>
2964+ <source-position filename="src/adw-animation.h" line="58"/>
2965+ <return-value transfer-ownership="none">
2966+ <doc xml:space="preserve"
2967+ filename="src/adw-animation.c"
2968+ line="558">the animation value</doc>
2969+ <type name="AnimationState" c:type="AdwAnimationState"/>
2970+ </return-value>
2971+ <parameters>
2972+ <instance-parameter name="self" transfer-ownership="none">
2973+ <doc xml:space="preserve"
2974+ filename="src/adw-animation.c"
2975+ line="551">an animation</doc>
2976+ <type name="Animation" c:type="AdwAnimation*"/>
2977+ </instance-parameter>
2978+ </parameters>
2979+ </method>
2980+ <method name="get_target"
2981+ c:identifier="adw_animation_get_target"
2982+ glib:get-property="target">
2983+ <attribute name="org.gtk.Method.get_property" value="target"/>
2984+ <doc xml:space="preserve"
2985+ filename="src/adw-animation.c"
2986+ line="483">Gets the target @self animates.</doc>
2987+ <source-position filename="src/adw-animation.h" line="49"/>
2988+ <return-value transfer-ownership="none">
2989+ <doc xml:space="preserve"
2990+ filename="src/adw-animation.c"
2991+ line="489">the animation target</doc>
2992+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
2993+ </return-value>
2994+ <parameters>
2995+ <instance-parameter name="self" transfer-ownership="none">
2996+ <doc xml:space="preserve"
2997+ filename="src/adw-animation.c"
2998+ line="485">an animation</doc>
2999+ <type name="Animation" c:type="AdwAnimation*"/>
3000+ </instance-parameter>
3001+ </parameters>
3002+ </method>
3003+ <method name="get_value"
3004+ c:identifier="adw_animation_get_value"
3005+ glib:get-property="value">
3006+ <attribute name="org.gtk.Method.get_property" value="value"/>
3007+ <doc xml:space="preserve"
3008+ filename="src/adw-animation.c"
3009+ line="529">Gets the current value of @self.</doc>
3010+ <source-position filename="src/adw-animation.h" line="55"/>
3011+ <return-value transfer-ownership="none">
3012+ <doc xml:space="preserve"
3013+ filename="src/adw-animation.c"
3014+ line="535">the current value</doc>
3015+ <type name="gdouble" c:type="double"/>
3016+ </return-value>
3017+ <parameters>
3018+ <instance-parameter name="self" transfer-ownership="none">
3019+ <doc xml:space="preserve"
3020+ filename="src/adw-animation.c"
3021+ line="531">an animation</doc>
3022+ <type name="Animation" c:type="AdwAnimation*"/>
3023+ </instance-parameter>
3024+ </parameters>
3025+ </method>
3026+ <method name="get_widget"
3027+ c:identifier="adw_animation_get_widget"
3028+ glib:get-property="widget">
3029+ <attribute name="org.gtk.Method.get_property" value="widget"/>
3030+ <doc xml:space="preserve"
3031+ filename="src/adw-animation.c"
3032+ line="456">Gets the widget @self was created for.
3033+
3034+It provides the frame clock for the animation. It's not strictly necessary
3035+for this widget to be same as the one being animated.
3036+
3037+The widget must be mapped in order for the animation to work. If it's not
3038+mapped, or if it gets unmapped during an ongoing animation, the animation
3039+will be automatically skipped.</doc>
3040+ <source-position filename="src/adw-animation.h" line="46"/>
3041+ <return-value transfer-ownership="none">
3042+ <doc xml:space="preserve"
3043+ filename="src/adw-animation.c"
3044+ line="469">the animation widget</doc>
3045+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
3046+ </return-value>
3047+ <parameters>
3048+ <instance-parameter name="self" transfer-ownership="none">
3049+ <doc xml:space="preserve"
3050+ filename="src/adw-animation.c"
3051+ line="458">an animation</doc>
3052+ <type name="Animation" c:type="AdwAnimation*"/>
3053+ </instance-parameter>
3054+ </parameters>
3055+ </method>
3056+ <method name="pause" c:identifier="adw_animation_pause">
3057+ <doc xml:space="preserve"
3058+ filename="src/adw-animation.c"
3059+ line="610">Pauses a playing animation for @self.
3060+
3061+Does nothing if the current state of @self isn't `ADW_ANIMATION_PLAYING`.
3062+
3063+Sets [property@Animation:state] to `ADW_ANIMATION_PAUSED`.</doc>
3064+ <source-position filename="src/adw-animation.h" line="63"/>
3065+ <return-value transfer-ownership="none">
3066+ <type name="none" c:type="void"/>
3067+ </return-value>
3068+ <parameters>
3069+ <instance-parameter name="self" transfer-ownership="none">
3070+ <doc xml:space="preserve"
3071+ filename="src/adw-animation.c"
3072+ line="612">an animation</doc>
3073+ <type name="Animation" c:type="AdwAnimation*"/>
3074+ </instance-parameter>
3075+ </parameters>
3076+ </method>
3077+ <method name="play" c:identifier="adw_animation_play">
3078+ <doc xml:space="preserve"
3079+ filename="src/adw-animation.c"
3080+ line="572">Starts the animation for @self.
3081+
3082+If the animation is playing, paused or has been completed, restarts it from
3083+the beginning. This allows to easily play an animation regardless of whether
3084+it's already playing or not.
3085+
3086+Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.
3087+
3088+The animation will be automatically skipped if [property@Animation:widget] is
3089+unmapped, or if [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
3090+
3091+As such, it's not guaranteed that the animation will actually run. For
3092+example, when using [func@GLib.idle_add] and starting an animation
3093+immediately afterwards, it's entirely possible that the idle callback will
3094+run after the animation has already finished, and not while it's playing.</doc>
3095+ <source-position filename="src/adw-animation.h" line="61"/>
3096+ <return-value transfer-ownership="none">
3097+ <type name="none" c:type="void"/>
3098+ </return-value>
3099+ <parameters>
3100+ <instance-parameter name="self" transfer-ownership="none">
3101+ <doc xml:space="preserve"
3102+ filename="src/adw-animation.c"
3103+ line="574">an animation</doc>
3104+ <type name="Animation" c:type="AdwAnimation*"/>
3105+ </instance-parameter>
3106+ </parameters>
3107+ </method>
3108+ <method name="reset" c:identifier="adw_animation_reset">
3109+ <doc xml:space="preserve"
3110+ filename="src/adw-animation.c"
3111+ line="722">Resets the animation for @self.
3112+
3113+Sets [property@Animation:state] to `ADW_ANIMATION_IDLE`.</doc>
3114+ <source-position filename="src/adw-animation.h" line="67"/>
3115+ <return-value transfer-ownership="none">
3116+ <type name="none" c:type="void"/>
3117+ </return-value>
3118+ <parameters>
3119+ <instance-parameter name="self" transfer-ownership="none">
3120+ <doc xml:space="preserve"
3121+ filename="src/adw-animation.c"
3122+ line="724">an animation</doc>
3123+ <type name="Animation" c:type="AdwAnimation*"/>
3124+ </instance-parameter>
3125+ </parameters>
3126+ </method>
3127+ <method name="resume" c:identifier="adw_animation_resume">
3128+ <doc xml:space="preserve"
3129+ filename="src/adw-animation.c"
3130+ line="646">Resumes a paused animation for @self.
3131+
3132+This function must only be used if the animation has been paused with
3133+[method@Animation.pause].
3134+
3135+Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.</doc>
3136+ <source-position filename="src/adw-animation.h" line="65"/>
3137+ <return-value transfer-ownership="none">
3138+ <type name="none" c:type="void"/>
3139+ </return-value>
3140+ <parameters>
3141+ <instance-parameter name="self" transfer-ownership="none">
3142+ <doc xml:space="preserve"
3143+ filename="src/adw-animation.c"
3144+ line="648">an animation</doc>
3145+ <type name="Animation" c:type="AdwAnimation*"/>
3146+ </instance-parameter>
3147+ </parameters>
3148+ </method>
3149+ <method name="set_follow_enable_animations_setting"
3150+ c:identifier="adw_animation_set_follow_enable_animations_setting"
3151+ glib:set-property="follow-enable-animations-setting"
3152+ version="1.3">
3153+ <attribute name="org.gtk.Method.set_property"
3154+ value="follow-enable-animations-setting"/>
3155+ <doc xml:space="preserve"
3156+ filename="src/adw-animation.c"
3157+ line="784">Sets whether to skip @self when animations are globally disabled.
3158+
3159+The default behavior is to skip the animation. Set to `FALSE` to disable this
3160+behavior.
3161+
3162+This can be useful for cases where animation is essential, like spinners, or
3163+in demo applications. Most other animations should keep it enabled.
3164+
3165+See [property@Gtk.Settings:gtk-enable-animations].</doc>
3166+ <source-position filename="src/adw-animation.h" line="74"/>
3167+ <return-value transfer-ownership="none">
3168+ <type name="none" c:type="void"/>
3169+ </return-value>
3170+ <parameters>
3171+ <instance-parameter name="self" transfer-ownership="none">
3172+ <doc xml:space="preserve"
3173+ filename="src/adw-animation.c"
3174+ line="786">an animation</doc>
3175+ <type name="Animation" c:type="AdwAnimation*"/>
3176+ </instance-parameter>
3177+ <parameter name="setting" transfer-ownership="none">
3178+ <doc xml:space="preserve"
3179+ filename="src/adw-animation.c"
3180+ line="787">whether to follow the global setting</doc>
3181+ <type name="gboolean" c:type="gboolean"/>
3182+ </parameter>
3183+ </parameters>
3184+ </method>
3185+ <method name="set_target"
3186+ c:identifier="adw_animation_set_target"
3187+ glib:set-property="target">
3188+ <attribute name="org.gtk.Method.set_property" value="target"/>
3189+ <doc xml:space="preserve"
3190+ filename="src/adw-animation.c"
3191+ line="503">Sets the target @self animates to @target.</doc>
3192+ <source-position filename="src/adw-animation.h" line="51"/>
3193+ <return-value transfer-ownership="none">
3194+ <type name="none" c:type="void"/>
3195+ </return-value>
3196+ <parameters>
3197+ <instance-parameter name="self" transfer-ownership="none">
3198+ <doc xml:space="preserve"
3199+ filename="src/adw-animation.c"
3200+ line="505">an animation</doc>
3201+ <type name="Animation" c:type="AdwAnimation*"/>
3202+ </instance-parameter>
3203+ <parameter name="target" transfer-ownership="none">
3204+ <doc xml:space="preserve"
3205+ filename="src/adw-animation.c"
3206+ line="506">an animation target</doc>
3207+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
3208+ </parameter>
3209+ </parameters>
3210+ </method>
3211+ <method name="skip" c:identifier="adw_animation_skip">
3212+ <doc xml:space="preserve"
3213+ filename="src/adw-animation.c"
3214+ line="675">Skips the animation for @self.
3215+
3216+If the animation hasn't been started yet, is playing, or is paused, instantly
3217+skips the animation to the end and causes [signal@Animation::done] to be
3218+emitted.
3219+
3220+Sets [property@Animation:state] to `ADW_ANIMATION_FINISHED`.</doc>
3221+ <source-position filename="src/adw-animation.h" line="69"/>
3222+ <return-value transfer-ownership="none">
3223+ <type name="none" c:type="void"/>
3224+ </return-value>
3225+ <parameters>
3226+ <instance-parameter name="self" transfer-ownership="none">
3227+ <doc xml:space="preserve"
3228+ filename="src/adw-animation.c"
3229+ line="677">an animation</doc>
3230+ <type name="Animation" c:type="AdwAnimation*"/>
3231+ </instance-parameter>
3232+ </parameters>
3233+ </method>
3234+ <property name="follow-enable-animations-setting"
3235+ version="1.3"
3236+ writable="1"
3237+ transfer-ownership="none"
3238+ setter="set_follow_enable_animations_setting"
3239+ getter="get_follow_enable_animations_setting"
3240+ default-value="TRUE">
3241+ <attribute name="org.gtk.Property.get"
3242+ value="adw_animation_get_follow_enable_animations_setting"/>
3243+ <attribute name="org.gtk.Property.set"
3244+ value="adw_animation_set_follow_enable_animations_setting"/>
3245+ <doc xml:space="preserve"
3246+ filename="src/adw-animation.c"
3247+ line="405">Whether to skip the animation when animations are globally disabled.
3248+
3249+The default behavior is to skip the animation. Set to `FALSE` to disable
3250+this behavior.
3251+
3252+This can be useful for cases where animation is essential, like spinners,
3253+or in demo applications. Most other animations should keep it enabled.
3254+
3255+See [property@Gtk.Settings:gtk-enable-animations].</doc>
3256+ <type name="gboolean" c:type="gboolean"/>
3257+ </property>
3258+ <property name="state"
3259+ transfer-ownership="none"
3260+ getter="get_state"
3261+ default-value="ADW_ANIMATION_IDLE">
3262+ <attribute name="org.gtk.Property.get"
3263+ value="adw_animation_get_state"/>
3264+ <doc xml:space="preserve"
3265+ filename="src/adw-animation.c"
3266+ line="391">The animation state.
3267+
3268+The state indicates whether the animation is currently playing, paused,
3269+finished or hasn't been started yet.</doc>
3270+ <type name="AnimationState"/>
3271+ </property>
3272+ <property name="target"
3273+ writable="1"
3274+ construct="1"
3275+ transfer-ownership="none"
3276+ setter="set_target"
3277+ getter="get_target">
3278+ <attribute name="org.gtk.Property.get"
3279+ value="adw_animation_get_target"/>
3280+ <attribute name="org.gtk.Property.set"
3281+ value="adw_animation_set_target"/>
3282+ <doc xml:space="preserve"
3283+ filename="src/adw-animation.c"
3284+ line="369">The target to animate.</doc>
3285+ <type name="AnimationTarget"/>
3286+ </property>
3287+ <property name="value"
3288+ transfer-ownership="none"
3289+ getter="get_value"
3290+ default-value="0.000000">
3291+ <attribute name="org.gtk.Property.get"
3292+ value="adw_animation_get_value"/>
3293+ <doc xml:space="preserve"
3294+ filename="src/adw-animation.c"
3295+ line="379">The current value of the animation.</doc>
3296+ <type name="gdouble" c:type="gdouble"/>
3297+ </property>
3298+ <property name="widget"
3299+ writable="1"
3300+ construct-only="1"
3301+ transfer-ownership="none"
3302+ getter="get_widget">
3303+ <attribute name="org.gtk.Property.get"
3304+ value="adw_animation_get_widget"/>
3305+ <doc xml:space="preserve"
3306+ filename="src/adw-animation.c"
3307+ line="352">The animation widget.
3308+
3309+It provides the frame clock for the animation. It's not strictly necessary
3310+for this widget to be same as the one being animated.
3311+
3312+The widget must be mapped in order for the animation to work. If it's not
3313+mapped, or if it gets unmapped during an ongoing animation, the animation
3314+will be automatically skipped.</doc>
3315+ <type name="Gtk.Widget"/>
3316+ </property>
3317+ <field name="parent_instance">
3318+ <type name="GObject.Object" c:type="GObject"/>
3319+ </field>
3320+ <glib:signal name="done" when="last">
3321+ <doc xml:space="preserve"
3322+ filename="src/adw-animation.c"
3323+ line="427">This signal is emitted when the animation has been completed, either on its
3324+own or via calling [method@Animation.skip].</doc>
3325+ <return-value transfer-ownership="none">
3326+ <type name="none" c:type="void"/>
3327+ </return-value>
3328+ </glib:signal>
3329+ </class>
3330+ <record name="AnimationClass"
3331+ c:type="AdwAnimationClass"
3332+ disguised="1"
3333+ opaque="1"
3334+ glib:is-gtype-struct-for="Animation">
3335+ <source-position filename="src/adw-animation.h" line="36"/>
3336+ </record>
3337+ <enumeration name="AnimationState"
3338+ glib:type-name="AdwAnimationState"
3339+ glib:get-type="adw_animation_state_get_type"
3340+ c:type="AdwAnimationState">
3341+ <doc xml:space="preserve"
3342+ filename="src/adw-animation.c"
3343+ line="66">Describes the possible states of an [class@Animation].
3344+
3345+The state can be controlled with [method@Animation.play],
3346+[method@Animation.pause], [method@Animation.resume],
3347+[method@Animation.reset] and [method@Animation.skip].</doc>
3348+ <member name="idle"
3349+ value="0"
3350+ c:identifier="ADW_ANIMATION_IDLE"
3351+ glib:nick="idle"
3352+ glib:name="ADW_ANIMATION_IDLE">
3353+ <doc xml:space="preserve"
3354+ filename="src/adw-animation.c"
3355+ line="68">The animation hasn't started yet.</doc>
3356+ </member>
3357+ <member name="paused"
3358+ value="1"
3359+ c:identifier="ADW_ANIMATION_PAUSED"
3360+ glib:nick="paused"
3361+ glib:name="ADW_ANIMATION_PAUSED">
3362+ <doc xml:space="preserve"
3363+ filename="src/adw-animation.c"
3364+ line="69">The animation has been paused.</doc>
3365+ </member>
3366+ <member name="playing"
3367+ value="2"
3368+ c:identifier="ADW_ANIMATION_PLAYING"
3369+ glib:nick="playing"
3370+ glib:name="ADW_ANIMATION_PLAYING">
3371+ <doc xml:space="preserve"
3372+ filename="src/adw-animation.c"
3373+ line="70">The animation is currently playing.</doc>
3374+ </member>
3375+ <member name="finished"
3376+ value="3"
3377+ c:identifier="ADW_ANIMATION_FINISHED"
3378+ glib:nick="finished"
3379+ glib:name="ADW_ANIMATION_FINISHED">
3380+ <doc xml:space="preserve"
3381+ filename="src/adw-animation.c"
3382+ line="71">The animation has finished.</doc>
3383+ </member>
3384+ </enumeration>
3385+ <class name="AnimationTarget"
3386+ c:symbol-prefix="animation_target"
3387+ c:type="AdwAnimationTarget"
3388+ parent="GObject.Object"
3389+ abstract="1"
3390+ glib:type-name="AdwAnimationTarget"
3391+ glib:get-type="adw_animation_target_get_type"
3392+ glib:type-struct="AnimationTargetClass">
3393+ <doc xml:space="preserve"
3394+ filename="src/adw-animation-target.c"
3395+ line="11">Represents a value [class@Animation] can animate.</doc>
3396+ <source-position filename="src/adw-animation-target.h" line="22"/>
3397+ </class>
3398+ <record name="AnimationTargetClass"
3399+ c:type="AdwAnimationTargetClass"
3400+ disguised="1"
3401+ opaque="1"
3402+ glib:is-gtype-struct-for="AnimationTarget">
3403+ <source-position filename="src/adw-animation-target.h" line="22"/>
3404+ </record>
3405+ <callback name="AnimationTargetFunc" c:type="AdwAnimationTargetFunc">
3406+ <doc xml:space="preserve"
3407+ filename="src/adw-animation-target.h"
3408+ line="25">Prototype for animation targets based on user callbacks.</doc>
3409+ <source-position filename="src/adw-animation-target.h" line="32"/>
3410+ <return-value transfer-ownership="none">
3411+ <type name="none" c:type="void"/>
3412+ </return-value>
3413+ <parameters>
3414+ <parameter name="value" transfer-ownership="none">
3415+ <doc xml:space="preserve"
3416+ filename="src/adw-animation-target.h"
3417+ line="27">The animation value</doc>
3418+ <type name="gdouble" c:type="double"/>
3419+ </parameter>
3420+ <parameter name="user_data"
3421+ transfer-ownership="none"
3422+ nullable="1"
3423+ allow-none="1"
3424+ closure="1">
3425+ <doc xml:space="preserve"
3426+ filename="src/adw-animation-target.h"
3427+ line="28">The user data provided when creating the target</doc>
3428+ <type name="gpointer" c:type="gpointer"/>
3429+ </parameter>
3430+ </parameters>
3431+ </callback>
3432+ <class name="Application"
3433+ c:symbol-prefix="application"
3434+ c:type="AdwApplication"
3435+ parent="Gtk.Application"
3436+ glib:type-name="AdwApplication"
3437+ glib:get-type="adw_application_get_type"
3438+ glib:type-struct="ApplicationClass">
3439+ <doc xml:space="preserve"
3440+ filename="src/adw-application.c"
3441+ line="11">A base class for Adwaita applications.
3442+
3443+`AdwApplication` handles library initialization by calling [func@init] in the
3444+default [signal@Gio.Application::startup] signal handler, in turn chaining up
3445+as required by [class@Gtk.Application]. Therefore, any subclass of
3446+`AdwApplication` should always chain up its `startup` handler before using
3447+any Adwaita or GTK API.
3448+
3449+## Automatic Resources
3450+
3451+`AdwApplication` will automatically load stylesheets located in the
3452+application's resource base path (see
3453+[method@Gio.Application.set_resource_base_path], if they're present.
3454+
3455+They can be used to add custom styles to the application, as follows:
3456+
3457+- `style.css` contains styles that are always present.
3458+
3459+- `style-dark.css` contains styles only used when
3460+[property@StyleManager:dark] is `TRUE`.
3461+
3462+- `style-hc.css` contains styles used when the system high contrast
3463+ preference is enabled.
3464+
3465+- `style-hc-dark.css` contains styles used when the system high contrast
3466+ preference is enabled and [property@StyleManager:dark] is `TRUE`.</doc>
3467+ <source-position filename="src/adw-application.h" line="36"/>
3468+ <implements name="Gio.ActionGroup"/>
3469+ <implements name="Gio.ActionMap"/>
3470+ <constructor name="new" c:identifier="adw_application_new">
3471+ <doc xml:space="preserve"
3472+ filename="src/adw-application.c"
3473+ line="248">Creates a new `AdwApplication`.
3474+
3475+If `application_id` is not `NULL`, then it must be valid. See
3476+[func@Gio.Application.id_is_valid].
3477+
3478+If no application ID is given then some features (most notably application
3479+uniqueness) will be disabled.</doc>
3480+ <source-position filename="src/adw-application.h" line="39"/>
3481+ <return-value transfer-ownership="full">
3482+ <doc xml:space="preserve"
3483+ filename="src/adw-application.c"
3484+ line="261">the newly created `AdwApplication`</doc>
3485+ <type name="Application" c:type="AdwApplication*"/>
3486+ </return-value>
3487+ <parameters>
3488+ <parameter name="application_id"
3489+ transfer-ownership="none"
3490+ nullable="1"
3491+ allow-none="1">
3492+ <doc xml:space="preserve"
3493+ filename="src/adw-application.c"
3494+ line="250">The application ID</doc>
3495+ <type name="utf8" c:type="const char*"/>
3496+ </parameter>
3497+ <parameter name="flags" transfer-ownership="none">
3498+ <doc xml:space="preserve"
3499+ filename="src/adw-application.c"
3500+ line="251">The application flags</doc>
3501+ <type name="Gio.ApplicationFlags" c:type="GApplicationFlags"/>
3502+ </parameter>
3503+ </parameters>
3504+ </constructor>
3505+ <method name="get_style_manager"
3506+ c:identifier="adw_application_get_style_manager"
3507+ glib:get-property="style-manager">
3508+ <attribute name="org.gtk.Method.get_property" value="style-manager"/>
3509+ <doc xml:space="preserve"
3510+ filename="src/adw-application.c"
3511+ line="273">Gets the style manager for @self.
3512+
3513+This is a convenience property allowing to access `AdwStyleManager` through
3514+property bindings or expressions.</doc>
3515+ <source-position filename="src/adw-application.h" line="43"/>
3516+ <return-value transfer-ownership="none">
3517+ <doc xml:space="preserve"
3518+ filename="src/adw-application.c"
3519+ line="282">the style manager</doc>
3520+ <type name="StyleManager" c:type="AdwStyleManager*"/>
3521+ </return-value>
3522+ <parameters>
3523+ <instance-parameter name="self" transfer-ownership="none">
3524+ <doc xml:space="preserve"
3525+ filename="src/adw-application.c"
3526+ line="275">an application</doc>
3527+ <type name="Application" c:type="AdwApplication*"/>
3528+ </instance-parameter>
3529+ </parameters>
3530+ </method>
3531+ <property name="style-manager"
3532+ transfer-ownership="none"
3533+ getter="get_style_manager">
3534+ <attribute name="org.gtk.Property.get"
3535+ value="adw_application_get_style_manager"/>
3536+ <doc xml:space="preserve"
3537+ filename="src/adw-application.c"
3538+ line="227">The style manager for this application.
3539+
3540+This is a convenience property allowing to access `AdwStyleManager` through
3541+property bindings or expressions.</doc>
3542+ <type name="StyleManager"/>
3543+ </property>
3544+ <field name="parent_instance">
3545+ <type name="Gtk.Application" c:type="GtkApplication"/>
3546+ </field>
3547+ </class>
3548+ <record name="ApplicationClass"
3549+ c:type="AdwApplicationClass"
3550+ glib:is-gtype-struct-for="Application">
3551+ <source-position filename="src/adw-application.h" line="36"/>
3552+ <field name="parent_class">
3553+ <doc xml:space="preserve"
3554+ filename="src/adw-application.h"
3555+ line="28">The parent class</doc>
3556+ <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
3557+ </field>
3558+ <field name="padding" readable="0" private="1">
3559+ <array zero-terminated="0" fixed-size="4">
3560+ <type name="gpointer" c:type="gpointer"/>
3561+ </array>
3562+ </field>
3563+ </record>
3564+ <class name="ApplicationWindow"
3565+ c:symbol-prefix="application_window"
3566+ c:type="AdwApplicationWindow"
3567+ parent="Gtk.ApplicationWindow"
3568+ glib:type-name="AdwApplicationWindow"
3569+ glib:get-type="adw_application_window_get_type"
3570+ glib:type-struct="ApplicationWindowClass">
3571+ <doc xml:space="preserve"
3572+ filename="src/adw-application-window.c"
3573+ line="12">A freeform application window.
3574+
3575+&lt;picture&gt;
3576+ &lt;source srcset="application-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
3577+ &lt;img src="application-window.png" alt="application-window"&gt;
3578+&lt;/picture&gt;
3579+
3580+`AdwApplicationWindow` is a [class@Gtk.ApplicationWindow] subclass providing
3581+the same features as [class@Window].
3582+
3583+See [class@Window] for details.
3584+
3585+Using [property@Gtk.Application:menubar] is not supported and may result in
3586+visual glitches.</doc>
3587+ <source-position filename="src/adw-application-window.h" line="30"/>
3588+ <implements name="Gio.ActionGroup"/>
3589+ <implements name="Gio.ActionMap"/>
3590+ <implements name="Gtk.Accessible"/>
3591+ <implements name="Gtk.Buildable"/>
3592+ <implements name="Gtk.ConstraintTarget"/>
3593+ <implements name="Gtk.Native"/>
3594+ <implements name="Gtk.Root"/>
3595+ <implements name="Gtk.ShortcutManager"/>
3596+ <constructor name="new" c:identifier="adw_application_window_new">
3597+ <doc xml:space="preserve"
3598+ filename="src/adw-application-window.c"
3599+ line="169">Creates a new `AdwApplicationWindow` for @app.</doc>
3600+ <source-position filename="src/adw-application-window.h" line="33"/>
3601+ <return-value transfer-ownership="none">
3602+ <doc xml:space="preserve"
3603+ filename="src/adw-application-window.c"
3604+ line="175">the newly created `AdwApplicationWindow`</doc>
3605+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
3606+ </return-value>
3607+ <parameters>
3608+ <parameter name="app" transfer-ownership="none">
3609+ <doc xml:space="preserve"
3610+ filename="src/adw-application-window.c"
3611+ line="171">an application instance</doc>
3612+ <type name="Gtk.Application" c:type="GtkApplication*"/>
3613+ </parameter>
3614+ </parameters>
3615+ </constructor>
3616+ <method name="get_content"
3617+ c:identifier="adw_application_window_get_content"
3618+ glib:get-property="content">
3619+ <attribute name="org.gtk.Method.get_property" value="content"/>
3620+ <doc xml:space="preserve"
3621+ filename="src/adw-application-window.c"
3622+ line="209">Gets the content widget of @self.
3623+
3624+This method should always be used instead of [method@Gtk.Window.get_child].</doc>
3625+ <source-position filename="src/adw-application-window.h" line="39"/>
3626+ <return-value transfer-ownership="none" nullable="1">
3627+ <doc xml:space="preserve"
3628+ filename="src/adw-application-window.c"
3629+ line="217">the content widget of @self</doc>
3630+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
3631+ </return-value>
3632+ <parameters>
3633+ <instance-parameter name="self" transfer-ownership="none">
3634+ <doc xml:space="preserve"
3635+ filename="src/adw-application-window.c"
3636+ line="211">an application window</doc>
3637+ <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
3638+ </instance-parameter>
3639+ </parameters>
3640+ </method>
3641+ <method name="set_content"
3642+ c:identifier="adw_application_window_set_content"
3643+ glib:set-property="content">
3644+ <attribute name="org.gtk.Method.set_property" value="content"/>
3645+ <doc xml:space="preserve"
3646+ filename="src/adw-application-window.c"
3647+ line="185">Sets the content widget of @self.
3648+
3649+This method should always be used instead of [method@Gtk.Window.set_child].</doc>
3650+ <source-position filename="src/adw-application-window.h" line="36"/>
3651+ <return-value transfer-ownership="none">
3652+ <type name="none" c:type="void"/>
3653+ </return-value>
3654+ <parameters>
3655+ <instance-parameter name="self" transfer-ownership="none">
3656+ <doc xml:space="preserve"
3657+ filename="src/adw-application-window.c"
3658+ line="187">an application window</doc>
3659+ <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
3660+ </instance-parameter>
3661+ <parameter name="content"
3662+ transfer-ownership="none"
3663+ nullable="1"
3664+ allow-none="1">
3665+ <doc xml:space="preserve"
3666+ filename="src/adw-application-window.c"
3667+ line="188">the content widget</doc>
3668+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
3669+ </parameter>
3670+ </parameters>
3671+ </method>
3672+ <property name="content"
3673+ writable="1"
3674+ transfer-ownership="none"
3675+ setter="set_content"
3676+ getter="get_content">
3677+ <attribute name="org.gtk.Property.get"
3678+ value="adw_application_window_get_content"/>
3679+ <attribute name="org.gtk.Property.set"
3680+ value="adw_application_window_set_content"/>
3681+ <doc xml:space="preserve"
3682+ filename="src/adw-application-window.c"
3683+ line="122">The content widget.
3684+
3685+This property should always be used instead of [property@Gtk.Window:child].</doc>
3686+ <type name="Gtk.Widget"/>
3687+ </property>
3688+ <field name="parent_instance">
3689+ <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
3690+ </field>
3691+ </class>
3692+ <record name="ApplicationWindowClass"
3693+ c:type="AdwApplicationWindowClass"
3694+ glib:is-gtype-struct-for="ApplicationWindow">
3695+ <source-position filename="src/adw-application-window.h" line="30"/>
3696+ <field name="parent_class">
3697+ <type name="Gtk.ApplicationWindowClass"
3698+ c:type="GtkApplicationWindowClass"/>
3699+ </field>
3700+ <field name="padding" readable="0" private="1">
3701+ <array zero-terminated="0" fixed-size="4">
3702+ <type name="gpointer" c:type="gpointer"/>
3703+ </array>
3704+ </field>
3705+ </record>
3706+ <class name="Avatar"
3707+ c:symbol-prefix="avatar"
3708+ c:type="AdwAvatar"
3709+ parent="Gtk.Widget"
3710+ final="1"
3711+ glib:type-name="AdwAvatar"
3712+ glib:get-type="adw_avatar_get_type"
3713+ glib:type-struct="AvatarClass">
3714+ <doc xml:space="preserve"
3715+ filename="src/adw-avatar.c"
3716+ line="21">A widget displaying an image, with a generated fallback.
3717+
3718+&lt;picture&gt;
3719+ &lt;source srcset="avatar-dark.png" media="(prefers-color-scheme: dark)"&gt;
3720+ &lt;img src="avatar.png" alt="avatar"&gt;
3721+&lt;/picture&gt;
3722+
3723+`AdwAvatar` is a widget that shows a round avatar.
3724+
3725+`AdwAvatar` generates an avatar with the initials of the
3726+[property@Avatar:text] on top of a colored background.
3727+
3728+The color is picked based on the hash of the [property@Avatar:text].
3729+
3730+If [property@Avatar:show-initials] is set to `FALSE`,
3731+[property@Avatar:icon-name] or `avatar-default-symbolic` is shown instead of
3732+the initials.
3733+
3734+Use [property@Avatar:custom-image] to set a custom image.
3735+
3736+## CSS nodes
3737+
3738+`AdwAvatar` has a single CSS node with name `avatar`.</doc>
3739+ <source-position filename="src/adw-avatar.h" line="22"/>
3740+ <implements name="Gtk.Accessible"/>
3741+ <implements name="Gtk.Buildable"/>
3742+ <implements name="Gtk.ConstraintTarget"/>
3743+ <constructor name="new" c:identifier="adw_avatar_new">
3744+ <doc xml:space="preserve"
3745+ filename="src/adw-avatar.c"
3746+ line="473">Creates a new `AdwAvatar`.</doc>
3747+ <source-position filename="src/adw-avatar.h" line="25"/>
3748+ <return-value transfer-ownership="none">
3749+ <doc xml:space="preserve"
3750+ filename="src/adw-avatar.c"
3751+ line="481">the newly created `AdwAvatar`</doc>
3752+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
3753+ </return-value>
3754+ <parameters>
3755+ <parameter name="size" transfer-ownership="none">
3756+ <doc xml:space="preserve"
3757+ filename="src/adw-avatar.c"
3758+ line="475">The size of the avatar</doc>
3759+ <type name="gint" c:type="int"/>
3760+ </parameter>
3761+ <parameter name="text"
3762+ transfer-ownership="none"
3763+ nullable="1"
3764+ allow-none="1">
3765+ <doc xml:space="preserve"
3766+ filename="src/adw-avatar.c"
3767+ line="476">the text used to get the initials and color</doc>
3768+ <type name="utf8" c:type="const char*"/>
3769+ </parameter>
3770+ <parameter name="show_initials" transfer-ownership="none">
3771+ <doc xml:space="preserve"
3772+ filename="src/adw-avatar.c"
3773+ line="477">whether to use initials instead of an icon as fallback</doc>
3774+ <type name="gboolean" c:type="gboolean"/>
3775+ </parameter>
3776+ </parameters>
3777+ </constructor>
3778+ <method name="draw_to_texture" c:identifier="adw_avatar_draw_to_texture">
3779+ <doc xml:space="preserve"
3780+ filename="src/adw-avatar.c"
3781+ line="744">Renders @self into a [class@Gdk.Texture] at @scale_factor.
3782+
3783+This can be used to export the fallback avatar.</doc>
3784+ <source-position filename="src/adw-avatar.h" line="60"/>
3785+ <return-value transfer-ownership="full">
3786+ <doc xml:space="preserve"
3787+ filename="src/adw-avatar.c"
3788+ line="753">the texture</doc>
3789+ <type name="Gdk.Texture" c:type="GdkTexture*"/>
3790+ </return-value>
3791+ <parameters>
3792+ <instance-parameter name="self" transfer-ownership="none">
3793+ <doc xml:space="preserve"
3794+ filename="src/adw-avatar.c"
3795+ line="746">an avatar</doc>
3796+ <type name="Avatar" c:type="AdwAvatar*"/>
3797+ </instance-parameter>
3798+ <parameter name="scale_factor" transfer-ownership="none">
3799+ <doc xml:space="preserve"
3800+ filename="src/adw-avatar.c"
3801+ line="747">The scale factor</doc>
3802+ <type name="gint" c:type="int"/>
3803+ </parameter>
3804+ </parameters>
3805+ </method>
3806+ <method name="get_custom_image"
3807+ c:identifier="adw_avatar_get_custom_image"
3808+ glib:get-property="custom-image">
3809+ <attribute name="org.gtk.Method.get_property" value="custom-image"/>
3810+ <doc xml:space="preserve"
3811+ filename="src/adw-avatar.c"
3812+ line="628">Gets the custom image paintable.</doc>
3813+ <source-position filename="src/adw-avatar.h" line="48"/>
3814+ <return-value transfer-ownership="none" nullable="1">
3815+ <doc xml:space="preserve"
3816+ filename="src/adw-avatar.c"
3817+ line="634">the custom image</doc>
3818+ <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
3819+ </return-value>
3820+ <parameters>
3821+ <instance-parameter name="self" transfer-ownership="none">
3822+ <doc xml:space="preserve"
3823+ filename="src/adw-avatar.c"
3824+ line="630">an avatar</doc>
3825+ <type name="Avatar" c:type="AdwAvatar*"/>
3826+ </instance-parameter>
3827+ </parameters>
3828+ </method>
3829+ <method name="get_icon_name"
3830+ c:identifier="adw_avatar_get_icon_name"
3831+ glib:get-property="icon-name">
3832+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
3833+ <doc xml:space="preserve"
3834+ filename="src/adw-avatar.c"
3835+ line="495">Gets the name of an icon to use as a fallback.</doc>
3836+ <source-position filename="src/adw-avatar.h" line="30"/>
3837+ <return-value transfer-ownership="none" nullable="1">
3838+ <doc xml:space="preserve"
3839+ filename="src/adw-avatar.c"
3840+ line="501">the icon name</doc>
3841+ <type name="utf8" c:type="const char*"/>
3842+ </return-value>
3843+ <parameters>
3844+ <instance-parameter name="self" transfer-ownership="none">
3845+ <doc xml:space="preserve"
3846+ filename="src/adw-avatar.c"
3847+ line="497">an avatar</doc>
3848+ <type name="Avatar" c:type="AdwAvatar*"/>
3849+ </instance-parameter>
3850+ </parameters>
3851+ </method>
3852+ <method name="get_show_initials"
3853+ c:identifier="adw_avatar_get_show_initials"
3854+ glib:get-property="show-initials">
3855+ <attribute name="org.gtk.Method.get_property" value="show-initials"/>
3856+ <doc xml:space="preserve"
3857+ filename="src/adw-avatar.c"
3858+ line="585">Gets whether initials are used instead of an icon on the fallback avatar.</doc>
3859+ <source-position filename="src/adw-avatar.h" line="42"/>
3860+ <return-value transfer-ownership="none">
3861+ <doc xml:space="preserve"
3862+ filename="src/adw-avatar.c"
3863+ line="591">whether initials are used instead of an icon as fallback</doc>
3864+ <type name="gboolean" c:type="gboolean"/>
3865+ </return-value>
3866+ <parameters>
3867+ <instance-parameter name="self" transfer-ownership="none">
3868+ <doc xml:space="preserve"
3869+ filename="src/adw-avatar.c"
3870+ line="587">an avatar</doc>
3871+ <type name="Avatar" c:type="AdwAvatar*"/>
3872+ </instance-parameter>
3873+ </parameters>
3874+ </method>
3875+ <method name="get_size"
3876+ c:identifier="adw_avatar_get_size"
3877+ glib:get-property="size">
3878+ <attribute name="org.gtk.Method.get_property" value="size"/>
3879+ <doc xml:space="preserve"
3880+ filename="src/adw-avatar.c"
3881+ line="694">Gets the size of the avatar.</doc>
3882+ <source-position filename="src/adw-avatar.h" line="54"/>
3883+ <return-value transfer-ownership="none">
3884+ <doc xml:space="preserve"
3885+ filename="src/adw-avatar.c"
3886+ line="700">the size of the avatar</doc>
3887+ <type name="gint" c:type="int"/>
3888+ </return-value>
3889+ <parameters>
3890+ <instance-parameter name="self" transfer-ownership="none">
3891+ <doc xml:space="preserve"
3892+ filename="src/adw-avatar.c"
3893+ line="696">an avatar</doc>
3894+ <type name="Avatar" c:type="AdwAvatar*"/>
3895+ </instance-parameter>
3896+ </parameters>
3897+ </method>
3898+ <method name="get_text"
3899+ c:identifier="adw_avatar_get_text"
3900+ glib:get-property="text">
3901+ <attribute name="org.gtk.Method.get_property" value="text"/>
3902+ <doc xml:space="preserve"
3903+ filename="src/adw-avatar.c"
3904+ line="537">Gets the text used to generate the fallback initials and color.</doc>
3905+ <source-position filename="src/adw-avatar.h" line="36"/>
3906+ <return-value transfer-ownership="none" nullable="1">
3907+ <doc xml:space="preserve"
3908+ filename="src/adw-avatar.c"
3909+ line="543">the text used to generate the fallback initials and
3910+ color</doc>
3911+ <type name="utf8" c:type="const char*"/>
3912+ </return-value>
3913+ <parameters>
3914+ <instance-parameter name="self" transfer-ownership="none">
3915+ <doc xml:space="preserve"
3916+ filename="src/adw-avatar.c"
3917+ line="539">an avatar</doc>
3918+ <type name="Avatar" c:type="AdwAvatar*"/>
3919+ </instance-parameter>
3920+ </parameters>
3921+ </method>
3922+ <method name="set_custom_image"
3923+ c:identifier="adw_avatar_set_custom_image"
3924+ glib:set-property="custom-image">
3925+ <attribute name="org.gtk.Method.set_property" value="custom-image"/>
3926+ <doc xml:space="preserve"
3927+ filename="src/adw-avatar.c"
3928+ line="644">Sets the custom image paintable.
3929+
3930+Custom image is displayed instead of initials or icon.</doc>
3931+ <source-position filename="src/adw-avatar.h" line="50"/>
3932+ <return-value transfer-ownership="none">
3933+ <type name="none" c:type="void"/>
3934+ </return-value>
3935+ <parameters>
3936+ <instance-parameter name="self" transfer-ownership="none">
3937+ <doc xml:space="preserve"
3938+ filename="src/adw-avatar.c"
3939+ line="646">an avatar</doc>
3940+ <type name="Avatar" c:type="AdwAvatar*"/>
3941+ </instance-parameter>
3942+ <parameter name="custom_image"
3943+ transfer-ownership="none"
3944+ nullable="1"
3945+ allow-none="1">
3946+ <doc xml:space="preserve"
3947+ filename="src/adw-avatar.c"
3948+ line="647">a custom image</doc>
3949+ <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
3950+ </parameter>
3951+ </parameters>
3952+ </method>
3953+ <method name="set_icon_name"
3954+ c:identifier="adw_avatar_set_icon_name"
3955+ glib:set-property="icon-name">
3956+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
3957+ <doc xml:space="preserve"
3958+ filename="src/adw-avatar.c"
3959+ line="511">Sets the name of an icon to use as a fallback.
3960+
3961+If no name is set, `avatar-default-symbolic` will be used.</doc>
3962+ <source-position filename="src/adw-avatar.h" line="32"/>
3963+ <return-value transfer-ownership="none">
3964+ <type name="none" c:type="void"/>
3965+ </return-value>
3966+ <parameters>
3967+ <instance-parameter name="self" transfer-ownership="none">
3968+ <doc xml:space="preserve"
3969+ filename="src/adw-avatar.c"
3970+ line="513">an avatar</doc>
3971+ <type name="Avatar" c:type="AdwAvatar*"/>
3972+ </instance-parameter>
3973+ <parameter name="icon_name"
3974+ transfer-ownership="none"
3975+ nullable="1"
3976+ allow-none="1">
3977+ <doc xml:space="preserve"
3978+ filename="src/adw-avatar.c"
3979+ line="514">the icon name</doc>
3980+ <type name="utf8" c:type="const char*"/>
3981+ </parameter>
3982+ </parameters>
3983+ </method>
3984+ <method name="set_show_initials"
3985+ c:identifier="adw_avatar_set_show_initials"
3986+ glib:set-property="show-initials">
3987+ <attribute name="org.gtk.Method.set_property" value="show-initials"/>
3988+ <doc xml:space="preserve"
3989+ filename="src/adw-avatar.c"
3990+ line="601">Sets whether to use initials instead of an icon on the fallback avatar.
3991+
3992+See [property@Avatar:icon-name] for how to change the fallback icon.</doc>
3993+ <source-position filename="src/adw-avatar.h" line="44"/>
3994+ <return-value transfer-ownership="none">
3995+ <type name="none" c:type="void"/>
3996+ </return-value>
3997+ <parameters>
3998+ <instance-parameter name="self" transfer-ownership="none">
3999+ <doc xml:space="preserve"
4000+ filename="src/adw-avatar.c"
4001+ line="603">an avatar</doc>
4002+ <type name="Avatar" c:type="AdwAvatar*"/>
4003+ </instance-parameter>
4004+ <parameter name="show_initials" transfer-ownership="none">
4005+ <doc xml:space="preserve"
4006+ filename="src/adw-avatar.c"
4007+ line="604">whether to use initials instead of an icon as fallback</doc>
4008+ <type name="gboolean" c:type="gboolean"/>
4009+ </parameter>
4010+ </parameters>
4011+ </method>
4012+ <method name="set_size"
4013+ c:identifier="adw_avatar_set_size"
4014+ glib:set-property="size">
4015+ <attribute name="org.gtk.Method.set_property" value="size"/>
4016+ <doc xml:space="preserve"
4017+ filename="src/adw-avatar.c"
4018+ line="710">Sets the size of the avatar.</doc>
4019+ <source-position filename="src/adw-avatar.h" line="56"/>
4020+ <return-value transfer-ownership="none">
4021+ <type name="none" c:type="void"/>
4022+ </return-value>
4023+ <parameters>
4024+ <instance-parameter name="self" transfer-ownership="none">
4025+ <doc xml:space="preserve"
4026+ filename="src/adw-avatar.c"
4027+ line="712">an avatar</doc>
4028+ <type name="Avatar" c:type="AdwAvatar*"/>
4029+ </instance-parameter>
4030+ <parameter name="size" transfer-ownership="none">
4031+ <doc xml:space="preserve"
4032+ filename="src/adw-avatar.c"
4033+ line="713">The size of the avatar</doc>
4034+ <type name="gint" c:type="int"/>
4035+ </parameter>
4036+ </parameters>
4037+ </method>
4038+ <method name="set_text"
4039+ c:identifier="adw_avatar_set_text"
4040+ glib:set-property="text">
4041+ <attribute name="org.gtk.Method.set_property" value="text"/>
4042+ <doc xml:space="preserve"
4043+ filename="src/adw-avatar.c"
4044+ line="554">Sets the text used to generate the fallback initials and color.
4045+
4046+It's only used to generate the color if [property@Avatar:show-initials] is
4047+`FALSE`.</doc>
4048+ <source-position filename="src/adw-avatar.h" line="38"/>
4049+ <return-value transfer-ownership="none">
4050+ <type name="none" c:type="void"/>
4051+ </return-value>
4052+ <parameters>
4053+ <instance-parameter name="self" transfer-ownership="none">
4054+ <doc xml:space="preserve"
4055+ filename="src/adw-avatar.c"
4056+ line="556">an avatar</doc>
4057+ <type name="Avatar" c:type="AdwAvatar*"/>
4058+ </instance-parameter>
4059+ <parameter name="text"
4060+ transfer-ownership="none"
4061+ nullable="1"
4062+ allow-none="1">
4063+ <doc xml:space="preserve"
4064+ filename="src/adw-avatar.c"
4065+ line="557">the text used to get the initials and color</doc>
4066+ <type name="utf8" c:type="const char*"/>
4067+ </parameter>
4068+ </parameters>
4069+ </method>
4070+ <property name="custom-image"
4071+ writable="1"
4072+ transfer-ownership="none"
4073+ setter="set_custom_image"
4074+ getter="get_custom_image">
4075+ <attribute name="org.gtk.Property.get"
4076+ value="adw_avatar_get_custom_image"/>
4077+ <attribute name="org.gtk.Property.set"
4078+ value="adw_avatar_set_custom_image"/>
4079+ <doc xml:space="preserve"
4080+ filename="src/adw-avatar.c"
4081+ line="415">A custom image paintable.
4082+
4083+Custom image is displayed instead of initials or icon.</doc>
4084+ <type name="Gdk.Paintable"/>
4085+ </property>
4086+ <property name="icon-name"
4087+ writable="1"
4088+ transfer-ownership="none"
4089+ setter="set_icon_name"
4090+ getter="get_icon_name"
4091+ default-value="NULL">
4092+ <attribute name="org.gtk.Property.get"
4093+ value="adw_avatar_get_icon_name"/>
4094+ <attribute name="org.gtk.Property.set"
4095+ value="adw_avatar_set_icon_name"/>
4096+ <doc xml:space="preserve"
4097+ filename="src/adw-avatar.c"
4098+ line="378">The name of an icon to use as a fallback.
4099+
4100+If no name is set, `avatar-default-symbolic` will be used.</doc>
4101+ <type name="utf8" c:type="gchar*"/>
4102+ </property>
4103+ <property name="show-initials"
4104+ writable="1"
4105+ transfer-ownership="none"
4106+ setter="set_show_initials"
4107+ getter="get_show_initials"
4108+ default-value="FALSE">
4109+ <attribute name="org.gtk.Property.get"
4110+ value="adw_avatar_get_show_initials"/>
4111+ <attribute name="org.gtk.Property.set"
4112+ value="adw_avatar_set_show_initials"/>
4113+ <doc xml:space="preserve"
4114+ filename="src/adw-avatar.c"
4115+ line="403">Whether initials are used instead of an icon on the fallback avatar.
4116+
4117+See [property@Avatar:icon-name] for how to change the fallback icon.</doc>
4118+ <type name="gboolean" c:type="gboolean"/>
4119+ </property>
4120+ <property name="size"
4121+ writable="1"
4122+ transfer-ownership="none"
4123+ setter="set_size"
4124+ getter="get_size"
4125+ default-value="-1">
4126+ <attribute name="org.gtk.Property.get" value="adw_avatar_get_size"/>
4127+ <attribute name="org.gtk.Property.set" value="adw_avatar_set_size"/>
4128+ <doc xml:space="preserve"
4129+ filename="src/adw-avatar.c"
4130+ line="427">The size of the avatar.</doc>
4131+ <type name="gint" c:type="gint"/>
4132+ </property>
4133+ <property name="text"
4134+ writable="1"
4135+ transfer-ownership="none"
4136+ setter="set_text"
4137+ getter="get_text">
4138+ <attribute name="org.gtk.Property.get" value="adw_avatar_get_text"/>
4139+ <attribute name="org.gtk.Property.set" value="adw_avatar_set_text"/>
4140+ <doc xml:space="preserve"
4141+ filename="src/adw-avatar.c"
4142+ line="390">Sets the text used to generate the fallback initials and color.
4143+
4144+It's only used to generate the color if [property@Avatar:show-initials] is
4145+`FALSE`.</doc>
4146+ <type name="utf8" c:type="gchar*"/>
4147+ </property>
4148+ </class>
4149+ <record name="AvatarClass"
4150+ c:type="AdwAvatarClass"
4151+ glib:is-gtype-struct-for="Avatar">
4152+ <source-position filename="src/adw-avatar.h" line="22"/>
4153+ <field name="parent_class">
4154+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
4155+ </field>
4156+ </record>
4157+ <class name="Banner"
4158+ c:symbol-prefix="banner"
4159+ c:type="AdwBanner"
4160+ version="1.3"
4161+ parent="Gtk.Widget"
4162+ final="1"
4163+ glib:type-name="AdwBanner"
4164+ glib:get-type="adw_banner_get_type"
4165+ glib:type-struct="BannerClass">
4166+ <doc xml:space="preserve"
4167+ filename="src/adw-banner.c"
4168+ line="23">A bar with contextual information.
4169+
4170+&lt;picture&gt;
4171+ &lt;source srcset="banner-dark.png" media="(prefers-color-scheme: dark)"&gt;
4172+ &lt;img src="banner.png" alt="banner"&gt;
4173+&lt;/picture&gt;
4174+
4175+Banners are hidden by default, use [property@Banner:revealed] to show them.
4176+
4177+Banners have a title, set with [property@Banner:title]. Titles can be marked
4178+up with Pango markup, use [property@Banner:use-markup] to enable it.
4179+
4180+The title will be shown centered or left-aligned depending on available
4181+space.
4182+
4183+Banners can optionally have a button with text on it, set through
4184+[property@Banner:button-label]. The button can be used with a `GAction`,
4185+or with the [signal@Banner::button-clicked] signal.
4186+
4187+## CSS nodes
4188+
4189+`AdwBanner` has a main CSS node with the name `banner`.</doc>
4190+ <source-position filename="src/adw-banner.h" line="23"/>
4191+ <implements name="Gtk.Accessible"/>
4192+ <implements name="Gtk.Actionable"/>
4193+ <implements name="Gtk.Buildable"/>
4194+ <implements name="Gtk.ConstraintTarget"/>
4195+ <constructor name="new" c:identifier="adw_banner_new" version="1.3">
4196+ <doc xml:space="preserve"
4197+ filename="src/adw-banner.c"
4198+ line="507">Creates a new `AdwBanner`.</doc>
4199+ <source-position filename="src/adw-banner.h" line="26"/>
4200+ <return-value transfer-ownership="none">
4201+ <doc xml:space="preserve"
4202+ filename="src/adw-banner.c"
4203+ line="513">the newly created `AdwBanner`</doc>
4204+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
4205+ </return-value>
4206+ <parameters>
4207+ <parameter name="title" transfer-ownership="none">
4208+ <doc xml:space="preserve"
4209+ filename="src/adw-banner.c"
4210+ line="509">the banner title</doc>
4211+ <type name="utf8" c:type="const char*"/>
4212+ </parameter>
4213+ </parameters>
4214+ </constructor>
4215+ <method name="get_button_label"
4216+ c:identifier="adw_banner_get_button_label"
4217+ glib:get-property="button-label"
4218+ version="1.3">
4219+ <attribute name="org.gtk.Method.get_property" value="button-label"/>
4220+ <doc xml:space="preserve"
4221+ filename="src/adw-banner.c"
4222+ line="571">Gets the button label for @self.</doc>
4223+ <source-position filename="src/adw-banner.h" line="35"/>
4224+ <return-value transfer-ownership="none" nullable="1">
4225+ <doc xml:space="preserve"
4226+ filename="src/adw-banner.c"
4227+ line="577">the button label for @self</doc>
4228+ <type name="utf8" c:type="const char*"/>
4229+ </return-value>
4230+ <parameters>
4231+ <instance-parameter name="self" transfer-ownership="none">
4232+ <doc xml:space="preserve"
4233+ filename="src/adw-banner.c"
4234+ line="573">a banner</doc>
4235+ <type name="Banner" c:type="AdwBanner*"/>
4236+ </instance-parameter>
4237+ </parameters>
4238+ </method>
4239+ <method name="get_revealed"
4240+ c:identifier="adw_banner_get_revealed"
4241+ glib:get-property="revealed"
4242+ version="1.3">
4243+ <attribute name="org.gtk.Method.get_property" value="revealed"/>
4244+ <doc xml:space="preserve"
4245+ filename="src/adw-banner.c"
4246+ line="664">Gets if a banner is revealed</doc>
4247+ <source-position filename="src/adw-banner.h" line="41"/>
4248+ <return-value transfer-ownership="none">
4249+ <doc xml:space="preserve"
4250+ filename="src/adw-banner.c"
4251+ line="670">Whether a banner is revealed</doc>
4252+ <type name="gboolean" c:type="gboolean"/>
4253+ </return-value>
4254+ <parameters>
4255+ <instance-parameter name="self" transfer-ownership="none">
4256+ <doc xml:space="preserve"
4257+ filename="src/adw-banner.c"
4258+ line="666">a banner</doc>
4259+ <type name="Banner" c:type="AdwBanner*"/>
4260+ </instance-parameter>
4261+ </parameters>
4262+ </method>
4263+ <method name="get_title"
4264+ c:identifier="adw_banner_get_title"
4265+ glib:get-property="title"
4266+ version="1.3">
4267+ <attribute name="org.gtk.Method.get_property" value="title"/>
4268+ <doc xml:space="preserve"
4269+ filename="src/adw-banner.c"
4270+ line="527">Gets the title for @self.</doc>
4271+ <source-position filename="src/adw-banner.h" line="29"/>
4272+ <return-value transfer-ownership="none">
4273+ <doc xml:space="preserve"
4274+ filename="src/adw-banner.c"
4275+ line="533">the title for @self</doc>
4276+ <type name="utf8" c:type="const char*"/>
4277+ </return-value>
4278+ <parameters>
4279+ <instance-parameter name="self" transfer-ownership="none">
4280+ <doc xml:space="preserve"
4281+ filename="src/adw-banner.c"
4282+ line="529">a banner</doc>
4283+ <type name="Banner" c:type="AdwBanner*"/>
4284+ </instance-parameter>
4285+ </parameters>
4286+ </method>
4287+ <method name="get_use_markup"
4288+ c:identifier="adw_banner_get_use_markup"
4289+ glib:get-property="use-markup"
4290+ version="1.3">
4291+ <attribute name="org.gtk.Method.get_property" value="use-markup"/>
4292+ <doc xml:space="preserve"
4293+ filename="src/adw-banner.c"
4294+ line="619">Gets whether to use Pango markup for the banner title.</doc>
4295+ <source-position filename="src/adw-banner.h" line="47"/>
4296+ <return-value transfer-ownership="none">
4297+ <doc xml:space="preserve"
4298+ filename="src/adw-banner.c"
4299+ line="625">whether to use markup</doc>
4300+ <type name="gboolean" c:type="gboolean"/>
4301+ </return-value>
4302+ <parameters>
4303+ <instance-parameter name="self" transfer-ownership="none">
4304+ <doc xml:space="preserve"
4305+ filename="src/adw-banner.c"
4306+ line="621">a banner</doc>
4307+ <type name="Banner" c:type="AdwBanner*"/>
4308+ </instance-parameter>
4309+ </parameters>
4310+ </method>
4311+ <method name="set_button_label"
4312+ c:identifier="adw_banner_set_button_label"
4313+ glib:set-property="button-label"
4314+ version="1.3">
4315+ <attribute name="org.gtk.Method.set_property" value="button-label"/>
4316+ <doc xml:space="preserve"
4317+ filename="src/adw-banner.c"
4318+ line="589">Sets the button label for @self.
4319+
4320+If set to `""` or `NULL`, the button won't be shown.
4321+
4322+The button can be used with a `GAction`, or with the
4323+[signal@Banner::button-clicked] signal.</doc>
4324+ <source-position filename="src/adw-banner.h" line="37"/>
4325+ <return-value transfer-ownership="none">
4326+ <type name="none" c:type="void"/>
4327+ </return-value>
4328+ <parameters>
4329+ <instance-parameter name="self" transfer-ownership="none">
4330+ <doc xml:space="preserve"
4331+ filename="src/adw-banner.c"
4332+ line="591">a banner</doc>
4333+ <type name="Banner" c:type="AdwBanner*"/>
4334+ </instance-parameter>
4335+ <parameter name="label"
4336+ transfer-ownership="none"
4337+ nullable="1"
4338+ allow-none="1">
4339+ <doc xml:space="preserve"
4340+ filename="src/adw-banner.c"
4341+ line="592">the label</doc>
4342+ <type name="utf8" c:type="const char*"/>
4343+ </parameter>
4344+ </parameters>
4345+ </method>
4346+ <method name="set_revealed"
4347+ c:identifier="adw_banner_set_revealed"
4348+ glib:set-property="revealed"
4349+ version="1.3">
4350+ <attribute name="org.gtk.Method.get_property" value="revealed"/>
4351+ <doc xml:space="preserve"
4352+ filename="src/adw-banner.c"
4353+ line="682">Sets whether a banner should be revealed</doc>
4354+ <source-position filename="src/adw-banner.h" line="43"/>
4355+ <return-value transfer-ownership="none">
4356+ <type name="none" c:type="void"/>
4357+ </return-value>
4358+ <parameters>
4359+ <instance-parameter name="self" transfer-ownership="none">
4360+ <doc xml:space="preserve"
4361+ filename="src/adw-banner.c"
4362+ line="684">a banner</doc>
4363+ <type name="Banner" c:type="AdwBanner*"/>
4364+ </instance-parameter>
4365+ <parameter name="revealed" transfer-ownership="none">
4366+ <doc xml:space="preserve"
4367+ filename="src/adw-banner.c"
4368+ line="685">whether a banner should be revealed</doc>
4369+ <type name="gboolean" c:type="gboolean"/>
4370+ </parameter>
4371+ </parameters>
4372+ </method>
4373+ <method name="set_title"
4374+ c:identifier="adw_banner_set_title"
4375+ glib:set-property="title"
4376+ version="1.3">
4377+ <attribute name="org.gtk.Method.set_property" value="title"/>
4378+ <doc xml:space="preserve"
4379+ filename="src/adw-banner.c"
4380+ line="545">Sets the title for this banner.
4381+
4382+See also: [property@Banner:use-markup].</doc>
4383+ <source-position filename="src/adw-banner.h" line="31"/>
4384+ <return-value transfer-ownership="none">
4385+ <type name="none" c:type="void"/>
4386+ </return-value>
4387+ <parameters>
4388+ <instance-parameter name="self" transfer-ownership="none">
4389+ <doc xml:space="preserve"
4390+ filename="src/adw-banner.c"
4391+ line="547">a banner</doc>
4392+ <type name="Banner" c:type="AdwBanner*"/>
4393+ </instance-parameter>
4394+ <parameter name="title" transfer-ownership="none">
4395+ <doc xml:space="preserve"
4396+ filename="src/adw-banner.c"
4397+ line="548">the title</doc>
4398+ <type name="utf8" c:type="const char*"/>
4399+ </parameter>
4400+ </parameters>
4401+ </method>
4402+ <method name="set_use_markup"
4403+ c:identifier="adw_banner_set_use_markup"
4404+ glib:set-property="use-markup"
4405+ version="1.3">
4406+ <attribute name="org.gtk.Method.set_property" value="use-markup"/>
4407+ <doc xml:space="preserve"
4408+ filename="src/adw-banner.c"
4409+ line="637">Sets whether to use Pango markup for the banner title.
4410+
4411+See also [func@Pango.parse_markup].</doc>
4412+ <source-position filename="src/adw-banner.h" line="49"/>
4413+ <return-value transfer-ownership="none">
4414+ <type name="none" c:type="void"/>
4415+ </return-value>
4416+ <parameters>
4417+ <instance-parameter name="self" transfer-ownership="none">
4418+ <doc xml:space="preserve"
4419+ filename="src/adw-banner.c"
4420+ line="639">a banner</doc>
4421+ <type name="Banner" c:type="AdwBanner*"/>
4422+ </instance-parameter>
4423+ <parameter name="use_markup" transfer-ownership="none">
4424+ <doc xml:space="preserve"
4425+ filename="src/adw-banner.c"
4426+ line="640">whether to use markup</doc>
4427+ <type name="gboolean" c:type="gboolean"/>
4428+ </parameter>
4429+ </parameters>
4430+ </method>
4431+ <property name="button-label"
4432+ version="1.3"
4433+ writable="1"
4434+ transfer-ownership="none"
4435+ setter="set_button_label"
4436+ getter="get_button_label">
4437+ <attribute name="org.gtk.Property.get"
4438+ value="adw_banner_get_button_label"/>
4439+ <attribute name="org.gtk.Property.set"
4440+ value="adw_banner_set_button_label"/>
4441+ <doc xml:space="preserve"
4442+ filename="src/adw-banner.c"
4443+ line="367">The label to show on the button.
4444+
4445+If set to `""` or `NULL`, the button won't be shown.
4446+
4447+The button can be used with a `GAction`, or with the
4448+[signal@Banner::button-clicked] signal.</doc>
4449+ <type name="utf8" c:type="gchar*"/>
4450+ </property>
4451+ <property name="revealed"
4452+ version="1.3"
4453+ writable="1"
4454+ transfer-ownership="none"
4455+ setter="set_revealed"
4456+ getter="get_revealed"
4457+ default-value="FALSE">
4458+ <attribute name="org.gtk.Property.get"
4459+ value="adw_banner_get_revealed"/>
4460+ <attribute name="org.gtk.Property.set"
4461+ value="adw_banner_set_revealed"/>
4462+ <doc xml:space="preserve"
4463+ filename="src/adw-banner.c"
4464+ line="398">Whether the banner is currently revealed.</doc>
4465+ <type name="gboolean" c:type="gboolean"/>
4466+ </property>
4467+ <property name="title"
4468+ version="1.3"
4469+ writable="1"
4470+ transfer-ownership="none"
4471+ setter="set_title"
4472+ getter="get_title">
4473+ <attribute name="org.gtk.Property.get" value="adw_banner_get_title"/>
4474+ <attribute name="org.gtk.Property.set" value="adw_banner_set_title"/>
4475+ <doc xml:space="preserve"
4476+ filename="src/adw-banner.c"
4477+ line="353">The title for this banner.
4478+
4479+See also: [property@Banner:use-markup].</doc>
4480+ <type name="utf8" c:type="gchar*"/>
4481+ </property>
4482+ <property name="use-markup"
4483+ version="1.3"
4484+ writable="1"
4485+ transfer-ownership="none"
4486+ setter="set_use_markup"
4487+ getter="get_use_markup"
4488+ default-value="TRUE">
4489+ <attribute name="org.gtk.Property.get"
4490+ value="adw_banner_get_use_markup"/>
4491+ <attribute name="org.gtk.Property.set"
4492+ value="adw_banner_set_use_markup"/>
4493+ <doc xml:space="preserve"
4494+ filename="src/adw-banner.c"
4495+ line="384">Whether to use Pango markup for the banner title.
4496+
4497+See also [func@Pango.parse_markup].</doc>
4498+ <type name="gboolean" c:type="gboolean"/>
4499+ </property>
4500+ <glib:signal name="button-clicked" when="last" version="1.3">
4501+ <doc xml:space="preserve"
4502+ filename="src/adw-banner.c"
4503+ line="410">This signal is emitted after the action button has been clicked.
4504+
4505+It can be used as an alternative to setting an action.</doc>
4506+ <return-value transfer-ownership="none">
4507+ <type name="none" c:type="void"/>
4508+ </return-value>
4509+ </glib:signal>
4510+ </class>
4511+ <record name="BannerClass"
4512+ c:type="AdwBannerClass"
4513+ glib:is-gtype-struct-for="Banner">
4514+ <source-position filename="src/adw-banner.h" line="23"/>
4515+ <field name="parent_class">
4516+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
4517+ </field>
4518+ </record>
4519+ <class name="Bin"
4520+ c:symbol-prefix="bin"
4521+ c:type="AdwBin"
4522+ parent="Gtk.Widget"
4523+ glib:type-name="AdwBin"
4524+ glib:get-type="adw_bin_get_type"
4525+ glib:type-struct="BinClass">
4526+ <doc xml:space="preserve"
4527+ filename="src/adw-bin.c"
4528+ line="14">A widget with one child.
4529+
4530+&lt;picture&gt;
4531+ &lt;source srcset="bin-dark.png" media="(prefers-color-scheme: dark)"&gt;
4532+ &lt;img src="bin.png" alt="bin"&gt;
4533+&lt;/picture&gt;
4534+
4535+The `AdwBin` widget has only one child, set with the [property@Bin:child]
4536+property.
4537+
4538+It is useful for deriving subclasses, since it provides common code needed
4539+for handling a single child widget.</doc>
4540+ <source-position filename="src/adw-bin.h" line="29"/>
4541+ <implements name="Gtk.Accessible"/>
4542+ <implements name="Gtk.Buildable"/>
4543+ <implements name="Gtk.ConstraintTarget"/>
4544+ <constructor name="new" c:identifier="adw_bin_new">
4545+ <doc xml:space="preserve"
4546+ filename="src/adw-bin.c"
4547+ line="149">Creates a new `AdwBin`.</doc>
4548+ <source-position filename="src/adw-bin.h" line="32"/>
4549+ <return-value transfer-ownership="none">
4550+ <doc xml:space="preserve"
4551+ filename="src/adw-bin.c"
4552+ line="154">the new created `AdwBin`</doc>
4553+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
4554+ </return-value>
4555+ </constructor>
4556+ <method name="get_child"
4557+ c:identifier="adw_bin_get_child"
4558+ glib:get-property="child">
4559+ <attribute name="org.gtk.Method.get_property" value="child"/>
4560+ <doc xml:space="preserve"
4561+ filename="src/adw-bin.c"
4562+ line="162">Gets the child widget of @self.</doc>
4563+ <source-position filename="src/adw-bin.h" line="35"/>
4564+ <return-value transfer-ownership="none" nullable="1">
4565+ <doc xml:space="preserve"
4566+ filename="src/adw-bin.c"
4567+ line="168">the child widget of @self</doc>
4568+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
4569+ </return-value>
4570+ <parameters>
4571+ <instance-parameter name="self" transfer-ownership="none">
4572+ <doc xml:space="preserve"
4573+ filename="src/adw-bin.c"
4574+ line="164">a bin</doc>
4575+ <type name="Bin" c:type="AdwBin*"/>
4576+ </instance-parameter>
4577+ </parameters>
4578+ </method>
4579+ <method name="set_child"
4580+ c:identifier="adw_bin_set_child"
4581+ glib:set-property="child">
4582+ <attribute name="org.gtk.Method.set_property" value="child"/>
4583+ <doc xml:space="preserve"
4584+ filename="src/adw-bin.c"
4585+ line="182">Sets the child widget of @self.</doc>
4586+ <source-position filename="src/adw-bin.h" line="37"/>
4587+ <return-value transfer-ownership="none">
4588+ <type name="none" c:type="void"/>
4589+ </return-value>
4590+ <parameters>
4591+ <instance-parameter name="self" transfer-ownership="none">
4592+ <doc xml:space="preserve"
4593+ filename="src/adw-bin.c"
4594+ line="184">a bin</doc>
4595+ <type name="Bin" c:type="AdwBin*"/>
4596+ </instance-parameter>
4597+ <parameter name="child"
4598+ transfer-ownership="none"
4599+ nullable="1"
4600+ allow-none="1">
4601+ <doc xml:space="preserve"
4602+ filename="src/adw-bin.c"
4603+ line="185">the child widget</doc>
4604+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
4605+ </parameter>
4606+ </parameters>
4607+ </method>
4608+ <property name="child"
4609+ writable="1"
4610+ transfer-ownership="none"
4611+ setter="set_child"
4612+ getter="get_child">
4613+ <attribute name="org.gtk.Property.get" value="adw_bin_get_child"/>
4614+ <attribute name="org.gtk.Property.set" value="adw_bin_set_child"/>
4615+ <doc xml:space="preserve"
4616+ filename="src/adw-bin.c"
4617+ line="109">The child widget of the `AdwBin`.</doc>
4618+ <type name="Gtk.Widget"/>
4619+ </property>
4620+ <field name="parent_instance">
4621+ <type name="Gtk.Widget" c:type="GtkWidget"/>
4622+ </field>
4623+ </class>
4624+ <record name="BinClass"
4625+ c:type="AdwBinClass"
4626+ glib:is-gtype-struct-for="Bin">
4627+ <source-position filename="src/adw-bin.h" line="29"/>
4628+ <field name="parent_class">
4629+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
4630+ </field>
4631+ </record>
4632+ <class name="ButtonContent"
4633+ c:symbol-prefix="button_content"
4634+ c:type="AdwButtonContent"
4635+ parent="Gtk.Widget"
4636+ final="1"
4637+ glib:type-name="AdwButtonContent"
4638+ glib:get-type="adw_button_content_get_type"
4639+ glib:type-struct="ButtonContentClass">
4640+ <doc xml:space="preserve"
4641+ filename="src/adw-button-content.c"
4642+ line="14">A helper widget for creating buttons.
4643+
4644+&lt;picture&gt;
4645+ &lt;source srcset="button-content-dark.png" media="(prefers-color-scheme: dark)"&gt;
4646+ &lt;img src="button-content.png" alt="button-content"&gt;
4647+&lt;/picture&gt;
4648+
4649+`AdwButtonContent` is a box-like widget with an icon and a label.
4650+
4651+It's intended to be used as a direct child of [class@Gtk.Button],
4652+[class@Gtk.MenuButton] or [class@SplitButton], when they need to have both an
4653+icon and a label, as follows:
4654+
4655+```xml
4656+&lt;object class="GtkButton"&gt;
4657+ &lt;property name="child"&gt;
4658+ &lt;object class="AdwButtonContent"&gt;
4659+ &lt;property name="icon-name"&gt;document-open-symbolic&lt;/property&gt;
4660+ &lt;property name="label" translatable="yes"&gt;_Open&lt;/property&gt;
4661+ &lt;property name="use-underline"&gt;True&lt;/property&gt;
4662+ &lt;/object&gt;
4663+ &lt;/property&gt;
4664+&lt;/object&gt;
4665+```
4666+
4667+`AdwButtonContent` handles style classes and connecting the mnemonic to the
4668+button automatically.
4669+
4670+## CSS nodes
4671+
4672+```
4673+buttoncontent
4674+├── image
4675+╰── label
4676+```
4677+
4678+`AdwButtonContent`'s CSS node is called `buttoncontent`. It contains the
4679+subnodes `image` and `label`.
4680+
4681+When inside a `GtkButton` or `AdwSplitButton`, the button will receive the
4682+`.image-text-button` style class. When inside a `GtkMenuButton`, the
4683+internal `GtkButton` will receive it instead.
4684+
4685+## Accessibility
4686+
4687+`AdwButtonContent` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
4688+ <source-position filename="src/adw-button-content.h" line="24"/>
4689+ <implements name="Gtk.Accessible"/>
4690+ <implements name="Gtk.Buildable"/>
4691+ <implements name="Gtk.ConstraintTarget"/>
4692+ <constructor name="new" c:identifier="adw_button_content_new">
4693+ <doc xml:space="preserve"
4694+ filename="src/adw-button-content.c"
4695+ line="276">Creates a new `AdwButtonContent`.</doc>
4696+ <source-position filename="src/adw-button-content.h" line="27"/>
4697+ <return-value transfer-ownership="none">
4698+ <doc xml:space="preserve"
4699+ filename="src/adw-button-content.c"
4700+ line="281">the new created `AdwButtonContent`</doc>
4701+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
4702+ </return-value>
4703+ </constructor>
4704+ <method name="get_icon_name"
4705+ c:identifier="adw_button_content_get_icon_name"
4706+ glib:get-property="icon-name">
4707+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
4708+ <doc xml:space="preserve"
4709+ filename="src/adw-button-content.c"
4710+ line="289">Gets the name of the displayed icon.</doc>
4711+ <source-position filename="src/adw-button-content.h" line="36"/>
4712+ <return-value transfer-ownership="none">
4713+ <doc xml:space="preserve"
4714+ filename="src/adw-button-content.c"
4715+ line="295">the icon name</doc>
4716+ <type name="utf8" c:type="const char*"/>
4717+ </return-value>
4718+ <parameters>
4719+ <instance-parameter name="self" transfer-ownership="none">
4720+ <doc xml:space="preserve"
4721+ filename="src/adw-button-content.c"
4722+ line="291">a button content</doc>
4723+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4724+ </instance-parameter>
4725+ </parameters>
4726+ </method>
4727+ <method name="get_label"
4728+ c:identifier="adw_button_content_get_label"
4729+ glib:get-property="label">
4730+ <attribute name="org.gtk.Method.get_property" value="label"/>
4731+ <doc xml:space="preserve"
4732+ filename="src/adw-button-content.c"
4733+ line="335">Gets the displayed label.</doc>
4734+ <source-position filename="src/adw-button-content.h" line="30"/>
4735+ <return-value transfer-ownership="none">
4736+ <doc xml:space="preserve"
4737+ filename="src/adw-button-content.c"
4738+ line="341">the label</doc>
4739+ <type name="utf8" c:type="const char*"/>
4740+ </return-value>
4741+ <parameters>
4742+ <instance-parameter name="self" transfer-ownership="none">
4743+ <doc xml:space="preserve"
4744+ filename="src/adw-button-content.c"
4745+ line="337">a button content</doc>
4746+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4747+ </instance-parameter>
4748+ </parameters>
4749+ </method>
4750+ <method name="get_use_underline"
4751+ c:identifier="adw_button_content_get_use_underline"
4752+ glib:get-property="use-underline">
4753+ <attribute name="org.gtk.Method.get_property" value="use-underline"/>
4754+ <doc xml:space="preserve"
4755+ filename="src/adw-button-content.c"
4756+ line="376">Gets whether an underline in the text indicates a mnemonic.</doc>
4757+ <source-position filename="src/adw-button-content.h" line="42"/>
4758+ <return-value transfer-ownership="none">
4759+ <doc xml:space="preserve"
4760+ filename="src/adw-button-content.c"
4761+ line="382">whether an underline in the text indicates a mnemonic</doc>
4762+ <type name="gboolean" c:type="gboolean"/>
4763+ </return-value>
4764+ <parameters>
4765+ <instance-parameter name="self" transfer-ownership="none">
4766+ <doc xml:space="preserve"
4767+ filename="src/adw-button-content.c"
4768+ line="378">a button content</doc>
4769+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4770+ </instance-parameter>
4771+ </parameters>
4772+ </method>
4773+ <method name="set_icon_name"
4774+ c:identifier="adw_button_content_set_icon_name"
4775+ glib:set-property="icon-name">
4776+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
4777+ <doc xml:space="preserve"
4778+ filename="src/adw-button-content.c"
4779+ line="305">Sets the name of the displayed icon.
4780+
4781+If empty, the icon is not shown.</doc>
4782+ <source-position filename="src/adw-button-content.h" line="38"/>
4783+ <return-value transfer-ownership="none">
4784+ <type name="none" c:type="void"/>
4785+ </return-value>
4786+ <parameters>
4787+ <instance-parameter name="self" transfer-ownership="none">
4788+ <doc xml:space="preserve"
4789+ filename="src/adw-button-content.c"
4790+ line="307">a button content</doc>
4791+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4792+ </instance-parameter>
4793+ <parameter name="icon_name" transfer-ownership="none">
4794+ <doc xml:space="preserve"
4795+ filename="src/adw-button-content.c"
4796+ line="308">the new icon name</doc>
4797+ <type name="utf8" c:type="const char*"/>
4798+ </parameter>
4799+ </parameters>
4800+ </method>
4801+ <method name="set_label"
4802+ c:identifier="adw_button_content_set_label"
4803+ glib:set-property="label">
4804+ <attribute name="org.gtk.Method.set_property" value="label"/>
4805+ <doc xml:space="preserve"
4806+ filename="src/adw-button-content.c"
4807+ line="351">Sets the displayed label.</doc>
4808+ <source-position filename="src/adw-button-content.h" line="32"/>
4809+ <return-value transfer-ownership="none">
4810+ <type name="none" c:type="void"/>
4811+ </return-value>
4812+ <parameters>
4813+ <instance-parameter name="self" transfer-ownership="none">
4814+ <doc xml:space="preserve"
4815+ filename="src/adw-button-content.c"
4816+ line="353">a button content</doc>
4817+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4818+ </instance-parameter>
4819+ <parameter name="label" transfer-ownership="none">
4820+ <doc xml:space="preserve"
4821+ filename="src/adw-button-content.c"
4822+ line="354">the new label</doc>
4823+ <type name="utf8" c:type="const char*"/>
4824+ </parameter>
4825+ </parameters>
4826+ </method>
4827+ <method name="set_use_underline"
4828+ c:identifier="adw_button_content_set_use_underline"
4829+ glib:set-property="use-underline">
4830+ <attribute name="org.gtk.Method.set_property" value="use-underline"/>
4831+ <doc xml:space="preserve"
4832+ filename="src/adw-button-content.c"
4833+ line="392">Sets whether an underline in the text indicates a mnemonic.
4834+
4835+The mnemonic can be used to activate the parent button.
4836+
4837+See [property@ButtonContent:label].</doc>
4838+ <source-position filename="src/adw-button-content.h" line="44"/>
4839+ <return-value transfer-ownership="none">
4840+ <type name="none" c:type="void"/>
4841+ </return-value>
4842+ <parameters>
4843+ <instance-parameter name="self" transfer-ownership="none">
4844+ <doc xml:space="preserve"
4845+ filename="src/adw-button-content.c"
4846+ line="394">a button content</doc>
4847+ <type name="ButtonContent" c:type="AdwButtonContent*"/>
4848+ </instance-parameter>
4849+ <parameter name="use_underline" transfer-ownership="none">
4850+ <doc xml:space="preserve"
4851+ filename="src/adw-button-content.c"
4852+ line="395">whether an underline in the text indicates a mnemonic</doc>
4853+ <type name="gboolean" c:type="gboolean"/>
4854+ </parameter>
4855+ </parameters>
4856+ </method>
4857+ <property name="icon-name"
4858+ writable="1"
4859+ transfer-ownership="none"
4860+ setter="set_icon_name"
4861+ getter="get_icon_name">
4862+ <attribute name="org.gtk.Property.get"
4863+ value="adw_button_content_get_icon_name"/>
4864+ <attribute name="org.gtk.Property.set"
4865+ value="adw_button_content_set_icon_name"/>
4866+ <doc xml:space="preserve"
4867+ filename="src/adw-button-content.c"
4868+ line="211">The name of the displayed icon.
4869+
4870+If empty, the icon is not shown.</doc>
4871+ <type name="utf8" c:type="gchar*"/>
4872+ </property>
4873+ <property name="label"
4874+ writable="1"
4875+ transfer-ownership="none"
4876+ setter="set_label"
4877+ getter="get_label">
4878+ <attribute name="org.gtk.Property.get"
4879+ value="adw_button_content_get_label"/>
4880+ <attribute name="org.gtk.Property.set"
4881+ value="adw_button_content_set_label"/>
4882+ <doc xml:space="preserve"
4883+ filename="src/adw-button-content.c"
4884+ line="223">The displayed label.</doc>
4885+ <type name="utf8" c:type="gchar*"/>
4886+ </property>
4887+ <property name="use-underline"
4888+ writable="1"
4889+ transfer-ownership="none"
4890+ setter="set_use_underline"
4891+ getter="get_use_underline"
4892+ default-value="FALSE">
4893+ <attribute name="org.gtk.Property.get"
4894+ value="adw_button_content_get_use_underline"/>
4895+ <attribute name="org.gtk.Property.set"
4896+ value="adw_button_content_set_use_underline"/>
4897+ <doc xml:space="preserve"
4898+ filename="src/adw-button-content.c"
4899+ line="233">Whether an underline in the text indicates a mnemonic.
4900+
4901+The mnemonic can be used to activate the parent button.
4902+
4903+See [property@ButtonContent:label].</doc>
4904+ <type name="gboolean" c:type="gboolean"/>
4905+ </property>
4906+ </class>
4907+ <record name="ButtonContentClass"
4908+ c:type="AdwButtonContentClass"
4909+ glib:is-gtype-struct-for="ButtonContent">
4910+ <source-position filename="src/adw-button-content.h" line="24"/>
4911+ <field name="parent_class">
4912+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
4913+ </field>
4914+ </record>
4915+ <function-macro name="CHECK_VERSION"
4916+ c:identifier="ADW_CHECK_VERSION"
4917+ introspectable="0">
4918+ <doc xml:space="preserve"
4919+ filename="src/adw-version.h"
4920+ line="65">Compile-time version checking. Evaluates to `TRUE` if the version
4921+of Adwaita is greater than the required one.</doc>
4922+ <source-position filename="src/adw-version.h" line="73"/>
4923+ <parameters>
4924+ <parameter name="major">
4925+ <doc xml:space="preserve"
4926+ filename="src/adw-version.h"
4927+ line="67">required major version</doc>
4928+ </parameter>
4929+ <parameter name="minor">
4930+ <doc xml:space="preserve"
4931+ filename="src/adw-version.h"
4932+ line="68">required minor version</doc>
4933+ </parameter>
4934+ <parameter name="micro">
4935+ <doc xml:space="preserve"
4936+ filename="src/adw-version.h"
4937+ line="69">required micro version</doc>
4938+ </parameter>
4939+ </parameters>
4940+ </function-macro>
4941+ <class name="CallbackAnimationTarget"
4942+ c:symbol-prefix="callback_animation_target"
4943+ c:type="AdwCallbackAnimationTarget"
4944+ parent="AnimationTarget"
4945+ final="1"
4946+ glib:type-name="AdwCallbackAnimationTarget"
4947+ glib:get-type="adw_callback_animation_target_get_type"
4948+ glib:type-struct="CallbackAnimationTargetClass">
4949+ <doc xml:space="preserve"
4950+ filename="src/adw-animation-target.c"
4951+ line="17">An [class@AnimationTarget] that calls a given callback during the
4952+animation.</doc>
4953+ <source-position filename="src/adw-animation-target.h" line="38"/>
4954+ <constructor name="new" c:identifier="adw_callback_animation_target_new">
4955+ <doc xml:space="preserve"
4956+ filename="src/adw-animation-target.c"
4957+ line="119">Creates a new `AdwAnimationTarget` that calls the given @callback during
4958+the animation.</doc>
4959+ <source-position filename="src/adw-animation-target.h" line="41"/>
4960+ <return-value transfer-ownership="full">
4961+ <doc xml:space="preserve"
4962+ filename="src/adw-animation-target.c"
4963+ line="129">the newly created callback target</doc>
4964+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
4965+ </return-value>
4966+ <parameters>
4967+ <parameter name="callback"
4968+ transfer-ownership="none"
4969+ scope="notified"
4970+ closure="1"
4971+ destroy="2">
4972+ <doc xml:space="preserve"
4973+ filename="src/adw-animation-target.c"
4974+ line="121">the callback to call</doc>
4975+ <type name="AnimationTargetFunc" c:type="AdwAnimationTargetFunc"/>
4976+ </parameter>
4977+ <parameter name="user_data"
4978+ transfer-ownership="none"
4979+ nullable="1"
4980+ allow-none="1"
4981+ scope="notified"
4982+ closure="0">
4983+ <doc xml:space="preserve"
4984+ filename="src/adw-animation-target.c"
4985+ line="122">the data to be passed to @callback</doc>
4986+ <type name="gpointer" c:type="gpointer"/>
4987+ </parameter>
4988+ <parameter name="destroy"
4989+ transfer-ownership="none"
4990+ scope="async"
4991+ destroy="1">
4992+ <doc xml:space="preserve"
4993+ filename="src/adw-animation-target.c"
4994+ line="123">the function to be called when the
4995+ callback action is finalized</doc>
4996+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4997+ </parameter>
4998+ </parameters>
4999+ </constructor>
5000+ </class>
5001+ <record name="CallbackAnimationTargetClass"
5002+ c:type="AdwCallbackAnimationTargetClass"
5003+ disguised="1"
5004+ opaque="1"
5005+ glib:is-gtype-struct-for="CallbackAnimationTarget">
5006+ <source-position filename="src/adw-animation-target.h" line="38"/>
5007+ </record>
5008+ <class name="Carousel"
5009+ c:symbol-prefix="carousel"
5010+ c:type="AdwCarousel"
5011+ parent="Gtk.Widget"
5012+ final="1"
5013+ glib:type-name="AdwCarousel"
5014+ glib:get-type="adw_carousel_get_type"
5015+ glib:type-struct="CarouselClass">
5016+ <doc xml:space="preserve"
5017+ filename="src/adw-carousel.c"
5018+ line="24">A paginated scrolling widget.
5019+
5020+&lt;picture&gt;
5021+ &lt;source srcset="carousel-dark.png" media="(prefers-color-scheme: dark)"&gt;
5022+ &lt;img src="carousel.png" alt="carousel"&gt;
5023+&lt;/picture&gt;
5024+
5025+The `AdwCarousel` widget can be used to display a set of pages with
5026+swipe-based navigation between them.
5027+
5028+[class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used
5029+to provide page indicators for `AdwCarousel`.
5030+
5031+## CSS nodes
5032+
5033+`AdwCarousel` has a single CSS node with name `carousel`.</doc>
5034+ <source-position filename="src/adw-carousel.h" line="24"/>
5035+ <implements name="Swipeable"/>
5036+ <implements name="Gtk.Accessible"/>
5037+ <implements name="Gtk.Buildable"/>
5038+ <implements name="Gtk.ConstraintTarget"/>
5039+ <implements name="Gtk.Orientable"/>
5040+ <constructor name="new" c:identifier="adw_carousel_new">
5041+ <doc xml:space="preserve"
5042+ filename="src/adw-carousel.c"
5043+ line="1151">Creates a new `AdwCarousel`.</doc>
5044+ <source-position filename="src/adw-carousel.h" line="27"/>
5045+ <return-value transfer-ownership="none">
5046+ <doc xml:space="preserve"
5047+ filename="src/adw-carousel.c"
5048+ line="1156">the newly created `AdwCarousel`</doc>
5049+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5050+ </return-value>
5051+ </constructor>
5052+ <method name="append" c:identifier="adw_carousel_append">
5053+ <doc xml:space="preserve"
5054+ filename="src/adw-carousel.c"
5055+ line="1181">Appends @child to @self.</doc>
5056+ <source-position filename="src/adw-carousel.h" line="33"/>
5057+ <return-value transfer-ownership="none">
5058+ <type name="none" c:type="void"/>
5059+ </return-value>
5060+ <parameters>
5061+ <instance-parameter name="self" transfer-ownership="none">
5062+ <doc xml:space="preserve"
5063+ filename="src/adw-carousel.c"
5064+ line="1183">a carousel</doc>
5065+ <type name="Carousel" c:type="AdwCarousel*"/>
5066+ </instance-parameter>
5067+ <parameter name="child" transfer-ownership="none">
5068+ <doc xml:space="preserve"
5069+ filename="src/adw-carousel.c"
5070+ line="1184">a widget to add</doc>
5071+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5072+ </parameter>
5073+ </parameters>
5074+ </method>
5075+ <method name="get_allow_long_swipes"
5076+ c:identifier="adw_carousel_get_allow_long_swipes"
5077+ glib:get-property="allow-long-swipes">
5078+ <attribute name="org.gtk.Method.get_property"
5079+ value="allow-long-swipes"/>
5080+ <doc xml:space="preserve"
5081+ filename="src/adw-carousel.c"
5082+ line="1717">Gets whether to allow swiping for more than one page at a time.</doc>
5083+ <source-position filename="src/adw-carousel.h" line="93"/>
5084+ <return-value transfer-ownership="none">
5085+ <doc xml:space="preserve"
5086+ filename="src/adw-carousel.c"
5087+ line="1723">`TRUE` if long swipes are allowed</doc>
5088+ <type name="gboolean" c:type="gboolean"/>
5089+ </return-value>
5090+ <parameters>
5091+ <instance-parameter name="self" transfer-ownership="none">
5092+ <doc xml:space="preserve"
5093+ filename="src/adw-carousel.c"
5094+ line="1719">a carousel</doc>
5095+ <type name="Carousel" c:type="AdwCarousel*"/>
5096+ </instance-parameter>
5097+ </parameters>
5098+ </method>
5099+ <method name="get_allow_mouse_drag"
5100+ c:identifier="adw_carousel_get_allow_mouse_drag"
5101+ glib:get-property="allow-mouse-drag">
5102+ <attribute name="org.gtk.Method.get_property"
5103+ value="allow-mouse-drag"/>
5104+ <doc xml:space="preserve"
5105+ filename="src/adw-carousel.c"
5106+ line="1635">Sets whether @self can be dragged with mouse pointer.</doc>
5107+ <source-position filename="src/adw-carousel.h" line="81"/>
5108+ <return-value transfer-ownership="none">
5109+ <doc xml:space="preserve"
5110+ filename="src/adw-carousel.c"
5111+ line="1641">whether @self can be dragged with mouse pointer</doc>
5112+ <type name="gboolean" c:type="gboolean"/>
5113+ </return-value>
5114+ <parameters>
5115+ <instance-parameter name="self" transfer-ownership="none">
5116+ <doc xml:space="preserve"
5117+ filename="src/adw-carousel.c"
5118+ line="1637">a carousel</doc>
5119+ <type name="Carousel" c:type="AdwCarousel*"/>
5120+ </instance-parameter>
5121+ </parameters>
5122+ </method>
5123+ <method name="get_allow_scroll_wheel"
5124+ c:identifier="adw_carousel_get_allow_scroll_wheel"
5125+ glib:get-property="allow-scroll-wheel">
5126+ <attribute name="org.gtk.Method.get_property"
5127+ value="allow-scroll-wheel"/>
5128+ <doc xml:space="preserve"
5129+ filename="src/adw-carousel.c"
5130+ line="1676">Gets whether @self will respond to scroll wheel events.</doc>
5131+ <source-position filename="src/adw-carousel.h" line="87"/>
5132+ <return-value transfer-ownership="none">
5133+ <doc xml:space="preserve"
5134+ filename="src/adw-carousel.c"
5135+ line="1682">`TRUE` if @self will respond to scroll wheel events</doc>
5136+ <type name="gboolean" c:type="gboolean"/>
5137+ </return-value>
5138+ <parameters>
5139+ <instance-parameter name="self" transfer-ownership="none">
5140+ <doc xml:space="preserve"
5141+ filename="src/adw-carousel.c"
5142+ line="1678">a carousel</doc>
5143+ <type name="Carousel" c:type="AdwCarousel*"/>
5144+ </instance-parameter>
5145+ </parameters>
5146+ </method>
5147+ <method name="get_interactive"
5148+ c:identifier="adw_carousel_get_interactive"
5149+ glib:get-property="interactive">
5150+ <attribute name="org.gtk.Method.get_property" value="interactive"/>
5151+ <doc xml:space="preserve"
5152+ filename="src/adw-carousel.c"
5153+ line="1511">Gets whether @self can be navigated.</doc>
5154+ <source-position filename="src/adw-carousel.h" line="63"/>
5155+ <return-value transfer-ownership="none">
5156+ <doc xml:space="preserve"
5157+ filename="src/adw-carousel.c"
5158+ line="1517">whether @self can be navigated</doc>
5159+ <type name="gboolean" c:type="gboolean"/>
5160+ </return-value>
5161+ <parameters>
5162+ <instance-parameter name="self" transfer-ownership="none">
5163+ <doc xml:space="preserve"
5164+ filename="src/adw-carousel.c"
5165+ line="1513">a carousel</doc>
5166+ <type name="Carousel" c:type="AdwCarousel*"/>
5167+ </instance-parameter>
5168+ </parameters>
5169+ </method>
5170+ <method name="get_n_pages"
5171+ c:identifier="adw_carousel_get_n_pages"
5172+ glib:get-property="n-pages">
5173+ <attribute name="org.gtk.Method.get_property" value="n-pages"/>
5174+ <doc xml:space="preserve"
5175+ filename="src/adw-carousel.c"
5176+ line="1466">Gets the number of pages in @self.</doc>
5177+ <source-position filename="src/adw-carousel.h" line="58"/>
5178+ <return-value transfer-ownership="none">
5179+ <doc xml:space="preserve"
5180+ filename="src/adw-carousel.c"
5181+ line="1472">the number of pages in @self</doc>
5182+ <type name="guint" c:type="guint"/>
5183+ </return-value>
5184+ <parameters>
5185+ <instance-parameter name="self" transfer-ownership="none">
5186+ <doc xml:space="preserve"
5187+ filename="src/adw-carousel.c"
5188+ line="1468">a carousel</doc>
5189+ <type name="Carousel" c:type="AdwCarousel*"/>
5190+ </instance-parameter>
5191+ </parameters>
5192+ </method>
5193+ <method name="get_nth_page" c:identifier="adw_carousel_get_nth_page">
5194+ <doc xml:space="preserve"
5195+ filename="src/adw-carousel.c"
5196+ line="1443">Gets the page at position @n.</doc>
5197+ <source-position filename="src/adw-carousel.h" line="55"/>
5198+ <return-value transfer-ownership="none">
5199+ <doc xml:space="preserve"
5200+ filename="src/adw-carousel.c"
5201+ line="1450">the page</doc>
5202+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5203+ </return-value>
5204+ <parameters>
5205+ <instance-parameter name="self" transfer-ownership="none">
5206+ <doc xml:space="preserve"
5207+ filename="src/adw-carousel.c"
5208+ line="1445">a carousel</doc>
5209+ <type name="Carousel" c:type="AdwCarousel*"/>
5210+ </instance-parameter>
5211+ <parameter name="n" transfer-ownership="none">
5212+ <doc xml:space="preserve"
5213+ filename="src/adw-carousel.c"
5214+ line="1446">index of the page</doc>
5215+ <type name="guint" c:type="guint"/>
5216+ </parameter>
5217+ </parameters>
5218+ </method>
5219+ <method name="get_position"
5220+ c:identifier="adw_carousel_get_position"
5221+ glib:get-property="position">
5222+ <attribute name="org.gtk.Method.get_property" value="position"/>
5223+ <doc xml:space="preserve"
5224+ filename="src/adw-carousel.c"
5225+ line="1493">Gets current scroll position in @self, unitless.
5226+
5227+1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.</doc>
5228+ <source-position filename="src/adw-carousel.h" line="60"/>
5229+ <return-value transfer-ownership="none">
5230+ <doc xml:space="preserve"
5231+ filename="src/adw-carousel.c"
5232+ line="1501">the scroll position</doc>
5233+ <type name="gdouble" c:type="double"/>
5234+ </return-value>
5235+ <parameters>
5236+ <instance-parameter name="self" transfer-ownership="none">
5237+ <doc xml:space="preserve"
5238+ filename="src/adw-carousel.c"
5239+ line="1495">a carousel</doc>
5240+ <type name="Carousel" c:type="AdwCarousel*"/>
5241+ </instance-parameter>
5242+ </parameters>
5243+ </method>
5244+ <method name="get_reveal_duration"
5245+ c:identifier="adw_carousel_get_reveal_duration"
5246+ glib:get-property="reveal-duration">
5247+ <attribute name="org.gtk.Method.get_property" value="reveal-duration"/>
5248+ <doc xml:space="preserve"
5249+ filename="src/adw-carousel.c"
5250+ line="1759">Gets the page reveal duration, in milliseconds.</doc>
5251+ <source-position filename="src/adw-carousel.h" line="99"/>
5252+ <return-value transfer-ownership="none">
5253+ <doc xml:space="preserve"
5254+ filename="src/adw-carousel.c"
5255+ line="1765">the duration</doc>
5256+ <type name="guint" c:type="guint"/>
5257+ </return-value>
5258+ <parameters>
5259+ <instance-parameter name="self" transfer-ownership="none">
5260+ <doc xml:space="preserve"
5261+ filename="src/adw-carousel.c"
5262+ line="1761">a carousel</doc>
5263+ <type name="Carousel" c:type="AdwCarousel*"/>
5264+ </instance-parameter>
5265+ </parameters>
5266+ </method>
5267+ <method name="get_scroll_params"
5268+ c:identifier="adw_carousel_get_scroll_params"
5269+ glib:get-property="scroll-params">
5270+ <attribute name="org.gtk.Method.get_property" value="scroll-params"/>
5271+ <doc xml:space="preserve"
5272+ filename="src/adw-carousel.c"
5273+ line="1591">Gets the scroll animation spring parameters for @self.</doc>
5274+ <source-position filename="src/adw-carousel.h" line="75"/>
5275+ <return-value transfer-ownership="full">
5276+ <doc xml:space="preserve"
5277+ filename="src/adw-carousel.c"
5278+ line="1597">the animation parameters</doc>
5279+ <type name="SpringParams" c:type="AdwSpringParams*"/>
5280+ </return-value>
5281+ <parameters>
5282+ <instance-parameter name="self" transfer-ownership="none">
5283+ <doc xml:space="preserve"
5284+ filename="src/adw-carousel.c"
5285+ line="1593">a carousel</doc>
5286+ <type name="Carousel" c:type="AdwCarousel*"/>
5287+ </instance-parameter>
5288+ </parameters>
5289+ </method>
5290+ <method name="get_spacing"
5291+ c:identifier="adw_carousel_get_spacing"
5292+ glib:get-property="spacing">
5293+ <attribute name="org.gtk.Method.get_property" value="spacing"/>
5294+ <doc xml:space="preserve"
5295+ filename="src/adw-carousel.c"
5296+ line="1553">Gets spacing between pages in pixels.</doc>
5297+ <source-position filename="src/adw-carousel.h" line="69"/>
5298+ <return-value transfer-ownership="none">
5299+ <doc xml:space="preserve"
5300+ filename="src/adw-carousel.c"
5301+ line="1559">spacing between pages</doc>
5302+ <type name="guint" c:type="guint"/>
5303+ </return-value>
5304+ <parameters>
5305+ <instance-parameter name="self" transfer-ownership="none">
5306+ <doc xml:space="preserve"
5307+ filename="src/adw-carousel.c"
5308+ line="1555">a carousel</doc>
5309+ <type name="Carousel" c:type="AdwCarousel*"/>
5310+ </instance-parameter>
5311+ </parameters>
5312+ </method>
5313+ <method name="insert" c:identifier="adw_carousel_insert">
5314+ <doc xml:space="preserve"
5315+ filename="src/adw-carousel.c"
5316+ line="1198">Inserts @child into @self at position @position.
5317+
5318+If position is -1, or larger than the number of pages,
5319+@child will be appended to the end.</doc>
5320+ <source-position filename="src/adw-carousel.h" line="36"/>
5321+ <return-value transfer-ownership="none">
5322+ <type name="none" c:type="void"/>
5323+ </return-value>
5324+ <parameters>
5325+ <instance-parameter name="self" transfer-ownership="none">
5326+ <doc xml:space="preserve"
5327+ filename="src/adw-carousel.c"
5328+ line="1200">a carousel</doc>
5329+ <type name="Carousel" c:type="AdwCarousel*"/>
5330+ </instance-parameter>
5331+ <parameter name="child" transfer-ownership="none">
5332+ <doc xml:space="preserve"
5333+ filename="src/adw-carousel.c"
5334+ line="1201">a widget to add</doc>
5335+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5336+ </parameter>
5337+ <parameter name="position" transfer-ownership="none">
5338+ <doc xml:space="preserve"
5339+ filename="src/adw-carousel.c"
5340+ line="1202">the position to insert @child at</doc>
5341+ <type name="gint" c:type="int"/>
5342+ </parameter>
5343+ </parameters>
5344+ </method>
5345+ <method name="prepend" c:identifier="adw_carousel_prepend">
5346+ <doc xml:space="preserve"
5347+ filename="src/adw-carousel.c"
5348+ line="1164">Prepends @child to @self.</doc>
5349+ <source-position filename="src/adw-carousel.h" line="30"/>
5350+ <return-value transfer-ownership="none">
5351+ <type name="none" c:type="void"/>
5352+ </return-value>
5353+ <parameters>
5354+ <instance-parameter name="self" transfer-ownership="none">
5355+ <doc xml:space="preserve"
5356+ filename="src/adw-carousel.c"
5357+ line="1166">a carousel</doc>
5358+ <type name="Carousel" c:type="AdwCarousel*"/>
5359+ </instance-parameter>
5360+ <parameter name="child" transfer-ownership="none">
5361+ <doc xml:space="preserve"
5362+ filename="src/adw-carousel.c"
5363+ line="1167">a widget to add</doc>
5364+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5365+ </parameter>
5366+ </parameters>
5367+ </method>
5368+ <method name="remove" c:identifier="adw_carousel_remove">
5369+ <doc xml:space="preserve"
5370+ filename="src/adw-carousel.c"
5371+ line="1338">Removes @child from @self.</doc>
5372+ <source-position filename="src/adw-carousel.h" line="46"/>
5373+ <return-value transfer-ownership="none">
5374+ <type name="none" c:type="void"/>
5375+ </return-value>
5376+ <parameters>
5377+ <instance-parameter name="self" transfer-ownership="none">
5378+ <doc xml:space="preserve"
5379+ filename="src/adw-carousel.c"
5380+ line="1340">a carousel</doc>
5381+ <type name="Carousel" c:type="AdwCarousel*"/>
5382+ </instance-parameter>
5383+ <parameter name="child" transfer-ownership="none">
5384+ <doc xml:space="preserve"
5385+ filename="src/adw-carousel.c"
5386+ line="1341">a widget to remove</doc>
5387+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5388+ </parameter>
5389+ </parameters>
5390+ </method>
5391+ <method name="reorder" c:identifier="adw_carousel_reorder">
5392+ <doc xml:space="preserve"
5393+ filename="src/adw-carousel.c"
5394+ line="1246">Moves @child into position @position.
5395+
5396+If position is -1, or larger than the number of pages, @child will be moved
5397+at the end.</doc>
5398+ <source-position filename="src/adw-carousel.h" line="41"/>
5399+ <return-value transfer-ownership="none">
5400+ <type name="none" c:type="void"/>
5401+ </return-value>
5402+ <parameters>
5403+ <instance-parameter name="self" transfer-ownership="none">
5404+ <doc xml:space="preserve"
5405+ filename="src/adw-carousel.c"
5406+ line="1248">a carousel</doc>
5407+ <type name="Carousel" c:type="AdwCarousel*"/>
5408+ </instance-parameter>
5409+ <parameter name="child" transfer-ownership="none">
5410+ <doc xml:space="preserve"
5411+ filename="src/adw-carousel.c"
5412+ line="1249">a widget to add</doc>
5413+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5414+ </parameter>
5415+ <parameter name="position" transfer-ownership="none">
5416+ <doc xml:space="preserve"
5417+ filename="src/adw-carousel.c"
5418+ line="1250">the position to move @child to</doc>
5419+ <type name="gint" c:type="int"/>
5420+ </parameter>
5421+ </parameters>
5422+ </method>
5423+ <method name="scroll_to" c:identifier="adw_carousel_scroll_to">
5424+ <doc xml:space="preserve"
5425+ filename="src/adw-carousel.c"
5426+ line="1400">Scrolls to @widget.
5427+
5428+If @animate is `TRUE`, the transition will be animated.</doc>
5429+ <source-position filename="src/adw-carousel.h" line="50"/>
5430+ <return-value transfer-ownership="none">
5431+ <type name="none" c:type="void"/>
5432+ </return-value>
5433+ <parameters>
5434+ <instance-parameter name="self" transfer-ownership="none">
5435+ <doc xml:space="preserve"
5436+ filename="src/adw-carousel.c"
5437+ line="1402">a carousel</doc>
5438+ <type name="Carousel" c:type="AdwCarousel*"/>
5439+ </instance-parameter>
5440+ <parameter name="widget" transfer-ownership="none">
5441+ <doc xml:space="preserve"
5442+ filename="src/adw-carousel.c"
5443+ line="1403">a child of @self</doc>
5444+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5445+ </parameter>
5446+ <parameter name="animate" transfer-ownership="none">
5447+ <doc xml:space="preserve"
5448+ filename="src/adw-carousel.c"
5449+ line="1404">whether to animate the transition</doc>
5450+ <type name="gboolean" c:type="gboolean"/>
5451+ </parameter>
5452+ </parameters>
5453+ </method>
5454+ <method name="set_allow_long_swipes"
5455+ c:identifier="adw_carousel_set_allow_long_swipes"
5456+ glib:set-property="allow-long-swipes">
5457+ <attribute name="org.gtk.Method.set_property"
5458+ value="allow-long-swipes"/>
5459+ <doc xml:space="preserve"
5460+ filename="src/adw-carousel.c"
5461+ line="1733">Sets whether to allow swiping for more than one page at a time.
5462+
5463+If @allow_long_swipes is `FALSE`, each swipe can only move to the adjacent
5464+pages.</doc>
5465+ <source-position filename="src/adw-carousel.h" line="95"/>
5466+ <return-value transfer-ownership="none">
5467+ <type name="none" c:type="void"/>
5468+ </return-value>
5469+ <parameters>
5470+ <instance-parameter name="self" transfer-ownership="none">
5471+ <doc xml:space="preserve"
5472+ filename="src/adw-carousel.c"
5473+ line="1735">a carousel</doc>
5474+ <type name="Carousel" c:type="AdwCarousel*"/>
5475+ </instance-parameter>
5476+ <parameter name="allow_long_swipes" transfer-ownership="none">
5477+ <doc xml:space="preserve"
5478+ filename="src/adw-carousel.c"
5479+ line="1736">whether to allow long swipes</doc>
5480+ <type name="gboolean" c:type="gboolean"/>
5481+ </parameter>
5482+ </parameters>
5483+ </method>
5484+ <method name="set_allow_mouse_drag"
5485+ c:identifier="adw_carousel_set_allow_mouse_drag"
5486+ glib:set-property="allow-mouse-drag">
5487+ <attribute name="org.gtk.Method.set_property"
5488+ value="allow-mouse-drag"/>
5489+ <doc xml:space="preserve"
5490+ filename="src/adw-carousel.c"
5491+ line="1651">Sets whether @self can be dragged with mouse pointer.
5492+
5493+If @allow_mouse_drag is `FALSE`, dragging is only available on touch.</doc>
5494+ <source-position filename="src/adw-carousel.h" line="83"/>
5495+ <return-value transfer-ownership="none">
5496+ <type name="none" c:type="void"/>
5497+ </return-value>
5498+ <parameters>
5499+ <instance-parameter name="self" transfer-ownership="none">
5500+ <doc xml:space="preserve"
5501+ filename="src/adw-carousel.c"
5502+ line="1653">a carousel</doc>
5503+ <type name="Carousel" c:type="AdwCarousel*"/>
5504+ </instance-parameter>
5505+ <parameter name="allow_mouse_drag" transfer-ownership="none">
5506+ <doc xml:space="preserve"
5507+ filename="src/adw-carousel.c"
5508+ line="1654">whether @self can be dragged with mouse pointer</doc>
5509+ <type name="gboolean" c:type="gboolean"/>
5510+ </parameter>
5511+ </parameters>
5512+ </method>
5513+ <method name="set_allow_scroll_wheel"
5514+ c:identifier="adw_carousel_set_allow_scroll_wheel"
5515+ glib:set-property="allow-scroll-wheel">
5516+ <attribute name="org.gtk.Method.set_property"
5517+ value="allow-scroll-wheel"/>
5518+ <doc xml:space="preserve"
5519+ filename="src/adw-carousel.c"
5520+ line="1692">Sets whether @self will respond to scroll wheel events.
5521+
5522+If @allow_scroll_wheel is `FALSE`, wheel events will be ignored.</doc>
5523+ <source-position filename="src/adw-carousel.h" line="89"/>
5524+ <return-value transfer-ownership="none">
5525+ <type name="none" c:type="void"/>
5526+ </return-value>
5527+ <parameters>
5528+ <instance-parameter name="self" transfer-ownership="none">
5529+ <doc xml:space="preserve"
5530+ filename="src/adw-carousel.c"
5531+ line="1694">a carousel</doc>
5532+ <type name="Carousel" c:type="AdwCarousel*"/>
5533+ </instance-parameter>
5534+ <parameter name="allow_scroll_wheel" transfer-ownership="none">
5535+ <doc xml:space="preserve"
5536+ filename="src/adw-carousel.c"
5537+ line="1695">whether @self will respond to scroll wheel events</doc>
5538+ <type name="gboolean" c:type="gboolean"/>
5539+ </parameter>
5540+ </parameters>
5541+ </method>
5542+ <method name="set_interactive"
5543+ c:identifier="adw_carousel_set_interactive"
5544+ glib:set-property="interactive">
5545+ <attribute name="org.gtk.Method.set_property" value="interactive"/>
5546+ <doc xml:space="preserve"
5547+ filename="src/adw-carousel.c"
5548+ line="1527">Sets whether @self can be navigated.
5549+
5550+This can be used to temporarily disable the carousel to only allow navigating
5551+it in a certain state.</doc>
5552+ <source-position filename="src/adw-carousel.h" line="65"/>
5553+ <return-value transfer-ownership="none">
5554+ <type name="none" c:type="void"/>
5555+ </return-value>
5556+ <parameters>
5557+ <instance-parameter name="self" transfer-ownership="none">
5558+ <doc xml:space="preserve"
5559+ filename="src/adw-carousel.c"
5560+ line="1529">a carousel</doc>
5561+ <type name="Carousel" c:type="AdwCarousel*"/>
5562+ </instance-parameter>
5563+ <parameter name="interactive" transfer-ownership="none">
5564+ <doc xml:space="preserve"
5565+ filename="src/adw-carousel.c"
5566+ line="1530">whether @self can be navigated</doc>
5567+ <type name="gboolean" c:type="gboolean"/>
5568+ </parameter>
5569+ </parameters>
5570+ </method>
5571+ <method name="set_reveal_duration"
5572+ c:identifier="adw_carousel_set_reveal_duration"
5573+ glib:set-property="reveal-duration">
5574+ <attribute name="org.gtk.Method.set_property" value="reveal-duration"/>
5575+ <doc xml:space="preserve"
5576+ filename="src/adw-carousel.c"
5577+ line="1775">Sets the page reveal duration, in milliseconds.
5578+
5579+Reveal duration is used when animating adding or removing pages.</doc>
5580+ <source-position filename="src/adw-carousel.h" line="101"/>
5581+ <return-value transfer-ownership="none">
5582+ <type name="none" c:type="void"/>
5583+ </return-value>
5584+ <parameters>
5585+ <instance-parameter name="self" transfer-ownership="none">
5586+ <doc xml:space="preserve"
5587+ filename="src/adw-carousel.c"
5588+ line="1777">a carousel</doc>
5589+ <type name="Carousel" c:type="AdwCarousel*"/>
5590+ </instance-parameter>
5591+ <parameter name="reveal_duration" transfer-ownership="none">
5592+ <doc xml:space="preserve"
5593+ filename="src/adw-carousel.c"
5594+ line="1778">the new reveal duration value</doc>
5595+ <type name="guint" c:type="guint"/>
5596+ </parameter>
5597+ </parameters>
5598+ </method>
5599+ <method name="set_scroll_params"
5600+ c:identifier="adw_carousel_set_scroll_params"
5601+ glib:set-property="scroll-params">
5602+ <attribute name="org.gtk.Method.set_property" value="scroll-params"/>
5603+ <doc xml:space="preserve"
5604+ filename="src/adw-carousel.c"
5605+ line="1607">Sets the scroll animation spring parameters for @self.
5606+
5607+The default value is equivalent to:
5608+
5609+```c
5610+adw_spring_params_new (1, 0.5, 500)
5611+```</doc>
5612+ <source-position filename="src/adw-carousel.h" line="77"/>
5613+ <return-value transfer-ownership="none">
5614+ <type name="none" c:type="void"/>
5615+ </return-value>
5616+ <parameters>
5617+ <instance-parameter name="self" transfer-ownership="none">
5618+ <doc xml:space="preserve"
5619+ filename="src/adw-carousel.c"
5620+ line="1609">a carousel</doc>
5621+ <type name="Carousel" c:type="AdwCarousel*"/>
5622+ </instance-parameter>
5623+ <parameter name="params" transfer-ownership="none">
5624+ <doc xml:space="preserve"
5625+ filename="src/adw-carousel.c"
5626+ line="1610">the new parameters</doc>
5627+ <type name="SpringParams" c:type="AdwSpringParams*"/>
5628+ </parameter>
5629+ </parameters>
5630+ </method>
5631+ <method name="set_spacing"
5632+ c:identifier="adw_carousel_set_spacing"
5633+ glib:set-property="spacing">
5634+ <attribute name="org.gtk.Method.set_property" value="spacing"/>
5635+ <doc xml:space="preserve"
5636+ filename="src/adw-carousel.c"
5637+ line="1569">Sets spacing between pages in pixels.</doc>
5638+ <source-position filename="src/adw-carousel.h" line="71"/>
5639+ <return-value transfer-ownership="none">
5640+ <type name="none" c:type="void"/>
5641+ </return-value>
5642+ <parameters>
5643+ <instance-parameter name="self" transfer-ownership="none">
5644+ <doc xml:space="preserve"
5645+ filename="src/adw-carousel.c"
5646+ line="1571">a carousel</doc>
5647+ <type name="Carousel" c:type="AdwCarousel*"/>
5648+ </instance-parameter>
5649+ <parameter name="spacing" transfer-ownership="none">
5650+ <doc xml:space="preserve"
5651+ filename="src/adw-carousel.c"
5652+ line="1572">the new spacing value</doc>
5653+ <type name="guint" c:type="guint"/>
5654+ </parameter>
5655+ </parameters>
5656+ </method>
5657+ <property name="allow-long-swipes"
5658+ writable="1"
5659+ transfer-ownership="none"
5660+ setter="set_allow_long_swipes"
5661+ getter="get_allow_long_swipes"
5662+ default-value="FALSE">
5663+ <attribute name="org.gtk.Property.get"
5664+ value="adw_carousel_get_allow_long_swipes"/>
5665+ <attribute name="org.gtk.Property.set"
5666+ value="adw_carousel_set_allow_long_swipes"/>
5667+ <doc xml:space="preserve"
5668+ filename="src/adw-carousel.c"
5669+ line="975">Whether to allow swiping for more than one page at a time.
5670+
5671+If the value is `FALSE`, each swipe can only move to the adjacent pages.</doc>
5672+ <type name="gboolean" c:type="gboolean"/>
5673+ </property>
5674+ <property name="allow-mouse-drag"
5675+ writable="1"
5676+ transfer-ownership="none"
5677+ setter="set_allow_mouse_drag"
5678+ getter="get_allow_mouse_drag"
5679+ default-value="TRUE">
5680+ <attribute name="org.gtk.Property.get"
5681+ value="adw_carousel_get_allow_mouse_drag"/>
5682+ <attribute name="org.gtk.Property.set"
5683+ value="adw_carousel_set_allow_mouse_drag"/>
5684+ <doc xml:space="preserve"
5685+ filename="src/adw-carousel.c"
5686+ line="951">Sets whether the `AdwCarousel` can be dragged with mouse pointer.
5687+
5688+If the value is `FALSE`, dragging is only available on touch.</doc>
5689+ <type name="gboolean" c:type="gboolean"/>
5690+ </property>
5691+ <property name="allow-scroll-wheel"
5692+ writable="1"
5693+ transfer-ownership="none"
5694+ setter="set_allow_scroll_wheel"
5695+ getter="get_allow_scroll_wheel"
5696+ default-value="TRUE">
5697+ <attribute name="org.gtk.Property.get"
5698+ value="adw_carousel_get_allow_scroll_wheel"/>
5699+ <attribute name="org.gtk.Property.set"
5700+ value="adw_carousel_set_allow_scroll_wheel"/>
5701+ <doc xml:space="preserve"
5702+ filename="src/adw-carousel.c"
5703+ line="963">Whether the widget will respond to scroll wheel events.
5704+
5705+If the value is `FALSE`, wheel events will be ignored.</doc>
5706+ <type name="gboolean" c:type="gboolean"/>
5707+ </property>
5708+ <property name="interactive"
5709+ writable="1"
5710+ transfer-ownership="none"
5711+ setter="set_interactive"
5712+ getter="get_interactive"
5713+ default-value="TRUE">
5714+ <attribute name="org.gtk.Property.get"
5715+ value="adw_carousel_get_interactive"/>
5716+ <attribute name="org.gtk.Property.set"
5717+ value="adw_carousel_set_interactive"/>
5718+ <doc xml:space="preserve"
5719+ filename="src/adw-carousel.c"
5720+ line="910">Whether the carousel can be navigated.
5721+
5722+This can be used to temporarily disable the carousel to only allow
5723+navigating it in a certain state.</doc>
5724+ <type name="gboolean" c:type="gboolean"/>
5725+ </property>
5726+ <property name="n-pages"
5727+ transfer-ownership="none"
5728+ getter="get_n_pages"
5729+ default-value="0">
5730+ <attribute name="org.gtk.Property.get"
5731+ value="adw_carousel_get_n_pages"/>
5732+ <doc xml:space="preserve"
5733+ filename="src/adw-carousel.c"
5734+ line="884">The number of pages in a `AdwCarousel`.</doc>
5735+ <type name="guint" c:type="guint"/>
5736+ </property>
5737+ <property name="position"
5738+ transfer-ownership="none"
5739+ getter="get_position"
5740+ default-value="0.000000">
5741+ <attribute name="org.gtk.Property.get"
5742+ value="adw_carousel_get_position"/>
5743+ <doc xml:space="preserve"
5744+ filename="src/adw-carousel.c"
5745+ line="896">Current scrolling position, unitless.
5746+
5747+1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.</doc>
5748+ <type name="gdouble" c:type="gdouble"/>
5749+ </property>
5750+ <property name="reveal-duration"
5751+ writable="1"
5752+ transfer-ownership="none"
5753+ setter="set_reveal_duration"
5754+ getter="get_reveal_duration"
5755+ default-value="0">
5756+ <doc xml:space="preserve"
5757+ filename="src/adw-carousel.c"
5758+ line="987">Page reveal duration, in milliseconds.
5759+
5760+Reveal duration is used when animating adding or removing pages.</doc>
5761+ <type name="guint" c:type="guint"/>
5762+ </property>
5763+ <property name="scroll-params"
5764+ writable="1"
5765+ transfer-ownership="none"
5766+ setter="set_scroll_params"
5767+ getter="get_scroll_params">
5768+ <attribute name="org.gtk.Property.get"
5769+ value="adw_carousel_get_scroll_params"/>
5770+ <attribute name="org.gtk.Property.set"
5771+ value="adw_carousel_set_scroll_params"/>
5772+ <doc xml:space="preserve"
5773+ filename="src/adw-carousel.c"
5774+ line="935">Scroll animation spring parameters.
5775+
5776+The default value is equivalent to:
5777+
5778+```c
5779+adw_spring_params_new (1, 0.5, 500)
5780+```</doc>
5781+ <type name="SpringParams"/>
5782+ </property>
5783+ <property name="spacing"
5784+ writable="1"
5785+ transfer-ownership="none"
5786+ setter="set_spacing"
5787+ getter="get_spacing"
5788+ default-value="0">
5789+ <attribute name="org.gtk.Property.get"
5790+ value="adw_carousel_get_spacing"/>
5791+ <attribute name="org.gtk.Property.set"
5792+ value="adw_carousel_set_spacing"/>
5793+ <doc xml:space="preserve"
5794+ filename="src/adw-carousel.c"
5795+ line="923">Spacing between pages in pixels.</doc>
5796+ <type name="guint" c:type="guint"/>
5797+ </property>
5798+ <glib:signal name="page-changed" when="last">
5799+ <doc xml:space="preserve"
5800+ filename="src/adw-carousel.c"
5801+ line="1007">This signal is emitted after a page has been changed.
5802+
5803+It can be used to implement "infinite scrolling" by amending the pages
5804+after every scroll. Note that an empty carousel is indicated by
5805+`(int)index == -1`.</doc>
5806+ <return-value transfer-ownership="none">
5807+ <type name="none" c:type="void"/>
5808+ </return-value>
5809+ <parameters>
5810+ <parameter name="index" transfer-ownership="none">
5811+ <doc xml:space="preserve"
5812+ filename="src/adw-carousel.c"
5813+ line="1010">current page</doc>
5814+ <type name="guint" c:type="guint"/>
5815+ </parameter>
5816+ </parameters>
5817+ </glib:signal>
5818+ </class>
5819+ <record name="CarouselClass"
5820+ c:type="AdwCarouselClass"
5821+ glib:is-gtype-struct-for="Carousel">
5822+ <source-position filename="src/adw-carousel.h" line="24"/>
5823+ <field name="parent_class">
5824+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
5825+ </field>
5826+ </record>
5827+ <class name="CarouselIndicatorDots"
5828+ c:symbol-prefix="carousel_indicator_dots"
5829+ c:type="AdwCarouselIndicatorDots"
5830+ parent="Gtk.Widget"
5831+ final="1"
5832+ glib:type-name="AdwCarouselIndicatorDots"
5833+ glib:get-type="adw_carousel_indicator_dots_get_type"
5834+ glib:type-struct="CarouselIndicatorDotsClass">
5835+ <doc xml:space="preserve"
5836+ filename="src/adw-carousel-indicator-dots.c"
5837+ line="24">A dots indicator for [class@Carousel].
5838+
5839+&lt;picture&gt;
5840+ &lt;source srcset="carousel-indicator-dots-dark.png" media="(prefers-color-scheme: dark)"&gt;
5841+ &lt;img src="carousel-indicator-dots.png" alt="carousel-indicator-dots"&gt;
5842+&lt;/picture&gt;
5843+
5844+The `AdwCarouselIndicatorDots` widget shows a set of dots for each page of a
5845+given [class@Carousel]. The dot representing the carousel's active page is
5846+larger and more opaque than the others, the transition to the active and
5847+inactive state is gradual to match the carousel's position.
5848+
5849+See also [class@CarouselIndicatorLines].
5850+
5851+## CSS nodes
5852+
5853+`AdwCarouselIndicatorDots` has a single CSS node with name
5854+`carouselindicatordots`.</doc>
5855+ <source-position filename="src/adw-carousel-indicator-dots.h" line="23"/>
5856+ <implements name="Gtk.Accessible"/>
5857+ <implements name="Gtk.Buildable"/>
5858+ <implements name="Gtk.ConstraintTarget"/>
5859+ <implements name="Gtk.Orientable"/>
5860+ <constructor name="new" c:identifier="adw_carousel_indicator_dots_new">
5861+ <doc xml:space="preserve"
5862+ filename="src/adw-carousel-indicator-dots.c"
5863+ line="364">Creates a new `AdwCarouselIndicatorDots`.</doc>
5864+ <source-position filename="src/adw-carousel-indicator-dots.h"
5865+ line="26"/>
5866+ <return-value transfer-ownership="none">
5867+ <doc xml:space="preserve"
5868+ filename="src/adw-carousel-indicator-dots.c"
5869+ line="369">the newly created `AdwCarouselIndicatorDots`</doc>
5870+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5871+ </return-value>
5872+ </constructor>
5873+ <method name="get_carousel"
5874+ c:identifier="adw_carousel_indicator_dots_get_carousel"
5875+ glib:get-property="carousel">
5876+ <attribute name="org.gtk.Method.get_property" value="carousel"/>
5877+ <doc xml:space="preserve"
5878+ filename="src/adw-carousel-indicator-dots.c"
5879+ line="377">Gets the displayed carousel.</doc>
5880+ <source-position filename="src/adw-carousel-indicator-dots.h"
5881+ line="29"/>
5882+ <return-value transfer-ownership="none" nullable="1">
5883+ <doc xml:space="preserve"
5884+ filename="src/adw-carousel-indicator-dots.c"
5885+ line="383">the displayed carousel</doc>
5886+ <type name="Carousel" c:type="AdwCarousel*"/>
5887+ </return-value>
5888+ <parameters>
5889+ <instance-parameter name="self" transfer-ownership="none">
5890+ <doc xml:space="preserve"
5891+ filename="src/adw-carousel-indicator-dots.c"
5892+ line="379">an indicator</doc>
5893+ <type name="CarouselIndicatorDots"
5894+ c:type="AdwCarouselIndicatorDots*"/>
5895+ </instance-parameter>
5896+ </parameters>
5897+ </method>
5898+ <method name="set_carousel"
5899+ c:identifier="adw_carousel_indicator_dots_set_carousel"
5900+ glib:set-property="carousel">
5901+ <attribute name="org.gtk.Method.set_property" value="carousel"/>
5902+ <doc xml:space="preserve"
5903+ filename="src/adw-carousel-indicator-dots.c"
5904+ line="393">Sets the displayed carousel.</doc>
5905+ <source-position filename="src/adw-carousel-indicator-dots.h"
5906+ line="31"/>
5907+ <return-value transfer-ownership="none">
5908+ <type name="none" c:type="void"/>
5909+ </return-value>
5910+ <parameters>
5911+ <instance-parameter name="self" transfer-ownership="none">
5912+ <doc xml:space="preserve"
5913+ filename="src/adw-carousel-indicator-dots.c"
5914+ line="395">an indicator</doc>
5915+ <type name="CarouselIndicatorDots"
5916+ c:type="AdwCarouselIndicatorDots*"/>
5917+ </instance-parameter>
5918+ <parameter name="carousel"
5919+ transfer-ownership="none"
5920+ nullable="1"
5921+ allow-none="1">
5922+ <doc xml:space="preserve"
5923+ filename="src/adw-carousel-indicator-dots.c"
5924+ line="396">a carousel</doc>
5925+ <type name="Carousel" c:type="AdwCarousel*"/>
5926+ </parameter>
5927+ </parameters>
5928+ </method>
5929+ <property name="carousel"
5930+ writable="1"
5931+ transfer-ownership="none"
5932+ setter="set_carousel"
5933+ getter="get_carousel">
5934+ <attribute name="org.gtk.Property.get"
5935+ value="adw_carousel_indicator_dots_get_carousel"/>
5936+ <attribute name="org.gtk.Property.set"
5937+ value="adw_carousel_indicator_dots_set_carousel"/>
5938+ <doc xml:space="preserve"
5939+ filename="src/adw-carousel-indicator-dots.c"
5940+ line="334">The displayed carousel.</doc>
5941+ <type name="Carousel"/>
5942+ </property>
5943+ </class>
5944+ <record name="CarouselIndicatorDotsClass"
5945+ c:type="AdwCarouselIndicatorDotsClass"
5946+ glib:is-gtype-struct-for="CarouselIndicatorDots">
5947+ <source-position filename="src/adw-carousel-indicator-dots.h" line="23"/>
5948+ <field name="parent_class">
5949+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
5950+ </field>
5951+ </record>
5952+ <class name="CarouselIndicatorLines"
5953+ c:symbol-prefix="carousel_indicator_lines"
5954+ c:type="AdwCarouselIndicatorLines"
5955+ parent="Gtk.Widget"
5956+ final="1"
5957+ glib:type-name="AdwCarouselIndicatorLines"
5958+ glib:get-type="adw_carousel_indicator_lines_get_type"
5959+ glib:type-struct="CarouselIndicatorLinesClass">
5960+ <doc xml:space="preserve"
5961+ filename="src/adw-carousel-indicator-lines.c"
5962+ line="23">A lines indicator for [class@Carousel].
5963+
5964+&lt;picture&gt;
5965+ &lt;source srcset="carousel-indicator-dots-lines.png" media="(prefers-color-scheme: dark)"&gt;
5966+ &lt;img src="carousel-indicator-lines.png" alt="carousel-indicator-lines"&gt;
5967+&lt;/picture&gt;
5968+
5969+The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of
5970+a given [class@Carousel]. The carousel's active page is shown as another line
5971+that moves between them to match the carousel's position.
5972+
5973+See also [class@CarouselIndicatorDots].
5974+
5975+## CSS nodes
5976+
5977+`AdwCarouselIndicatorLines` has a single CSS node with name
5978+`carouselindicatorlines`.</doc>
5979+ <source-position filename="src/adw-carousel-indicator-lines.h"
5980+ line="23"/>
5981+ <implements name="Gtk.Accessible"/>
5982+ <implements name="Gtk.Buildable"/>
5983+ <implements name="Gtk.ConstraintTarget"/>
5984+ <implements name="Gtk.Orientable"/>
5985+ <constructor name="new" c:identifier="adw_carousel_indicator_lines_new">
5986+ <doc xml:space="preserve"
5987+ filename="src/adw-carousel-indicator-lines.c"
5988+ line="349">Creates a new `AdwCarouselIndicatorLines`.</doc>
5989+ <source-position filename="src/adw-carousel-indicator-lines.h"
5990+ line="26"/>
5991+ <return-value transfer-ownership="none">
5992+ <doc xml:space="preserve"
5993+ filename="src/adw-carousel-indicator-lines.c"
5994+ line="354">the newly created `AdwCarouselIndicatorLines`</doc>
5995+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
5996+ </return-value>
5997+ </constructor>
5998+ <method name="get_carousel"
5999+ c:identifier="adw_carousel_indicator_lines_get_carousel"
6000+ glib:get-property="carousel">
6001+ <attribute name="org.gtk.Method.get_property" value="carousel"/>
6002+ <doc xml:space="preserve"
6003+ filename="src/adw-carousel-indicator-lines.c"
6004+ line="362">Gets the displayed carousel.</doc>
6005+ <source-position filename="src/adw-carousel-indicator-lines.h"
6006+ line="29"/>
6007+ <return-value transfer-ownership="none" nullable="1">
6008+ <doc xml:space="preserve"
6009+ filename="src/adw-carousel-indicator-lines.c"
6010+ line="368">the displayed carousel</doc>
6011+ <type name="Carousel" c:type="AdwCarousel*"/>
6012+ </return-value>
6013+ <parameters>
6014+ <instance-parameter name="self" transfer-ownership="none">
6015+ <doc xml:space="preserve"
6016+ filename="src/adw-carousel-indicator-lines.c"
6017+ line="364">an indicator</doc>
6018+ <type name="CarouselIndicatorLines"
6019+ c:type="AdwCarouselIndicatorLines*"/>
6020+ </instance-parameter>
6021+ </parameters>
6022+ </method>
6023+ <method name="set_carousel"
6024+ c:identifier="adw_carousel_indicator_lines_set_carousel"
6025+ glib:set-property="carousel">
6026+ <attribute name="org.gtk.Method.set_property" value="carousel"/>
6027+ <doc xml:space="preserve"
6028+ filename="src/adw-carousel-indicator-lines.c"
6029+ line="378">Sets the displayed carousel.</doc>
6030+ <source-position filename="src/adw-carousel-indicator-lines.h"
6031+ line="31"/>
6032+ <return-value transfer-ownership="none">
6033+ <type name="none" c:type="void"/>
6034+ </return-value>
6035+ <parameters>
6036+ <instance-parameter name="self" transfer-ownership="none">
6037+ <doc xml:space="preserve"
6038+ filename="src/adw-carousel-indicator-lines.c"
6039+ line="380">an indicator</doc>
6040+ <type name="CarouselIndicatorLines"
6041+ c:type="AdwCarouselIndicatorLines*"/>
6042+ </instance-parameter>
6043+ <parameter name="carousel"
6044+ transfer-ownership="none"
6045+ nullable="1"
6046+ allow-none="1">
6047+ <doc xml:space="preserve"
6048+ filename="src/adw-carousel-indicator-lines.c"
6049+ line="381">a carousel</doc>
6050+ <type name="Carousel" c:type="AdwCarousel*"/>
6051+ </parameter>
6052+ </parameters>
6053+ </method>
6054+ <property name="carousel"
6055+ writable="1"
6056+ transfer-ownership="none"
6057+ setter="set_carousel"
6058+ getter="get_carousel">
6059+ <attribute name="org.gtk.Property.get"
6060+ value="adw_carousel_indicator_lines_get_carousel"/>
6061+ <attribute name="org.gtk.Property.set"
6062+ value="adw_carousel_indicator_lines_set_carousel"/>
6063+ <doc xml:space="preserve"
6064+ filename="src/adw-carousel-indicator-lines.c"
6065+ line="319">The displayed carousel.</doc>
6066+ <type name="Carousel"/>
6067+ </property>
6068+ </class>
6069+ <record name="CarouselIndicatorLinesClass"
6070+ c:type="AdwCarouselIndicatorLinesClass"
6071+ glib:is-gtype-struct-for="CarouselIndicatorLines">
6072+ <source-position filename="src/adw-carousel-indicator-lines.h"
6073+ line="23"/>
6074+ <field name="parent_class">
6075+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
6076+ </field>
6077+ </record>
6078+ <enumeration name="CenteringPolicy"
6079+ glib:type-name="AdwCenteringPolicy"
6080+ glib:get-type="adw_centering_policy_get_type"
6081+ c:type="AdwCenteringPolicy">
6082+ <doc xml:space="preserve"
6083+ filename="src/adw-header-bar.c"
6084+ line="119">Describes title centering behavior of a [class@HeaderBar] widget.</doc>
6085+ <member name="loose"
6086+ value="0"
6087+ c:identifier="ADW_CENTERING_POLICY_LOOSE"
6088+ glib:nick="loose"
6089+ glib:name="ADW_CENTERING_POLICY_LOOSE">
6090+ <doc xml:space="preserve"
6091+ filename="src/adw-header-bar.c"
6092+ line="121">Keep the title centered when possible</doc>
6093+ </member>
6094+ <member name="strict"
6095+ value="1"
6096+ c:identifier="ADW_CENTERING_POLICY_STRICT"
6097+ glib:nick="strict"
6098+ glib:name="ADW_CENTERING_POLICY_STRICT">
6099+ <doc xml:space="preserve"
6100+ filename="src/adw-header-bar.c"
6101+ line="122">Keep the title centered at all cost</doc>
6102+ </member>
6103+ </enumeration>
6104+ <class name="Clamp"
6105+ c:symbol-prefix="clamp"
6106+ c:type="AdwClamp"
6107+ parent="Gtk.Widget"
6108+ final="1"
6109+ glib:type-name="AdwClamp"
6110+ glib:get-type="adw_clamp_get_type"
6111+ glib:type-struct="ClampClass">
6112+ <doc xml:space="preserve"
6113+ filename="src/adw-clamp.c"
6114+ line="13">A widget constraining its child to a given size.
6115+
6116+&lt;picture&gt;
6117+ &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
6118+ &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
6119+&lt;/picture&gt;
6120+&lt;picture&gt;
6121+ &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
6122+ &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
6123+&lt;/picture&gt;
6124+
6125+The `AdwClamp` widget constrains the size of the widget it contains to a
6126+given maximum size. It will constrain the width if it is horizontal, or the
6127+height if it is vertical. The expansion of the child from its minimum to its
6128+maximum size is eased out for a smooth transition.
6129+
6130+If the child requires more than the requested maximum size, it will be
6131+allocated the minimum size it can fit in instead.
6132+
6133+## CSS nodes
6134+
6135+`AdwClamp` has a single CSS node with name `clamp`.
6136+
6137+Its children will receive the style classes `.large` when the child reached
6138+its maximum size, `.small` when the clamp allocates its full size to the
6139+child, `.medium` in-between, or none if it hasn't computed its size yet.</doc>
6140+ <source-position filename="src/adw-clamp.h" line="22"/>
6141+ <implements name="Gtk.Accessible"/>
6142+ <implements name="Gtk.Buildable"/>
6143+ <implements name="Gtk.ConstraintTarget"/>
6144+ <implements name="Gtk.Orientable"/>
6145+ <constructor name="new" c:identifier="adw_clamp_new">
6146+ <doc xml:space="preserve"
6147+ filename="src/adw-clamp.c"
6148+ line="246">Creates a new `AdwClamp`.</doc>
6149+ <source-position filename="src/adw-clamp.h" line="25"/>
6150+ <return-value transfer-ownership="none">
6151+ <doc xml:space="preserve"
6152+ filename="src/adw-clamp.c"
6153+ line="251">the newly created `AdwClamp`</doc>
6154+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6155+ </return-value>
6156+ </constructor>
6157+ <method name="get_child"
6158+ c:identifier="adw_clamp_get_child"
6159+ glib:get-property="child">
6160+ <attribute name="org.gtk.Method.get_property" value="child"/>
6161+ <doc xml:space="preserve"
6162+ filename="src/adw-clamp.c"
6163+ line="259">Gets the child widget of @self.</doc>
6164+ <source-position filename="src/adw-clamp.h" line="28"/>
6165+ <return-value transfer-ownership="none" nullable="1">
6166+ <doc xml:space="preserve"
6167+ filename="src/adw-clamp.c"
6168+ line="265">the child widget of @self</doc>
6169+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6170+ </return-value>
6171+ <parameters>
6172+ <instance-parameter name="self" transfer-ownership="none">
6173+ <doc xml:space="preserve"
6174+ filename="src/adw-clamp.c"
6175+ line="261">a clamp</doc>
6176+ <type name="Clamp" c:type="AdwClamp*"/>
6177+ </instance-parameter>
6178+ </parameters>
6179+ </method>
6180+ <method name="get_maximum_size"
6181+ c:identifier="adw_clamp_get_maximum_size"
6182+ glib:get-property="maximum-size">
6183+ <attribute name="org.gtk.Method.get_property" value="maximum-size"/>
6184+ <doc xml:space="preserve"
6185+ filename="src/adw-clamp.c"
6186+ line="302">Gets the maximum size allocated to the child.</doc>
6187+ <source-position filename="src/adw-clamp.h" line="34"/>
6188+ <return-value transfer-ownership="none">
6189+ <doc xml:space="preserve"
6190+ filename="src/adw-clamp.c"
6191+ line="308">the maximum size to allocate to the child</doc>
6192+ <type name="gint" c:type="int"/>
6193+ </return-value>
6194+ <parameters>
6195+ <instance-parameter name="self" transfer-ownership="none">
6196+ <doc xml:space="preserve"
6197+ filename="src/adw-clamp.c"
6198+ line="304">a clamp</doc>
6199+ <type name="Clamp" c:type="AdwClamp*"/>
6200+ </instance-parameter>
6201+ </parameters>
6202+ </method>
6203+ <method name="get_tightening_threshold"
6204+ c:identifier="adw_clamp_get_tightening_threshold"
6205+ glib:get-property="tightening-threshold">
6206+ <attribute name="org.gtk.Method.get_property"
6207+ value="tightening-threshold"/>
6208+ <doc xml:space="preserve"
6209+ filename="src/adw-clamp.c"
6210+ line="349">Gets the size above which the child is clamped.</doc>
6211+ <source-position filename="src/adw-clamp.h" line="40"/>
6212+ <return-value transfer-ownership="none">
6213+ <doc xml:space="preserve"
6214+ filename="src/adw-clamp.c"
6215+ line="355">the size above which the child is clamped</doc>
6216+ <type name="gint" c:type="int"/>
6217+ </return-value>
6218+ <parameters>
6219+ <instance-parameter name="self" transfer-ownership="none">
6220+ <doc xml:space="preserve"
6221+ filename="src/adw-clamp.c"
6222+ line="351">a clamp</doc>
6223+ <type name="Clamp" c:type="AdwClamp*"/>
6224+ </instance-parameter>
6225+ </parameters>
6226+ </method>
6227+ <method name="set_child"
6228+ c:identifier="adw_clamp_set_child"
6229+ glib:set-property="child">
6230+ <attribute name="org.gtk.Method.set_property" value="child"/>
6231+ <doc xml:space="preserve"
6232+ filename="src/adw-clamp.c"
6233+ line="275">Sets the child widget of @self.</doc>
6234+ <source-position filename="src/adw-clamp.h" line="30"/>
6235+ <return-value transfer-ownership="none">
6236+ <type name="none" c:type="void"/>
6237+ </return-value>
6238+ <parameters>
6239+ <instance-parameter name="self" transfer-ownership="none">
6240+ <doc xml:space="preserve"
6241+ filename="src/adw-clamp.c"
6242+ line="277">a clamp</doc>
6243+ <type name="Clamp" c:type="AdwClamp*"/>
6244+ </instance-parameter>
6245+ <parameter name="child"
6246+ transfer-ownership="none"
6247+ nullable="1"
6248+ allow-none="1">
6249+ <doc xml:space="preserve"
6250+ filename="src/adw-clamp.c"
6251+ line="278">the child widget</doc>
6252+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6253+ </parameter>
6254+ </parameters>
6255+ </method>
6256+ <method name="set_maximum_size"
6257+ c:identifier="adw_clamp_set_maximum_size"
6258+ glib:set-property="maximum-size">
6259+ <attribute name="org.gtk.Method.set_property" value="maximum-size"/>
6260+ <doc xml:space="preserve"
6261+ filename="src/adw-clamp.c"
6262+ line="322">Sets the maximum size allocated to the child.
6263+
6264+It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
6265+ <source-position filename="src/adw-clamp.h" line="36"/>
6266+ <return-value transfer-ownership="none">
6267+ <type name="none" c:type="void"/>
6268+ </return-value>
6269+ <parameters>
6270+ <instance-parameter name="self" transfer-ownership="none">
6271+ <doc xml:space="preserve"
6272+ filename="src/adw-clamp.c"
6273+ line="324">a clamp</doc>
6274+ <type name="Clamp" c:type="AdwClamp*"/>
6275+ </instance-parameter>
6276+ <parameter name="maximum_size" transfer-ownership="none">
6277+ <doc xml:space="preserve"
6278+ filename="src/adw-clamp.c"
6279+ line="325">the maximum size</doc>
6280+ <type name="gint" c:type="int"/>
6281+ </parameter>
6282+ </parameters>
6283+ </method>
6284+ <method name="set_tightening_threshold"
6285+ c:identifier="adw_clamp_set_tightening_threshold"
6286+ glib:set-property="tightening-threshold">
6287+ <attribute name="org.gtk.Method.set_property"
6288+ value="tightening-threshold"/>
6289+ <doc xml:space="preserve"
6290+ filename="src/adw-clamp.c"
6291+ line="369">Sets the size above which the child is clamped.
6292+
6293+Starting from this size, the clamp will tighten its grip on the child, slowly
6294+allocating less and less of the available size up to the maximum allocated
6295+size. Below that threshold and below the maximum size, the child will be
6296+allocated all the available size.
6297+
6298+If the threshold is greater than the maximum size to allocate to the child,
6299+the child will be allocated all the size up to the maximum. If the threshold
6300+is lower than the minimum size to allocate to the child, that size will be
6301+used as the tightening threshold.
6302+
6303+Effectively, tightening the grip on the child before it reaches its maximum
6304+size makes transitions to and from the maximum size smoother when resizing.</doc>
6305+ <source-position filename="src/adw-clamp.h" line="42"/>
6306+ <return-value transfer-ownership="none">
6307+ <type name="none" c:type="void"/>
6308+ </return-value>
6309+ <parameters>
6310+ <instance-parameter name="self" transfer-ownership="none">
6311+ <doc xml:space="preserve"
6312+ filename="src/adw-clamp.c"
6313+ line="371">a clamp</doc>
6314+ <type name="Clamp" c:type="AdwClamp*"/>
6315+ </instance-parameter>
6316+ <parameter name="tightening_threshold" transfer-ownership="none">
6317+ <doc xml:space="preserve"
6318+ filename="src/adw-clamp.c"
6319+ line="372">the tightening threshold</doc>
6320+ <type name="gint" c:type="int"/>
6321+ </parameter>
6322+ </parameters>
6323+ </method>
6324+ <property name="child"
6325+ writable="1"
6326+ transfer-ownership="none"
6327+ setter="set_child"
6328+ getter="get_child">
6329+ <attribute name="org.gtk.Property.get" value="adw_clamp_get_child"/>
6330+ <attribute name="org.gtk.Property.set" value="adw_clamp_set_child"/>
6331+ <doc xml:space="preserve"
6332+ filename="src/adw-clamp.c"
6333+ line="169">The child widget of the `AdwClamp`.</doc>
6334+ <type name="Gtk.Widget"/>
6335+ </property>
6336+ <property name="maximum-size"
6337+ writable="1"
6338+ transfer-ownership="none"
6339+ setter="set_maximum_size"
6340+ getter="get_maximum_size"
6341+ default-value="600">
6342+ <attribute name="org.gtk.Property.get"
6343+ value="adw_clamp_get_maximum_size"/>
6344+ <attribute name="org.gtk.Property.set"
6345+ value="adw_clamp_set_maximum_size"/>
6346+ <doc xml:space="preserve"
6347+ filename="src/adw-clamp.c"
6348+ line="179">The maximum size allocated to the child.
6349+
6350+It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
6351+ <type name="gint" c:type="gint"/>
6352+ </property>
6353+ <property name="tightening-threshold"
6354+ writable="1"
6355+ transfer-ownership="none"
6356+ setter="set_tightening_threshold"
6357+ getter="get_tightening_threshold"
6358+ default-value="400">
6359+ <attribute name="org.gtk.Property.get"
6360+ value="adw_clamp_get_tightening_threshold"/>
6361+ <attribute name="org.gtk.Property.set"
6362+ value="adw_clamp_set_tightening_threshold"/>
6363+ <doc xml:space="preserve"
6364+ filename="src/adw-clamp.c"
6365+ line="191">The size above which the child is clamped.
6366+
6367+Starting from this size, the clamp will tighten its grip on the child,
6368+slowly allocating less and less of the available size up to the maximum
6369+allocated size. Below that threshold and below the maximum size, the child
6370+will be allocated all the available size.
6371+
6372+If the threshold is greater than the maximum size to allocate to the child,
6373+the child will be allocated all the size up to the maximum.
6374+If the threshold is lower than the minimum size to allocate to the child,
6375+that size will be used as the tightening threshold.
6376+
6377+Effectively, tightening the grip on the child before it reaches its maximum
6378+size makes transitions to and from the maximum size smoother when resizing.</doc>
6379+ <type name="gint" c:type="gint"/>
6380+ </property>
6381+ </class>
6382+ <record name="ClampClass"
6383+ c:type="AdwClampClass"
6384+ glib:is-gtype-struct-for="Clamp">
6385+ <source-position filename="src/adw-clamp.h" line="22"/>
6386+ <field name="parent_class">
6387+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
6388+ </field>
6389+ </record>
6390+ <class name="ClampLayout"
6391+ c:symbol-prefix="clamp_layout"
6392+ c:type="AdwClampLayout"
6393+ parent="Gtk.LayoutManager"
6394+ final="1"
6395+ glib:type-name="AdwClampLayout"
6396+ glib:get-type="adw_clamp_layout_get_type"
6397+ glib:type-struct="ClampLayoutClass">
6398+ <doc xml:space="preserve"
6399+ filename="src/adw-clamp-layout.c"
6400+ line="15">A layout manager constraining its children to a given size.
6401+
6402+&lt;picture&gt;
6403+ &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
6404+ &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
6405+&lt;/picture&gt;
6406+&lt;picture&gt;
6407+ &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
6408+ &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
6409+&lt;/picture&gt;
6410+
6411+`AdwClampLayout` constraints the size of the widgets it contains to a given
6412+maximum size. It will constrain the width if it is horizontal, or the height
6413+if it is vertical. The expansion of the children from their minimum to their
6414+maximum size is eased out for a smooth transition.
6415+
6416+If a child requires more than the requested maximum size, it will be
6417+allocated the minimum size it can fit in instead.
6418+
6419+Each child will get the style classes .large when it reached its maximum
6420+size, .small when it's allocated the full size, .medium in-between, or none
6421+if it hasn't been allocated yet.</doc>
6422+ <source-position filename="src/adw-clamp-layout.h" line="22"/>
6423+ <implements name="Gtk.Orientable"/>
6424+ <constructor name="new" c:identifier="adw_clamp_layout_new">
6425+ <doc xml:space="preserve"
6426+ filename="src/adw-clamp-layout.c"
6427+ line="388">Creates a new `AdwClampLayout`.</doc>
6428+ <source-position filename="src/adw-clamp-layout.h" line="25"/>
6429+ <return-value transfer-ownership="full">
6430+ <doc xml:space="preserve"
6431+ filename="src/adw-clamp-layout.c"
6432+ line="393">the newly created `AdwClampLayout`</doc>
6433+ <type name="Gtk.LayoutManager" c:type="GtkLayoutManager*"/>
6434+ </return-value>
6435+ </constructor>
6436+ <method name="get_maximum_size"
6437+ c:identifier="adw_clamp_layout_get_maximum_size"
6438+ glib:get-property="maximum-size">
6439+ <attribute name="org.gtk.Method.get_property" value="maximum-size"/>
6440+ <doc xml:space="preserve"
6441+ filename="src/adw-clamp-layout.c"
6442+ line="401">Gets the maximum size allocated to the children.</doc>
6443+ <source-position filename="src/adw-clamp-layout.h" line="28"/>
6444+ <return-value transfer-ownership="none">
6445+ <doc xml:space="preserve"
6446+ filename="src/adw-clamp-layout.c"
6447+ line="407">the maximum size to allocate to the children</doc>
6448+ <type name="gint" c:type="int"/>
6449+ </return-value>
6450+ <parameters>
6451+ <instance-parameter name="self" transfer-ownership="none">
6452+ <doc xml:space="preserve"
6453+ filename="src/adw-clamp-layout.c"
6454+ line="403">a clamp layout</doc>
6455+ <type name="ClampLayout" c:type="AdwClampLayout*"/>
6456+ </instance-parameter>
6457+ </parameters>
6458+ </method>
6459+ <method name="get_tightening_threshold"
6460+ c:identifier="adw_clamp_layout_get_tightening_threshold"
6461+ glib:get-property="tightening-threshold">
6462+ <attribute name="org.gtk.Method.get_property"
6463+ value="tightening-threshold"/>
6464+ <doc xml:space="preserve"
6465+ filename="src/adw-clamp-layout.c"
6466+ line="442">Gets the size above which the children are clamped.</doc>
6467+ <source-position filename="src/adw-clamp-layout.h" line="34"/>
6468+ <return-value transfer-ownership="none">
6469+ <doc xml:space="preserve"
6470+ filename="src/adw-clamp-layout.c"
6471+ line="448">the size above which the children are clamped</doc>
6472+ <type name="gint" c:type="int"/>
6473+ </return-value>
6474+ <parameters>
6475+ <instance-parameter name="self" transfer-ownership="none">
6476+ <doc xml:space="preserve"
6477+ filename="src/adw-clamp-layout.c"
6478+ line="444">a clamp layout</doc>
6479+ <type name="ClampLayout" c:type="AdwClampLayout*"/>
6480+ </instance-parameter>
6481+ </parameters>
6482+ </method>
6483+ <method name="set_maximum_size"
6484+ c:identifier="adw_clamp_layout_set_maximum_size"
6485+ glib:set-property="maximum-size">
6486+ <attribute name="org.gtk.Method.set_property" value="maximum-size"/>
6487+ <doc xml:space="preserve"
6488+ filename="src/adw-clamp-layout.c"
6489+ line="417">Sets the maximum size allocated to the children.
6490+
6491+It is the width if the layout is horizontal, or the height if it is vertical.</doc>
6492+ <source-position filename="src/adw-clamp-layout.h" line="30"/>
6493+ <return-value transfer-ownership="none">
6494+ <type name="none" c:type="void"/>
6495+ </return-value>
6496+ <parameters>
6497+ <instance-parameter name="self" transfer-ownership="none">
6498+ <doc xml:space="preserve"
6499+ filename="src/adw-clamp-layout.c"
6500+ line="419">a clamp layout</doc>
6501+ <type name="ClampLayout" c:type="AdwClampLayout*"/>
6502+ </instance-parameter>
6503+ <parameter name="maximum_size" transfer-ownership="none">
6504+ <doc xml:space="preserve"
6505+ filename="src/adw-clamp-layout.c"
6506+ line="420">the maximum size</doc>
6507+ <type name="gint" c:type="int"/>
6508+ </parameter>
6509+ </parameters>
6510+ </method>
6511+ <method name="set_tightening_threshold"
6512+ c:identifier="adw_clamp_layout_set_tightening_threshold"
6513+ glib:set-property="tightening-threshold">
6514+ <attribute name="org.gtk.Method.set_property"
6515+ value="tightening-threshold"/>
6516+ <doc xml:space="preserve"
6517+ filename="src/adw-clamp-layout.c"
6518+ line="458">Sets the size above which the children are clamped.
6519+
6520+Starting from this size, the layout will tighten its grip on the children,
6521+slowly allocating less and less of the available size up to the maximum
6522+allocated size. Below that threshold and below the maximum size, the children
6523+will be allocated all the available size.
6524+
6525+If the threshold is greater than the maximum size to allocate to the
6526+children, they will be allocated the whole size up to the maximum. If the
6527+threshold is lower than the minimum size to allocate to the children, that
6528+size will be used as the tightening threshold.
6529+
6530+Effectively, tightening the grip on a child before it reaches its maximum
6531+size makes transitions to and from the maximum size smoother when resizing.</doc>
6532+ <source-position filename="src/adw-clamp-layout.h" line="36"/>
6533+ <return-value transfer-ownership="none">
6534+ <type name="none" c:type="void"/>
6535+ </return-value>
6536+ <parameters>
6537+ <instance-parameter name="self" transfer-ownership="none">
6538+ <doc xml:space="preserve"
6539+ filename="src/adw-clamp-layout.c"
6540+ line="460">a clamp layout</doc>
6541+ <type name="ClampLayout" c:type="AdwClampLayout*"/>
6542+ </instance-parameter>
6543+ <parameter name="tightening_threshold" transfer-ownership="none">
6544+ <doc xml:space="preserve"
6545+ filename="src/adw-clamp-layout.c"
6546+ line="461">the tightening threshold</doc>
6547+ <type name="gint" c:type="int"/>
6548+ </parameter>
6549+ </parameters>
6550+ </method>
6551+ <property name="maximum-size"
6552+ writable="1"
6553+ transfer-ownership="none"
6554+ setter="set_maximum_size"
6555+ getter="get_maximum_size"
6556+ default-value="600">
6557+ <attribute name="org.gtk.Property.get"
6558+ value="adw_clamp_layout_get_maximum_size"/>
6559+ <attribute name="org.gtk.Property.set"
6560+ value="adw_clamp_layout_set_maximum_size"/>
6561+ <doc xml:space="preserve"
6562+ filename="src/adw-clamp-layout.c"
6563+ line="342">The maximum size to allocate to the children.
6564+
6565+It is the width if the layout is horizontal, or the height if it is
6566+vertical.</doc>
6567+ <type name="gint" c:type="gint"/>
6568+ </property>
6569+ <property name="tightening-threshold"
6570+ writable="1"
6571+ transfer-ownership="none"
6572+ setter="set_tightening_threshold"
6573+ getter="get_tightening_threshold"
6574+ default-value="400">
6575+ <attribute name="org.gtk.Property.get"
6576+ value="adw_clamp_layout_get_tightening_threshold"/>
6577+ <attribute name="org.gtk.Property.set"
6578+ value="adw_clamp_layout_set_tightening_threshold"/>
6579+ <doc xml:space="preserve"
6580+ filename="src/adw-clamp-layout.c"
6581+ line="355">The size above which the children are clamped.
6582+
6583+Starting from this size, the layout will tighten its grip on the children,
6584+slowly allocating less and less of the available size up to the maximum
6585+allocated size. Below that threshold and below the maximum size, the
6586+children will be allocated all the available size.
6587+
6588+If the threshold is greater than the maximum size to allocate to the
6589+children, they will be allocated the whole size up to the maximum. If the
6590+threshold is lower than the minimum size to allocate to the children, that
6591+size will be used as the tightening threshold.
6592+
6593+Effectively, tightening the grip on a child before it reaches its maximum
6594+size makes transitions to and from the maximum size smoother when resizing.</doc>
6595+ <type name="gint" c:type="gint"/>
6596+ </property>
6597+ </class>
6598+ <record name="ClampLayoutClass"
6599+ c:type="AdwClampLayoutClass"
6600+ glib:is-gtype-struct-for="ClampLayout">
6601+ <source-position filename="src/adw-clamp-layout.h" line="22"/>
6602+ <field name="parent_class">
6603+ <type name="Gtk.LayoutManagerClass" c:type="GtkLayoutManagerClass"/>
6604+ </field>
6605+ </record>
6606+ <class name="ClampScrollable"
6607+ c:symbol-prefix="clamp_scrollable"
6608+ c:type="AdwClampScrollable"
6609+ parent="Gtk.Widget"
6610+ final="1"
6611+ glib:type-name="AdwClampScrollable"
6612+ glib:get-type="adw_clamp_scrollable_get_type"
6613+ glib:type-struct="ClampScrollableClass">
6614+ <doc xml:space="preserve"
6615+ filename="src/adw-clamp-scrollable.c"
6616+ line="13">A scrollable [class@Clamp].
6617+
6618+`AdwClampScrollable` is a variant of [class@Clamp] that implements the
6619+[iface@Gtk.Scrollable] interface.
6620+
6621+The primary use case for `AdwClampScrollable` is clamping
6622+[class@Gtk.ListView].</doc>
6623+ <source-position filename="src/adw-clamp-scrollable.h" line="22"/>
6624+ <implements name="Gtk.Accessible"/>
6625+ <implements name="Gtk.Buildable"/>
6626+ <implements name="Gtk.ConstraintTarget"/>
6627+ <implements name="Gtk.Orientable"/>
6628+ <implements name="Gtk.Scrollable"/>
6629+ <constructor name="new" c:identifier="adw_clamp_scrollable_new">
6630+ <doc xml:space="preserve"
6631+ filename="src/adw-clamp-scrollable.c"
6632+ line="329">Creates a new `AdwClampScrollable`.</doc>
6633+ <source-position filename="src/adw-clamp-scrollable.h" line="25"/>
6634+ <return-value transfer-ownership="none">
6635+ <doc xml:space="preserve"
6636+ filename="src/adw-clamp-scrollable.c"
6637+ line="334">the newly created `AdwClampScrollable`</doc>
6638+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6639+ </return-value>
6640+ </constructor>
6641+ <method name="get_child"
6642+ c:identifier="adw_clamp_scrollable_get_child"
6643+ glib:get-property="child">
6644+ <attribute name="org.gtk.Method.get_property" value="child"/>
6645+ <doc xml:space="preserve"
6646+ filename="src/adw-clamp-scrollable.c"
6647+ line="342">Gets the child widget of @self.</doc>
6648+ <source-position filename="src/adw-clamp-scrollable.h" line="28"/>
6649+ <return-value transfer-ownership="none" nullable="1">
6650+ <doc xml:space="preserve"
6651+ filename="src/adw-clamp-scrollable.c"
6652+ line="348">the child widget of @self</doc>
6653+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6654+ </return-value>
6655+ <parameters>
6656+ <instance-parameter name="self" transfer-ownership="none">
6657+ <doc xml:space="preserve"
6658+ filename="src/adw-clamp-scrollable.c"
6659+ line="344">a clamp scrollable</doc>
6660+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6661+ </instance-parameter>
6662+ </parameters>
6663+ </method>
6664+ <method name="get_maximum_size"
6665+ c:identifier="adw_clamp_scrollable_get_maximum_size"
6666+ glib:get-property="maximum-size">
6667+ <attribute name="org.gtk.Method.get_property" value="maximum-size"/>
6668+ <doc xml:space="preserve"
6669+ filename="src/adw-clamp-scrollable.c"
6670+ line="410">Gets the maximum size allocated to the child.</doc>
6671+ <source-position filename="src/adw-clamp-scrollable.h" line="34"/>
6672+ <return-value transfer-ownership="none">
6673+ <doc xml:space="preserve"
6674+ filename="src/adw-clamp-scrollable.c"
6675+ line="416">the maximum size to allocate to the child</doc>
6676+ <type name="gint" c:type="int"/>
6677+ </return-value>
6678+ <parameters>
6679+ <instance-parameter name="self" transfer-ownership="none">
6680+ <doc xml:space="preserve"
6681+ filename="src/adw-clamp-scrollable.c"
6682+ line="412">a clamp scrollable</doc>
6683+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6684+ </instance-parameter>
6685+ </parameters>
6686+ </method>
6687+ <method name="get_tightening_threshold"
6688+ c:identifier="adw_clamp_scrollable_get_tightening_threshold"
6689+ glib:get-property="tightening-threshold">
6690+ <attribute name="org.gtk.Method.get_property"
6691+ value="tightening-threshold"/>
6692+ <doc xml:space="preserve"
6693+ filename="src/adw-clamp-scrollable.c"
6694+ line="457">Gets the size above which the child is clamped.</doc>
6695+ <source-position filename="src/adw-clamp-scrollable.h" line="40"/>
6696+ <return-value transfer-ownership="none">
6697+ <doc xml:space="preserve"
6698+ filename="src/adw-clamp-scrollable.c"
6699+ line="463">the size above which the child is clamped</doc>
6700+ <type name="gint" c:type="int"/>
6701+ </return-value>
6702+ <parameters>
6703+ <instance-parameter name="self" transfer-ownership="none">
6704+ <doc xml:space="preserve"
6705+ filename="src/adw-clamp-scrollable.c"
6706+ line="459">a clamp scrollable</doc>
6707+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6708+ </instance-parameter>
6709+ </parameters>
6710+ </method>
6711+ <method name="set_child"
6712+ c:identifier="adw_clamp_scrollable_set_child"
6713+ glib:set-property="child">
6714+ <attribute name="org.gtk.Method.set_property" value="child"/>
6715+ <doc xml:space="preserve"
6716+ filename="src/adw-clamp-scrollable.c"
6717+ line="358">Sets the child widget of @self.</doc>
6718+ <source-position filename="src/adw-clamp-scrollable.h" line="30"/>
6719+ <return-value transfer-ownership="none">
6720+ <type name="none" c:type="void"/>
6721+ </return-value>
6722+ <parameters>
6723+ <instance-parameter name="self" transfer-ownership="none">
6724+ <doc xml:space="preserve"
6725+ filename="src/adw-clamp-scrollable.c"
6726+ line="360">a clamp scrollable</doc>
6727+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6728+ </instance-parameter>
6729+ <parameter name="child"
6730+ transfer-ownership="none"
6731+ nullable="1"
6732+ allow-none="1">
6733+ <doc xml:space="preserve"
6734+ filename="src/adw-clamp-scrollable.c"
6735+ line="361">the child widget</doc>
6736+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
6737+ </parameter>
6738+ </parameters>
6739+ </method>
6740+ <method name="set_maximum_size"
6741+ c:identifier="adw_clamp_scrollable_set_maximum_size"
6742+ glib:set-property="maximum-size">
6743+ <attribute name="org.gtk.Method.set_property" value="maximum-size"/>
6744+ <doc xml:space="preserve"
6745+ filename="src/adw-clamp-scrollable.c"
6746+ line="430">Sets the maximum size allocated to the child.
6747+
6748+It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
6749+ <source-position filename="src/adw-clamp-scrollable.h" line="36"/>
6750+ <return-value transfer-ownership="none">
6751+ <type name="none" c:type="void"/>
6752+ </return-value>
6753+ <parameters>
6754+ <instance-parameter name="self" transfer-ownership="none">
6755+ <doc xml:space="preserve"
6756+ filename="src/adw-clamp-scrollable.c"
6757+ line="432">a clamp scrollable</doc>
6758+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6759+ </instance-parameter>
6760+ <parameter name="maximum_size" transfer-ownership="none">
6761+ <doc xml:space="preserve"
6762+ filename="src/adw-clamp-scrollable.c"
6763+ line="433">the maximum size</doc>
6764+ <type name="gint" c:type="int"/>
6765+ </parameter>
6766+ </parameters>
6767+ </method>
6768+ <method name="set_tightening_threshold"
6769+ c:identifier="adw_clamp_scrollable_set_tightening_threshold"
6770+ glib:set-property="tightening-threshold">
6771+ <attribute name="org.gtk.Method.set_property"
6772+ value="tightening-threshold"/>
6773+ <doc xml:space="preserve"
6774+ filename="src/adw-clamp-scrollable.c"
6775+ line="477">Sets the size above which the child is clamped.
6776+
6777+Starting from this size, the clamp will tighten its grip on the child, slowly
6778+allocating less and less of the available size up to the maximum allocated
6779+size. Below that threshold and below the maximum width, the child will be
6780+allocated all the available size.
6781+
6782+If the threshold is greater than the maximum size to allocate to the child,
6783+the child will be allocated all the width up to the maximum. If the threshold
6784+is lower than the minimum size to allocate to the child, that size will be
6785+used as the tightening threshold.
6786+
6787+Effectively, tightening the grip on the child before it reaches its maximum
6788+size makes transitions to and from the maximum size smoother when resizing.</doc>
6789+ <source-position filename="src/adw-clamp-scrollable.h" line="42"/>
6790+ <return-value transfer-ownership="none">
6791+ <type name="none" c:type="void"/>
6792+ </return-value>
6793+ <parameters>
6794+ <instance-parameter name="self" transfer-ownership="none">
6795+ <doc xml:space="preserve"
6796+ filename="src/adw-clamp-scrollable.c"
6797+ line="479">a clamp scrollable</doc>
6798+ <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
6799+ </instance-parameter>
6800+ <parameter name="tightening_threshold" transfer-ownership="none">
6801+ <doc xml:space="preserve"
6802+ filename="src/adw-clamp-scrollable.c"
6803+ line="480">the tightening threshold</doc>
6804+ <type name="gint" c:type="int"/>
6805+ </parameter>
6806+ </parameters>
6807+ </method>
6808+ <property name="child"
6809+ writable="1"
6810+ transfer-ownership="none"
6811+ setter="set_child"
6812+ getter="get_child">
6813+ <attribute name="org.gtk.Property.get"
6814+ value="adw_clamp_scrollable_get_child"/>
6815+ <attribute name="org.gtk.Property.set"
6816+ value="adw_clamp_scrollable_set_child"/>
6817+ <doc xml:space="preserve"
6818+ filename="src/adw-clamp-scrollable.c"
6819+ line="253">The child widget of the `AdwClampScrollable`.</doc>
6820+ <type name="Gtk.Widget"/>
6821+ </property>
6822+ <property name="maximum-size"
6823+ writable="1"
6824+ transfer-ownership="none"
6825+ setter="set_maximum_size"
6826+ getter="get_maximum_size"
6827+ default-value="600">
6828+ <attribute name="org.gtk.Property.get"
6829+ value="adw_clamp_scrollable_get_maximum_size"/>
6830+ <attribute name="org.gtk.Property.set"
6831+ value="adw_clamp_scrollable_set_maximum_size"/>
6832+ <doc xml:space="preserve"
6833+ filename="src/adw-clamp-scrollable.c"
6834+ line="263">The maximum size allocated to the child.
6835+
6836+It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
6837+ <type name="gint" c:type="gint"/>
6838+ </property>
6839+ <property name="tightening-threshold"
6840+ writable="1"
6841+ transfer-ownership="none"
6842+ setter="set_tightening_threshold"
6843+ getter="get_tightening_threshold"
6844+ default-value="400">
6845+ <attribute name="org.gtk.Property.get"
6846+ value="adw_clamp_scrollable_get_tightening_threshold"/>
6847+ <attribute name="org.gtk.Property.set"
6848+ value="adw_clamp_scrollable_set_tightening_threshold"/>
6849+ <doc xml:space="preserve"
6850+ filename="src/adw-clamp-scrollable.c"
6851+ line="275">The size above which the child is clamped.
6852+
6853+Starting from this size, the clamp will tighten its grip on the child,
6854+slowly allocating less and less of the available size up to the maximum
6855+allocated size. Below that threshold and below the maximum width, the child
6856+will be allocated all the available size.
6857+
6858+If the threshold is greater than the maximum size to allocate to the child,
6859+the child will be allocated all the width up to the maximum.
6860+If the threshold is lower than the minimum size to allocate to the child,
6861+that size will be used as the tightening threshold.
6862+
6863+Effectively, tightening the grip on the child before it reaches its maximum
6864+size makes transitions to and from the maximum size smoother when resizing.</doc>
6865+ <type name="gint" c:type="gint"/>
6866+ </property>
6867+ </class>
6868+ <record name="ClampScrollableClass"
6869+ c:type="AdwClampScrollableClass"
6870+ glib:is-gtype-struct-for="ClampScrollable">
6871+ <source-position filename="src/adw-clamp-scrollable.h" line="22"/>
6872+ <field name="parent_class">
6873+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
6874+ </field>
6875+ </record>
6876+ <enumeration name="ColorScheme"
6877+ glib:type-name="AdwColorScheme"
6878+ glib:get-type="adw_color_scheme_get_type"
6879+ c:type="AdwColorScheme">
6880+ <doc xml:space="preserve"
6881+ filename="src/adw-style-manager.c"
6882+ line="19">Application color schemes for [property@StyleManager:color-scheme].</doc>
6883+ <member name="default"
6884+ value="0"
6885+ c:identifier="ADW_COLOR_SCHEME_DEFAULT"
6886+ glib:nick="default"
6887+ glib:name="ADW_COLOR_SCHEME_DEFAULT">
6888+ <doc xml:space="preserve"
6889+ filename="src/adw-style-manager.c"
6890+ line="21">Inherit the parent color-scheme. When set on the
6891+ `AdwStyleManager` returned by [func@StyleManager.get_default], it's
6892+ equivalent to `ADW_COLOR_SCHEME_PREFER_LIGHT`.</doc>
6893+ </member>
6894+ <member name="force_light"
6895+ value="1"
6896+ c:identifier="ADW_COLOR_SCHEME_FORCE_LIGHT"
6897+ glib:nick="force-light"
6898+ glib:name="ADW_COLOR_SCHEME_FORCE_LIGHT">
6899+ <doc xml:space="preserve"
6900+ filename="src/adw-style-manager.c"
6901+ line="24">Always use light appearance.</doc>
6902+ </member>
6903+ <member name="prefer_light"
6904+ value="2"
6905+ c:identifier="ADW_COLOR_SCHEME_PREFER_LIGHT"
6906+ glib:nick="prefer-light"
6907+ glib:name="ADW_COLOR_SCHEME_PREFER_LIGHT">
6908+ <doc xml:space="preserve"
6909+ filename="src/adw-style-manager.c"
6910+ line="25">Use light appearance unless the system
6911+ prefers dark colors.</doc>
6912+ </member>
6913+ <member name="prefer_dark"
6914+ value="3"
6915+ c:identifier="ADW_COLOR_SCHEME_PREFER_DARK"
6916+ glib:nick="prefer-dark"
6917+ glib:name="ADW_COLOR_SCHEME_PREFER_DARK">
6918+ <doc xml:space="preserve"
6919+ filename="src/adw-style-manager.c"
6920+ line="27">Use dark appearance unless the system prefers
6921+ prefers light colors.</doc>
6922+ </member>
6923+ <member name="force_dark"
6924+ value="4"
6925+ c:identifier="ADW_COLOR_SCHEME_FORCE_DARK"
6926+ glib:nick="force-dark"
6927+ glib:name="ADW_COLOR_SCHEME_FORCE_DARK">
6928+ <doc xml:space="preserve"
6929+ filename="src/adw-style-manager.c"
6930+ line="29">Always use dark appearance.</doc>
6931+ </member>
6932+ </enumeration>
6933+ <class name="ComboRow"
6934+ c:symbol-prefix="combo_row"
6935+ c:type="AdwComboRow"
6936+ parent="ActionRow"
6937+ glib:type-name="AdwComboRow"
6938+ glib:get-type="adw_combo_row_get_type"
6939+ glib:type-struct="ComboRowClass">
6940+ <doc xml:space="preserve"
6941+ filename="src/adw-combo-row.c"
6942+ line="16">A [class@Gtk.ListBoxRow] used to choose from a list of items.
6943+
6944+&lt;picture&gt;
6945+ &lt;source srcset="combo-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
6946+ &lt;img src="combo-row.png" alt="combo-row"&gt;
6947+&lt;/picture&gt;
6948+
6949+The `AdwComboRow` widget allows the user to choose from a list of valid
6950+choices. The row displays the selected choice. When activated, the row
6951+displays a popover which allows the user to make a new choice.
6952+
6953+Example of an `AdwComboRow` UI definition:
6954+```xml
6955+&lt;object class="AdwComboRow"&gt;
6956+ &lt;property name="title" translatable="yes"&gt;Combo Row&lt;/property&gt;
6957+ &lt;property name="model"&gt;
6958+ &lt;object class="GtkStringList"&gt;
6959+ &lt;items&gt;
6960+ &lt;item translatable="yes"&gt;Foo&lt;/item&gt;
6961+ &lt;item translatable="yes"&gt;Bar&lt;/item&gt;
6962+ &lt;item translatable="yes"&gt;Baz&lt;/item&gt;
6963+ &lt;/items&gt;
6964+ &lt;/object&gt;
6965+ &lt;/property&gt;
6966+&lt;/object&gt;
6967+```
6968+
6969+The [property@ComboRow:selected] and [property@ComboRow:selected-item]
6970+properties can be used to keep track of the selected item and react to their
6971+changes.
6972+
6973+`AdwComboRow` mirrors [class@Gtk.DropDown], see that widget for details.
6974+
6975+`AdwComboRow` is [property@Gtk.ListBoxRow:activatable] if a model is set.
6976+
6977+## CSS nodes
6978+
6979+`AdwComboRow` has a main CSS node with name `row` and the `.combo` style
6980+class.
6981+
6982+Its popover has the node named `popover` with the `.menu` style class, it
6983+contains a [class@Gtk.ScrolledWindow], which in turn contains a
6984+[class@Gtk.ListView], both are accessible via their regular nodes.
6985+
6986+## Accessibility
6987+
6988+`AdwComboRow` uses the `GTK_ACCESSIBLE_ROLE_COMBO_BOX` role.</doc>
6989+ <source-position filename="src/adw-combo-row.h" line="35"/>
6990+ <implements name="Gtk.Accessible"/>
6991+ <implements name="Gtk.Actionable"/>
6992+ <implements name="Gtk.Buildable"/>
6993+ <implements name="Gtk.ConstraintTarget"/>
6994+ <constructor name="new" c:identifier="adw_combo_row_new">
6995+ <doc xml:space="preserve"
6996+ filename="src/adw-combo-row.c"
6997+ line="553">Creates a new `AdwComboRow`.</doc>
6998+ <source-position filename="src/adw-combo-row.h" line="38"/>
6999+ <return-value transfer-ownership="none">
7000+ <doc xml:space="preserve"
7001+ filename="src/adw-combo-row.c"
7002+ line="558">the newly created `AdwComboRow`</doc>
7003+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
7004+ </return-value>
7005+ </constructor>
7006+ <method name="get_expression"
7007+ c:identifier="adw_combo_row_get_expression"
7008+ glib:get-property="expression">
7009+ <attribute name="org.gtk.Method.get_property" value="expression"/>
7010+ <doc xml:space="preserve"
7011+ filename="src/adw-combo-row.c"
7012+ line="825">Gets the expression used to obtain strings from items.</doc>
7013+ <source-position filename="src/adw-combo-row.h" line="68"/>
7014+ <return-value transfer-ownership="none" nullable="1">
7015+ <doc xml:space="preserve"
7016+ filename="src/adw-combo-row.c"
7017+ line="831">the expression used to obtain strings from items</doc>
7018+ <type name="Gtk.Expression" c:type="GtkExpression*"/>
7019+ </return-value>
7020+ <parameters>
7021+ <instance-parameter name="self" transfer-ownership="none">
7022+ <doc xml:space="preserve"
7023+ filename="src/adw-combo-row.c"
7024+ line="827">a combo row</doc>
7025+ <type name="ComboRow" c:type="AdwComboRow*"/>
7026+ </instance-parameter>
7027+ </parameters>
7028+ </method>
7029+ <method name="get_factory"
7030+ c:identifier="adw_combo_row_get_factory"
7031+ glib:get-property="factory">
7032+ <attribute name="org.gtk.Method.get_property" value="factory"/>
7033+ <doc xml:space="preserve"
7034+ filename="src/adw-combo-row.c"
7035+ line="722">Gets the factory for populating list items.</doc>
7036+ <source-position filename="src/adw-combo-row.h" line="56"/>
7037+ <return-value transfer-ownership="none" nullable="1">
7038+ <doc xml:space="preserve"
7039+ filename="src/adw-combo-row.c"
7040+ line="728">the factory in use</doc>
7041+ <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
7042+ </return-value>
7043+ <parameters>
7044+ <instance-parameter name="self" transfer-ownership="none">
7045+ <doc xml:space="preserve"
7046+ filename="src/adw-combo-row.c"
7047+ line="724">a combo row</doc>
7048+ <type name="ComboRow" c:type="AdwComboRow*"/>
7049+ </instance-parameter>
7050+ </parameters>
7051+ </method>
7052+ <method name="get_list_factory"
7053+ c:identifier="adw_combo_row_get_list_factory"
7054+ glib:get-property="list-factory">
7055+ <attribute name="org.gtk.Method.get_property" value="list-factory"/>
7056+ <doc xml:space="preserve"
7057+ filename="src/adw-combo-row.c"
7058+ line="774">Gets the factory for populating list items in the popup.</doc>
7059+ <source-position filename="src/adw-combo-row.h" line="62"/>
7060+ <return-value transfer-ownership="none" nullable="1">
7061+ <doc xml:space="preserve"
7062+ filename="src/adw-combo-row.c"
7063+ line="780">the factory in use</doc>
7064+ <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
7065+ </return-value>
7066+ <parameters>
7067+ <instance-parameter name="self" transfer-ownership="none">
7068+ <doc xml:space="preserve"
7069+ filename="src/adw-combo-row.c"
7070+ line="776">a combo row</doc>
7071+ <type name="ComboRow" c:type="AdwComboRow*"/>
7072+ </instance-parameter>
7073+ </parameters>
7074+ </method>
7075+ <method name="get_model"
7076+ c:identifier="adw_combo_row_get_model"
7077+ glib:get-property="model">
7078+ <attribute name="org.gtk.Method.get_property" value="model"/>
7079+ <doc xml:space="preserve"
7080+ filename="src/adw-combo-row.c"
7081+ line="640">Gets the model that provides the displayed items.</doc>
7082+ <source-position filename="src/adw-combo-row.h" line="41"/>
7083+ <return-value transfer-ownership="none" nullable="1">
7084+ <doc xml:space="preserve"
7085+ filename="src/adw-combo-row.c"
7086+ line="646">The model in use</doc>
7087+ <type name="Gio.ListModel" c:type="GListModel*"/>
7088+ </return-value>
7089+ <parameters>
7090+ <instance-parameter name="self" transfer-ownership="none">
7091+ <doc xml:space="preserve"
7092+ filename="src/adw-combo-row.c"
7093+ line="642">a combo row</doc>
7094+ <type name="ComboRow" c:type="AdwComboRow*"/>
7095+ </instance-parameter>
7096+ </parameters>
7097+ </method>
7098+ <method name="get_selected"
7099+ c:identifier="adw_combo_row_get_selected"
7100+ glib:get-property="selected">
7101+ <attribute name="org.gtk.Method.get_property" value="selected"/>
7102+ <doc xml:space="preserve"
7103+ filename="src/adw-combo-row.c"
7104+ line="593">Gets the position of the selected item.</doc>
7105+ <source-position filename="src/adw-combo-row.h" line="47"/>
7106+ <return-value transfer-ownership="none">
7107+ <doc xml:space="preserve"
7108+ filename="src/adw-combo-row.c"
7109+ line="599">the position of the selected item, or
7110+ [const@Gtk.INVALID_LIST_POSITION] if no item is selected</doc>
7111+ <type name="guint" c:type="guint"/>
7112+ </return-value>
7113+ <parameters>
7114+ <instance-parameter name="self" transfer-ownership="none">
7115+ <doc xml:space="preserve"
7116+ filename="src/adw-combo-row.c"
7117+ line="595">a combo row</doc>
7118+ <type name="ComboRow" c:type="AdwComboRow*"/>
7119+ </instance-parameter>
7120+ </parameters>
7121+ </method>
7122+ <method name="get_selected_item"
7123+ c:identifier="adw_combo_row_get_selected_item"
7124+ glib:get-property="selected-item">
7125+ <attribute name="org.gtk.Method.get_property" value="selected-item"/>
7126+ <doc xml:space="preserve"
7127+ filename="src/adw-combo-row.c"
7128+ line="617">Gets the selected item.</doc>
7129+ <source-position filename="src/adw-combo-row.h" line="53"/>
7130+ <return-value transfer-ownership="none" nullable="1">
7131+ <doc xml:space="preserve"
7132+ filename="src/adw-combo-row.c"
7133+ line="623">the selected item</doc>
7134+ <type name="GObject.Object" c:type="gpointer"/>
7135+ </return-value>
7136+ <parameters>
7137+ <instance-parameter name="self" transfer-ownership="none">
7138+ <doc xml:space="preserve"
7139+ filename="src/adw-combo-row.c"
7140+ line="619">a combo row</doc>
7141+ <type name="ComboRow" c:type="AdwComboRow*"/>
7142+ </instance-parameter>
7143+ </parameters>
7144+ </method>
7145+ <method name="get_use_subtitle"
7146+ c:identifier="adw_combo_row_get_use_subtitle"
7147+ glib:get-property="use-subtitle">
7148+ <attribute name="org.gtk.Method.get_property" value="use-subtitle"/>
7149+ <doc xml:space="preserve"
7150+ filename="src/adw-combo-row.c"
7151+ line="884">Gets whether to use the current value as the subtitle.</doc>
7152+ <source-position filename="src/adw-combo-row.h" line="74"/>
7153+ <return-value transfer-ownership="none">
7154+ <doc xml:space="preserve"
7155+ filename="src/adw-combo-row.c"
7156+ line="890">whether to use the current value as the subtitle</doc>
7157+ <type name="gboolean" c:type="gboolean"/>
7158+ </return-value>
7159+ <parameters>
7160+ <instance-parameter name="self" transfer-ownership="none">
7161+ <doc xml:space="preserve"
7162+ filename="src/adw-combo-row.c"
7163+ line="886">a combo row</doc>
7164+ <type name="ComboRow" c:type="AdwComboRow*"/>
7165+ </instance-parameter>
7166+ </parameters>
7167+ </method>
7168+ <method name="set_expression"
7169+ c:identifier="adw_combo_row_set_expression"
7170+ glib:set-property="expression">
7171+ <attribute name="org.gtk.Method.set_property" value="expression"/>
7172+ <doc xml:space="preserve"
7173+ filename="src/adw-combo-row.c"
7174+ line="845">Sets the expression used to obtain strings from items.
7175+
7176+The expression must have a value type of `G_TYPE_STRING`.
7177+
7178+It's used to bind strings to labels produced by the default factory if
7179+[property@ComboRow:factory] is not set, or when
7180+[property@ComboRow:use-subtitle] is set to `TRUE`.</doc>
7181+ <source-position filename="src/adw-combo-row.h" line="70"/>
7182+ <return-value transfer-ownership="none">
7183+ <type name="none" c:type="void"/>
7184+ </return-value>
7185+ <parameters>
7186+ <instance-parameter name="self" transfer-ownership="none">
7187+ <doc xml:space="preserve"
7188+ filename="src/adw-combo-row.c"
7189+ line="847">a combo row</doc>
7190+ <type name="ComboRow" c:type="AdwComboRow*"/>
7191+ </instance-parameter>
7192+ <parameter name="expression"
7193+ transfer-ownership="none"
7194+ nullable="1"
7195+ allow-none="1">
7196+ <doc xml:space="preserve"
7197+ filename="src/adw-combo-row.c"
7198+ line="848">an expression</doc>
7199+ <type name="Gtk.Expression" c:type="GtkExpression*"/>
7200+ </parameter>
7201+ </parameters>
7202+ </method>
7203+ <method name="set_factory"
7204+ c:identifier="adw_combo_row_set_factory"
7205+ glib:set-property="factory">
7206+ <attribute name="org.gtk.Method.set_property" value="factory"/>
7207+ <doc xml:space="preserve"
7208+ filename="src/adw-combo-row.c"
7209+ line="742">Sets the factory for populating list items.
7210+
7211+This factory is always used for the item in the row. It is also used for
7212+items in the popup unless [property@ComboRow:list-factory] is set.</doc>
7213+ <source-position filename="src/adw-combo-row.h" line="58"/>
7214+ <return-value transfer-ownership="none">
7215+ <type name="none" c:type="void"/>
7216+ </return-value>
7217+ <parameters>
7218+ <instance-parameter name="self" transfer-ownership="none">
7219+ <doc xml:space="preserve"
7220+ filename="src/adw-combo-row.c"
7221+ line="744">a combo row</doc>
7222+ <type name="ComboRow" c:type="AdwComboRow*"/>
7223+ </instance-parameter>
7224+ <parameter name="factory"
7225+ transfer-ownership="none"
7226+ nullable="1"
7227+ allow-none="1">
7228+ <doc xml:space="preserve"
7229+ filename="src/adw-combo-row.c"
7230+ line="745">the factory to use</doc>
7231+ <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
7232+ </parameter>
7233+ </parameters>
7234+ </method>
7235+ <method name="set_list_factory"
7236+ c:identifier="adw_combo_row_set_list_factory"
7237+ glib:set-property="list-factory">
7238+ <attribute name="org.gtk.Method.set_property" value="list-factory"/>
7239+ <doc xml:space="preserve"
7240+ filename="src/adw-combo-row.c"
7241+ line="794">Sets the factory for populating list items in the popup.
7242+
7243+If this is not set, [property@ComboRow:factory] is used.</doc>
7244+ <source-position filename="src/adw-combo-row.h" line="64"/>
7245+ <return-value transfer-ownership="none">
7246+ <type name="none" c:type="void"/>
7247+ </return-value>
7248+ <parameters>
7249+ <instance-parameter name="self" transfer-ownership="none">
7250+ <doc xml:space="preserve"
7251+ filename="src/adw-combo-row.c"
7252+ line="796">a combo row</doc>
7253+ <type name="ComboRow" c:type="AdwComboRow*"/>
7254+ </instance-parameter>
7255+ <parameter name="factory"
7256+ transfer-ownership="none"
7257+ nullable="1"
7258+ allow-none="1">
7259+ <doc xml:space="preserve"
7260+ filename="src/adw-combo-row.c"
7261+ line="797">the factory to use</doc>
7262+ <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
7263+ </parameter>
7264+ </parameters>
7265+ </method>
7266+ <method name="set_model"
7267+ c:identifier="adw_combo_row_set_model"
7268+ glib:set-property="model">
7269+ <attribute name="org.gtk.Method.set_property" value="model"/>
7270+ <doc xml:space="preserve"
7271+ filename="src/adw-combo-row.c"
7272+ line="660">Sets the model that provides the displayed items.</doc>
7273+ <source-position filename="src/adw-combo-row.h" line="43"/>
7274+ <return-value transfer-ownership="none">
7275+ <type name="none" c:type="void"/>
7276+ </return-value>
7277+ <parameters>
7278+ <instance-parameter name="self" transfer-ownership="none">
7279+ <doc xml:space="preserve"
7280+ filename="src/adw-combo-row.c"
7281+ line="662">a combo row</doc>
7282+ <type name="ComboRow" c:type="AdwComboRow*"/>
7283+ </instance-parameter>
7284+ <parameter name="model"
7285+ transfer-ownership="none"
7286+ nullable="1"
7287+ allow-none="1">
7288+ <doc xml:space="preserve"
7289+ filename="src/adw-combo-row.c"
7290+ line="663">the model to use</doc>
7291+ <type name="Gio.ListModel" c:type="GListModel*"/>
7292+ </parameter>
7293+ </parameters>
7294+ </method>
7295+ <method name="set_selected"
7296+ c:identifier="adw_combo_row_set_selected"
7297+ glib:set-property="selected">
7298+ <attribute name="org.gtk.Method.set_property" value="selected"/>
7299+ <doc xml:space="preserve"
7300+ filename="src/adw-combo-row.c"
7301+ line="566">Selects the item at the given position.</doc>
7302+ <source-position filename="src/adw-combo-row.h" line="49"/>
7303+ <return-value transfer-ownership="none">
7304+ <type name="none" c:type="void"/>
7305+ </return-value>
7306+ <parameters>
7307+ <instance-parameter name="self" transfer-ownership="none">
7308+ <doc xml:space="preserve"
7309+ filename="src/adw-combo-row.c"
7310+ line="568">a combo row</doc>
7311+ <type name="ComboRow" c:type="AdwComboRow*"/>
7312+ </instance-parameter>
7313+ <parameter name="position" transfer-ownership="none">
7314+ <doc xml:space="preserve"
7315+ filename="src/adw-combo-row.c"
7316+ line="569">the position of the item to select, or
7317+ [const@Gtk.INVALID_LIST_POSITION]</doc>
7318+ <type name="guint" c:type="guint"/>
7319+ </parameter>
7320+ </parameters>
7321+ </method>
7322+ <method name="set_use_subtitle"
7323+ c:identifier="adw_combo_row_set_use_subtitle"
7324+ glib:set-property="use-subtitle">
7325+ <attribute name="org.gtk.Method.set_property" value="use-subtitle"/>
7326+ <doc xml:space="preserve"
7327+ filename="src/adw-combo-row.c"
7328+ line="904">Sets whether to use the current value as the subtitle.
7329+
7330+If you use a custom list item factory, you will need to give the row a
7331+name conversion expression with [property@ComboRow:expression].
7332+
7333+If set to `TRUE`, you should not access [property@ActionRow:subtitle].
7334+
7335+The subtitle is interpreted as Pango markup if
7336+[property@PreferencesRow:use-markup] is set to `TRUE`.</doc>
7337+ <source-position filename="src/adw-combo-row.h" line="76"/>
7338+ <return-value transfer-ownership="none">
7339+ <type name="none" c:type="void"/>
7340+ </return-value>
7341+ <parameters>
7342+ <instance-parameter name="self" transfer-ownership="none">
7343+ <doc xml:space="preserve"
7344+ filename="src/adw-combo-row.c"
7345+ line="906">a combo row</doc>
7346+ <type name="ComboRow" c:type="AdwComboRow*"/>
7347+ </instance-parameter>
7348+ <parameter name="use_subtitle" transfer-ownership="none">
7349+ <doc xml:space="preserve"
7350+ filename="src/adw-combo-row.c"
7351+ line="907">whether to use the current value as the subtitle</doc>
7352+ <type name="gboolean" c:type="gboolean"/>
7353+ </parameter>
7354+ </parameters>
7355+ </method>
7356+ <property name="expression"
7357+ writable="1"
7358+ transfer-ownership="none"
7359+ setter="set_expression"
7360+ getter="get_expression">
7361+ <attribute name="org.gtk.Property.get"
7362+ value="adw_combo_row_get_expression"/>
7363+ <attribute name="org.gtk.Property.set"
7364+ value="adw_combo_row_set_expression"/>
7365+ <doc xml:space="preserve"
7366+ filename="src/adw-combo-row.c"
7367+ line="494">An expression used to obtain strings from items.
7368+
7369+The expression must have a value type of `G_TYPE_STRING`.
7370+
7371+It's used to bind strings to labels produced by the default factory if
7372+[property@ComboRow:factory] is not set, or when
7373+[property@ComboRow:use-subtitle] is set to `TRUE`.</doc>
7374+ <type name="Gtk.Expression"/>
7375+ </property>
7376+ <property name="factory"
7377+ writable="1"
7378+ transfer-ownership="none"
7379+ setter="set_factory"
7380+ getter="get_factory">
7381+ <attribute name="org.gtk.Property.get"
7382+ value="adw_combo_row_get_factory"/>
7383+ <attribute name="org.gtk.Property.set"
7384+ value="adw_combo_row_set_factory"/>
7385+ <doc xml:space="preserve"
7386+ filename="src/adw-combo-row.c"
7387+ line="469">Factory for populating list items.
7388+
7389+This factory is always used for the item in the row. It is also used for
7390+items in the popup unless [property@ComboRow:list-factory] is set.</doc>
7391+ <type name="Gtk.ListItemFactory"/>
7392+ </property>
7393+ <property name="list-factory"
7394+ writable="1"
7395+ transfer-ownership="none"
7396+ setter="set_list_factory"
7397+ getter="get_list_factory">
7398+ <attribute name="org.gtk.Property.get"
7399+ value="adw_combo_row_get_list_factory"/>
7400+ <attribute name="org.gtk.Property.set"
7401+ value="adw_combo_row_set_list_factory"/>
7402+ <doc xml:space="preserve"
7403+ filename="src/adw-combo-row.c"
7404+ line="482">The factory for populating list items in the popup.
7405+
7406+If this is not set, [property@ComboRow:factory] is used.</doc>
7407+ <type name="Gtk.ListItemFactory"/>
7408+ </property>
7409+ <property name="model"
7410+ writable="1"
7411+ transfer-ownership="none"
7412+ setter="set_model"
7413+ getter="get_model">
7414+ <attribute name="org.gtk.Property.get"
7415+ value="adw_combo_row_get_model"/>
7416+ <attribute name="org.gtk.Property.set"
7417+ value="adw_combo_row_set_model"/>
7418+ <doc xml:space="preserve"
7419+ filename="src/adw-combo-row.c"
7420+ line="459">The model that provides the displayed items.</doc>
7421+ <type name="Gio.ListModel"/>
7422+ </property>
7423+ <property name="selected"
7424+ writable="1"
7425+ transfer-ownership="none"
7426+ setter="set_selected"
7427+ getter="get_selected"
7428+ default-value="4294967295">
7429+ <attribute name="org.gtk.Property.get"
7430+ value="adw_combo_row_get_selected"/>
7431+ <attribute name="org.gtk.Property.set"
7432+ value="adw_combo_row_set_selected"/>
7433+ <doc xml:space="preserve"
7434+ filename="src/adw-combo-row.c"
7435+ line="436">The position of the selected item.
7436+
7437+If no item is selected, the property has the value
7438+[const@Gtk.INVALID_LIST_POSITION]</doc>
7439+ <type name="guint" c:type="guint"/>
7440+ </property>
7441+ <property name="selected-item"
7442+ transfer-ownership="none"
7443+ getter="get_selected_item">
7444+ <attribute name="org.gtk.Property.get"
7445+ value="adw_combo_row_get_selected_item"/>
7446+ <doc xml:space="preserve"
7447+ filename="src/adw-combo-row.c"
7448+ line="449">The selected item.</doc>
7449+ <type name="GObject.Object"/>
7450+ </property>
7451+ <property name="use-subtitle"
7452+ writable="1"
7453+ transfer-ownership="none"
7454+ setter="set_use_subtitle"
7455+ getter="get_use_subtitle"
7456+ default-value="FALSE">
7457+ <attribute name="org.gtk.Property.get"
7458+ value="adw_combo_row_get_use_subtitle"/>
7459+ <attribute name="org.gtk.Property.set"
7460+ value="adw_combo_row_set_use_subtitle"/>
7461+ <doc xml:space="preserve"
7462+ filename="src/adw-combo-row.c"
7463+ line="511">Whether to use the current value as the subtitle.
7464+
7465+If you use a custom list item factory, you will need to give the row a
7466+name conversion expression with [property@ComboRow:expression].
7467+
7468+If set to `TRUE`, you should not access [property@ActionRow:subtitle].
7469+
7470+The subtitle is interpreted as Pango markup if
7471+[property@PreferencesRow:use-markup] is set to `TRUE`.</doc>
7472+ <type name="gboolean" c:type="gboolean"/>
7473+ </property>
7474+ <field name="parent_instance">
7475+ <type name="ActionRow" c:type="AdwActionRow"/>
7476+ </field>
7477+ </class>
7478+ <record name="ComboRowClass"
7479+ c:type="AdwComboRowClass"
7480+ glib:is-gtype-struct-for="ComboRow">
7481+ <source-position filename="src/adw-combo-row.h" line="35"/>
7482+ <field name="parent_class">
7483+ <doc xml:space="preserve"
7484+ filename="src/adw-combo-row.h"
7485+ line="27">The parent class</doc>
7486+ <type name="ActionRowClass" c:type="AdwActionRowClass"/>
7487+ </field>
7488+ <field name="padding" readable="0" private="1">
7489+ <array zero-terminated="0" fixed-size="4">
7490+ <type name="gpointer" c:type="gpointer"/>
7491+ </array>
7492+ </field>
7493+ </record>
7494+ <function-macro name="DEPRECATED_IN_1_1_FOR"
7495+ c:identifier="ADW_DEPRECATED_IN_1_1_FOR"
7496+ introspectable="0">
7497+ <source-position filename="src/adw-version.h" line="141"/>
7498+ <parameters>
7499+ <parameter name="f">
7500+ </parameter>
7501+ </parameters>
7502+ </function-macro>
7503+ <function-macro name="DEPRECATED_IN_1_2_FOR"
7504+ c:identifier="ADW_DEPRECATED_IN_1_2_FOR"
7505+ introspectable="0">
7506+ <source-position filename="src/adw-version.h" line="159"/>
7507+ <parameters>
7508+ <parameter name="f">
7509+ </parameter>
7510+ </parameters>
7511+ </function-macro>
7512+ <function-macro name="DEPRECATED_IN_1_3_FOR"
7513+ c:identifier="ADW_DEPRECATED_IN_1_3_FOR"
7514+ introspectable="0">
7515+ <source-position filename="src/adw-version.h" line="177"/>
7516+ <parameters>
7517+ <parameter name="f">
7518+ </parameter>
7519+ </parameters>
7520+ </function-macro>
7521+ <function-macro name="DEPRECATED_TYPE_IN_1_1_FOR"
7522+ c:identifier="ADW_DEPRECATED_TYPE_IN_1_1_FOR"
7523+ introspectable="0">
7524+ <source-position filename="src/adw-version.h" line="143"/>
7525+ <parameters>
7526+ <parameter name="f">
7527+ </parameter>
7528+ </parameters>
7529+ </function-macro>
7530+ <function-macro name="DEPRECATED_TYPE_IN_1_2_FOR"
7531+ c:identifier="ADW_DEPRECATED_TYPE_IN_1_2_FOR"
7532+ introspectable="0">
7533+ <source-position filename="src/adw-version.h" line="161"/>
7534+ <parameters>
7535+ <parameter name="f">
7536+ </parameter>
7537+ </parameters>
7538+ </function-macro>
7539+ <function-macro name="DEPRECATED_TYPE_IN_1_3_FOR"
7540+ c:identifier="ADW_DEPRECATED_TYPE_IN_1_3_FOR"
7541+ introspectable="0">
7542+ <source-position filename="src/adw-version.h" line="179"/>
7543+ <parameters>
7544+ <parameter name="f">
7545+ </parameter>
7546+ </parameters>
7547+ </function-macro>
7548+ <constant name="DURATION_INFINITE"
7549+ value="4294967295"
7550+ c:type="ADW_DURATION_INFINITE">
7551+ <doc xml:space="preserve"
7552+ filename="src/adw-animation.h"
7553+ line="23">Indicates an [class@Animation] with an infinite duration.
7554+
7555+This value is mostly used internally.</doc>
7556+ <source-position filename="src/adw-animation.h" line="31"/>
7557+ <type name="guint" c:type="guint"/>
7558+ </constant>
7559+ <function-macro name="ENCODE_VERSION"
7560+ c:identifier="ADW_ENCODE_VERSION"
7561+ introspectable="0">
7562+ <source-position filename="src/adw-version.h" line="53"/>
7563+ <parameters>
7564+ <parameter name="major">
7565+ </parameter>
7566+ <parameter name="minor">
7567+ </parameter>
7568+ <parameter name="micro">
7569+ </parameter>
7570+ </parameters>
7571+ </function-macro>
7572+ <enumeration name="Easing"
7573+ glib:type-name="AdwEasing"
7574+ glib:get-type="adw_easing_get_type"
7575+ c:type="AdwEasing">
7576+ <doc xml:space="preserve"
7577+ filename="src/adw-easing.c"
7578+ line="22">Describes the available easing functions for use with
7579+[class@TimedAnimation].
7580+
7581+New values may be added to this enumeration over time.</doc>
7582+ <member name="linear"
7583+ value="0"
7584+ c:identifier="ADW_LINEAR"
7585+ glib:nick="linear"
7586+ glib:name="ADW_LINEAR">
7587+ <doc xml:space="preserve"
7588+ filename="src/adw-easing.c"
7589+ line="24">Linear tweening.</doc>
7590+ </member>
7591+ <member name="ease_in_quad"
7592+ value="1"
7593+ c:identifier="ADW_EASE_IN_QUAD"
7594+ glib:nick="ease-in-quad"
7595+ glib:name="ADW_EASE_IN_QUAD">
7596+ <doc xml:space="preserve"
7597+ filename="src/adw-easing.c"
7598+ line="25">Quadratic tweening.</doc>
7599+ </member>
7600+ <member name="ease_out_quad"
7601+ value="2"
7602+ c:identifier="ADW_EASE_OUT_QUAD"
7603+ glib:nick="ease-out-quad"
7604+ glib:name="ADW_EASE_OUT_QUAD">
7605+ <doc xml:space="preserve"
7606+ filename="src/adw-easing.c"
7607+ line="26">Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`.</doc>
7608+ </member>
7609+ <member name="ease_in_out_quad"
7610+ value="3"
7611+ c:identifier="ADW_EASE_IN_OUT_QUAD"
7612+ glib:nick="ease-in-out-quad"
7613+ glib:name="ADW_EASE_IN_OUT_QUAD">
7614+ <doc xml:space="preserve"
7615+ filename="src/adw-easing.c"
7616+ line="27">Quadratic tweening, combining `ADW_EASE_IN_QUAD` and
7617+ `ADW_EASE_OUT_QUAD`.</doc>
7618+ </member>
7619+ <member name="ease_in_cubic"
7620+ value="4"
7621+ c:identifier="ADW_EASE_IN_CUBIC"
7622+ glib:nick="ease-in-cubic"
7623+ glib:name="ADW_EASE_IN_CUBIC">
7624+ <doc xml:space="preserve"
7625+ filename="src/adw-easing.c"
7626+ line="29">Cubic tweening.</doc>
7627+ </member>
7628+ <member name="ease_out_cubic"
7629+ value="5"
7630+ c:identifier="ADW_EASE_OUT_CUBIC"
7631+ glib:nick="ease-out-cubic"
7632+ glib:name="ADW_EASE_OUT_CUBIC">
7633+ <doc xml:space="preserve"
7634+ filename="src/adw-easing.c"
7635+ line="30">Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`.</doc>
7636+ </member>
7637+ <member name="ease_in_out_cubic"
7638+ value="6"
7639+ c:identifier="ADW_EASE_IN_OUT_CUBIC"
7640+ glib:nick="ease-in-out-cubic"
7641+ glib:name="ADW_EASE_IN_OUT_CUBIC">
7642+ <doc xml:space="preserve"
7643+ filename="src/adw-easing.c"
7644+ line="31">Cubic tweening, combining `ADW_EASE_IN_CUBIC` and
7645+ `ADW_EASE_OUT_CUBIC`.</doc>
7646+ </member>
7647+ <member name="ease_in_quart"
7648+ value="7"
7649+ c:identifier="ADW_EASE_IN_QUART"
7650+ glib:nick="ease-in-quart"
7651+ glib:name="ADW_EASE_IN_QUART">
7652+ <doc xml:space="preserve"
7653+ filename="src/adw-easing.c"
7654+ line="33">Quartic tweening.</doc>
7655+ </member>
7656+ <member name="ease_out_quart"
7657+ value="8"
7658+ c:identifier="ADW_EASE_OUT_QUART"
7659+ glib:nick="ease-out-quart"
7660+ glib:name="ADW_EASE_OUT_QUART">
7661+ <doc xml:space="preserve"
7662+ filename="src/adw-easing.c"
7663+ line="34">Quartic tweening, inverse of `ADW_EASE_IN_QUART`.</doc>
7664+ </member>
7665+ <member name="ease_in_out_quart"
7666+ value="9"
7667+ c:identifier="ADW_EASE_IN_OUT_QUART"
7668+ glib:nick="ease-in-out-quart"
7669+ glib:name="ADW_EASE_IN_OUT_QUART">
7670+ <doc xml:space="preserve"
7671+ filename="src/adw-easing.c"
7672+ line="35">Quartic tweening, combining `ADW_EASE_IN_QUART` and
7673+ `ADW_EASE_OUT_QUART`.</doc>
7674+ </member>
7675+ <member name="ease_in_quint"
7676+ value="10"
7677+ c:identifier="ADW_EASE_IN_QUINT"
7678+ glib:nick="ease-in-quint"
7679+ glib:name="ADW_EASE_IN_QUINT">
7680+ <doc xml:space="preserve"
7681+ filename="src/adw-easing.c"
7682+ line="37">Quintic tweening.</doc>
7683+ </member>
7684+ <member name="ease_out_quint"
7685+ value="11"
7686+ c:identifier="ADW_EASE_OUT_QUINT"
7687+ glib:nick="ease-out-quint"
7688+ glib:name="ADW_EASE_OUT_QUINT">
7689+ <doc xml:space="preserve"
7690+ filename="src/adw-easing.c"
7691+ line="38">Quintic tweening, inverse of `ADW_EASE_IN_QUINT`.</doc>
7692+ </member>
7693+ <member name="ease_in_out_quint"
7694+ value="12"
7695+ c:identifier="ADW_EASE_IN_OUT_QUINT"
7696+ glib:nick="ease-in-out-quint"
7697+ glib:name="ADW_EASE_IN_OUT_QUINT">
7698+ <doc xml:space="preserve"
7699+ filename="src/adw-easing.c"
7700+ line="39">Quintic tweening, combining `ADW_EASE_IN_QUINT` and
7701+ `ADW_EASE_OUT_QUINT`.</doc>
7702+ </member>
7703+ <member name="ease_in_sine"
7704+ value="13"
7705+ c:identifier="ADW_EASE_IN_SINE"
7706+ glib:nick="ease-in-sine"
7707+ glib:name="ADW_EASE_IN_SINE">
7708+ <doc xml:space="preserve"
7709+ filename="src/adw-easing.c"
7710+ line="41">Sine wave tweening.</doc>
7711+ </member>
7712+ <member name="ease_out_sine"
7713+ value="14"
7714+ c:identifier="ADW_EASE_OUT_SINE"
7715+ glib:nick="ease-out-sine"
7716+ glib:name="ADW_EASE_OUT_SINE">
7717+ <doc xml:space="preserve"
7718+ filename="src/adw-easing.c"
7719+ line="42">Sine wave tweening, inverse of `ADW_EASE_IN_SINE`.</doc>
7720+ </member>
7721+ <member name="ease_in_out_sine"
7722+ value="15"
7723+ c:identifier="ADW_EASE_IN_OUT_SINE"
7724+ glib:nick="ease-in-out-sine"
7725+ glib:name="ADW_EASE_IN_OUT_SINE">
7726+ <doc xml:space="preserve"
7727+ filename="src/adw-easing.c"
7728+ line="43">Sine wave tweening, combining `ADW_EASE_IN_SINE` and
7729+ `ADW_EASE_OUT_SINE`.</doc>
7730+ </member>
7731+ <member name="ease_in_expo"
7732+ value="16"
7733+ c:identifier="ADW_EASE_IN_EXPO"
7734+ glib:nick="ease-in-expo"
7735+ glib:name="ADW_EASE_IN_EXPO">
7736+ <doc xml:space="preserve"
7737+ filename="src/adw-easing.c"
7738+ line="45">Exponential tweening.</doc>
7739+ </member>
7740+ <member name="ease_out_expo"
7741+ value="17"
7742+ c:identifier="ADW_EASE_OUT_EXPO"
7743+ glib:nick="ease-out-expo"
7744+ glib:name="ADW_EASE_OUT_EXPO">
7745+ <doc xml:space="preserve"
7746+ filename="src/adw-easing.c"
7747+ line="46">Exponential tweening, inverse of `ADW_EASE_IN_EXPO`.</doc>
7748+ </member>
7749+ <member name="ease_in_out_expo"
7750+ value="18"
7751+ c:identifier="ADW_EASE_IN_OUT_EXPO"
7752+ glib:nick="ease-in-out-expo"
7753+ glib:name="ADW_EASE_IN_OUT_EXPO">
7754+ <doc xml:space="preserve"
7755+ filename="src/adw-easing.c"
7756+ line="47">Exponential tweening, combining `ADW_EASE_IN_EXPO` and
7757+ `ADW_EASE_OUT_EXPO`.</doc>
7758+ </member>
7759+ <member name="ease_in_circ"
7760+ value="19"
7761+ c:identifier="ADW_EASE_IN_CIRC"
7762+ glib:nick="ease-in-circ"
7763+ glib:name="ADW_EASE_IN_CIRC">
7764+ <doc xml:space="preserve"
7765+ filename="src/adw-easing.c"
7766+ line="49">Circular tweening.</doc>
7767+ </member>
7768+ <member name="ease_out_circ"
7769+ value="20"
7770+ c:identifier="ADW_EASE_OUT_CIRC"
7771+ glib:nick="ease-out-circ"
7772+ glib:name="ADW_EASE_OUT_CIRC">
7773+ <doc xml:space="preserve"
7774+ filename="src/adw-easing.c"
7775+ line="50">Circular tweening, inverse of `ADW_EASE_IN_CIRC`.</doc>
7776+ </member>
7777+ <member name="ease_in_out_circ"
7778+ value="21"
7779+ c:identifier="ADW_EASE_IN_OUT_CIRC"
7780+ glib:nick="ease-in-out-circ"
7781+ glib:name="ADW_EASE_IN_OUT_CIRC">
7782+ <doc xml:space="preserve"
7783+ filename="src/adw-easing.c"
7784+ line="51">Circular tweening, combining `ADW_EASE_IN_CIRC` and
7785+ `ADW_EASE_OUT_CIRC`.</doc>
7786+ </member>
7787+ <member name="ease_in_elastic"
7788+ value="22"
7789+ c:identifier="ADW_EASE_IN_ELASTIC"
7790+ glib:nick="ease-in-elastic"
7791+ glib:name="ADW_EASE_IN_ELASTIC">
7792+ <doc xml:space="preserve"
7793+ filename="src/adw-easing.c"
7794+ line="53">Elastic tweening, with offshoot on start.</doc>
7795+ </member>
7796+ <member name="ease_out_elastic"
7797+ value="23"
7798+ c:identifier="ADW_EASE_OUT_ELASTIC"
7799+ glib:nick="ease-out-elastic"
7800+ glib:name="ADW_EASE_OUT_ELASTIC">
7801+ <doc xml:space="preserve"
7802+ filename="src/adw-easing.c"
7803+ line="54">Elastic tweening, with offshoot on end, inverse of
7804+ `ADW_EASE_IN_ELASTIC`.</doc>
7805+ </member>
7806+ <member name="ease_in_out_elastic"
7807+ value="24"
7808+ c:identifier="ADW_EASE_IN_OUT_ELASTIC"
7809+ glib:nick="ease-in-out-elastic"
7810+ glib:name="ADW_EASE_IN_OUT_ELASTIC">
7811+ <doc xml:space="preserve"
7812+ filename="src/adw-easing.c"
7813+ line="56">Elastic tweening, with offshoot on both ends,
7814+ combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`.</doc>
7815+ </member>
7816+ <member name="ease_in_back"
7817+ value="25"
7818+ c:identifier="ADW_EASE_IN_BACK"
7819+ glib:nick="ease-in-back"
7820+ glib:name="ADW_EASE_IN_BACK">
7821+ <doc xml:space="preserve"
7822+ filename="src/adw-easing.c"
7823+ line="58">Overshooting cubic tweening, with backtracking on start.</doc>
7824+ </member>
7825+ <member name="ease_out_back"
7826+ value="26"
7827+ c:identifier="ADW_EASE_OUT_BACK"
7828+ glib:nick="ease-out-back"
7829+ glib:name="ADW_EASE_OUT_BACK">
7830+ <doc xml:space="preserve"
7831+ filename="src/adw-easing.c"
7832+ line="59">Overshooting cubic tweening, with backtracking on end,
7833+ inverse of `ADW_EASE_IN_BACK`.</doc>
7834+ </member>
7835+ <member name="ease_in_out_back"
7836+ value="27"
7837+ c:identifier="ADW_EASE_IN_OUT_BACK"
7838+ glib:nick="ease-in-out-back"
7839+ glib:name="ADW_EASE_IN_OUT_BACK">
7840+ <doc xml:space="preserve"
7841+ filename="src/adw-easing.c"
7842+ line="61">Overshooting cubic tweening, with backtracking on both
7843+ ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`.</doc>
7844+ </member>
7845+ <member name="ease_in_bounce"
7846+ value="28"
7847+ c:identifier="ADW_EASE_IN_BOUNCE"
7848+ glib:nick="ease-in-bounce"
7849+ glib:name="ADW_EASE_IN_BOUNCE">
7850+ <doc xml:space="preserve"
7851+ filename="src/adw-easing.c"
7852+ line="63">Exponentially decaying parabolic (bounce) tweening,
7853+ on start.</doc>
7854+ </member>
7855+ <member name="ease_out_bounce"
7856+ value="29"
7857+ c:identifier="ADW_EASE_OUT_BOUNCE"
7858+ glib:nick="ease-out-bounce"
7859+ glib:name="ADW_EASE_OUT_BOUNCE">
7860+ <doc xml:space="preserve"
7861+ filename="src/adw-easing.c"
7862+ line="65">Exponentially decaying parabolic (bounce) tweening,
7863+ with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`.</doc>
7864+ </member>
7865+ <member name="ease_in_out_bounce"
7866+ value="30"
7867+ c:identifier="ADW_EASE_IN_OUT_BOUNCE"
7868+ glib:nick="ease-in-out-bounce"
7869+ glib:name="ADW_EASE_IN_OUT_BOUNCE">
7870+ <doc xml:space="preserve"
7871+ filename="src/adw-easing.c"
7872+ line="67">Exponentially decaying parabolic (bounce) tweening,
7873+ with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and
7874+ `ADW_EASE_OUT_BOUNCE`.</doc>
7875+ </member>
7876+ <function name="ease" c:identifier="adw_easing_ease">
7877+ <doc xml:space="preserve"
7878+ filename="src/adw-easing.c"
7879+ line="428">Computes easing with @easing for @value.
7880+
7881+@value should generally be in the [0, 1] range.</doc>
7882+ <source-position filename="src/adw-easing.h" line="57"/>
7883+ <return-value transfer-ownership="none">
7884+ <doc xml:space="preserve"
7885+ filename="src/adw-easing.c"
7886+ line="437">the easing for @value</doc>
7887+ <type name="gdouble" c:type="double"/>
7888+ </return-value>
7889+ <parameters>
7890+ <parameter name="self" transfer-ownership="none">
7891+ <doc xml:space="preserve"
7892+ filename="src/adw-easing.c"
7893+ line="430">an easing value</doc>
7894+ <type name="Easing" c:type="AdwEasing"/>
7895+ </parameter>
7896+ <parameter name="value" transfer-ownership="none">
7897+ <doc xml:space="preserve"
7898+ filename="src/adw-easing.c"
7899+ line="431">a value to ease</doc>
7900+ <type name="gdouble" c:type="double"/>
7901+ </parameter>
7902+ </parameters>
7903+ </function>
7904+ </enumeration>
7905+ <class name="EntryRow"
7906+ c:symbol-prefix="entry_row"
7907+ c:type="AdwEntryRow"
7908+ version="1.2"
7909+ parent="PreferencesRow"
7910+ glib:type-name="AdwEntryRow"
7911+ glib:get-type="adw_entry_row_get_type"
7912+ glib:type-struct="EntryRowClass">
7913+ <doc xml:space="preserve"
7914+ filename="src/adw-entry-row.c"
7915+ line="21">A [class@Gtk.ListBoxRow] with an embedded text entry.
7916+
7917+&lt;picture&gt;
7918+ &lt;source srcset="entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
7919+ &lt;img src="entry-row.png" alt="entry-row"&gt;
7920+&lt;/picture&gt;
7921+
7922+`AdwEntryRow` has a title that doubles as placeholder text. It shows an icon
7923+indicating that it's editable and can receive additional widgets before or
7924+after the editable part.
7925+
7926+If [property@EntryRow:show-apply-button] is set to `TRUE`, `AdwEntryRow` can
7927+show an apply button when editing its contents. This can be useful if
7928+changing its contents can result in an expensive operation, such as network
7929+activity.
7930+
7931+`AdwEntryRow` provides only minimal API and should be used with the
7932+[iface@Gtk.Editable] API.
7933+
7934+See also [class@PasswordEntryRow].
7935+
7936+## AdwEntryRow as GtkBuildable
7937+
7938+The `AdwEntryRow` implementation of the [iface@Gtk.Buildable] interface
7939+supports adding a child at its end by specifying “suffix” or omitting the
7940+“type” attribute of a &lt;child&gt; element.
7941+
7942+It also supports adding a child as a prefix widget by specifying “prefix” as
7943+the “type” attribute of a &lt;child&gt; element.
7944+
7945+## CSS nodes
7946+
7947+`AdwEntryRow` has a single CSS node with name `row` and the `.entry` style
7948+class.</doc>
7949+ <source-position filename="src/adw-entry-row.h" line="32"/>
7950+ <implements name="Gtk.Accessible"/>
7951+ <implements name="Gtk.Actionable"/>
7952+ <implements name="Gtk.Buildable"/>
7953+ <implements name="Gtk.ConstraintTarget"/>
7954+ <implements name="Gtk.Editable"/>
7955+ <constructor name="new" c:identifier="adw_entry_row_new" version="1.2">
7956+ <doc xml:space="preserve"
7957+ filename="src/adw-entry-row.c"
7958+ line="687">Creates a new `AdwEntryRow`.</doc>
7959+ <source-position filename="src/adw-entry-row.h" line="35"/>
7960+ <return-value transfer-ownership="none">
7961+ <doc xml:space="preserve"
7962+ filename="src/adw-entry-row.c"
7963+ line="692">the newly created `AdwEntryRow`</doc>
7964+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
7965+ </return-value>
7966+ </constructor>
7967+ <method name="add_prefix"
7968+ c:identifier="adw_entry_row_add_prefix"
7969+ version="1.2">
7970+ <doc xml:space="preserve"
7971+ filename="src/adw-entry-row.c"
7972+ line="702">Adds a prefix widget to @self.</doc>
7973+ <source-position filename="src/adw-entry-row.h" line="38"/>
7974+ <return-value transfer-ownership="none">
7975+ <type name="none" c:type="void"/>
7976+ </return-value>
7977+ <parameters>
7978+ <instance-parameter name="self" transfer-ownership="none">
7979+ <doc xml:space="preserve"
7980+ filename="src/adw-entry-row.c"
7981+ line="704">an entry row</doc>
7982+ <type name="EntryRow" c:type="AdwEntryRow*"/>
7983+ </instance-parameter>
7984+ <parameter name="widget" transfer-ownership="none">
7985+ <doc xml:space="preserve"
7986+ filename="src/adw-entry-row.c"
7987+ line="705">a widget</doc>
7988+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
7989+ </parameter>
7990+ </parameters>
7991+ </method>
7992+ <method name="add_suffix"
7993+ c:identifier="adw_entry_row_add_suffix"
7994+ version="1.2">
7995+ <doc xml:space="preserve"
7996+ filename="src/adw-entry-row.c"
7997+ line="726">Adds a suffix widget to @self.</doc>
7998+ <source-position filename="src/adw-entry-row.h" line="41"/>
7999+ <return-value transfer-ownership="none">
8000+ <type name="none" c:type="void"/>
8001+ </return-value>
8002+ <parameters>
8003+ <instance-parameter name="self" transfer-ownership="none">
8004+ <doc xml:space="preserve"
8005+ filename="src/adw-entry-row.c"
8006+ line="728">an entry row</doc>
8007+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8008+ </instance-parameter>
8009+ <parameter name="widget" transfer-ownership="none">
8010+ <doc xml:space="preserve"
8011+ filename="src/adw-entry-row.c"
8012+ line="729">a widget</doc>
8013+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8014+ </parameter>
8015+ </parameters>
8016+ </method>
8017+ <method name="get_activates_default"
8018+ c:identifier="adw_entry_row_get_activates_default"
8019+ glib:get-property="activates-default"
8020+ version="1.2">
8021+ <attribute name="org.gtk.Method.get_property"
8022+ value="activates-default"/>
8023+ <doc xml:space="preserve"
8024+ filename="src/adw-entry-row.c"
8025+ line="1055">Gets whether activating the embedded entry can activate the default widget.</doc>
8026+ <source-position filename="src/adw-entry-row.h" line="78"/>
8027+ <return-value transfer-ownership="none">
8028+ <doc xml:space="preserve"
8029+ filename="src/adw-entry-row.c"
8030+ line="1061">whether to activate the default widget</doc>
8031+ <type name="gboolean" c:type="gboolean"/>
8032+ </return-value>
8033+ <parameters>
8034+ <instance-parameter name="self" transfer-ownership="none">
8035+ <doc xml:space="preserve"
8036+ filename="src/adw-entry-row.c"
8037+ line="1057">an entry row</doc>
8038+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8039+ </instance-parameter>
8040+ </parameters>
8041+ </method>
8042+ <method name="get_attributes"
8043+ c:identifier="adw_entry_row_get_attributes"
8044+ glib:get-property="attributes"
8045+ version="1.2">
8046+ <attribute name="org.gtk.Method.get_property" value="attributes"/>
8047+ <doc xml:space="preserve"
8048+ filename="src/adw-entry-row.c"
8049+ line="950">Gets Pango attributes applied to the text of the embedded entry.</doc>
8050+ <source-position filename="src/adw-entry-row.h" line="72"/>
8051+ <return-value transfer-ownership="full" nullable="1">
8052+ <doc xml:space="preserve"
8053+ filename="src/adw-entry-row.c"
8054+ line="956">the list of attributes</doc>
8055+ <type name="Pango.AttrList" c:type="PangoAttrList*"/>
8056+ </return-value>
8057+ <parameters>
8058+ <instance-parameter name="self" transfer-ownership="none">
8059+ <doc xml:space="preserve"
8060+ filename="src/adw-entry-row.c"
8061+ line="952">an entry row</doc>
8062+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8063+ </instance-parameter>
8064+ </parameters>
8065+ </method>
8066+ <method name="get_enable_emoji_completion"
8067+ c:identifier="adw_entry_row_get_enable_emoji_completion"
8068+ glib:get-property="enable-emoji-completion"
8069+ version="1.2">
8070+ <attribute name="org.gtk.Method.get_property"
8071+ value="enable-emoji-completion"/>
8072+ <doc xml:space="preserve"
8073+ filename="src/adw-entry-row.c"
8074+ line="1002">Gets whether to suggest emoji replacements on @self.</doc>
8075+ <source-position filename="src/adw-entry-row.h" line="66"/>
8076+ <return-value transfer-ownership="none">
8077+ <doc xml:space="preserve"
8078+ filename="src/adw-entry-row.c"
8079+ line="1008">whether or not emoji completion is enabled</doc>
8080+ <type name="gboolean" c:type="gboolean"/>
8081+ </return-value>
8082+ <parameters>
8083+ <instance-parameter name="self" transfer-ownership="none">
8084+ <doc xml:space="preserve"
8085+ filename="src/adw-entry-row.c"
8086+ line="1004">an entry row</doc>
8087+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8088+ </instance-parameter>
8089+ </parameters>
8090+ </method>
8091+ <method name="get_input_hints"
8092+ c:identifier="adw_entry_row_get_input_hints"
8093+ glib:get-property="input-hints"
8094+ version="1.2">
8095+ <attribute name="org.gtk.Method.get_property" value="input-hints"/>
8096+ <doc xml:space="preserve"
8097+ filename="src/adw-entry-row.c"
8098+ line="846">Gets the additional input hints of @self.</doc>
8099+ <source-position filename="src/adw-entry-row.h" line="54"/>
8100+ <return-value transfer-ownership="none">
8101+ <doc xml:space="preserve"
8102+ filename="src/adw-entry-row.c"
8103+ line="852">The input hints</doc>
8104+ <type name="Gtk.InputHints" c:type="GtkInputHints"/>
8105+ </return-value>
8106+ <parameters>
8107+ <instance-parameter name="self" transfer-ownership="none">
8108+ <doc xml:space="preserve"
8109+ filename="src/adw-entry-row.c"
8110+ line="848">an entry row</doc>
8111+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8112+ </instance-parameter>
8113+ </parameters>
8114+ </method>
8115+ <method name="get_input_purpose"
8116+ c:identifier="adw_entry_row_get_input_purpose"
8117+ glib:get-property="input-purpose"
8118+ version="1.2">
8119+ <attribute name="org.gtk.Method.get_property" value="input-purpose"/>
8120+ <doc xml:space="preserve"
8121+ filename="src/adw-entry-row.c"
8122+ line="899">Gets the input purpose of @self.</doc>
8123+ <source-position filename="src/adw-entry-row.h" line="60"/>
8124+ <return-value transfer-ownership="none">
8125+ <doc xml:space="preserve"
8126+ filename="src/adw-entry-row.c"
8127+ line="905">the input purpose</doc>
8128+ <type name="Gtk.InputPurpose" c:type="GtkInputPurpose"/>
8129+ </return-value>
8130+ <parameters>
8131+ <instance-parameter name="self" transfer-ownership="none">
8132+ <doc xml:space="preserve"
8133+ filename="src/adw-entry-row.c"
8134+ line="901">an entry row</doc>
8135+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8136+ </instance-parameter>
8137+ </parameters>
8138+ </method>
8139+ <method name="get_show_apply_button"
8140+ c:identifier="adw_entry_row_get_show_apply_button"
8141+ glib:get-property="show-apply-button"
8142+ version="1.2">
8143+ <attribute name="org.gtk.Method.get_property"
8144+ value="show-apply-button"/>
8145+ <doc xml:space="preserve"
8146+ filename="src/adw-entry-row.c"
8147+ line="782">Gets whether @self can show the apply button.</doc>
8148+ <source-position filename="src/adw-entry-row.h" line="48"/>
8149+ <return-value transfer-ownership="none">
8150+ <doc xml:space="preserve"
8151+ filename="src/adw-entry-row.c"
8152+ line="788">whether to show the apply button</doc>
8153+ <type name="gboolean" c:type="gboolean"/>
8154+ </return-value>
8155+ <parameters>
8156+ <instance-parameter name="self" transfer-ownership="none">
8157+ <doc xml:space="preserve"
8158+ filename="src/adw-entry-row.c"
8159+ line="784">an entry row</doc>
8160+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8161+ </instance-parameter>
8162+ </parameters>
8163+ </method>
8164+ <method name="grab_focus_without_selecting"
8165+ c:identifier="adw_entry_row_grab_focus_without_selecting"
8166+ version="1.3">
8167+ <doc xml:space="preserve"
8168+ filename="src/adw-entry-row.c"
8169+ line="1147">Causes @self to have keyboard focus without selecting the text.
8170+
8171+See [method@Gtk.Text.grab_focus_without_selecting] for more information.</doc>
8172+ <source-position filename="src/adw-entry-row.h" line="84"/>
8173+ <return-value transfer-ownership="none">
8174+ <doc xml:space="preserve"
8175+ filename="src/adw-entry-row.c"
8176+ line="1155">whether the focus is now inside @self</doc>
8177+ <type name="gboolean" c:type="gboolean"/>
8178+ </return-value>
8179+ <parameters>
8180+ <instance-parameter name="self" transfer-ownership="none">
8181+ <doc xml:space="preserve"
8182+ filename="src/adw-entry-row.c"
8183+ line="1149">an entry row</doc>
8184+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8185+ </instance-parameter>
8186+ </parameters>
8187+ </method>
8188+ <method name="remove" c:identifier="adw_entry_row_remove" version="1.2">
8189+ <doc xml:space="preserve"
8190+ filename="src/adw-entry-row.c"
8191+ line="750">Removes a child from @self.</doc>
8192+ <source-position filename="src/adw-entry-row.h" line="44"/>
8193+ <return-value transfer-ownership="none">
8194+ <type name="none" c:type="void"/>
8195+ </return-value>
8196+ <parameters>
8197+ <instance-parameter name="self" transfer-ownership="none">
8198+ <doc xml:space="preserve"
8199+ filename="src/adw-entry-row.c"
8200+ line="752">an entry row</doc>
8201+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8202+ </instance-parameter>
8203+ <parameter name="widget" transfer-ownership="none">
8204+ <doc xml:space="preserve"
8205+ filename="src/adw-entry-row.c"
8206+ line="753">the child to be removed</doc>
8207+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8208+ </parameter>
8209+ </parameters>
8210+ </method>
8211+ <method name="set_activates_default"
8212+ c:identifier="adw_entry_row_set_activates_default"
8213+ glib:set-property="activates-default"
8214+ version="1.2">
8215+ <attribute name="org.gtk.Method.set_property"
8216+ value="activates-default"/>
8217+ <doc xml:space="preserve"
8218+ filename="src/adw-entry-row.c"
8219+ line="1077">Sets whether activating the embedded entry can activate the default widget.</doc>
8220+ <source-position filename="src/adw-entry-row.h" line="80"/>
8221+ <return-value transfer-ownership="none">
8222+ <type name="none" c:type="void"/>
8223+ </return-value>
8224+ <parameters>
8225+ <instance-parameter name="self" transfer-ownership="none">
8226+ <doc xml:space="preserve"
8227+ filename="src/adw-entry-row.c"
8228+ line="1079">an entry row</doc>
8229+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8230+ </instance-parameter>
8231+ <parameter name="activates" transfer-ownership="none">
8232+ <doc xml:space="preserve"
8233+ filename="src/adw-entry-row.c"
8234+ line="1080">whether to activate the default widget</doc>
8235+ <type name="gboolean" c:type="gboolean"/>
8236+ </parameter>
8237+ </parameters>
8238+ </method>
8239+ <method name="set_attributes"
8240+ c:identifier="adw_entry_row_set_attributes"
8241+ glib:set-property="attributes"
8242+ version="1.2">
8243+ <attribute name="org.gtk.Method.set_property" value="attributes"/>
8244+ <doc xml:space="preserve"
8245+ filename="src/adw-entry-row.c"
8246+ line="972">Sets Pango attributes to apply to the text of the embedded entry.
8247+
8248+The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
8249+the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.</doc>
8250+ <source-position filename="src/adw-entry-row.h" line="74"/>
8251+ <return-value transfer-ownership="none">
8252+ <type name="none" c:type="void"/>
8253+ </return-value>
8254+ <parameters>
8255+ <instance-parameter name="self" transfer-ownership="none">
8256+ <doc xml:space="preserve"
8257+ filename="src/adw-entry-row.c"
8258+ line="974">an entry row</doc>
8259+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8260+ </instance-parameter>
8261+ <parameter name="attributes"
8262+ transfer-ownership="none"
8263+ nullable="1"
8264+ allow-none="1">
8265+ <doc xml:space="preserve"
8266+ filename="src/adw-entry-row.c"
8267+ line="975">a list of attributes</doc>
8268+ <type name="Pango.AttrList" c:type="PangoAttrList*"/>
8269+ </parameter>
8270+ </parameters>
8271+ </method>
8272+ <method name="set_enable_emoji_completion"
8273+ c:identifier="adw_entry_row_set_enable_emoji_completion"
8274+ glib:set-property="enable-emoji-completion"
8275+ version="1.2">
8276+ <attribute name="org.gtk.Method.get_property"
8277+ value="enable-emoji-completion"/>
8278+ <doc xml:space="preserve"
8279+ filename="src/adw-entry-row.c"
8280+ line="1024">Sets whether to suggest emoji replacements on @self.
8281+
8282+Emoji replacement is done with :-delimited names, like `:heart:`.</doc>
8283+ <source-position filename="src/adw-entry-row.h" line="68"/>
8284+ <return-value transfer-ownership="none">
8285+ <type name="none" c:type="void"/>
8286+ </return-value>
8287+ <parameters>
8288+ <instance-parameter name="self" transfer-ownership="none">
8289+ <doc xml:space="preserve"
8290+ filename="src/adw-entry-row.c"
8291+ line="1026">an entry row</doc>
8292+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8293+ </instance-parameter>
8294+ <parameter name="enable_emoji_completion" transfer-ownership="none">
8295+ <doc xml:space="preserve"
8296+ filename="src/adw-entry-row.c"
8297+ line="1027">Whether emoji completion should be enabled or not</doc>
8298+ <type name="gboolean" c:type="gboolean"/>
8299+ </parameter>
8300+ </parameters>
8301+ </method>
8302+ <method name="set_input_hints"
8303+ c:identifier="adw_entry_row_set_input_hints"
8304+ glib:set-property="input-hints"
8305+ version="1.2">
8306+ <attribute name="org.gtk.Method.set_property" value="input-hints"/>
8307+ <doc xml:space="preserve"
8308+ filename="src/adw-entry-row.c"
8309+ line="868">Set additional input hints for @self.
8310+
8311+Input hints allow input methods to fine-tune their behavior.
8312+
8313+See also: [property@AdwEntryRow:input-purpose]</doc>
8314+ <source-position filename="src/adw-entry-row.h" line="56"/>
8315+ <return-value transfer-ownership="none">
8316+ <type name="none" c:type="void"/>
8317+ </return-value>
8318+ <parameters>
8319+ <instance-parameter name="self" transfer-ownership="none">
8320+ <doc xml:space="preserve"
8321+ filename="src/adw-entry-row.c"
8322+ line="870">an entry row</doc>
8323+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8324+ </instance-parameter>
8325+ <parameter name="hints" transfer-ownership="none">
8326+ <doc xml:space="preserve"
8327+ filename="src/adw-entry-row.c"
8328+ line="871">the hints</doc>
8329+ <type name="Gtk.InputHints" c:type="GtkInputHints"/>
8330+ </parameter>
8331+ </parameters>
8332+ </method>
8333+ <method name="set_input_purpose"
8334+ c:identifier="adw_entry_row_set_input_purpose"
8335+ glib:set-property="input-purpose"
8336+ version="1.2">
8337+ <attribute name="org.gtk.Method.set_property" value="input-purpose"/>
8338+ <doc xml:space="preserve"
8339+ filename="src/adw-entry-row.c"
8340+ line="921">Sets the input purpose of @self.
8341+
8342+The input purpose can be used by input methods to adjust their behavior.</doc>
8343+ <source-position filename="src/adw-entry-row.h" line="62"/>
8344+ <return-value transfer-ownership="none">
8345+ <type name="none" c:type="void"/>
8346+ </return-value>
8347+ <parameters>
8348+ <instance-parameter name="self" transfer-ownership="none">
8349+ <doc xml:space="preserve"
8350+ filename="src/adw-entry-row.c"
8351+ line="923">an entry row</doc>
8352+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8353+ </instance-parameter>
8354+ <parameter name="purpose" transfer-ownership="none">
8355+ <doc xml:space="preserve"
8356+ filename="src/adw-entry-row.c"
8357+ line="924">the purpose</doc>
8358+ <type name="Gtk.InputPurpose" c:type="GtkInputPurpose"/>
8359+ </parameter>
8360+ </parameters>
8361+ </method>
8362+ <method name="set_show_apply_button"
8363+ c:identifier="adw_entry_row_set_show_apply_button"
8364+ glib:set-property="show-apply-button"
8365+ version="1.2">
8366+ <attribute name="org.gtk.Method.set_property"
8367+ value="show-apply-button"/>
8368+ <doc xml:space="preserve"
8369+ filename="src/adw-entry-row.c"
8370+ line="804">Sets whether @self can show the apply button.
8371+
8372+When set to `TRUE`, typing text in the entry will reveal an apply button.
8373+Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
8374+emit the [signal@EntryRow::apply] signal.
8375+
8376+This is useful if changing the entry contents can trigger an expensive
8377+operation, e.g. network activity, to avoid triggering it after typing every
8378+character.</doc>
8379+ <source-position filename="src/adw-entry-row.h" line="50"/>
8380+ <return-value transfer-ownership="none">
8381+ <type name="none" c:type="void"/>
8382+ </return-value>
8383+ <parameters>
8384+ <instance-parameter name="self" transfer-ownership="none">
8385+ <doc xml:space="preserve"
8386+ filename="src/adw-entry-row.c"
8387+ line="806">an entry row</doc>
8388+ <type name="EntryRow" c:type="AdwEntryRow*"/>
8389+ </instance-parameter>
8390+ <parameter name="show_apply_button" transfer-ownership="none">
8391+ <doc xml:space="preserve"
8392+ filename="src/adw-entry-row.c"
8393+ line="807">whether to show the apply button</doc>
8394+ <type name="gboolean" c:type="gboolean"/>
8395+ </parameter>
8396+ </parameters>
8397+ </method>
8398+ <property name="activates-default"
8399+ version="1.2"
8400+ writable="1"
8401+ transfer-ownership="none"
8402+ setter="set_activates_default"
8403+ getter="get_activates_default"
8404+ default-value="FALSE">
8405+ <attribute name="org.gtk.Property.get"
8406+ value="adw_entry_row_get_activates_default"/>
8407+ <attribute name="org.gtk.Property.set"
8408+ value="adw_entry_row_set_activates_default"/>
8409+ <doc xml:space="preserve"
8410+ filename="src/adw-entry-row.c"
8411+ line="534">Whether activating the embedded entry can activate the default widget.</doc>
8412+ <type name="gboolean" c:type="gboolean"/>
8413+ </property>
8414+ <property name="attributes"
8415+ version="1.2"
8416+ writable="1"
8417+ transfer-ownership="none"
8418+ setter="set_attributes"
8419+ getter="get_attributes">
8420+ <attribute name="org.gtk.Property.get"
8421+ value="adw_entry_row_get_attributes"/>
8422+ <attribute name="org.gtk.Property.set"
8423+ value="adw_entry_row_set_attributes"/>
8424+ <doc xml:space="preserve"
8425+ filename="src/adw-entry-row.c"
8426+ line="505">A list of Pango attributes to apply to the text of the embedded entry.
8427+
8428+The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
8429+the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.</doc>
8430+ <type name="Pango.AttrList"/>
8431+ </property>
8432+ <property name="enable-emoji-completion"
8433+ version="1.2"
8434+ writable="1"
8435+ transfer-ownership="none"
8436+ setter="set_enable_emoji_completion"
8437+ getter="get_enable_emoji_completion"
8438+ default-value="FALSE">
8439+ <attribute name="org.gtk.Property.get"
8440+ value="adw_entry_row_get_enable_emoji_completion"/>
8441+ <attribute name="org.gtk.Property.set"
8442+ value="adw_entry_row_set_enable_emoji_completion"/>
8443+ <doc xml:space="preserve"
8444+ filename="src/adw-entry-row.c"
8445+ line="520">Whether to suggest emoji replacements on the entry row.
8446+
8447+Emoji replacement is done with :-delimited names, like `:heart:`.</doc>
8448+ <type name="gboolean" c:type="gboolean"/>
8449+ </property>
8450+ <property name="input-hints"
8451+ version="1.2"
8452+ writable="1"
8453+ transfer-ownership="none"
8454+ setter="set_input_hints"
8455+ getter="get_input_hints"
8456+ default-value="GTK_INPUT_HINT_NONE">
8457+ <attribute name="org.gtk.Property.get"
8458+ value="adw_entry_row_get_input_hints"/>
8459+ <attribute name="org.gtk.Property.set"
8460+ value="adw_entry_row_set_input_hints"/>
8461+ <doc xml:space="preserve"
8462+ filename="src/adw-entry-row.c"
8463+ line="473">Additional input hints for the entry row.
8464+
8465+Input hints allow input methods to fine-tune their behavior.
8466+
8467+See also: [property@Adw.EntryRow:input-purpose]</doc>
8468+ <type name="Gtk.InputHints"/>
8469+ </property>
8470+ <property name="input-purpose"
8471+ version="1.2"
8472+ writable="1"
8473+ transfer-ownership="none"
8474+ setter="set_input_purpose"
8475+ getter="get_input_purpose"
8476+ default-value="GTK_INPUT_PURPOSE_FREE_FORM">
8477+ <attribute name="org.gtk.Property.get"
8478+ value="adw_entry_row_get_input_purpose"/>
8479+ <attribute name="org.gtk.Property.set"
8480+ value="adw_entry_row_set_input_purpose"/>
8481+ <doc xml:space="preserve"
8482+ filename="src/adw-entry-row.c"
8483+ line="490">The input purpose of the entry row.
8484+
8485+The input purpose can be used by input methods to adjust their behavior.</doc>
8486+ <type name="Gtk.InputPurpose"/>
8487+ </property>
8488+ <property name="show-apply-button"
8489+ version="1.2"
8490+ writable="1"
8491+ transfer-ownership="none"
8492+ setter="set_show_apply_button"
8493+ getter="get_show_apply_button"
8494+ default-value="FALSE">
8495+ <attribute name="org.gtk.Property.get"
8496+ value="adw_entry_row_get_show_apply_button"/>
8497+ <attribute name="org.gtk.Property.set"
8498+ value="adw_entry_row_set_show_apply_button"/>
8499+ <doc xml:space="preserve"
8500+ filename="src/adw-entry-row.c"
8501+ line="453">Whether to show the apply button.
8502+
8503+When set to `TRUE`, typing text in the entry will reveal an apply button.
8504+Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
8505+emit the [signal@EntryRow::apply] signal.
8506+
8507+This is useful if changing the entry contents can trigger an expensive
8508+operation, e.g. network activity, to avoid triggering it after typing every
8509+character.</doc>
8510+ <type name="gboolean" c:type="gboolean"/>
8511+ </property>
8512+ <field name="parent_instance">
8513+ <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
8514+ </field>
8515+ <glib:signal name="apply" when="last" version="1.2">
8516+ <doc xml:space="preserve"
8517+ filename="src/adw-entry-row.c"
8518+ line="550">Emitted when the apply button is pressed.
8519+
8520+See [property@EntryRow:show-apply-button].</doc>
8521+ <return-value transfer-ownership="none">
8522+ <type name="none" c:type="void"/>
8523+ </return-value>
8524+ </glib:signal>
8525+ <glib:signal name="entry-activated" when="last" version="1.2">
8526+ <doc xml:space="preserve"
8527+ filename="src/adw-entry-row.c"
8528+ line="572">Emitted when the embedded entry is activated.</doc>
8529+ <return-value transfer-ownership="none">
8530+ <type name="none" c:type="void"/>
8531+ </return-value>
8532+ </glib:signal>
8533+ </class>
8534+ <record name="EntryRowClass"
8535+ c:type="AdwEntryRowClass"
8536+ glib:is-gtype-struct-for="EntryRow">
8537+ <source-position filename="src/adw-entry-row.h" line="32"/>
8538+ <field name="parent_class">
8539+ <doc xml:space="preserve"
8540+ filename="src/adw-entry-row.h"
8541+ line="27">The parent class</doc>
8542+ <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
8543+ </field>
8544+ </record>
8545+ <class name="EnumListItem"
8546+ c:symbol-prefix="enum_list_item"
8547+ c:type="AdwEnumListItem"
8548+ parent="GObject.Object"
8549+ final="1"
8550+ glib:type-name="AdwEnumListItem"
8551+ glib:get-type="adw_enum_list_item_get_type"
8552+ glib:type-struct="EnumListItemClass">
8553+ <doc xml:space="preserve"
8554+ filename="src/adw-enum-list-model.c"
8555+ line="44">`AdwEnumListItem` is the type of items in a [class@EnumListModel].</doc>
8556+ <source-position filename="src/adw-enum-list-model.h" line="22"/>
8557+ <method name="get_name"
8558+ c:identifier="adw_enum_list_item_get_name"
8559+ glib:get-property="name">
8560+ <attribute name="org.gtk.Method.get_property" value="name"/>
8561+ <doc xml:space="preserve"
8562+ filename="src/adw-enum-list-model.c"
8563+ line="162">Gets the enum value name.</doc>
8564+ <source-position filename="src/adw-enum-list-model.h" line="28"/>
8565+ <return-value transfer-ownership="none">
8566+ <doc xml:space="preserve"
8567+ filename="src/adw-enum-list-model.c"
8568+ line="167">the enum value name</doc>
8569+ <type name="utf8" c:type="const char*"/>
8570+ </return-value>
8571+ <parameters>
8572+ <instance-parameter name="self" transfer-ownership="none">
8573+ <type name="EnumListItem" c:type="AdwEnumListItem*"/>
8574+ </instance-parameter>
8575+ </parameters>
8576+ </method>
8577+ <method name="get_nick"
8578+ c:identifier="adw_enum_list_item_get_nick"
8579+ glib:get-property="nick">
8580+ <attribute name="org.gtk.Method.get_property" value="nick"/>
8581+ <doc xml:space="preserve"
8582+ filename="src/adw-enum-list-model.c"
8583+ line="177">Gets the enum value nick.</doc>
8584+ <source-position filename="src/adw-enum-list-model.h" line="31"/>
8585+ <return-value transfer-ownership="none">
8586+ <doc xml:space="preserve"
8587+ filename="src/adw-enum-list-model.c"
8588+ line="182">the enum value nick</doc>
8589+ <type name="utf8" c:type="const char*"/>
8590+ </return-value>
8591+ <parameters>
8592+ <instance-parameter name="self" transfer-ownership="none">
8593+ <type name="EnumListItem" c:type="AdwEnumListItem*"/>
8594+ </instance-parameter>
8595+ </parameters>
8596+ </method>
8597+ <method name="get_value"
8598+ c:identifier="adw_enum_list_item_get_value"
8599+ glib:get-property="value">
8600+ <attribute name="org.gtk.Method.get_property" value="value"/>
8601+ <doc xml:space="preserve"
8602+ filename="src/adw-enum-list-model.c"
8603+ line="147">Gets the enum value.</doc>
8604+ <source-position filename="src/adw-enum-list-model.h" line="25"/>
8605+ <return-value transfer-ownership="none">
8606+ <doc xml:space="preserve"
8607+ filename="src/adw-enum-list-model.c"
8608+ line="152">the enum value</doc>
8609+ <type name="gint" c:type="int"/>
8610+ </return-value>
8611+ <parameters>
8612+ <instance-parameter name="self" transfer-ownership="none">
8613+ <type name="EnumListItem" c:type="AdwEnumListItem*"/>
8614+ </instance-parameter>
8615+ </parameters>
8616+ </method>
8617+ <property name="name"
8618+ transfer-ownership="none"
8619+ getter="get_name"
8620+ default-value="NULL">
8621+ <attribute name="org.gtk.Property.get"
8622+ value="adw_enum_list_item_get_name"/>
8623+ <doc xml:space="preserve"
8624+ filename="src/adw-enum-list-model.c"
8625+ line="109">The enum value name.</doc>
8626+ <type name="utf8" c:type="gchar*"/>
8627+ </property>
8628+ <property name="nick"
8629+ transfer-ownership="none"
8630+ getter="get_nick"
8631+ default-value="NULL">
8632+ <attribute name="org.gtk.Property.get"
8633+ value="adw_enum_list_item_get_nick"/>
8634+ <doc xml:space="preserve"
8635+ filename="src/adw-enum-list-model.c"
8636+ line="119">The enum value nick.</doc>
8637+ <type name="utf8" c:type="gchar*"/>
8638+ </property>
8639+ <property name="value"
8640+ transfer-ownership="none"
8641+ getter="get_value"
8642+ default-value="0">
8643+ <attribute name="org.gtk.Property.get"
8644+ value="adw_enum_list_item_get_value"/>
8645+ <doc xml:space="preserve"
8646+ filename="src/adw-enum-list-model.c"
8647+ line="99">The enum value.</doc>
8648+ <type name="gint" c:type="gint"/>
8649+ </property>
8650+ </class>
8651+ <record name="EnumListItemClass"
8652+ c:type="AdwEnumListItemClass"
8653+ glib:is-gtype-struct-for="EnumListItem">
8654+ <source-position filename="src/adw-enum-list-model.h" line="22"/>
8655+ <field name="parent_class">
8656+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
8657+ </field>
8658+ </record>
8659+ <class name="EnumListModel"
8660+ c:symbol-prefix="enum_list_model"
8661+ c:type="AdwEnumListModel"
8662+ parent="GObject.Object"
8663+ final="1"
8664+ glib:type-name="AdwEnumListModel"
8665+ glib:get-type="adw_enum_list_model_get_type"
8666+ glib:type-struct="EnumListModelClass">
8667+ <doc xml:space="preserve"
8668+ filename="src/adw-enum-list-model.c"
8669+ line="13">A [iface@Gio.ListModel] representing values of a given enum.
8670+
8671+`AdwEnumListModel` contains objects of type [class@EnumListItem].</doc>
8672+ <source-position filename="src/adw-enum-list-model.h" line="36"/>
8673+ <implements name="Gio.ListModel"/>
8674+ <constructor name="new" c:identifier="adw_enum_list_model_new">
8675+ <doc xml:space="preserve"
8676+ filename="src/adw-enum-list-model.c"
8677+ line="320">Creates a new `AdwEnumListModel` for @enum_type.</doc>
8678+ <source-position filename="src/adw-enum-list-model.h" line="39"/>
8679+ <return-value transfer-ownership="full">
8680+ <doc xml:space="preserve"
8681+ filename="src/adw-enum-list-model.c"
8682+ line="326">the newly created `AdwEnumListModel`</doc>
8683+ <type name="EnumListModel" c:type="AdwEnumListModel*"/>
8684+ </return-value>
8685+ <parameters>
8686+ <parameter name="enum_type" transfer-ownership="none">
8687+ <doc xml:space="preserve"
8688+ filename="src/adw-enum-list-model.c"
8689+ line="322">the type of the enum to construct the model from</doc>
8690+ <type name="GType" c:type="GType"/>
8691+ </parameter>
8692+ </parameters>
8693+ </constructor>
8694+ <method name="find_position"
8695+ c:identifier="adw_enum_list_model_find_position">
8696+ <doc xml:space="preserve"
8697+ filename="src/adw-enum-list-model.c"
8698+ line="351">Finds the position of a given enum value in @self.</doc>
8699+ <source-position filename="src/adw-enum-list-model.h" line="45"/>
8700+ <return-value transfer-ownership="none">
8701+ <type name="guint" c:type="guint"/>
8702+ </return-value>
8703+ <parameters>
8704+ <instance-parameter name="self" transfer-ownership="none">
8705+ <type name="EnumListModel" c:type="AdwEnumListModel*"/>
8706+ </instance-parameter>
8707+ <parameter name="value" transfer-ownership="none">
8708+ <doc xml:space="preserve"
8709+ filename="src/adw-enum-list-model.c"
8710+ line="353">an enum value</doc>
8711+ <type name="gint" c:type="int"/>
8712+ </parameter>
8713+ </parameters>
8714+ </method>
8715+ <method name="get_enum_type"
8716+ c:identifier="adw_enum_list_model_get_enum_type"
8717+ glib:get-property="enum-type">
8718+ <attribute name="org.gtk.Method.get_property" value="enum-type"/>
8719+ <doc xml:space="preserve"
8720+ filename="src/adw-enum-list-model.c"
8721+ line="336">Gets the type of the enum represented by @self.</doc>
8722+ <source-position filename="src/adw-enum-list-model.h" line="42"/>
8723+ <return-value transfer-ownership="none">
8724+ <doc xml:space="preserve"
8725+ filename="src/adw-enum-list-model.c"
8726+ line="341">the enum type</doc>
8727+ <type name="GType" c:type="GType"/>
8728+ </return-value>
8729+ <parameters>
8730+ <instance-parameter name="self" transfer-ownership="none">
8731+ <type name="EnumListModel" c:type="AdwEnumListModel*"/>
8732+ </instance-parameter>
8733+ </parameters>
8734+ </method>
8735+ <property name="enum-type"
8736+ writable="1"
8737+ construct-only="1"
8738+ transfer-ownership="none"
8739+ getter="get_enum_type">
8740+ <attribute name="org.gtk.Property.get"
8741+ value="adw_enum_list_model_get_enum_type"/>
8742+ <doc xml:space="preserve"
8743+ filename="src/adw-enum-list-model.c"
8744+ line="268">The type of the enum represented by the model.</doc>
8745+ <type name="GType" c:type="GType"/>
8746+ </property>
8747+ </class>
8748+ <record name="EnumListModelClass"
8749+ c:type="AdwEnumListModelClass"
8750+ glib:is-gtype-struct-for="EnumListModel">
8751+ <source-position filename="src/adw-enum-list-model.h" line="36"/>
8752+ <field name="parent_class">
8753+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
8754+ </field>
8755+ </record>
8756+ <class name="ExpanderRow"
8757+ c:symbol-prefix="expander_row"
8758+ c:type="AdwExpanderRow"
8759+ parent="PreferencesRow"
8760+ glib:type-name="AdwExpanderRow"
8761+ glib:get-type="adw_expander_row_get_type"
8762+ glib:type-struct="ExpanderRowClass">
8763+ <doc xml:space="preserve"
8764+ filename="src/adw-expander-row.c"
8765+ line="13">A [class@Gtk.ListBoxRow] used to reveal widgets.
8766+
8767+&lt;picture&gt;
8768+ &lt;source srcset="expander-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
8769+ &lt;img src="expander-row.png" alt="expander-row"&gt;
8770+&lt;/picture&gt;
8771+
8772+The `AdwExpanderRow` widget allows the user to reveal or hide widgets below
8773+it. It also allows the user to enable the expansion of the row, allowing to
8774+disable all that the row contains.
8775+
8776+## AdwExpanderRow as GtkBuildable
8777+
8778+The `AdwExpanderRow` implementation of the [iface@Gtk.Buildable] interface
8779+supports adding a child as an action widget by specifying “action” as the
8780+“type” attribute of a &lt;child&gt; element.
8781+
8782+It also supports adding it as a prefix widget by specifying “prefix” as the
8783+“type” attribute of a &lt;child&gt; element.
8784+
8785+## CSS nodes
8786+
8787+`AdwExpanderRow` has a main CSS node with name `row` and the `.expander`
8788+style class. It has the `.empty` style class when it contains no children.
8789+
8790+It contains the subnodes `row.header` for its main embedded row,
8791+`list.nested` for the list it can expand, and `image.expander-row-arrow` for
8792+its arrow.</doc>
8793+ <source-position filename="src/adw-expander-row.h" line="35"/>
8794+ <implements name="Gtk.Accessible"/>
8795+ <implements name="Gtk.Actionable"/>
8796+ <implements name="Gtk.Buildable"/>
8797+ <implements name="Gtk.ConstraintTarget"/>
8798+ <constructor name="new" c:identifier="adw_expander_row_new">
8799+ <doc xml:space="preserve"
8800+ filename="src/adw-expander-row.c"
8801+ line="348">Creates a new `AdwExpanderRow`.</doc>
8802+ <source-position filename="src/adw-expander-row.h" line="38"/>
8803+ <return-value transfer-ownership="none">
8804+ <doc xml:space="preserve"
8805+ filename="src/adw-expander-row.c"
8806+ line="353">the newly created `AdwExpanderRow`</doc>
8807+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8808+ </return-value>
8809+ </constructor>
8810+ <method name="add_action" c:identifier="adw_expander_row_add_action">
8811+ <doc xml:space="preserve"
8812+ filename="src/adw-expander-row.c"
8813+ line="361">Adds an action widget to @self.</doc>
8814+ <source-position filename="src/adw-expander-row.h" line="41"/>
8815+ <return-value transfer-ownership="none">
8816+ <type name="none" c:type="void"/>
8817+ </return-value>
8818+ <parameters>
8819+ <instance-parameter name="self" transfer-ownership="none">
8820+ <doc xml:space="preserve"
8821+ filename="src/adw-expander-row.c"
8822+ line="363">an expander row</doc>
8823+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8824+ </instance-parameter>
8825+ <parameter name="widget" transfer-ownership="none">
8826+ <doc xml:space="preserve"
8827+ filename="src/adw-expander-row.c"
8828+ line="364">a widget</doc>
8829+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8830+ </parameter>
8831+ </parameters>
8832+ </method>
8833+ <method name="add_prefix" c:identifier="adw_expander_row_add_prefix">
8834+ <doc xml:space="preserve"
8835+ filename="src/adw-expander-row.c"
8836+ line="383">Adds a prefix widget to @self.</doc>
8837+ <source-position filename="src/adw-expander-row.h" line="44"/>
8838+ <return-value transfer-ownership="none">
8839+ <type name="none" c:type="void"/>
8840+ </return-value>
8841+ <parameters>
8842+ <instance-parameter name="self" transfer-ownership="none">
8843+ <doc xml:space="preserve"
8844+ filename="src/adw-expander-row.c"
8845+ line="385">an expander row</doc>
8846+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8847+ </instance-parameter>
8848+ <parameter name="widget" transfer-ownership="none">
8849+ <doc xml:space="preserve"
8850+ filename="src/adw-expander-row.c"
8851+ line="386">a widget</doc>
8852+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8853+ </parameter>
8854+ </parameters>
8855+ </method>
8856+ <method name="add_row" c:identifier="adw_expander_row_add_row">
8857+ <doc xml:space="preserve"
8858+ filename="src/adw-expander-row.c"
8859+ line="408">Adds a widget to @self.
8860+
8861+The widget will appear in the expanding list below @self.</doc>
8862+ <source-position filename="src/adw-expander-row.h" line="48"/>
8863+ <return-value transfer-ownership="none">
8864+ <type name="none" c:type="void"/>
8865+ </return-value>
8866+ <parameters>
8867+ <instance-parameter name="self" transfer-ownership="none">
8868+ <doc xml:space="preserve"
8869+ filename="src/adw-expander-row.c"
8870+ line="410">an expander row</doc>
8871+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8872+ </instance-parameter>
8873+ <parameter name="child" transfer-ownership="none">
8874+ <doc xml:space="preserve"
8875+ filename="src/adw-expander-row.c"
8876+ line="411">a widget</doc>
8877+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
8878+ </parameter>
8879+ </parameters>
8880+ </method>
8881+ <method name="get_enable_expansion"
8882+ c:identifier="adw_expander_row_get_enable_expansion"
8883+ glib:get-property="enable-expansion">
8884+ <attribute name="org.gtk.Method.get_property"
8885+ value="enable-expansion"/>
8886+ <doc xml:space="preserve"
8887+ filename="src/adw-expander-row.c"
8888+ line="616">Gets whether the expansion of @self is enabled.</doc>
8889+ <source-position filename="src/adw-expander-row.h" line="73"/>
8890+ <return-value transfer-ownership="none">
8891+ <doc xml:space="preserve"
8892+ filename="src/adw-expander-row.c"
8893+ line="622">whether the expansion of @self is enabled.</doc>
8894+ <type name="gboolean" c:type="gboolean"/>
8895+ </return-value>
8896+ <parameters>
8897+ <instance-parameter name="self" transfer-ownership="none">
8898+ <doc xml:space="preserve"
8899+ filename="src/adw-expander-row.c"
8900+ line="618">an expander row</doc>
8901+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8902+ </instance-parameter>
8903+ </parameters>
8904+ </method>
8905+ <method name="get_expanded"
8906+ c:identifier="adw_expander_row_get_expanded"
8907+ glib:get-property="expanded">
8908+ <attribute name="org.gtk.Method.get_property" value="expanded"/>
8909+ <doc xml:space="preserve"
8910+ filename="src/adw-expander-row.c"
8911+ line="560">Gets whether @self is expanded.</doc>
8912+ <source-position filename="src/adw-expander-row.h" line="67"/>
8913+ <return-value transfer-ownership="none">
8914+ <doc xml:space="preserve"
8915+ filename="src/adw-expander-row.c"
8916+ line="566">whether @self is expanded</doc>
8917+ <type name="gboolean" c:type="gboolean"/>
8918+ </return-value>
8919+ <parameters>
8920+ <instance-parameter name="self" transfer-ownership="none">
8921+ <doc xml:space="preserve"
8922+ filename="src/adw-expander-row.c"
8923+ line="562">an expander row</doc>
8924+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8925+ </instance-parameter>
8926+ </parameters>
8927+ </method>
8928+ <method name="get_icon_name"
8929+ c:identifier="adw_expander_row_get_icon_name"
8930+ glib:get-property="icon-name"
8931+ deprecated="1"
8932+ deprecated-version="1.3">
8933+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
8934+ <doc xml:space="preserve"
8935+ filename="src/adw-expander-row.c"
8936+ line="516">Gets the icon name for @self.</doc>
8937+ <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
8938+ <source-position filename="src/adw-expander-row.h" line="61"/>
8939+ <return-value transfer-ownership="none" nullable="1">
8940+ <doc xml:space="preserve"
8941+ filename="src/adw-expander-row.c"
8942+ line="522">the icon name for @self</doc>
8943+ <type name="utf8" c:type="const char*"/>
8944+ </return-value>
8945+ <parameters>
8946+ <instance-parameter name="self" transfer-ownership="none">
8947+ <doc xml:space="preserve"
8948+ filename="src/adw-expander-row.c"
8949+ line="518">an expander row</doc>
8950+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8951+ </instance-parameter>
8952+ </parameters>
8953+ </method>
8954+ <method name="get_show_enable_switch"
8955+ c:identifier="adw_expander_row_get_show_enable_switch"
8956+ glib:get-property="show-enable-switch">
8957+ <attribute name="org.gtk.Method.get_property"
8958+ value="show-enable-switch"/>
8959+ <doc xml:space="preserve"
8960+ filename="src/adw-expander-row.c"
8961+ line="665">Gets whether the switch enabling the expansion of @self is visible.</doc>
8962+ <source-position filename="src/adw-expander-row.h" line="79"/>
8963+ <return-value transfer-ownership="none">
8964+ <doc xml:space="preserve"
8965+ filename="src/adw-expander-row.c"
8966+ line="671">whether the switch enabling the expansion is visible</doc>
8967+ <type name="gboolean" c:type="gboolean"/>
8968+ </return-value>
8969+ <parameters>
8970+ <instance-parameter name="self" transfer-ownership="none">
8971+ <doc xml:space="preserve"
8972+ filename="src/adw-expander-row.c"
8973+ line="667">an expander row</doc>
8974+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8975+ </instance-parameter>
8976+ </parameters>
8977+ </method>
8978+ <method name="get_subtitle"
8979+ c:identifier="adw_expander_row_get_subtitle"
8980+ glib:get-property="subtitle">
8981+ <attribute name="org.gtk.Method.get_property" value="subtitle"/>
8982+ <doc xml:space="preserve"
8983+ filename="src/adw-expander-row.c"
8984+ line="473">Gets the subtitle for @self.</doc>
8985+ <source-position filename="src/adw-expander-row.h" line="55"/>
8986+ <return-value transfer-ownership="none">
8987+ <doc xml:space="preserve"
8988+ filename="src/adw-expander-row.c"
8989+ line="479">the subtitle for @self</doc>
8990+ <type name="utf8" c:type="const char*"/>
8991+ </return-value>
8992+ <parameters>
8993+ <instance-parameter name="self" transfer-ownership="none">
8994+ <doc xml:space="preserve"
8995+ filename="src/adw-expander-row.c"
8996+ line="475">an expander row</doc>
8997+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
8998+ </instance-parameter>
8999+ </parameters>
9000+ </method>
9001+ <method name="get_subtitle_lines"
9002+ c:identifier="adw_expander_row_get_subtitle_lines"
9003+ glib:get-property="subtitle-lines"
9004+ version="1.3">
9005+ <attribute name="org.gtk.Method.get_property" value="subtitle-lines"/>
9006+ <doc xml:space="preserve"
9007+ filename="src/adw-expander-row.c"
9008+ line="761">Gets the number of lines at the end of which the subtitle label will be
9009+ellipsized.</doc>
9010+ <source-position filename="src/adw-expander-row.h" line="91"/>
9011+ <return-value transfer-ownership="none">
9012+ <doc xml:space="preserve"
9013+ filename="src/adw-expander-row.c"
9014+ line="768">the number of lines at the end of which the subtitle label will be
9015+ ellipsized</doc>
9016+ <type name="gboolean" c:type="gboolean"/>
9017+ </return-value>
9018+ <parameters>
9019+ <instance-parameter name="self" transfer-ownership="none">
9020+ <doc xml:space="preserve"
9021+ filename="src/adw-expander-row.c"
9022+ line="763">an expander row</doc>
9023+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9024+ </instance-parameter>
9025+ </parameters>
9026+ </method>
9027+ <method name="get_title_lines"
9028+ c:identifier="adw_expander_row_get_title_lines"
9029+ glib:get-property="title-lines"
9030+ version="1.3">
9031+ <attribute name="org.gtk.Method.get_property" value="title-lines"/>
9032+ <doc xml:space="preserve"
9033+ filename="src/adw-expander-row.c"
9034+ line="712">Gets the number of lines at the end of which the title label will be
9035+ellipsized.</doc>
9036+ <source-position filename="src/adw-expander-row.h" line="85"/>
9037+ <return-value transfer-ownership="none">
9038+ <doc xml:space="preserve"
9039+ filename="src/adw-expander-row.c"
9040+ line="719">the number of lines at the end of which the title label will be
9041+ ellipsized</doc>
9042+ <type name="gboolean" c:type="gboolean"/>
9043+ </return-value>
9044+ <parameters>
9045+ <instance-parameter name="self" transfer-ownership="none">
9046+ <doc xml:space="preserve"
9047+ filename="src/adw-expander-row.c"
9048+ line="714">an expander row</doc>
9049+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9050+ </instance-parameter>
9051+ </parameters>
9052+ </method>
9053+ <method name="remove" c:identifier="adw_expander_row_remove">
9054+ <source-position filename="src/adw-expander-row.h" line="51"/>
9055+ <return-value transfer-ownership="none">
9056+ <type name="none" c:type="void"/>
9057+ </return-value>
9058+ <parameters>
9059+ <instance-parameter name="self" transfer-ownership="none">
9060+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9061+ </instance-parameter>
9062+ <parameter name="child" transfer-ownership="none">
9063+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9064+ </parameter>
9065+ </parameters>
9066+ </method>
9067+ <method name="set_enable_expansion"
9068+ c:identifier="adw_expander_row_set_enable_expansion"
9069+ glib:set-property="enable-expansion">
9070+ <attribute name="org.gtk.Method.set_property"
9071+ value="enable-expansion"/>
9072+ <doc xml:space="preserve"
9073+ filename="src/adw-expander-row.c"
9074+ line="636">Sets whether the expansion of @self is enabled.</doc>
9075+ <source-position filename="src/adw-expander-row.h" line="75"/>
9076+ <return-value transfer-ownership="none">
9077+ <type name="none" c:type="void"/>
9078+ </return-value>
9079+ <parameters>
9080+ <instance-parameter name="self" transfer-ownership="none">
9081+ <doc xml:space="preserve"
9082+ filename="src/adw-expander-row.c"
9083+ line="638">an expander row</doc>
9084+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9085+ </instance-parameter>
9086+ <parameter name="enable_expansion" transfer-ownership="none">
9087+ <doc xml:space="preserve"
9088+ filename="src/adw-expander-row.c"
9089+ line="639">whether to enable the expansion</doc>
9090+ <type name="gboolean" c:type="gboolean"/>
9091+ </parameter>
9092+ </parameters>
9093+ </method>
9094+ <method name="set_expanded"
9095+ c:identifier="adw_expander_row_set_expanded"
9096+ glib:set-property="expanded">
9097+ <attribute name="org.gtk.Method.set_property" value="expanded"/>
9098+ <doc xml:space="preserve"
9099+ filename="src/adw-expander-row.c"
9100+ line="580">Sets whether @self is expanded.</doc>
9101+ <source-position filename="src/adw-expander-row.h" line="69"/>
9102+ <return-value transfer-ownership="none">
9103+ <type name="none" c:type="void"/>
9104+ </return-value>
9105+ <parameters>
9106+ <instance-parameter name="self" transfer-ownership="none">
9107+ <doc xml:space="preserve"
9108+ filename="src/adw-expander-row.c"
9109+ line="582">an expander row</doc>
9110+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9111+ </instance-parameter>
9112+ <parameter name="expanded" transfer-ownership="none">
9113+ <doc xml:space="preserve"
9114+ filename="src/adw-expander-row.c"
9115+ line="583">whether to expand the row</doc>
9116+ <type name="gboolean" c:type="gboolean"/>
9117+ </parameter>
9118+ </parameters>
9119+ </method>
9120+ <method name="set_icon_name"
9121+ c:identifier="adw_expander_row_set_icon_name"
9122+ glib:set-property="icon-name"
9123+ deprecated="1"
9124+ deprecated-version="1.3">
9125+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
9126+ <doc xml:space="preserve"
9127+ filename="src/adw-expander-row.c"
9128+ line="538">Sets the icon name for @self.</doc>
9129+ <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
9130+ <source-position filename="src/adw-expander-row.h" line="63"/>
9131+ <return-value transfer-ownership="none">
9132+ <type name="none" c:type="void"/>
9133+ </return-value>
9134+ <parameters>
9135+ <instance-parameter name="self" transfer-ownership="none">
9136+ <doc xml:space="preserve"
9137+ filename="src/adw-expander-row.c"
9138+ line="540">an expander row</doc>
9139+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9140+ </instance-parameter>
9141+ <parameter name="icon_name"
9142+ transfer-ownership="none"
9143+ nullable="1"
9144+ allow-none="1">
9145+ <doc xml:space="preserve"
9146+ filename="src/adw-expander-row.c"
9147+ line="541">the icon name</doc>
9148+ <type name="utf8" c:type="const char*"/>
9149+ </parameter>
9150+ </parameters>
9151+ </method>
9152+ <method name="set_show_enable_switch"
9153+ c:identifier="adw_expander_row_set_show_enable_switch"
9154+ glib:set-property="show-enable-switch">
9155+ <attribute name="org.gtk.Method.set_property"
9156+ value="show-enable-switch"/>
9157+ <doc xml:space="preserve"
9158+ filename="src/adw-expander-row.c"
9159+ line="685">Sets whether the switch enabling the expansion of @self is visible.</doc>
9160+ <source-position filename="src/adw-expander-row.h" line="81"/>
9161+ <return-value transfer-ownership="none">
9162+ <type name="none" c:type="void"/>
9163+ </return-value>
9164+ <parameters>
9165+ <instance-parameter name="self" transfer-ownership="none">
9166+ <doc xml:space="preserve"
9167+ filename="src/adw-expander-row.c"
9168+ line="687">an expander row</doc>
9169+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9170+ </instance-parameter>
9171+ <parameter name="show_enable_switch" transfer-ownership="none">
9172+ <doc xml:space="preserve"
9173+ filename="src/adw-expander-row.c"
9174+ line="688">whether to show the switch enabling the expansion</doc>
9175+ <type name="gboolean" c:type="gboolean"/>
9176+ </parameter>
9177+ </parameters>
9178+ </method>
9179+ <method name="set_subtitle"
9180+ c:identifier="adw_expander_row_set_subtitle"
9181+ glib:set-property="subtitle">
9182+ <attribute name="org.gtk.Method.set_property" value="subtitle"/>
9183+ <doc xml:space="preserve"
9184+ filename="src/adw-expander-row.c"
9185+ line="493">Sets the subtitle for @self.
9186+
9187+The subtitle is interpreted as Pango markup unless
9188+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
9189+ <source-position filename="src/adw-expander-row.h" line="57"/>
9190+ <return-value transfer-ownership="none">
9191+ <type name="none" c:type="void"/>
9192+ </return-value>
9193+ <parameters>
9194+ <instance-parameter name="self" transfer-ownership="none">
9195+ <doc xml:space="preserve"
9196+ filename="src/adw-expander-row.c"
9197+ line="495">an expander row</doc>
9198+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9199+ </instance-parameter>
9200+ <parameter name="subtitle" transfer-ownership="none">
9201+ <doc xml:space="preserve"
9202+ filename="src/adw-expander-row.c"
9203+ line="496">the subtitle</doc>
9204+ <type name="utf8" c:type="const char*"/>
9205+ </parameter>
9206+ </parameters>
9207+ </method>
9208+ <method name="set_subtitle_lines"
9209+ c:identifier="adw_expander_row_set_subtitle_lines"
9210+ glib:set-property="subtitle-lines"
9211+ version="1.3">
9212+ <attribute name="org.gtk.Method.set_property" value="subtitle-lines"/>
9213+ <doc xml:space="preserve"
9214+ filename="src/adw-expander-row.c"
9215+ line="785">Sets the number of lines at the end of which the subtitle label will be
9216+ellipsized.
9217+
9218+If the value is 0, the number of lines won't be limited.</doc>
9219+ <source-position filename="src/adw-expander-row.h" line="93"/>
9220+ <return-value transfer-ownership="none">
9221+ <type name="none" c:type="void"/>
9222+ </return-value>
9223+ <parameters>
9224+ <instance-parameter name="self" transfer-ownership="none">
9225+ <doc xml:space="preserve"
9226+ filename="src/adw-expander-row.c"
9227+ line="787">an expander row</doc>
9228+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9229+ </instance-parameter>
9230+ <parameter name="subtitle_lines" transfer-ownership="none">
9231+ <doc xml:space="preserve"
9232+ filename="src/adw-expander-row.c"
9233+ line="788">the number of lines at the end of which the subtitle label will be ellipsized</doc>
9234+ <type name="gint" c:type="int"/>
9235+ </parameter>
9236+ </parameters>
9237+ </method>
9238+ <method name="set_title_lines"
9239+ c:identifier="adw_expander_row_set_title_lines"
9240+ glib:set-property="title-lines"
9241+ version="1.3">
9242+ <attribute name="org.gtk.Method.set_property" value="title-lines"/>
9243+ <doc xml:space="preserve"
9244+ filename="src/adw-expander-row.c"
9245+ line="736">Sets the number of lines at the end of which the title label will be
9246+ellipsized.
9247+
9248+If the value is 0, the number of lines won't be limited.</doc>
9249+ <source-position filename="src/adw-expander-row.h" line="87"/>
9250+ <return-value transfer-ownership="none">
9251+ <type name="none" c:type="void"/>
9252+ </return-value>
9253+ <parameters>
9254+ <instance-parameter name="self" transfer-ownership="none">
9255+ <doc xml:space="preserve"
9256+ filename="src/adw-expander-row.c"
9257+ line="738">an expander row</doc>
9258+ <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
9259+ </instance-parameter>
9260+ <parameter name="title_lines" transfer-ownership="none">
9261+ <doc xml:space="preserve"
9262+ filename="src/adw-expander-row.c"
9263+ line="739">the number of lines at the end of which the title label will be ellipsized</doc>
9264+ <type name="gint" c:type="int"/>
9265+ </parameter>
9266+ </parameters>
9267+ </method>
9268+ <property name="enable-expansion"
9269+ writable="1"
9270+ transfer-ownership="none"
9271+ setter="set_enable_expansion"
9272+ getter="get_enable_expansion"
9273+ default-value="TRUE">
9274+ <attribute name="org.gtk.Property.get"
9275+ value="adw_expander_row_get_enable_expansion"/>
9276+ <attribute name="org.gtk.Property.set"
9277+ value="adw_expander_row_set_enable_expansion"/>
9278+ <doc xml:space="preserve"
9279+ filename="src/adw-expander-row.c"
9280+ line="225">Whether expansion is enabled.</doc>
9281+ <type name="gboolean" c:type="gboolean"/>
9282+ </property>
9283+ <property name="expanded"
9284+ writable="1"
9285+ transfer-ownership="none"
9286+ setter="set_expanded"
9287+ getter="get_expanded"
9288+ default-value="FALSE">
9289+ <attribute name="org.gtk.Property.get"
9290+ value="adw_expander_row_get_expanded"/>
9291+ <attribute name="org.gtk.Property.set"
9292+ value="adw_expander_row_set_expanded"/>
9293+ <doc xml:space="preserve"
9294+ filename="src/adw-expander-row.c"
9295+ line="215">Whether the row is expanded.</doc>
9296+ <type name="gboolean" c:type="gboolean"/>
9297+ </property>
9298+ <property name="icon-name"
9299+ deprecated="1"
9300+ deprecated-version="1.3"
9301+ writable="1"
9302+ transfer-ownership="none"
9303+ setter="set_icon_name"
9304+ getter="get_icon_name">
9305+ <attribute name="org.gtk.Property.get"
9306+ value="adw_expander_row_get_icon_name"/>
9307+ <attribute name="org.gtk.Property.set"
9308+ value="adw_expander_row_set_icon_name"/>
9309+ <doc xml:space="preserve"
9310+ filename="src/adw-expander-row.c"
9311+ line="203">The icon name for this row.</doc>
9312+ <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
9313+ <type name="utf8" c:type="gchar*"/>
9314+ </property>
9315+ <property name="show-enable-switch"
9316+ writable="1"
9317+ transfer-ownership="none"
9318+ setter="set_show_enable_switch"
9319+ getter="get_show_enable_switch"
9320+ default-value="FALSE">
9321+ <attribute name="org.gtk.Property.get"
9322+ value="adw_expander_row_get_show_enable_switch"/>
9323+ <attribute name="org.gtk.Property.set"
9324+ value="adw_expander_row_set_show_enable_switch"/>
9325+ <doc xml:space="preserve"
9326+ filename="src/adw-expander-row.c"
9327+ line="235">Whether the switch enabling the expansion is visible.</doc>
9328+ <type name="gboolean" c:type="gboolean"/>
9329+ </property>
9330+ <property name="subtitle"
9331+ writable="1"
9332+ transfer-ownership="none"
9333+ setter="set_subtitle"
9334+ getter="get_subtitle">
9335+ <attribute name="org.gtk.Property.get"
9336+ value="adw_expander_row_get_subtitle"/>
9337+ <attribute name="org.gtk.Property.set"
9338+ value="adw_expander_row_set_subtitle"/>
9339+ <doc xml:space="preserve"
9340+ filename="src/adw-expander-row.c"
9341+ line="190">The subtitle for this row.
9342+
9343+The subtitle is interpreted as Pango markup unless
9344+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
9345+ <type name="utf8" c:type="gchar*"/>
9346+ </property>
9347+ <property name="subtitle-lines"
9348+ version="1.3"
9349+ writable="1"
9350+ transfer-ownership="none"
9351+ setter="set_subtitle_lines"
9352+ getter="get_subtitle_lines"
9353+ default-value="0">
9354+ <attribute name="org.gtk.Property.get"
9355+ value="adw_expander_row_get_subtitle_lines"/>
9356+ <attribute name="org.gtk.Property.set"
9357+ value="adw_expander_row_set_subtitle_lines"/>
9358+ <doc xml:space="preserve"
9359+ filename="src/adw-expander-row.c"
9360+ line="260">The number of lines at the end of which the subtitle label will be
9361+ellipsized.
9362+
9363+If the value is 0, the number of lines won't be limited.</doc>
9364+ <type name="gint" c:type="gint"/>
9365+ </property>
9366+ <property name="title-lines"
9367+ version="1.3"
9368+ writable="1"
9369+ transfer-ownership="none"
9370+ setter="set_title_lines"
9371+ getter="get_title_lines"
9372+ default-value="0">
9373+ <attribute name="org.gtk.Property.get"
9374+ value="adw_expander_row_get_title_lines"/>
9375+ <attribute name="org.gtk.Property.set"
9376+ value="adw_expander_row_set_title_lines"/>
9377+ <doc xml:space="preserve"
9378+ filename="src/adw-expander-row.c"
9379+ line="245">The number of lines at the end of which the title label will be ellipsized.
9380+
9381+If the value is 0, the number of lines won't be limited.</doc>
9382+ <type name="gint" c:type="gint"/>
9383+ </property>
9384+ <field name="parent_instance">
9385+ <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
9386+ </field>
9387+ </class>
9388+ <record name="ExpanderRowClass"
9389+ c:type="AdwExpanderRowClass"
9390+ glib:is-gtype-struct-for="ExpanderRow">
9391+ <source-position filename="src/adw-expander-row.h" line="35"/>
9392+ <field name="parent_class">
9393+ <doc xml:space="preserve"
9394+ filename="src/adw-expander-row.h"
9395+ line="27">The parent class</doc>
9396+ <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
9397+ </field>
9398+ <field name="padding" readable="0" private="1">
9399+ <array zero-terminated="0" fixed-size="4">
9400+ <type name="gpointer" c:type="gpointer"/>
9401+ </array>
9402+ </field>
9403+ </record>
9404+ <class name="Flap"
9405+ c:symbol-prefix="flap"
9406+ c:type="AdwFlap"
9407+ parent="Gtk.Widget"
9408+ final="1"
9409+ glib:type-name="AdwFlap"
9410+ glib:get-type="adw_flap_get_type"
9411+ glib:type-struct="FlapClass">
9412+ <doc xml:space="preserve"
9413+ filename="src/adw-flap.c"
9414+ line="22">An adaptive container acting like a box or an overlay.
9415+
9416+&lt;picture&gt;
9417+ &lt;source srcset="flap-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
9418+ &lt;img src="flap-wide.png" alt="flap-wide"&gt;
9419+&lt;/picture&gt;
9420+&lt;picture&gt;
9421+ &lt;source srcset="flap-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
9422+ &lt;img src="flap-narrow.png" alt="flap-narrow"&gt;
9423+&lt;/picture&gt;
9424+
9425+The `AdwFlap` widget can display its children like a [class@Gtk.Box] does or
9426+like a [class@Gtk.Overlay] does, according to the
9427+[property@Flap:fold-policy] value.
9428+
9429+`AdwFlap` has at most three children: [property@Flap:content],
9430+[property@Flap:flap] and [property@Flap:separator]. Content is the primary
9431+child, flap is displayed next to it when unfolded, or overlays it when
9432+folded. Flap can be shown or hidden by changing the
9433+[property@Flap:reveal-flap] value, as well as via swipe gestures if
9434+[property@Flap:swipe-to-open] and/or [property@Flap:swipe-to-close] are set
9435+to `TRUE`.
9436+
9437+Optionally, a separator can be provided, which would be displayed between
9438+the content and the flap when there's no shadow to separate them, depending
9439+on the transition type.
9440+
9441+[property@Flap:flap] is transparent by default; add the
9442+[`.background`](style-classes.html#background) style class to it if this is
9443+unwanted.
9444+
9445+If [property@Flap:modal] is set to `TRUE`, content becomes completely
9446+inaccessible when the flap is revealed while folded.
9447+
9448+The position of the flap and separator children relative to the content is
9449+determined by orientation, as well as the [property@Flap:flap-position]
9450+value.
9451+
9452+Folding the flap will automatically hide the flap widget, and unfolding it
9453+will automatically reveal it. If this behavior is not desired, the
9454+[property@Flap:locked] property can be used to override it.
9455+
9456+Common use cases include sidebars, header bars that need to be able to
9457+overlap the window content (for example, in fullscreen mode) and bottom
9458+sheets.
9459+
9460+## AdwFlap as GtkBuildable
9461+
9462+The `AdwFlap` implementation of the [iface@Gtk.Buildable] interface supports
9463+setting the flap child by specifying “flap” as the “type” attribute of a
9464+`&lt;child&gt;` element, and separator by specifying “separator”. Specifying
9465+“content” child type or omitting it results in setting the content child.
9466+
9467+## CSS nodes
9468+
9469+`AdwFlap` has a single CSS node with name `flap`. The node will get the style
9470+classes `.folded` when it is folded, and `.unfolded` when it's not.</doc>
9471+ <source-position filename="src/adw-flap.h" line="25"/>
9472+ <implements name="Swipeable"/>
9473+ <implements name="Gtk.Accessible"/>
9474+ <implements name="Gtk.Buildable"/>
9475+ <implements name="Gtk.ConstraintTarget"/>
9476+ <implements name="Gtk.Orientable"/>
9477+ <constructor name="new" c:identifier="adw_flap_new">
9478+ <doc xml:space="preserve"
9479+ filename="src/adw-flap.c"
9480+ line="1755">Creates a new `AdwFlap`.</doc>
9481+ <source-position filename="src/adw-flap.h" line="40"/>
9482+ <return-value transfer-ownership="none">
9483+ <doc xml:space="preserve"
9484+ filename="src/adw-flap.c"
9485+ line="1760">the newly created `AdwFlap`</doc>
9486+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9487+ </return-value>
9488+ </constructor>
9489+ <method name="get_content"
9490+ c:identifier="adw_flap_get_content"
9491+ glib:get-property="content">
9492+ <attribute name="org.gtk.Method.get_property" value="content"/>
9493+ <doc xml:space="preserve"
9494+ filename="src/adw-flap.c"
9495+ line="1768">Gets the content widget for @self.</doc>
9496+ <source-position filename="src/adw-flap.h" line="43"/>
9497+ <return-value transfer-ownership="none" nullable="1">
9498+ <doc xml:space="preserve"
9499+ filename="src/adw-flap.c"
9500+ line="1774">the content widget for @self</doc>
9501+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9502+ </return-value>
9503+ <parameters>
9504+ <instance-parameter name="self" transfer-ownership="none">
9505+ <doc xml:space="preserve"
9506+ filename="src/adw-flap.c"
9507+ line="1770">a flap</doc>
9508+ <type name="Flap" c:type="AdwFlap*"/>
9509+ </instance-parameter>
9510+ </parameters>
9511+ </method>
9512+ <method name="get_flap"
9513+ c:identifier="adw_flap_get_flap"
9514+ glib:get-property="flap">
9515+ <attribute name="org.gtk.Method.get_property" value="flap"/>
9516+ <doc xml:space="preserve"
9517+ filename="src/adw-flap.c"
9518+ line="1816">Gets the flap widget for @self.</doc>
9519+ <source-position filename="src/adw-flap.h" line="49"/>
9520+ <return-value transfer-ownership="none" nullable="1">
9521+ <doc xml:space="preserve"
9522+ filename="src/adw-flap.c"
9523+ line="1822">the flap widget for @self</doc>
9524+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9525+ </return-value>
9526+ <parameters>
9527+ <instance-parameter name="self" transfer-ownership="none">
9528+ <doc xml:space="preserve"
9529+ filename="src/adw-flap.c"
9530+ line="1818">a flap</doc>
9531+ <type name="Flap" c:type="AdwFlap*"/>
9532+ </instance-parameter>
9533+ </parameters>
9534+ </method>
9535+ <method name="get_flap_position"
9536+ c:identifier="adw_flap_get_flap_position"
9537+ glib:get-property="flap-position">
9538+ <attribute name="org.gtk.Method.get_property" value="flap-position"/>
9539+ <doc xml:space="preserve"
9540+ filename="src/adw-flap.c"
9541+ line="1915">Gets the flap position for @self.</doc>
9542+ <source-position filename="src/adw-flap.h" line="61"/>
9543+ <return-value transfer-ownership="none">
9544+ <doc xml:space="preserve"
9545+ filename="src/adw-flap.c"
9546+ line="1921">the flap position for @self</doc>
9547+ <type name="Gtk.PackType" c:type="GtkPackType"/>
9548+ </return-value>
9549+ <parameters>
9550+ <instance-parameter name="self" transfer-ownership="none">
9551+ <doc xml:space="preserve"
9552+ filename="src/adw-flap.c"
9553+ line="1917">a flap</doc>
9554+ <type name="Flap" c:type="AdwFlap*"/>
9555+ </instance-parameter>
9556+ </parameters>
9557+ </method>
9558+ <method name="get_fold_duration"
9559+ c:identifier="adw_flap_get_fold_duration"
9560+ glib:get-property="fold-duration">
9561+ <attribute name="org.gtk.Method.get_property" value="fold-duration"/>
9562+ <doc xml:space="preserve"
9563+ filename="src/adw-flap.c"
9564+ line="2156">Gets the fold transition animation duration for @self, in milliseconds.</doc>
9565+ <source-position filename="src/adw-flap.h" line="94"/>
9566+ <return-value transfer-ownership="none">
9567+ <doc xml:space="preserve"
9568+ filename="src/adw-flap.c"
9569+ line="2162">the fold transition duration</doc>
9570+ <type name="guint" c:type="guint"/>
9571+ </return-value>
9572+ <parameters>
9573+ <instance-parameter name="self" transfer-ownership="none">
9574+ <doc xml:space="preserve"
9575+ filename="src/adw-flap.c"
9576+ line="2158">a flap</doc>
9577+ <type name="Flap" c:type="AdwFlap*"/>
9578+ </instance-parameter>
9579+ </parameters>
9580+ </method>
9581+ <method name="get_fold_policy"
9582+ c:identifier="adw_flap_get_fold_policy"
9583+ glib:get-property="fold-policy">
9584+ <attribute name="org.gtk.Method.get_property" value="fold-policy"/>
9585+ <doc xml:space="preserve"
9586+ filename="src/adw-flap.c"
9587+ line="2056">Gets the fold policy for @self.</doc>
9588+ <source-position filename="src/adw-flap.h" line="82"/>
9589+ <return-value transfer-ownership="none">
9590+ <doc xml:space="preserve"
9591+ filename="src/adw-flap.c"
9592+ line="2062">the fold policy for @self</doc>
9593+ <type name="FlapFoldPolicy" c:type="AdwFlapFoldPolicy"/>
9594+ </return-value>
9595+ <parameters>
9596+ <instance-parameter name="self" transfer-ownership="none">
9597+ <doc xml:space="preserve"
9598+ filename="src/adw-flap.c"
9599+ line="2058">a flap</doc>
9600+ <type name="Flap" c:type="AdwFlap*"/>
9601+ </instance-parameter>
9602+ </parameters>
9603+ </method>
9604+ <method name="get_fold_threshold_policy"
9605+ c:identifier="adw_flap_get_fold_threshold_policy"
9606+ glib:get-property="fold-threshold-policy">
9607+ <attribute name="org.gtk.Method.get_property"
9608+ value="fold-threshold-policy"/>
9609+ <doc xml:space="preserve"
9610+ filename="src/adw-flap.c"
9611+ line="2111">Gets the fold threshold policy for @self.</doc>
9612+ <source-position filename="src/adw-flap.h" line="88"/>
9613+ <return-value transfer-ownership="none">
9614+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
9615+ </return-value>
9616+ <parameters>
9617+ <instance-parameter name="self" transfer-ownership="none">
9618+ <doc xml:space="preserve"
9619+ filename="src/adw-flap.c"
9620+ line="2113">a flap</doc>
9621+ <type name="Flap" c:type="AdwFlap*"/>
9622+ </instance-parameter>
9623+ </parameters>
9624+ </method>
9625+ <method name="get_folded"
9626+ c:identifier="adw_flap_get_folded"
9627+ glib:get-property="folded">
9628+ <attribute name="org.gtk.Method.get_property" value="folded"/>
9629+ <doc xml:space="preserve"
9630+ filename="src/adw-flap.c"
9631+ line="2193">Gets whether @self is currently folded.
9632+
9633+See [property@Flap:fold-policy].</doc>
9634+ <source-position filename="src/adw-flap.h" line="100"/>
9635+ <return-value transfer-ownership="none">
9636+ <doc xml:space="preserve"
9637+ filename="src/adw-flap.c"
9638+ line="2201">`TRUE` if @self is currently folded</doc>
9639+ <type name="gboolean" c:type="gboolean"/>
9640+ </return-value>
9641+ <parameters>
9642+ <instance-parameter name="self" transfer-ownership="none">
9643+ <doc xml:space="preserve"
9644+ filename="src/adw-flap.c"
9645+ line="2195">a flap</doc>
9646+ <type name="Flap" c:type="AdwFlap*"/>
9647+ </instance-parameter>
9648+ </parameters>
9649+ </method>
9650+ <method name="get_locked"
9651+ c:identifier="adw_flap_get_locked"
9652+ glib:get-property="locked">
9653+ <attribute name="org.gtk.Method.get_property" value="locked"/>
9654+ <doc xml:space="preserve"
9655+ filename="src/adw-flap.c"
9656+ line="2211">Gets whether @self is locked.</doc>
9657+ <source-position filename="src/adw-flap.h" line="103"/>
9658+ <return-value transfer-ownership="none">
9659+ <doc xml:space="preserve"
9660+ filename="src/adw-flap.c"
9661+ line="2217">`TRUE` if @self is locked</doc>
9662+ <type name="gboolean" c:type="gboolean"/>
9663+ </return-value>
9664+ <parameters>
9665+ <instance-parameter name="self" transfer-ownership="none">
9666+ <doc xml:space="preserve"
9667+ filename="src/adw-flap.c"
9668+ line="2213">a flap</doc>
9669+ <type name="Flap" c:type="AdwFlap*"/>
9670+ </instance-parameter>
9671+ </parameters>
9672+ </method>
9673+ <method name="get_modal"
9674+ c:identifier="adw_flap_get_modal"
9675+ glib:get-property="modal">
9676+ <attribute name="org.gtk.Method.get_property" value="modal"/>
9677+ <doc xml:space="preserve"
9678+ filename="src/adw-flap.c"
9679+ line="2302">Gets whether @self is modal.</doc>
9680+ <source-position filename="src/adw-flap.h" line="115"/>
9681+ <return-value transfer-ownership="none">
9682+ <doc xml:space="preserve"
9683+ filename="src/adw-flap.c"
9684+ line="2308">`TRUE` if @self is modal</doc>
9685+ <type name="gboolean" c:type="gboolean"/>
9686+ </return-value>
9687+ <parameters>
9688+ <instance-parameter name="self" transfer-ownership="none">
9689+ <doc xml:space="preserve"
9690+ filename="src/adw-flap.c"
9691+ line="2304">a flap</doc>
9692+ <type name="Flap" c:type="AdwFlap*"/>
9693+ </instance-parameter>
9694+ </parameters>
9695+ </method>
9696+ <method name="get_reveal_flap"
9697+ c:identifier="adw_flap_get_reveal_flap"
9698+ glib:get-property="reveal-flap">
9699+ <attribute name="org.gtk.Method.get_property" value="reveal-flap"/>
9700+ <doc xml:space="preserve"
9701+ filename="src/adw-flap.c"
9702+ line="1959">Gets whether the flap widget is revealed for @self.</doc>
9703+ <source-position filename="src/adw-flap.h" line="67"/>
9704+ <return-value transfer-ownership="none">
9705+ <doc xml:space="preserve"
9706+ filename="src/adw-flap.c"
9707+ line="1965">`TRUE` if the flap widget is revealed</doc>
9708+ <type name="gboolean" c:type="gboolean"/>
9709+ </return-value>
9710+ <parameters>
9711+ <instance-parameter name="self" transfer-ownership="none">
9712+ <doc xml:space="preserve"
9713+ filename="src/adw-flap.c"
9714+ line="1961">a flap</doc>
9715+ <type name="Flap" c:type="AdwFlap*"/>
9716+ </instance-parameter>
9717+ </parameters>
9718+ </method>
9719+ <method name="get_reveal_params"
9720+ c:identifier="adw_flap_get_reveal_params"
9721+ glib:get-property="reveal-params">
9722+ <attribute name="org.gtk.Method.get_property" value="reveal-params"/>
9723+ <doc xml:space="preserve"
9724+ filename="src/adw-flap.c"
9725+ line="1991">Gets the reveal animation spring parameters for @self.</doc>
9726+ <source-position filename="src/adw-flap.h" line="73"/>
9727+ <return-value transfer-ownership="full">
9728+ <doc xml:space="preserve"
9729+ filename="src/adw-flap.c"
9730+ line="1997">the reveal animation parameters</doc>
9731+ <type name="SpringParams" c:type="AdwSpringParams*"/>
9732+ </return-value>
9733+ <parameters>
9734+ <instance-parameter name="self" transfer-ownership="none">
9735+ <doc xml:space="preserve"
9736+ filename="src/adw-flap.c"
9737+ line="1993">a flap</doc>
9738+ <type name="Flap" c:type="AdwFlap*"/>
9739+ </instance-parameter>
9740+ </parameters>
9741+ </method>
9742+ <method name="get_reveal_progress"
9743+ c:identifier="adw_flap_get_reveal_progress"
9744+ glib:get-property="reveal-progress">
9745+ <attribute name="org.gtk.Method.get_property" value="reveal-progress"/>
9746+ <doc xml:space="preserve"
9747+ filename="src/adw-flap.c"
9748+ line="2036">Gets the current reveal progress for @self.
9749+
9750+0 means fully hidden, 1 means fully revealed.
9751+
9752+See [property@Flap:reveal-flap].</doc>
9753+ <source-position filename="src/adw-flap.h" line="79"/>
9754+ <return-value transfer-ownership="none">
9755+ <doc xml:space="preserve"
9756+ filename="src/adw-flap.c"
9757+ line="2046">the current reveal progress for @self</doc>
9758+ <type name="gdouble" c:type="double"/>
9759+ </return-value>
9760+ <parameters>
9761+ <instance-parameter name="self" transfer-ownership="none">
9762+ <doc xml:space="preserve"
9763+ filename="src/adw-flap.c"
9764+ line="2038">a flap</doc>
9765+ <type name="Flap" c:type="AdwFlap*"/>
9766+ </instance-parameter>
9767+ </parameters>
9768+ </method>
9769+ <method name="get_separator"
9770+ c:identifier="adw_flap_get_separator"
9771+ glib:get-property="separator">
9772+ <attribute name="org.gtk.Method.get_property" value="separator"/>
9773+ <doc xml:space="preserve"
9774+ filename="src/adw-flap.c"
9775+ line="1865">Gets the separator widget for @self.</doc>
9776+ <source-position filename="src/adw-flap.h" line="55"/>
9777+ <return-value transfer-ownership="none" nullable="1">
9778+ <doc xml:space="preserve"
9779+ filename="src/adw-flap.c"
9780+ line="1871">the separator widget for @self</doc>
9781+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9782+ </return-value>
9783+ <parameters>
9784+ <instance-parameter name="self" transfer-ownership="none">
9785+ <doc xml:space="preserve"
9786+ filename="src/adw-flap.c"
9787+ line="1867">a flap</doc>
9788+ <type name="Flap" c:type="AdwFlap*"/>
9789+ </instance-parameter>
9790+ </parameters>
9791+ </method>
9792+ <method name="get_swipe_to_close"
9793+ c:identifier="adw_flap_get_swipe_to_close"
9794+ glib:get-property="swipe-to-close">
9795+ <attribute name="org.gtk.Method.get_property" value="swipe-to-close"/>
9796+ <doc xml:space="preserve"
9797+ filename="src/adw-flap.c"
9798+ line="2394">Gets whether @self can be closed with a swipe gesture.</doc>
9799+ <source-position filename="src/adw-flap.h" line="127"/>
9800+ <return-value transfer-ownership="none">
9801+ <doc xml:space="preserve"
9802+ filename="src/adw-flap.c"
9803+ line="2400">`TRUE` if @self can be closed with a swipe gesture</doc>
9804+ <type name="gboolean" c:type="gboolean"/>
9805+ </return-value>
9806+ <parameters>
9807+ <instance-parameter name="self" transfer-ownership="none">
9808+ <doc xml:space="preserve"
9809+ filename="src/adw-flap.c"
9810+ line="2396">a flap</doc>
9811+ <type name="Flap" c:type="AdwFlap*"/>
9812+ </instance-parameter>
9813+ </parameters>
9814+ </method>
9815+ <method name="get_swipe_to_open"
9816+ c:identifier="adw_flap_get_swipe_to_open"
9817+ glib:get-property="swipe-to-open">
9818+ <attribute name="org.gtk.Method.get_property" value="swipe-to-open"/>
9819+ <doc xml:space="preserve"
9820+ filename="src/adw-flap.c"
9821+ line="2350">Gets whether @self can be opened with a swipe gesture.</doc>
9822+ <source-position filename="src/adw-flap.h" line="121"/>
9823+ <return-value transfer-ownership="none">
9824+ <doc xml:space="preserve"
9825+ filename="src/adw-flap.c"
9826+ line="2356">`TRUE` if @self can be opened with a swipe gesture</doc>
9827+ <type name="gboolean" c:type="gboolean"/>
9828+ </return-value>
9829+ <parameters>
9830+ <instance-parameter name="self" transfer-ownership="none">
9831+ <doc xml:space="preserve"
9832+ filename="src/adw-flap.c"
9833+ line="2352">a flap</doc>
9834+ <type name="Flap" c:type="AdwFlap*"/>
9835+ </instance-parameter>
9836+ </parameters>
9837+ </method>
9838+ <method name="get_transition_type"
9839+ c:identifier="adw_flap_get_transition_type"
9840+ glib:get-property="transition-type">
9841+ <attribute name="org.gtk.Method.get_property" value="transition-type"/>
9842+ <doc xml:space="preserve"
9843+ filename="src/adw-flap.c"
9844+ line="2254">Gets the type of animation used for reveal and fold transitions in @self.</doc>
9845+ <source-position filename="src/adw-flap.h" line="109"/>
9846+ <return-value transfer-ownership="none">
9847+ <doc xml:space="preserve"
9848+ filename="src/adw-flap.c"
9849+ line="2260">the current transition type of @self</doc>
9850+ <type name="FlapTransitionType" c:type="AdwFlapTransitionType"/>
9851+ </return-value>
9852+ <parameters>
9853+ <instance-parameter name="self" transfer-ownership="none">
9854+ <doc xml:space="preserve"
9855+ filename="src/adw-flap.c"
9856+ line="2256">a flap</doc>
9857+ <type name="Flap" c:type="AdwFlap*"/>
9858+ </instance-parameter>
9859+ </parameters>
9860+ </method>
9861+ <method name="set_content"
9862+ c:identifier="adw_flap_set_content"
9863+ glib:set-property="content">
9864+ <attribute name="org.gtk.Method.set_property" value="content"/>
9865+ <doc xml:space="preserve"
9866+ filename="src/adw-flap.c"
9867+ line="1784">Sets the content widget for @self.
9868+
9869+It's always displayed when unfolded, and partially visible when folded.</doc>
9870+ <source-position filename="src/adw-flap.h" line="45"/>
9871+ <return-value transfer-ownership="none">
9872+ <type name="none" c:type="void"/>
9873+ </return-value>
9874+ <parameters>
9875+ <instance-parameter name="self" transfer-ownership="none">
9876+ <doc xml:space="preserve"
9877+ filename="src/adw-flap.c"
9878+ line="1786">a flap</doc>
9879+ <type name="Flap" c:type="AdwFlap*"/>
9880+ </instance-parameter>
9881+ <parameter name="content"
9882+ transfer-ownership="none"
9883+ nullable="1"
9884+ allow-none="1">
9885+ <doc xml:space="preserve"
9886+ filename="src/adw-flap.c"
9887+ line="1787">the content widget</doc>
9888+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9889+ </parameter>
9890+ </parameters>
9891+ </method>
9892+ <method name="set_flap"
9893+ c:identifier="adw_flap_set_flap"
9894+ glib:set-property="flap">
9895+ <attribute name="org.gtk.Method.set_property" value="flap"/>
9896+ <doc xml:space="preserve"
9897+ filename="src/adw-flap.c"
9898+ line="1832">Sets the flap widget for @self.
9899+
9900+It's only visible when [property@Flap:reveal-progress] is greater than 0.</doc>
9901+ <source-position filename="src/adw-flap.h" line="51"/>
9902+ <return-value transfer-ownership="none">
9903+ <type name="none" c:type="void"/>
9904+ </return-value>
9905+ <parameters>
9906+ <instance-parameter name="self" transfer-ownership="none">
9907+ <doc xml:space="preserve"
9908+ filename="src/adw-flap.c"
9909+ line="1834">a flap</doc>
9910+ <type name="Flap" c:type="AdwFlap*"/>
9911+ </instance-parameter>
9912+ <parameter name="flap"
9913+ transfer-ownership="none"
9914+ nullable="1"
9915+ allow-none="1">
9916+ <doc xml:space="preserve"
9917+ filename="src/adw-flap.c"
9918+ line="1835">the flap widget</doc>
9919+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
9920+ </parameter>
9921+ </parameters>
9922+ </method>
9923+ <method name="set_flap_position"
9924+ c:identifier="adw_flap_set_flap_position"
9925+ glib:set-property="flap-position">
9926+ <attribute name="org.gtk.Method.set_property" value="flap-position"/>
9927+ <doc xml:space="preserve"
9928+ filename="src/adw-flap.c"
9929+ line="1931">Sets the flap position for @self.
9930+
9931+If it's set to `GTK_PACK_START`, the flap is displayed before the content,
9932+if `GTK_PACK_END`, it's displayed after the content.</doc>
9933+ <source-position filename="src/adw-flap.h" line="63"/>
9934+ <return-value transfer-ownership="none">
9935+ <type name="none" c:type="void"/>
9936+ </return-value>
9937+ <parameters>
9938+ <instance-parameter name="self" transfer-ownership="none">
9939+ <doc xml:space="preserve"
9940+ filename="src/adw-flap.c"
9941+ line="1933">a flap</doc>
9942+ <type name="Flap" c:type="AdwFlap*"/>
9943+ </instance-parameter>
9944+ <parameter name="position" transfer-ownership="none">
9945+ <doc xml:space="preserve"
9946+ filename="src/adw-flap.c"
9947+ line="1934">the new value</doc>
9948+ <type name="Gtk.PackType" c:type="GtkPackType"/>
9949+ </parameter>
9950+ </parameters>
9951+ </method>
9952+ <method name="set_fold_duration"
9953+ c:identifier="adw_flap_set_fold_duration"
9954+ glib:set-property="fold-duration">
9955+ <attribute name="org.gtk.Method.set_property" value="fold-duration"/>
9956+ <doc xml:space="preserve"
9957+ filename="src/adw-flap.c"
9958+ line="2172">Sets the fold transition animation duration for @self, in milliseconds.</doc>
9959+ <source-position filename="src/adw-flap.h" line="96"/>
9960+ <return-value transfer-ownership="none">
9961+ <type name="none" c:type="void"/>
9962+ </return-value>
9963+ <parameters>
9964+ <instance-parameter name="self" transfer-ownership="none">
9965+ <doc xml:space="preserve"
9966+ filename="src/adw-flap.c"
9967+ line="2174">a flap</doc>
9968+ <type name="Flap" c:type="AdwFlap*"/>
9969+ </instance-parameter>
9970+ <parameter name="duration" transfer-ownership="none">
9971+ <doc xml:space="preserve"
9972+ filename="src/adw-flap.c"
9973+ line="2175">the new duration, in milliseconds</doc>
9974+ <type name="guint" c:type="guint"/>
9975+ </parameter>
9976+ </parameters>
9977+ </method>
9978+ <method name="set_fold_policy"
9979+ c:identifier="adw_flap_set_fold_policy"
9980+ glib:set-property="fold-policy">
9981+ <attribute name="org.gtk.Method.set_property" value="fold-policy"/>
9982+ <doc xml:space="preserve"
9983+ filename="src/adw-flap.c"
9984+ line="2072">Sets the fold policy for @self.</doc>
9985+ <source-position filename="src/adw-flap.h" line="84"/>
9986+ <return-value transfer-ownership="none">
9987+ <type name="none" c:type="void"/>
9988+ </return-value>
9989+ <parameters>
9990+ <instance-parameter name="self" transfer-ownership="none">
9991+ <doc xml:space="preserve"
9992+ filename="src/adw-flap.c"
9993+ line="2074">a flap</doc>
9994+ <type name="Flap" c:type="AdwFlap*"/>
9995+ </instance-parameter>
9996+ <parameter name="policy" transfer-ownership="none">
9997+ <doc xml:space="preserve"
9998+ filename="src/adw-flap.c"
9999+ line="2075">the fold policy</doc>
10000+ <type name="FlapFoldPolicy" c:type="AdwFlapFoldPolicy"/>
10001+ </parameter>
10002+ </parameters>
10003+ </method>
10004+ <method name="set_fold_threshold_policy"
10005+ c:identifier="adw_flap_set_fold_threshold_policy"
10006+ glib:set-property="fold-threshold-policy">
10007+ <attribute name="org.gtk.Method.set_property"
10008+ value="fold-threshold-policy"/>
10009+ <doc xml:space="preserve"
10010+ filename="src/adw-flap.c"
10011+ line="2125">Sets the fold threshold policy for @self.
10012+
10013+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when the
10014+children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
10015+will fold as soon as children don't get their natural size.
10016+
10017+This can be useful if you have a long ellipsizing label and want to let it
10018+ellipsize instead of immediately folding.</doc>
10019+ <source-position filename="src/adw-flap.h" line="90"/>
10020+ <return-value transfer-ownership="none">
10021+ <type name="none" c:type="void"/>
10022+ </return-value>
10023+ <parameters>
10024+ <instance-parameter name="self" transfer-ownership="none">
10025+ <doc xml:space="preserve"
10026+ filename="src/adw-flap.c"
10027+ line="2127">a flap</doc>
10028+ <type name="Flap" c:type="AdwFlap*"/>
10029+ </instance-parameter>
10030+ <parameter name="policy" transfer-ownership="none">
10031+ <doc xml:space="preserve"
10032+ filename="src/adw-flap.c"
10033+ line="2128">the policy to use</doc>
10034+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
10035+ </parameter>
10036+ </parameters>
10037+ </method>
10038+ <method name="set_locked"
10039+ c:identifier="adw_flap_set_locked"
10040+ glib:set-property="locked">
10041+ <attribute name="org.gtk.Method.set_property" value="locked"/>
10042+ <doc xml:space="preserve"
10043+ filename="src/adw-flap.c"
10044+ line="2227">Sets whether @self is locked.
10045+
10046+If `FALSE`, folding when the flap is revealed automatically closes it, and
10047+unfolding it when the flap is not revealed opens it. If `TRUE`,
10048+[property@Flap:reveal-flap] value never changes on its own.</doc>
10049+ <source-position filename="src/adw-flap.h" line="105"/>
10050+ <return-value transfer-ownership="none">
10051+ <type name="none" c:type="void"/>
10052+ </return-value>
10053+ <parameters>
10054+ <instance-parameter name="self" transfer-ownership="none">
10055+ <doc xml:space="preserve"
10056+ filename="src/adw-flap.c"
10057+ line="2229">a flap</doc>
10058+ <type name="Flap" c:type="AdwFlap*"/>
10059+ </instance-parameter>
10060+ <parameter name="locked" transfer-ownership="none">
10061+ <doc xml:space="preserve"
10062+ filename="src/adw-flap.c"
10063+ line="2230">the new value</doc>
10064+ <type name="gboolean" c:type="gboolean"/>
10065+ </parameter>
10066+ </parameters>
10067+ </method>
10068+ <method name="set_modal"
10069+ c:identifier="adw_flap_set_modal"
10070+ glib:set-property="modal">
10071+ <attribute name="org.gtk.Method.set_property" value="modal"/>
10072+ <doc xml:space="preserve"
10073+ filename="src/adw-flap.c"
10074+ line="2318">Sets whether @self is modal.
10075+
10076+If `TRUE`, clicking the content widget while flap is revealed, as well as
10077+pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks are
10078+passed through to the content widget.</doc>
10079+ <source-position filename="src/adw-flap.h" line="117"/>
10080+ <return-value transfer-ownership="none">
10081+ <type name="none" c:type="void"/>
10082+ </return-value>
10083+ <parameters>
10084+ <instance-parameter name="self" transfer-ownership="none">
10085+ <doc xml:space="preserve"
10086+ filename="src/adw-flap.c"
10087+ line="2320">a flap</doc>
10088+ <type name="Flap" c:type="AdwFlap*"/>
10089+ </instance-parameter>
10090+ <parameter name="modal" transfer-ownership="none">
10091+ <doc xml:space="preserve"
10092+ filename="src/adw-flap.c"
10093+ line="2321">whether @self is modal</doc>
10094+ <type name="gboolean" c:type="gboolean"/>
10095+ </parameter>
10096+ </parameters>
10097+ </method>
10098+ <method name="set_reveal_flap"
10099+ c:identifier="adw_flap_set_reveal_flap"
10100+ glib:set-property="reveal-flap">
10101+ <attribute name="org.gtk.Method.set_property" value="reveal-flap"/>
10102+ <doc xml:space="preserve"
10103+ filename="src/adw-flap.c"
10104+ line="1975">Sets whether the flap widget is revealed for @self.</doc>
10105+ <source-position filename="src/adw-flap.h" line="69"/>
10106+ <return-value transfer-ownership="none">
10107+ <type name="none" c:type="void"/>
10108+ </return-value>
10109+ <parameters>
10110+ <instance-parameter name="self" transfer-ownership="none">
10111+ <doc xml:space="preserve"
10112+ filename="src/adw-flap.c"
10113+ line="1977">a flap</doc>
10114+ <type name="Flap" c:type="AdwFlap*"/>
10115+ </instance-parameter>
10116+ <parameter name="reveal_flap" transfer-ownership="none">
10117+ <doc xml:space="preserve"
10118+ filename="src/adw-flap.c"
10119+ line="1978">whether to reveal the flap widget</doc>
10120+ <type name="gboolean" c:type="gboolean"/>
10121+ </parameter>
10122+ </parameters>
10123+ </method>
10124+ <method name="set_reveal_params"
10125+ c:identifier="adw_flap_set_reveal_params"
10126+ glib:set-property="reveal-params">
10127+ <attribute name="org.gtk.Method.set_property" value="reveal-params"/>
10128+ <doc xml:space="preserve"
10129+ filename="src/adw-flap.c"
10130+ line="2007">Sets the reveal animation spring parameters for @self.
10131+
10132+The default value is equivalent to:
10133+
10134+```c
10135+adw_spring_params_new (1, 0.5, 500)
10136+```</doc>
10137+ <source-position filename="src/adw-flap.h" line="75"/>
10138+ <return-value transfer-ownership="none">
10139+ <type name="none" c:type="void"/>
10140+ </return-value>
10141+ <parameters>
10142+ <instance-parameter name="self" transfer-ownership="none">
10143+ <doc xml:space="preserve"
10144+ filename="src/adw-flap.c"
10145+ line="2009">a flap</doc>
10146+ <type name="Flap" c:type="AdwFlap*"/>
10147+ </instance-parameter>
10148+ <parameter name="params" transfer-ownership="none">
10149+ <doc xml:space="preserve"
10150+ filename="src/adw-flap.c"
10151+ line="2010">the new parameters</doc>
10152+ <type name="SpringParams" c:type="AdwSpringParams*"/>
10153+ </parameter>
10154+ </parameters>
10155+ </method>
10156+ <method name="set_separator"
10157+ c:identifier="adw_flap_set_separator"
10158+ glib:set-property="separator">
10159+ <attribute name="org.gtk.Method.set_property" value="separator"/>
10160+ <doc xml:space="preserve"
10161+ filename="src/adw-flap.c"
10162+ line="1881">Sets the separator widget for @self.
10163+
10164+It's displayed between content and flap when there's no shadow to display.
10165+When exactly it's visible depends on the [property@Flap:transition-type]
10166+value.</doc>
10167+ <source-position filename="src/adw-flap.h" line="57"/>
10168+ <return-value transfer-ownership="none">
10169+ <type name="none" c:type="void"/>
10170+ </return-value>
10171+ <parameters>
10172+ <instance-parameter name="self" transfer-ownership="none">
10173+ <doc xml:space="preserve"
10174+ filename="src/adw-flap.c"
10175+ line="1883">a flap</doc>
10176+ <type name="Flap" c:type="AdwFlap*"/>
10177+ </instance-parameter>
10178+ <parameter name="separator"
10179+ transfer-ownership="none"
10180+ nullable="1"
10181+ allow-none="1">
10182+ <doc xml:space="preserve"
10183+ filename="src/adw-flap.c"
10184+ line="1884">the separator widget</doc>
10185+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10186+ </parameter>
10187+ </parameters>
10188+ </method>
10189+ <method name="set_swipe_to_close"
10190+ c:identifier="adw_flap_set_swipe_to_close"
10191+ glib:set-property="swipe-to-close">
10192+ <attribute name="org.gtk.Method.set_property" value="swipe-to-close"/>
10193+ <doc xml:space="preserve"
10194+ filename="src/adw-flap.c"
10195+ line="2410">Sets whether @self can be closed with a swipe gesture.
10196+
10197+The area that can be swiped depends on the [property@Flap:transition-type]
10198+value.</doc>
10199+ <source-position filename="src/adw-flap.h" line="129"/>
10200+ <return-value transfer-ownership="none">
10201+ <type name="none" c:type="void"/>
10202+ </return-value>
10203+ <parameters>
10204+ <instance-parameter name="self" transfer-ownership="none">
10205+ <doc xml:space="preserve"
10206+ filename="src/adw-flap.c"
10207+ line="2412">a flap</doc>
10208+ <type name="Flap" c:type="AdwFlap*"/>
10209+ </instance-parameter>
10210+ <parameter name="swipe_to_close" transfer-ownership="none">
10211+ <doc xml:space="preserve"
10212+ filename="src/adw-flap.c"
10213+ line="2413">whether @self can be closed with a swipe gesture</doc>
10214+ <type name="gboolean" c:type="gboolean"/>
10215+ </parameter>
10216+ </parameters>
10217+ </method>
10218+ <method name="set_swipe_to_open"
10219+ c:identifier="adw_flap_set_swipe_to_open"
10220+ glib:set-property="swipe-to-open">
10221+ <attribute name="org.gtk.Method.set_property" value="swipe-to-open"/>
10222+ <doc xml:space="preserve"
10223+ filename="src/adw-flap.c"
10224+ line="2366">Sets whether @self can be opened with a swipe gesture.
10225+
10226+The area that can be swiped depends on the [property@Flap:transition-type]
10227+value.</doc>
10228+ <source-position filename="src/adw-flap.h" line="123"/>
10229+ <return-value transfer-ownership="none">
10230+ <type name="none" c:type="void"/>
10231+ </return-value>
10232+ <parameters>
10233+ <instance-parameter name="self" transfer-ownership="none">
10234+ <doc xml:space="preserve"
10235+ filename="src/adw-flap.c"
10236+ line="2368">a flap</doc>
10237+ <type name="Flap" c:type="AdwFlap*"/>
10238+ </instance-parameter>
10239+ <parameter name="swipe_to_open" transfer-ownership="none">
10240+ <doc xml:space="preserve"
10241+ filename="src/adw-flap.c"
10242+ line="2369">whether @self can be opened with a swipe gesture</doc>
10243+ <type name="gboolean" c:type="gboolean"/>
10244+ </parameter>
10245+ </parameters>
10246+ </method>
10247+ <method name="set_transition_type"
10248+ c:identifier="adw_flap_set_transition_type"
10249+ glib:set-property="transition-type">
10250+ <attribute name="org.gtk.Method.set_property" value="transition-type"/>
10251+ <doc xml:space="preserve"
10252+ filename="src/adw-flap.c"
10253+ line="2270">Sets the type of animation used for reveal and fold transitions in @self.
10254+
10255+[property@Flap:flap] is transparent by default, which means the content will
10256+be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions; add the
10257+[`.background`](style-classes.html#background) style class to it if this is
10258+unwanted.</doc>
10259+ <source-position filename="src/adw-flap.h" line="111"/>
10260+ <return-value transfer-ownership="none">
10261+ <type name="none" c:type="void"/>
10262+ </return-value>
10263+ <parameters>
10264+ <instance-parameter name="self" transfer-ownership="none">
10265+ <doc xml:space="preserve"
10266+ filename="src/adw-flap.c"
10267+ line="2272">a flap</doc>
10268+ <type name="Flap" c:type="AdwFlap*"/>
10269+ </instance-parameter>
10270+ <parameter name="transition_type" transfer-ownership="none">
10271+ <doc xml:space="preserve"
10272+ filename="src/adw-flap.c"
10273+ line="2273">the new transition type</doc>
10274+ <type name="FlapTransitionType" c:type="AdwFlapTransitionType"/>
10275+ </parameter>
10276+ </parameters>
10277+ </method>
10278+ <property name="content"
10279+ writable="1"
10280+ transfer-ownership="none"
10281+ setter="set_content"
10282+ getter="get_content">
10283+ <attribute name="org.gtk.Property.get" value="adw_flap_get_content"/>
10284+ <attribute name="org.gtk.Property.set" value="adw_flap_set_content"/>
10285+ <doc xml:space="preserve"
10286+ filename="src/adw-flap.c"
10287+ line="1260">The content widget.
10288+
10289+It's always displayed when unfolded, and partially visible when folded.</doc>
10290+ <type name="Gtk.Widget"/>
10291+ </property>
10292+ <property name="flap"
10293+ writable="1"
10294+ transfer-ownership="none"
10295+ setter="set_flap"
10296+ getter="get_flap">
10297+ <attribute name="org.gtk.Property.get" value="adw_flap_get_flap"/>
10298+ <attribute name="org.gtk.Property.set" value="adw_flap_set_flap"/>
10299+ <doc xml:space="preserve"
10300+ filename="src/adw-flap.c"
10301+ line="1272">The flap widget.
10302+
10303+It's only visible when [property@Flap:reveal-progress] is greater than 0.</doc>
10304+ <type name="Gtk.Widget"/>
10305+ </property>
10306+ <property name="flap-position"
10307+ writable="1"
10308+ transfer-ownership="none"
10309+ setter="set_flap_position"
10310+ getter="get_flap_position"
10311+ default-value="GTK_PACK_START">
10312+ <attribute name="org.gtk.Property.get"
10313+ value="adw_flap_get_flap_position"/>
10314+ <attribute name="org.gtk.Property.set"
10315+ value="adw_flap_set_flap_position"/>
10316+ <doc xml:space="preserve"
10317+ filename="src/adw-flap.c"
10318+ line="1298">The flap position.
10319+
10320+If it's set to `GTK_PACK_START`, the flap is displayed before the content,
10321+if `GTK_PACK_END`, it's displayed after the content.</doc>
10322+ <type name="Gtk.PackType"/>
10323+ </property>
10324+ <property name="fold-duration"
10325+ writable="1"
10326+ transfer-ownership="none"
10327+ setter="set_fold_duration"
10328+ getter="get_fold_duration"
10329+ default-value="250">
10330+ <attribute name="org.gtk.Property.get"
10331+ value="adw_flap_get_fold_duration"/>
10332+ <attribute name="org.gtk.Property.set"
10333+ value="adw_flap_set_fold_duration"/>
10334+ <doc xml:space="preserve"
10335+ filename="src/adw-flap.c"
10336+ line="1381">The fold transition animation duration, in milliseconds.</doc>
10337+ <type name="guint" c:type="guint"/>
10338+ </property>
10339+ <property name="fold-policy"
10340+ writable="1"
10341+ transfer-ownership="none"
10342+ setter="set_fold_policy"
10343+ getter="get_fold_policy"
10344+ default-value="ADW_FLAP_FOLD_POLICY_AUTO">
10345+ <attribute name="org.gtk.Property.get"
10346+ value="adw_flap_get_fold_policy"/>
10347+ <attribute name="org.gtk.Property.set"
10348+ value="adw_flap_set_fold_policy"/>
10349+ <doc xml:space="preserve"
10350+ filename="src/adw-flap.c"
10351+ line="1352">The fold policy for the flap.</doc>
10352+ <type name="FlapFoldPolicy"/>
10353+ </property>
10354+ <property name="fold-threshold-policy"
10355+ writable="1"
10356+ transfer-ownership="none"
10357+ setter="set_fold_threshold_policy"
10358+ getter="get_fold_threshold_policy"
10359+ default-value="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
10360+ <attribute name="org.gtk.Property.get"
10361+ value="adw_flap_get_fold_threshold_policy"/>
10362+ <attribute name="org.gtk.Property.set"
10363+ value="adw_flap_set_fold_threshold_policy"/>
10364+ <doc xml:space="preserve"
10365+ filename="src/adw-flap.c"
10366+ line="1363">Determines when the flap will fold.
10367+
10368+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when
10369+the children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
10370+it will fold as soon as children don't get their natural size.
10371+
10372+This can be useful if you have a long ellipsizing label and want to let it
10373+ellipsize instead of immediately folding.</doc>
10374+ <type name="FoldThresholdPolicy"/>
10375+ </property>
10376+ <property name="folded"
10377+ transfer-ownership="none"
10378+ getter="get_folded"
10379+ default-value="FALSE">
10380+ <attribute name="org.gtk.Property.get" value="adw_flap_get_folded"/>
10381+ <doc xml:space="preserve"
10382+ filename="src/adw-flap.c"
10383+ line="1392">Whether the flap is currently folded.
10384+
10385+See [property@Flap:fold-policy].</doc>
10386+ <type name="gboolean" c:type="gboolean"/>
10387+ </property>
10388+ <property name="locked"
10389+ writable="1"
10390+ transfer-ownership="none"
10391+ setter="set_locked"
10392+ getter="get_locked"
10393+ default-value="FALSE">
10394+ <attribute name="org.gtk.Property.get" value="adw_flap_get_locked"/>
10395+ <attribute name="org.gtk.Property.set" value="adw_flap_set_locked"/>
10396+ <doc xml:space="preserve"
10397+ filename="src/adw-flap.c"
10398+ line="1404">Whether the flap is locked.
10399+
10400+If `FALSE`, folding when the flap is revealed automatically closes it, and
10401+unfolding it when the flap is not revealed opens it. If `TRUE`,
10402+[property@Flap:reveal-flap] value never changes on its own.</doc>
10403+ <type name="gboolean" c:type="gboolean"/>
10404+ </property>
10405+ <property name="modal"
10406+ writable="1"
10407+ transfer-ownership="none"
10408+ setter="set_modal"
10409+ getter="get_modal"
10410+ default-value="TRUE">
10411+ <attribute name="org.gtk.Property.get" value="adw_flap_get_modal"/>
10412+ <attribute name="org.gtk.Property.set" value="adw_flap_set_modal"/>
10413+ <doc xml:space="preserve"
10414+ filename="src/adw-flap.c"
10415+ line="1434">Whether the flap is modal.
10416+
10417+If `TRUE`, clicking the content widget while flap is revealed, as well as
10418+pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks
10419+are passed through to the content widget.</doc>
10420+ <type name="gboolean" c:type="gboolean"/>
10421+ </property>
10422+ <property name="reveal-flap"
10423+ writable="1"
10424+ transfer-ownership="none"
10425+ setter="set_reveal_flap"
10426+ getter="get_reveal_flap"
10427+ default-value="TRUE">
10428+ <attribute name="org.gtk.Property.get"
10429+ value="adw_flap_get_reveal_flap"/>
10430+ <attribute name="org.gtk.Property.set"
10431+ value="adw_flap_set_reveal_flap"/>
10432+ <doc xml:space="preserve"
10433+ filename="src/adw-flap.c"
10434+ line="1312">Whether the flap widget is revealed.</doc>
10435+ <type name="gboolean" c:type="gboolean"/>
10436+ </property>
10437+ <property name="reveal-params"
10438+ writable="1"
10439+ transfer-ownership="none"
10440+ setter="set_reveal_params"
10441+ getter="get_reveal_params">
10442+ <attribute name="org.gtk.Property.get"
10443+ value="adw_flap_get_reveal_params"/>
10444+ <attribute name="org.gtk.Property.set"
10445+ value="adw_flap_set_reveal_params"/>
10446+ <doc xml:space="preserve"
10447+ filename="src/adw-flap.c"
10448+ line="1322">The reveal animation spring parameters.
10449+
10450+The default value is equivalent to:
10451+
10452+```c
10453+adw_spring_params_new (1, 0.5, 500)
10454+```</doc>
10455+ <type name="SpringParams"/>
10456+ </property>
10457+ <property name="reveal-progress"
10458+ transfer-ownership="none"
10459+ getter="get_reveal_progress"
10460+ default-value="1.000000">
10461+ <attribute name="org.gtk.Property.get"
10462+ value="adw_flap_get_reveal_progress"/>
10463+ <doc xml:space="preserve"
10464+ filename="src/adw-flap.c"
10465+ line="1338">The current reveal transition progress.
10466+
10467+0 means fully hidden, 1 means fully revealed.
10468+
10469+See [property@Flap:reveal-flap].</doc>
10470+ <type name="gdouble" c:type="gdouble"/>
10471+ </property>
10472+ <property name="separator"
10473+ writable="1"
10474+ transfer-ownership="none"
10475+ setter="set_separator"
10476+ getter="get_separator">
10477+ <attribute name="org.gtk.Property.get" value="adw_flap_get_separator"/>
10478+ <attribute name="org.gtk.Property.set" value="adw_flap_set_separator"/>
10479+ <doc xml:space="preserve"
10480+ filename="src/adw-flap.c"
10481+ line="1284">The separator widget.
10482+
10483+It's displayed between content and flap when there's no shadow to display.
10484+When exactly it's visible depends on the [property@Flap:transition-type]
10485+value.</doc>
10486+ <type name="Gtk.Widget"/>
10487+ </property>
10488+ <property name="swipe-to-close"
10489+ writable="1"
10490+ transfer-ownership="none"
10491+ setter="set_swipe_to_close"
10492+ getter="get_swipe_to_close"
10493+ default-value="TRUE">
10494+ <attribute name="org.gtk.Property.get"
10495+ value="adw_flap_get_swipe_to_close"/>
10496+ <attribute name="org.gtk.Property.set"
10497+ value="adw_flap_set_swipe_to_close"/>
10498+ <doc xml:space="preserve"
10499+ filename="src/adw-flap.c"
10500+ line="1461">Whether the flap can be closed with a swipe gesture.
10501+
10502+The area that can be swiped depends on the [property@Flap:transition-type]
10503+value.</doc>
10504+ <type name="gboolean" c:type="gboolean"/>
10505+ </property>
10506+ <property name="swipe-to-open"
10507+ writable="1"
10508+ transfer-ownership="none"
10509+ setter="set_swipe_to_open"
10510+ getter="get_swipe_to_open"
10511+ default-value="TRUE">
10512+ <attribute name="org.gtk.Property.get"
10513+ value="adw_flap_get_swipe_to_open"/>
10514+ <attribute name="org.gtk.Property.set"
10515+ value="adw_flap_set_swipe_to_open"/>
10516+ <doc xml:space="preserve"
10517+ filename="src/adw-flap.c"
10518+ line="1448">Whether the flap can be opened with a swipe gesture.
10519+
10520+The area that can be swiped depends on the [property@Flap:transition-type]
10521+value.</doc>
10522+ <type name="gboolean" c:type="gboolean"/>
10523+ </property>
10524+ <property name="transition-type"
10525+ writable="1"
10526+ transfer-ownership="none"
10527+ setter="set_transition_type"
10528+ getter="get_transition_type"
10529+ default-value="ADW_FLAP_TRANSITION_TYPE_OVER">
10530+ <attribute name="org.gtk.Property.get"
10531+ value="adw_flap_get_transition_type"/>
10532+ <attribute name="org.gtk.Property.set"
10533+ value="adw_flap_set_transition_type"/>
10534+ <doc xml:space="preserve"
10535+ filename="src/adw-flap.c"
10536+ line="1418">the type of animation used for reveal and fold transitions.
10537+
10538+[property@Flap:flap] is transparent by default, which means the content
10539+will be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions;
10540+add the [`.background`](style-classes.html#background) style class to it if
10541+this is unwanted.</doc>
10542+ <type name="FlapTransitionType"/>
10543+ </property>
10544+ </class>
10545+ <record name="FlapClass"
10546+ c:type="AdwFlapClass"
10547+ glib:is-gtype-struct-for="Flap">
10548+ <source-position filename="src/adw-flap.h" line="25"/>
10549+ <field name="parent_class">
10550+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
10551+ </field>
10552+ </record>
10553+ <enumeration name="FlapFoldPolicy"
10554+ glib:type-name="AdwFlapFoldPolicy"
10555+ glib:get-type="adw_flap_fold_policy_get_type"
10556+ c:type="AdwFlapFoldPolicy">
10557+ <doc xml:space="preserve"
10558+ filename="src/adw-flap.c"
10559+ line="84">Describes the possible folding behavior of a [class@Flap] widget.</doc>
10560+ <member name="never"
10561+ value="0"
10562+ c:identifier="ADW_FLAP_FOLD_POLICY_NEVER"
10563+ glib:nick="never"
10564+ glib:name="ADW_FLAP_FOLD_POLICY_NEVER">
10565+ <doc xml:space="preserve"
10566+ filename="src/adw-flap.c"
10567+ line="86">Disable folding, the flap cannot reach narrow
10568+ sizes.</doc>
10569+ </member>
10570+ <member name="always"
10571+ value="1"
10572+ c:identifier="ADW_FLAP_FOLD_POLICY_ALWAYS"
10573+ glib:nick="always"
10574+ glib:name="ADW_FLAP_FOLD_POLICY_ALWAYS">
10575+ <doc xml:space="preserve"
10576+ filename="src/adw-flap.c"
10577+ line="88">Keep the flap always folded.</doc>
10578+ </member>
10579+ <member name="auto"
10580+ value="2"
10581+ c:identifier="ADW_FLAP_FOLD_POLICY_AUTO"
10582+ glib:nick="auto"
10583+ glib:name="ADW_FLAP_FOLD_POLICY_AUTO">
10584+ <doc xml:space="preserve"
10585+ filename="src/adw-flap.c"
10586+ line="89">Fold and unfold the flap based on available
10587+ space.</doc>
10588+ </member>
10589+ </enumeration>
10590+ <enumeration name="FlapTransitionType"
10591+ glib:type-name="AdwFlapTransitionType"
10592+ glib:get-type="adw_flap_transition_type_get_type"
10593+ c:type="AdwFlapTransitionType">
10594+ <doc xml:space="preserve"
10595+ filename="src/adw-flap.c"
10596+ line="95">Describes transitions types of a [class@Flap] widget.
10597+
10598+It determines the type of animation when transitioning between children in a
10599+[class@Flap] widget, as well as which areas can be swiped via
10600+[property@Flap:swipe-to-open] and [property@Flap:swipe-to-close].
10601+
10602+New values may be added to this enum over time.</doc>
10603+ <member name="over"
10604+ value="0"
10605+ c:identifier="ADW_FLAP_TRANSITION_TYPE_OVER"
10606+ glib:nick="over"
10607+ glib:name="ADW_FLAP_TRANSITION_TYPE_OVER">
10608+ <doc xml:space="preserve"
10609+ filename="src/adw-flap.c"
10610+ line="97">The flap slides over the content, which is
10611+ dimmed. When folded, only the flap can be swiped.</doc>
10612+ </member>
10613+ <member name="under"
10614+ value="1"
10615+ c:identifier="ADW_FLAP_TRANSITION_TYPE_UNDER"
10616+ glib:nick="under"
10617+ glib:name="ADW_FLAP_TRANSITION_TYPE_UNDER">
10618+ <doc xml:space="preserve"
10619+ filename="src/adw-flap.c"
10620+ line="99">The content slides over the flap. Only the
10621+ content can be swiped.</doc>
10622+ </member>
10623+ <member name="slide"
10624+ value="2"
10625+ c:identifier="ADW_FLAP_TRANSITION_TYPE_SLIDE"
10626+ glib:nick="slide"
10627+ glib:name="ADW_FLAP_TRANSITION_TYPE_SLIDE">
10628+ <doc xml:space="preserve"
10629+ filename="src/adw-flap.c"
10630+ line="101">The flap slides offscreen when hidden,
10631+ neither the flap nor content overlap each other. Both widgets can be
10632+ swiped.</doc>
10633+ </member>
10634+ </enumeration>
10635+ <enumeration name="FoldThresholdPolicy"
10636+ glib:type-name="AdwFoldThresholdPolicy"
10637+ glib:get-type="adw_fold_threshold_policy_get_type"
10638+ c:type="AdwFoldThresholdPolicy">
10639+ <doc xml:space="preserve"
10640+ filename="src/adw-fold-threshold-policy.c"
10641+ line="10">Determines when [class@Flap] and [class@Leaflet] will fold.</doc>
10642+ <member name="minimum"
10643+ value="0"
10644+ c:identifier="ADW_FOLD_THRESHOLD_POLICY_MINIMUM"
10645+ glib:nick="minimum"
10646+ glib:name="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
10647+ <doc xml:space="preserve"
10648+ filename="src/adw-fold-threshold-policy.c"
10649+ line="12">Folding is based on the minimum size</doc>
10650+ </member>
10651+ <member name="natural"
10652+ value="1"
10653+ c:identifier="ADW_FOLD_THRESHOLD_POLICY_NATURAL"
10654+ glib:nick="natural"
10655+ glib:name="ADW_FOLD_THRESHOLD_POLICY_NATURAL">
10656+ <doc xml:space="preserve"
10657+ filename="src/adw-fold-threshold-policy.c"
10658+ line="13">Folding is based on the natural size</doc>
10659+ </member>
10660+ </enumeration>
10661+ <class name="HeaderBar"
10662+ c:symbol-prefix="header_bar"
10663+ c:type="AdwHeaderBar"
10664+ parent="Gtk.Widget"
10665+ final="1"
10666+ glib:type-name="AdwHeaderBar"
10667+ glib:get-type="adw_header_bar_get_type"
10668+ glib:type-struct="HeaderBarClass">
10669+ <doc xml:space="preserve"
10670+ filename="src/adw-header-bar.c"
10671+ line="30">A title bar widget.
10672+
10673+&lt;picture&gt;
10674+ &lt;source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
10675+ &lt;img src="header-bar.png" alt="header-bar"&gt;
10676+&lt;/picture&gt;
10677+
10678+`AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional
10679+features compared to it. Refer to `GtkHeaderBar` for details.
10680+
10681+[property@HeaderBar:centering-policy] allows to enforce strict centering of
10682+the title widget, this is useful for [class@ViewSwitcherTitle].
10683+
10684+[property@HeaderBar:show-start-title-buttons] and
10685+[property@HeaderBar:show-end-title-buttons] allow to easily create split
10686+header bar layouts using [class@Leaflet], as follows:
10687+
10688+```xml
10689+&lt;object class="AdwLeaflet" id="leaflet"&gt;
10690+ &lt;child&gt;
10691+ &lt;object class="GtkBox"&gt;
10692+ &lt;property name="orientation"&gt;vertical&lt;/property&gt;
10693+ &lt;child&gt;
10694+ &lt;object class="AdwHeaderBar"&gt;
10695+ &lt;binding name="show-end-title-buttons"&gt;
10696+ &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
10697+ &lt;/binding&gt;
10698+ &lt;/object&gt;
10699+ &lt;/child&gt;
10700+ &lt;!-- ... --&gt;
10701+ &lt;/object&gt;
10702+ &lt;/child&gt;
10703+ &lt;!-- ... --&gt;
10704+ &lt;child&gt;
10705+ &lt;object class="GtkBox"&gt;
10706+ &lt;property name="orientation"&gt;vertical&lt;/property&gt;
10707+ &lt;property name="hexpand"&gt;True&lt;/property&gt;
10708+ &lt;child&gt;
10709+ &lt;object class="AdwHeaderBar"&gt;
10710+ &lt;binding name="show-start-title-buttons"&gt;
10711+ &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
10712+ &lt;/binding&gt;
10713+ &lt;/object&gt;
10714+ &lt;/child&gt;
10715+ &lt;!-- ... --&gt;
10716+ &lt;/object&gt;
10717+ &lt;/child&gt;
10718+&lt;/object&gt;
10719+```
10720+
10721+&lt;picture&gt;
10722+ &lt;source srcset="header-bar-split-dark.png" media="(prefers-color-scheme: dark)"&gt;
10723+ &lt;img src="header-bar-split.png" alt="header-bar-split"&gt;
10724+&lt;/picture&gt;
10725+
10726+## CSS nodes
10727+
10728+```
10729+headerbar
10730+╰── windowhandle
10731+ ╰── box
10732+ ├── widget
10733+ │ ╰── box.start
10734+ │ ├── windowcontrols.start
10735+ │ ╰── [other children]
10736+ ├── [Title Widget]
10737+ ╰── widget
10738+ ╰── box.end
10739+ ├── [other children]
10740+ ╰── windowcontrols.end
10741+```
10742+
10743+`AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle`
10744+subnode, which contains a `box` subnode, which contains two `widget` subnodes
10745+at the start and end of the header bar, each of which contains a `box`
10746+subnode with the `.start` and `.end` style classes respectively, as well as a
10747+center node that represents the title.
10748+
10749+Each of the boxes contains a `windowcontrols` subnode, see
10750+[class@Gtk.WindowControls] for details, as well as other children.
10751+
10752+## Accessibility
10753+
10754+`AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
10755+ <source-position filename="src/adw-header-bar.h" line="37"/>
10756+ <implements name="Gtk.Accessible"/>
10757+ <implements name="Gtk.Buildable"/>
10758+ <implements name="Gtk.ConstraintTarget"/>
10759+ <constructor name="new" c:identifier="adw_header_bar_new">
10760+ <doc xml:space="preserve"
10761+ filename="src/adw-header-bar.c"
10762+ line="548">Creates a new `AdwHeaderBar`.</doc>
10763+ <source-position filename="src/adw-header-bar.h" line="45"/>
10764+ <return-value transfer-ownership="none">
10765+ <doc xml:space="preserve"
10766+ filename="src/adw-header-bar.c"
10767+ line="553">the newly created `AdwHeaderBar`.</doc>
10768+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10769+ </return-value>
10770+ </constructor>
10771+ <method name="get_centering_policy"
10772+ c:identifier="adw_header_bar_get_centering_policy"
10773+ glib:get-property="centering-policy">
10774+ <attribute name="org.gtk.Method.get_property"
10775+ value="centering-policy"/>
10776+ <doc xml:space="preserve"
10777+ filename="src/adw-header-bar.c"
10778+ line="840">Gets the policy for aligning the center widget.</doc>
10779+ <source-position filename="src/adw-header-bar.h" line="82"/>
10780+ <return-value transfer-ownership="none">
10781+ <doc xml:space="preserve"
10782+ filename="src/adw-header-bar.c"
10783+ line="846">the centering policy</doc>
10784+ <type name="CenteringPolicy" c:type="AdwCenteringPolicy"/>
10785+ </return-value>
10786+ <parameters>
10787+ <instance-parameter name="self" transfer-ownership="none">
10788+ <doc xml:space="preserve"
10789+ filename="src/adw-header-bar.c"
10790+ line="842">a header bar</doc>
10791+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10792+ </instance-parameter>
10793+ </parameters>
10794+ </method>
10795+ <method name="get_decoration_layout"
10796+ c:identifier="adw_header_bar_get_decoration_layout"
10797+ glib:get-property="decoration-layout">
10798+ <attribute name="org.gtk.Method.get_property"
10799+ value="decoration-layout"/>
10800+ <doc xml:space="preserve"
10801+ filename="src/adw-header-bar.c"
10802+ line="794">Gets the decoration layout for @self.</doc>
10803+ <source-position filename="src/adw-header-bar.h" line="76"/>
10804+ <return-value transfer-ownership="none" nullable="1">
10805+ <doc xml:space="preserve"
10806+ filename="src/adw-header-bar.c"
10807+ line="800">the decoration layout</doc>
10808+ <type name="utf8" c:type="const char*"/>
10809+ </return-value>
10810+ <parameters>
10811+ <instance-parameter name="self" transfer-ownership="none">
10812+ <doc xml:space="preserve"
10813+ filename="src/adw-header-bar.c"
10814+ line="796">a header bar</doc>
10815+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10816+ </instance-parameter>
10817+ </parameters>
10818+ </method>
10819+ <method name="get_show_end_title_buttons"
10820+ c:identifier="adw_header_bar_get_show_end_title_buttons"
10821+ glib:get-property="show-end-title-buttons">
10822+ <attribute name="org.gtk.Method.get_property"
10823+ value="show-end-title-buttons"/>
10824+ <doc xml:space="preserve"
10825+ filename="src/adw-header-bar.c"
10826+ line="740">Gets whether to show title buttons at the end of @self.</doc>
10827+ <source-position filename="src/adw-header-bar.h" line="70"/>
10828+ <return-value transfer-ownership="none">
10829+ <doc xml:space="preserve"
10830+ filename="src/adw-header-bar.c"
10831+ line="746">`TRUE` if title buttons at the end are shown</doc>
10832+ <type name="gboolean" c:type="gboolean"/>
10833+ </return-value>
10834+ <parameters>
10835+ <instance-parameter name="self" transfer-ownership="none">
10836+ <doc xml:space="preserve"
10837+ filename="src/adw-header-bar.c"
10838+ line="742">a header bar</doc>
10839+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10840+ </instance-parameter>
10841+ </parameters>
10842+ </method>
10843+ <method name="get_show_start_title_buttons"
10844+ c:identifier="adw_header_bar_get_show_start_title_buttons"
10845+ glib:get-property="show-start-title-buttons">
10846+ <attribute name="org.gtk.Method.get_property"
10847+ value="show-start-title-buttons"/>
10848+ <doc xml:space="preserve"
10849+ filename="src/adw-header-bar.c"
10850+ line="686">Gets whether to show title buttons at the start of @self.</doc>
10851+ <source-position filename="src/adw-header-bar.h" line="64"/>
10852+ <return-value transfer-ownership="none">
10853+ <doc xml:space="preserve"
10854+ filename="src/adw-header-bar.c"
10855+ line="692">`TRUE` if title buttons at the start are shown</doc>
10856+ <type name="gboolean" c:type="gboolean"/>
10857+ </return-value>
10858+ <parameters>
10859+ <instance-parameter name="self" transfer-ownership="none">
10860+ <doc xml:space="preserve"
10861+ filename="src/adw-header-bar.c"
10862+ line="688">a header bar</doc>
10863+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10864+ </instance-parameter>
10865+ </parameters>
10866+ </method>
10867+ <method name="get_title_widget"
10868+ c:identifier="adw_header_bar_get_title_widget"
10869+ glib:get-property="title-widget">
10870+ <attribute name="org.gtk.Method.get_property" value="title-widget"/>
10871+ <doc xml:space="preserve"
10872+ filename="src/adw-header-bar.c"
10873+ line="620">Gets the title widget widget of @self.</doc>
10874+ <source-position filename="src/adw-header-bar.h" line="58"/>
10875+ <return-value transfer-ownership="none" nullable="1">
10876+ <doc xml:space="preserve"
10877+ filename="src/adw-header-bar.c"
10878+ line="626">the title widget</doc>
10879+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10880+ </return-value>
10881+ <parameters>
10882+ <instance-parameter name="self" transfer-ownership="none">
10883+ <doc xml:space="preserve"
10884+ filename="src/adw-header-bar.c"
10885+ line="622">a header bar</doc>
10886+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10887+ </instance-parameter>
10888+ </parameters>
10889+ </method>
10890+ <method name="pack_end" c:identifier="adw_header_bar_pack_end">
10891+ <doc xml:space="preserve"
10892+ filename="src/adw-header-bar.c"
10893+ line="575">Adds @child to @self, packed with reference to the end of @self.</doc>
10894+ <source-position filename="src/adw-header-bar.h" line="51"/>
10895+ <return-value transfer-ownership="none">
10896+ <type name="none" c:type="void"/>
10897+ </return-value>
10898+ <parameters>
10899+ <instance-parameter name="self" transfer-ownership="none">
10900+ <doc xml:space="preserve"
10901+ filename="src/adw-header-bar.c"
10902+ line="577">a header bar</doc>
10903+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10904+ </instance-parameter>
10905+ <parameter name="child" transfer-ownership="none">
10906+ <doc xml:space="preserve"
10907+ filename="src/adw-header-bar.c"
10908+ line="578">the widget to be added to @self</doc>
10909+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10910+ </parameter>
10911+ </parameters>
10912+ </method>
10913+ <method name="pack_start" c:identifier="adw_header_bar_pack_start">
10914+ <doc xml:space="preserve"
10915+ filename="src/adw-header-bar.c"
10916+ line="561">Adds @child to @self, packed with reference to the start of the @self.</doc>
10917+ <source-position filename="src/adw-header-bar.h" line="48"/>
10918+ <return-value transfer-ownership="none">
10919+ <type name="none" c:type="void"/>
10920+ </return-value>
10921+ <parameters>
10922+ <instance-parameter name="self" transfer-ownership="none">
10923+ <doc xml:space="preserve"
10924+ filename="src/adw-header-bar.c"
10925+ line="563">a header bar</doc>
10926+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10927+ </instance-parameter>
10928+ <parameter name="child" transfer-ownership="none">
10929+ <doc xml:space="preserve"
10930+ filename="src/adw-header-bar.c"
10931+ line="564">the widget to be added to @self</doc>
10932+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10933+ </parameter>
10934+ </parameters>
10935+ </method>
10936+ <method name="remove" c:identifier="adw_header_bar_remove">
10937+ <doc xml:space="preserve"
10938+ filename="src/adw-header-bar.c"
10939+ line="589">Removes a child from @self.
10940+
10941+The child must have been added with [method@HeaderBar.pack_start],
10942+[method@HeaderBar.pack_end] or [property@HeaderBar:title-widget].</doc>
10943+ <source-position filename="src/adw-header-bar.h" line="54"/>
10944+ <return-value transfer-ownership="none">
10945+ <type name="none" c:type="void"/>
10946+ </return-value>
10947+ <parameters>
10948+ <instance-parameter name="self" transfer-ownership="none">
10949+ <doc xml:space="preserve"
10950+ filename="src/adw-header-bar.c"
10951+ line="591">a header bar</doc>
10952+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10953+ </instance-parameter>
10954+ <parameter name="child" transfer-ownership="none">
10955+ <doc xml:space="preserve"
10956+ filename="src/adw-header-bar.c"
10957+ line="592">the child to remove</doc>
10958+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
10959+ </parameter>
10960+ </parameters>
10961+ </method>
10962+ <method name="set_centering_policy"
10963+ c:identifier="adw_header_bar_set_centering_policy"
10964+ glib:set-property="centering-policy">
10965+ <attribute name="org.gtk.Method.set_property"
10966+ value="centering-policy"/>
10967+ <doc xml:space="preserve"
10968+ filename="src/adw-header-bar.c"
10969+ line="856">Sets the policy for aligning the center widget.</doc>
10970+ <source-position filename="src/adw-header-bar.h" line="84"/>
10971+ <return-value transfer-ownership="none">
10972+ <type name="none" c:type="void"/>
10973+ </return-value>
10974+ <parameters>
10975+ <instance-parameter name="self" transfer-ownership="none">
10976+ <doc xml:space="preserve"
10977+ filename="src/adw-header-bar.c"
10978+ line="858">a header bar</doc>
10979+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
10980+ </instance-parameter>
10981+ <parameter name="centering_policy" transfer-ownership="none">
10982+ <doc xml:space="preserve"
10983+ filename="src/adw-header-bar.c"
10984+ line="859">the centering policy</doc>
10985+ <type name="CenteringPolicy" c:type="AdwCenteringPolicy"/>
10986+ </parameter>
10987+ </parameters>
10988+ </method>
10989+ <method name="set_decoration_layout"
10990+ c:identifier="adw_header_bar_set_decoration_layout"
10991+ glib:set-property="decoration-layout">
10992+ <attribute name="org.gtk.Method.set_property"
10993+ value="decoration-layout"/>
10994+ <doc xml:space="preserve"
10995+ filename="src/adw-header-bar.c"
10996+ line="810">Sets the decoration layout for @self.
10997+
10998+If this property is not set, the
10999+[property@Gtk.Settings:gtk-decoration-layout] setting is used.
11000+
11001+The format of the string is button names, separated by commas. A colon
11002+separates the buttons that should appear at the start from those at the end.
11003+Recognized button names are minimize, maximize, close and icon (the window
11004+icon).
11005+
11006+For example, “icon:minimize,maximize,close” specifies an icon at the start,
11007+and minimize, maximize and close buttons at the end.</doc>
11008+ <source-position filename="src/adw-header-bar.h" line="78"/>
11009+ <return-value transfer-ownership="none">
11010+ <type name="none" c:type="void"/>
11011+ </return-value>
11012+ <parameters>
11013+ <instance-parameter name="self" transfer-ownership="none">
11014+ <doc xml:space="preserve"
11015+ filename="src/adw-header-bar.c"
11016+ line="812">a header bar</doc>
11017+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
11018+ </instance-parameter>
11019+ <parameter name="layout"
11020+ transfer-ownership="none"
11021+ nullable="1"
11022+ allow-none="1">
11023+ <doc xml:space="preserve"
11024+ filename="src/adw-header-bar.c"
11025+ line="813">a decoration layout</doc>
11026+ <type name="utf8" c:type="const char*"/>
11027+ </parameter>
11028+ </parameters>
11029+ </method>
11030+ <method name="set_show_end_title_buttons"
11031+ c:identifier="adw_header_bar_set_show_end_title_buttons"
11032+ glib:set-property="show-end-title-buttons">
11033+ <attribute name="org.gtk.Method.set_property"
11034+ value="show-end-title-buttons"/>
11035+ <doc xml:space="preserve"
11036+ filename="src/adw-header-bar.c"
11037+ line="756">Sets whether to show title buttons at the end of @self.
11038+
11039+See [property@HeaderBar:show-start-title-buttons] for the other side.
11040+
11041+Which buttons are actually shown and where is determined by the
11042+[property@HeaderBar:decoration-layout] property, and by the state of the
11043+window (e.g. a close button will not be shown if the window can't be closed).</doc>
11044+ <source-position filename="src/adw-header-bar.h" line="72"/>
11045+ <return-value transfer-ownership="none">
11046+ <type name="none" c:type="void"/>
11047+ </return-value>
11048+ <parameters>
11049+ <instance-parameter name="self" transfer-ownership="none">
11050+ <doc xml:space="preserve"
11051+ filename="src/adw-header-bar.c"
11052+ line="758">a header bar</doc>
11053+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
11054+ </instance-parameter>
11055+ <parameter name="setting" transfer-ownership="none">
11056+ <doc xml:space="preserve"
11057+ filename="src/adw-header-bar.c"
11058+ line="759">`TRUE` to show standard title buttons</doc>
11059+ <type name="gboolean" c:type="gboolean"/>
11060+ </parameter>
11061+ </parameters>
11062+ </method>
11063+ <method name="set_show_start_title_buttons"
11064+ c:identifier="adw_header_bar_set_show_start_title_buttons"
11065+ glib:set-property="show-start-title-buttons">
11066+ <attribute name="org.gtk.Method.set_property"
11067+ value="show-start-title-buttons"/>
11068+ <doc xml:space="preserve"
11069+ filename="src/adw-header-bar.c"
11070+ line="702">Sets whether to show title buttons at the start of @self.
11071+
11072+See [property@HeaderBar:show-end-title-buttons] for the other side.
11073+
11074+Which buttons are actually shown and where is determined by the
11075+[property@HeaderBar:decoration-layout] property, and by the state of the
11076+window (e.g. a close button will not be shown if the window can't be closed).</doc>
11077+ <source-position filename="src/adw-header-bar.h" line="66"/>
11078+ <return-value transfer-ownership="none">
11079+ <type name="none" c:type="void"/>
11080+ </return-value>
11081+ <parameters>
11082+ <instance-parameter name="self" transfer-ownership="none">
11083+ <doc xml:space="preserve"
11084+ filename="src/adw-header-bar.c"
11085+ line="704">a header bar</doc>
11086+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
11087+ </instance-parameter>
11088+ <parameter name="setting" transfer-ownership="none">
11089+ <doc xml:space="preserve"
11090+ filename="src/adw-header-bar.c"
11091+ line="705">`TRUE` to show standard title buttons</doc>
11092+ <type name="gboolean" c:type="gboolean"/>
11093+ </parameter>
11094+ </parameters>
11095+ </method>
11096+ <method name="set_title_widget"
11097+ c:identifier="adw_header_bar_set_title_widget"
11098+ glib:set-property="title-widget">
11099+ <attribute name="org.gtk.Method.set_property" value="title-widget"/>
11100+ <doc xml:space="preserve"
11101+ filename="src/adw-header-bar.c"
11102+ line="636">Sets the title widget for @self.
11103+
11104+When set to `NULL`, the header bar will display the title of the window it
11105+is contained in.
11106+
11107+To use a different title, use [class@WindowTitle]:
11108+
11109+```xml
11110+&lt;object class="AdwHeaderBar"&gt;
11111+ &lt;property name="title-widget"&gt;
11112+ &lt;object class="AdwWindowTitle"&gt;
11113+ &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
11114+ &lt;/object&gt;
11115+ &lt;/property&gt;
11116+&lt;/object&gt;
11117+```</doc>
11118+ <source-position filename="src/adw-header-bar.h" line="60"/>
11119+ <return-value transfer-ownership="none">
11120+ <type name="none" c:type="void"/>
11121+ </return-value>
11122+ <parameters>
11123+ <instance-parameter name="self" transfer-ownership="none">
11124+ <doc xml:space="preserve"
11125+ filename="src/adw-header-bar.c"
11126+ line="638">a header bar</doc>
11127+ <type name="HeaderBar" c:type="AdwHeaderBar*"/>
11128+ </instance-parameter>
11129+ <parameter name="title_widget"
11130+ transfer-ownership="none"
11131+ nullable="1"
11132+ allow-none="1">
11133+ <doc xml:space="preserve"
11134+ filename="src/adw-header-bar.c"
11135+ line="639">a widget to use for a title</doc>
11136+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11137+ </parameter>
11138+ </parameters>
11139+ </method>
11140+ <property name="centering-policy"
11141+ writable="1"
11142+ transfer-ownership="none"
11143+ setter="set_centering_policy"
11144+ getter="get_centering_policy"
11145+ default-value="ADW_CENTERING_POLICY_LOOSE">
11146+ <attribute name="org.gtk.Property.get"
11147+ value="adw_header_bar_get_centering_policy"/>
11148+ <attribute name="org.gtk.Property.set"
11149+ value="adw_header_bar_set_centering_policy"/>
11150+ <doc xml:space="preserve"
11151+ filename="src/adw-header-bar.c"
11152+ line="461">The policy for aligning the center widget.</doc>
11153+ <type name="CenteringPolicy"/>
11154+ </property>
11155+ <property name="decoration-layout"
11156+ writable="1"
11157+ transfer-ownership="none"
11158+ setter="set_decoration_layout"
11159+ getter="get_decoration_layout"
11160+ default-value="NULL">
11161+ <attribute name="org.gtk.Property.get"
11162+ value="adw_header_bar_get_decoration_layout"/>
11163+ <attribute name="org.gtk.Property.set"
11164+ value="adw_header_bar_set_decoration_layout"/>
11165+ <doc xml:space="preserve"
11166+ filename="src/adw-header-bar.c"
11167+ line="440">The decoration layout for buttons.
11168+
11169+If this property is not set, the
11170+[property@Gtk.Settings:gtk-decoration-layout] setting is used.
11171+
11172+The format of the string is button names, separated by commas. A colon
11173+separates the buttons that should appear at the start from those at the
11174+end. Recognized button names are minimize, maximize, close and icon (the
11175+window icon).
11176+
11177+For example, “icon:minimize,maximize,close” specifies an icon at the start,
11178+and minimize, maximize and close buttons at the end.</doc>
11179+ <type name="utf8" c:type="gchar*"/>
11180+ </property>
11181+ <property name="show-end-title-buttons"
11182+ writable="1"
11183+ transfer-ownership="none"
11184+ setter="set_show_end_title_buttons"
11185+ getter="get_show_end_title_buttons"
11186+ default-value="TRUE">
11187+ <attribute name="org.gtk.Property.get"
11188+ value="adw_header_bar_get_show_end_title_buttons"/>
11189+ <attribute name="org.gtk.Property.set"
11190+ value="adw_header_bar_set_show_end_title_buttons"/>
11191+ <doc xml:space="preserve"
11192+ filename="src/adw-header-bar.c"
11193+ line="423">Whether to show title buttons at the end of the header bar.
11194+
11195+See [property@HeaderBar:show-start-title-buttons] for the other side.
11196+
11197+Which buttons are actually shown and where is determined by the
11198+[property@HeaderBar:decoration-layout] property, and by the state of the
11199+window (e.g. a close button will not be shown if the window can't be
11200+closed).</doc>
11201+ <type name="gboolean" c:type="gboolean"/>
11202+ </property>
11203+ <property name="show-start-title-buttons"
11204+ writable="1"
11205+ transfer-ownership="none"
11206+ setter="set_show_start_title_buttons"
11207+ getter="get_show_start_title_buttons"
11208+ default-value="TRUE">
11209+ <attribute name="org.gtk.Property.get"
11210+ value="adw_header_bar_get_show_start_title_buttons"/>
11211+ <attribute name="org.gtk.Property.set"
11212+ value="adw_header_bar_set_show_start_title_buttons"/>
11213+ <doc xml:space="preserve"
11214+ filename="src/adw-header-bar.c"
11215+ line="406">Whether to show title buttons at the start of the header bar.
11216+
11217+See [property@HeaderBar:show-end-title-buttons] for the other side.
11218+
11219+Which buttons are actually shown and where is determined by the
11220+[property@HeaderBar:decoration-layout] property, and by the state of the
11221+window (e.g. a close button will not be shown if the window can't be
11222+closed).</doc>
11223+ <type name="gboolean" c:type="gboolean"/>
11224+ </property>
11225+ <property name="title-widget"
11226+ writable="1"
11227+ transfer-ownership="none"
11228+ setter="set_title_widget"
11229+ getter="get_title_widget">
11230+ <attribute name="org.gtk.Property.get"
11231+ value="adw_header_bar_get_title_widget"/>
11232+ <attribute name="org.gtk.Property.set"
11233+ value="adw_header_bar_set_title_widget"/>
11234+ <doc xml:space="preserve"
11235+ filename="src/adw-header-bar.c"
11236+ line="381">The title widget to display.
11237+
11238+When set to `NULL`, the header bar will display the title of the window it
11239+is contained in.
11240+
11241+To use a different title, use [class@WindowTitle]:
11242+
11243+```xml
11244+&lt;object class="AdwHeaderBar"&gt;
11245+ &lt;property name="title-widget"&gt;
11246+ &lt;object class="AdwWindowTitle"&gt;
11247+ &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
11248+ &lt;/object&gt;
11249+ &lt;/property&gt;
11250+&lt;/object&gt;
11251+```</doc>
11252+ <type name="Gtk.Widget"/>
11253+ </property>
11254+ </class>
11255+ <record name="HeaderBarClass"
11256+ c:type="AdwHeaderBarClass"
11257+ glib:is-gtype-struct-for="HeaderBar">
11258+ <source-position filename="src/adw-header-bar.h" line="37"/>
11259+ <field name="parent_class">
11260+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
11261+ </field>
11262+ </record>
11263+ <class name="Leaflet"
11264+ c:symbol-prefix="leaflet"
11265+ c:type="AdwLeaflet"
11266+ parent="Gtk.Widget"
11267+ final="1"
11268+ glib:type-name="AdwLeaflet"
11269+ glib:get-type="adw_leaflet_get_type"
11270+ glib:type-struct="LeafletClass">
11271+ <doc xml:space="preserve"
11272+ filename="src/adw-leaflet.c"
11273+ line="21">An adaptive container acting like a box or a stack.
11274+
11275+&lt;picture&gt;
11276+ &lt;source srcset="leaflet-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
11277+ &lt;img src="leaflet-wide.png" alt="leaflet-wide"&gt;
11278+&lt;/picture&gt;
11279+&lt;picture&gt;
11280+ &lt;source srcset="leaflet-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
11281+ &lt;img src="leaflet-narrow.png" alt="leaflet-narrow"&gt;
11282+&lt;/picture&gt;
11283+
11284+The `AdwLeaflet` widget can display its children like a [class@Gtk.Box] does
11285+or like a [class@Gtk.Stack] does, adapting to size changes by switching
11286+between the two modes.
11287+
11288+When there is enough space the children are displayed side by side, otherwise
11289+only one is displayed and the leaflet is said to be “folded”.
11290+The threshold is dictated by the preferred minimum sizes of the children.
11291+When a leaflet is folded, the children can be navigated using swipe gestures.
11292+
11293+The “over” and “under” transition types stack the children one on top of the
11294+other, while the “slide” transition puts the children side by side. While
11295+navigating to a child on the side or below can be performed by swiping the
11296+current child away, navigating to an upper child requires dragging it from
11297+the edge where it resides. This doesn't affect non-dragging swipes.
11298+
11299+## CSS nodes
11300+
11301+`AdwLeaflet` has a single CSS node with name `leaflet`. The node will get the
11302+style classes `.folded` when it is folded, `.unfolded` when it's not, or none
11303+if it hasn't computed its fold yet.</doc>
11304+ <source-position filename="src/adw-leaflet.h" line="46"/>
11305+ <implements name="Swipeable"/>
11306+ <implements name="Gtk.Accessible"/>
11307+ <implements name="Gtk.Buildable"/>
11308+ <implements name="Gtk.ConstraintTarget"/>
11309+ <implements name="Gtk.Orientable"/>
11310+ <constructor name="new" c:identifier="adw_leaflet_new">
11311+ <doc xml:space="preserve"
11312+ filename="src/adw-leaflet.c"
11313+ line="2771">Creates a new `AdwLeaflet`.</doc>
11314+ <source-position filename="src/adw-leaflet.h" line="55"/>
11315+ <return-value transfer-ownership="none">
11316+ <doc xml:space="preserve"
11317+ filename="src/adw-leaflet.c"
11318+ line="2776">the new created `AdwLeaflet`</doc>
11319+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11320+ </return-value>
11321+ </constructor>
11322+ <method name="append" c:identifier="adw_leaflet_append">
11323+ <doc xml:space="preserve"
11324+ filename="src/adw-leaflet.c"
11325+ line="2784">Adds a child to @self.</doc>
11326+ <source-position filename="src/adw-leaflet.h" line="58"/>
11327+ <return-value transfer-ownership="none">
11328+ <doc xml:space="preserve"
11329+ filename="src/adw-leaflet.c"
11330+ line="2791">the [class@LeafletPage] for @child</doc>
11331+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
11332+ </return-value>
11333+ <parameters>
11334+ <instance-parameter name="self" transfer-ownership="none">
11335+ <doc xml:space="preserve"
11336+ filename="src/adw-leaflet.c"
11337+ line="2786">a leaflet</doc>
11338+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11339+ </instance-parameter>
11340+ <parameter name="child" transfer-ownership="none">
11341+ <doc xml:space="preserve"
11342+ filename="src/adw-leaflet.c"
11343+ line="2787">the widget to add</doc>
11344+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11345+ </parameter>
11346+ </parameters>
11347+ </method>
11348+ <method name="get_adjacent_child"
11349+ c:identifier="adw_leaflet_get_adjacent_child">
11350+ <doc xml:space="preserve"
11351+ filename="src/adw-leaflet.c"
11352+ line="3501">Finds the previous or next navigatable child.
11353+
11354+This will be the same child [method@Leaflet.navigate] or swipe gestures will
11355+navigate to.
11356+
11357+If there's no child to navigate to, `NULL` will be returned instead.
11358+
11359+See [property@LeafletPage:navigatable].</doc>
11360+ <source-position filename="src/adw-leaflet.h" line="148"/>
11361+ <return-value transfer-ownership="none" nullable="1">
11362+ <doc xml:space="preserve"
11363+ filename="src/adw-leaflet.c"
11364+ line="3515">the previous or next child</doc>
11365+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11366+ </return-value>
11367+ <parameters>
11368+ <instance-parameter name="self" transfer-ownership="none">
11369+ <doc xml:space="preserve"
11370+ filename="src/adw-leaflet.c"
11371+ line="3503">a leaflet</doc>
11372+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11373+ </instance-parameter>
11374+ <parameter name="direction" transfer-ownership="none">
11375+ <doc xml:space="preserve"
11376+ filename="src/adw-leaflet.c"
11377+ line="3504">the direction</doc>
11378+ <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
11379+ </parameter>
11380+ </parameters>
11381+ </method>
11382+ <method name="get_can_navigate_back"
11383+ c:identifier="adw_leaflet_get_can_navigate_back"
11384+ glib:get-property="can-navigate-back">
11385+ <attribute name="org.gtk.Method.get_property"
11386+ value="can-navigate-back"/>
11387+ <doc xml:space="preserve"
11388+ filename="src/adw-leaflet.c"
11389+ line="3389">Gets whether gestures and shortcuts for navigating backward are enabled.</doc>
11390+ <source-position filename="src/adw-leaflet.h" line="136"/>
11391+ <return-value transfer-ownership="none">
11392+ <doc xml:space="preserve"
11393+ filename="src/adw-leaflet.c"
11394+ line="3395">Whether gestures and shortcuts are enabled.</doc>
11395+ <type name="gboolean" c:type="gboolean"/>
11396+ </return-value>
11397+ <parameters>
11398+ <instance-parameter name="self" transfer-ownership="none">
11399+ <doc xml:space="preserve"
11400+ filename="src/adw-leaflet.c"
11401+ line="3391">a leaflet</doc>
11402+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11403+ </instance-parameter>
11404+ </parameters>
11405+ </method>
11406+ <method name="get_can_navigate_forward"
11407+ c:identifier="adw_leaflet_get_can_navigate_forward"
11408+ glib:get-property="can-navigate-forward">
11409+ <attribute name="org.gtk.Method.get_property"
11410+ value="can-navigate-forward"/>
11411+ <doc xml:space="preserve"
11412+ filename="src/adw-leaflet.c"
11413+ line="3445">Gets whether gestures and shortcuts for navigating forward are enabled.</doc>
11414+ <source-position filename="src/adw-leaflet.h" line="142"/>
11415+ <return-value transfer-ownership="none">
11416+ <doc xml:space="preserve"
11417+ filename="src/adw-leaflet.c"
11418+ line="3451">Whether gestures and shortcuts are enabled.</doc>
11419+ <type name="gboolean" c:type="gboolean"/>
11420+ </return-value>
11421+ <parameters>
11422+ <instance-parameter name="self" transfer-ownership="none">
11423+ <doc xml:space="preserve"
11424+ filename="src/adw-leaflet.c"
11425+ line="3447">a leaflet</doc>
11426+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11427+ </instance-parameter>
11428+ </parameters>
11429+ </method>
11430+ <method name="get_can_unfold"
11431+ c:identifier="adw_leaflet_get_can_unfold"
11432+ glib:get-property="can-unfold">
11433+ <attribute name="org.gtk.Method.get_property" value="can-unfold"/>
11434+ <doc xml:space="preserve"
11435+ filename="src/adw-leaflet.c"
11436+ line="3011">Gets whether @self can unfold.</doc>
11437+ <source-position filename="src/adw-leaflet.h" line="82"/>
11438+ <return-value transfer-ownership="none">
11439+ <doc xml:space="preserve"
11440+ filename="src/adw-leaflet.c"
11441+ line="3017">whether @self can unfold</doc>
11442+ <type name="gboolean" c:type="gboolean"/>
11443+ </return-value>
11444+ <parameters>
11445+ <instance-parameter name="self" transfer-ownership="none">
11446+ <doc xml:space="preserve"
11447+ filename="src/adw-leaflet.c"
11448+ line="3013">a leaflet</doc>
11449+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11450+ </instance-parameter>
11451+ </parameters>
11452+ </method>
11453+ <method name="get_child_by_name"
11454+ c:identifier="adw_leaflet_get_child_by_name">
11455+ <doc xml:space="preserve"
11456+ filename="src/adw-leaflet.c"
11457+ line="3565">Finds the child of @self with @name.
11458+
11459+Returns `NULL` if there is no child with this name.
11460+
11461+See [property@LeafletPage:name].</doc>
11462+ <source-position filename="src/adw-leaflet.h" line="155"/>
11463+ <return-value transfer-ownership="none" nullable="1">
11464+ <doc xml:space="preserve"
11465+ filename="src/adw-leaflet.c"
11466+ line="3576">the requested child of @self</doc>
11467+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11468+ </return-value>
11469+ <parameters>
11470+ <instance-parameter name="self" transfer-ownership="none">
11471+ <doc xml:space="preserve"
11472+ filename="src/adw-leaflet.c"
11473+ line="3567">a leaflet</doc>
11474+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11475+ </instance-parameter>
11476+ <parameter name="name" transfer-ownership="none">
11477+ <doc xml:space="preserve"
11478+ filename="src/adw-leaflet.c"
11479+ line="3568">the name of the child to find</doc>
11480+ <type name="utf8" c:type="const char*"/>
11481+ </parameter>
11482+ </parameters>
11483+ </method>
11484+ <method name="get_child_transition_params"
11485+ c:identifier="adw_leaflet_get_child_transition_params"
11486+ glib:get-property="child-transition-params">
11487+ <attribute name="org.gtk.Method.get_property"
11488+ value="child-transition-params"/>
11489+ <doc xml:space="preserve"
11490+ filename="src/adw-leaflet.c"
11491+ line="3328">Gets the child transition spring parameters for @self.</doc>
11492+ <source-position filename="src/adw-leaflet.h" line="127"/>
11493+ <return-value transfer-ownership="full">
11494+ <doc xml:space="preserve"
11495+ filename="src/adw-leaflet.c"
11496+ line="3334">the child transition parameters</doc>
11497+ <type name="SpringParams" c:type="AdwSpringParams*"/>
11498+ </return-value>
11499+ <parameters>
11500+ <instance-parameter name="self" transfer-ownership="none">
11501+ <doc xml:space="preserve"
11502+ filename="src/adw-leaflet.c"
11503+ line="3330">a leaflet</doc>
11504+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11505+ </instance-parameter>
11506+ </parameters>
11507+ </method>
11508+ <method name="get_child_transition_running"
11509+ c:identifier="adw_leaflet_get_child_transition_running"
11510+ glib:get-property="child-transition-running">
11511+ <attribute name="org.gtk.Method.get_property"
11512+ value="child-transition-running"/>
11513+ <doc xml:space="preserve"
11514+ filename="src/adw-leaflet.c"
11515+ line="3373">Gets whether a child transition is currently running for @self.</doc>
11516+ <source-position filename="src/adw-leaflet.h" line="133"/>
11517+ <return-value transfer-ownership="none">
11518+ <doc xml:space="preserve"
11519+ filename="src/adw-leaflet.c"
11520+ line="3379">whether a transition is currently running</doc>
11521+ <type name="gboolean" c:type="gboolean"/>
11522+ </return-value>
11523+ <parameters>
11524+ <instance-parameter name="self" transfer-ownership="none">
11525+ <doc xml:space="preserve"
11526+ filename="src/adw-leaflet.c"
11527+ line="3375">a leaflet</doc>
11528+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11529+ </instance-parameter>
11530+ </parameters>
11531+ </method>
11532+ <method name="get_fold_threshold_policy"
11533+ c:identifier="adw_leaflet_get_fold_threshold_policy"
11534+ glib:get-property="fold-threshold-policy">
11535+ <attribute name="org.gtk.Method.get_property"
11536+ value="fold-threshold-policy"/>
11537+ <doc xml:space="preserve"
11538+ filename="src/adw-leaflet.c"
11539+ line="3047">Gets the fold threshold policy for @self.</doc>
11540+ <source-position filename="src/adw-leaflet.h" line="91"/>
11541+ <return-value transfer-ownership="none">
11542+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
11543+ </return-value>
11544+ <parameters>
11545+ <instance-parameter name="self" transfer-ownership="none">
11546+ <doc xml:space="preserve"
11547+ filename="src/adw-leaflet.c"
11548+ line="3049">a leaflet</doc>
11549+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11550+ </instance-parameter>
11551+ </parameters>
11552+ </method>
11553+ <method name="get_folded"
11554+ c:identifier="adw_leaflet_get_folded"
11555+ glib:get-property="folded">
11556+ <attribute name="org.gtk.Method.get_property" value="folded"/>
11557+ <doc xml:space="preserve"
11558+ filename="src/adw-leaflet.c"
11559+ line="3027">Gets whether @self is folded.
11560+
11561+The leaflet will be folded if the size allocated to it is smaller than the
11562+sum of the minimum or natural sizes of the children (see
11563+[property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.</doc>
11564+ <source-position filename="src/adw-leaflet.h" line="88"/>
11565+ <return-value transfer-ownership="none">
11566+ <doc xml:space="preserve"
11567+ filename="src/adw-leaflet.c"
11568+ line="3037">whether @self is folded.</doc>
11569+ <type name="gboolean" c:type="gboolean"/>
11570+ </return-value>
11571+ <parameters>
11572+ <instance-parameter name="self" transfer-ownership="none">
11573+ <doc xml:space="preserve"
11574+ filename="src/adw-leaflet.c"
11575+ line="3029">a leaflet</doc>
11576+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11577+ </instance-parameter>
11578+ </parameters>
11579+ </method>
11580+ <method name="get_homogeneous"
11581+ c:identifier="adw_leaflet_get_homogeneous"
11582+ glib:get-property="homogeneous">
11583+ <attribute name="org.gtk.Method.get_property" value="homogeneous"/>
11584+ <doc xml:space="preserve"
11585+ filename="src/adw-leaflet.c"
11586+ line="3093">Gets whether @self is homogeneous.</doc>
11587+ <source-position filename="src/adw-leaflet.h" line="97"/>
11588+ <return-value transfer-ownership="none">
11589+ <doc xml:space="preserve"
11590+ filename="src/adw-leaflet.c"
11591+ line="3099">whether @self is homogeneous</doc>
11592+ <type name="gboolean" c:type="gboolean"/>
11593+ </return-value>
11594+ <parameters>
11595+ <instance-parameter name="self" transfer-ownership="none">
11596+ <doc xml:space="preserve"
11597+ filename="src/adw-leaflet.c"
11598+ line="3095">a leaflet</doc>
11599+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11600+ </instance-parameter>
11601+ </parameters>
11602+ </method>
11603+ <method name="get_mode_transition_duration"
11604+ c:identifier="adw_leaflet_get_mode_transition_duration"
11605+ glib:get-property="mode-transition-duration">
11606+ <attribute name="org.gtk.Method.get_property"
11607+ value="mode-transition-duration"/>
11608+ <doc xml:space="preserve"
11609+ filename="src/adw-leaflet.c"
11610+ line="3287">Gets the mode transition animation duration for @self.</doc>
11611+ <source-position filename="src/adw-leaflet.h" line="121"/>
11612+ <return-value transfer-ownership="none">
11613+ <doc xml:space="preserve"
11614+ filename="src/adw-leaflet.c"
11615+ line="3293">the mode transition duration, in milliseconds.</doc>
11616+ <type name="guint" c:type="guint"/>
11617+ </return-value>
11618+ <parameters>
11619+ <instance-parameter name="self" transfer-ownership="none">
11620+ <doc xml:space="preserve"
11621+ filename="src/adw-leaflet.c"
11622+ line="3289">a leaflet</doc>
11623+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11624+ </instance-parameter>
11625+ </parameters>
11626+ </method>
11627+ <method name="get_page" c:identifier="adw_leaflet_get_page">
11628+ <doc xml:space="preserve"
11629+ filename="src/adw-leaflet.c"
11630+ line="2967">Returns the [class@LeafletPage] object for @child.</doc>
11631+ <source-position filename="src/adw-leaflet.h" line="78"/>
11632+ <return-value transfer-ownership="none">
11633+ <doc xml:space="preserve"
11634+ filename="src/adw-leaflet.c"
11635+ line="2974">the page object for @child</doc>
11636+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
11637+ </return-value>
11638+ <parameters>
11639+ <instance-parameter name="self" transfer-ownership="none">
11640+ <doc xml:space="preserve"
11641+ filename="src/adw-leaflet.c"
11642+ line="2969">a leaflet</doc>
11643+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11644+ </instance-parameter>
11645+ <parameter name="child" transfer-ownership="none">
11646+ <doc xml:space="preserve"
11647+ filename="src/adw-leaflet.c"
11648+ line="2970">a child of @self</doc>
11649+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11650+ </parameter>
11651+ </parameters>
11652+ </method>
11653+ <method name="get_pages"
11654+ c:identifier="adw_leaflet_get_pages"
11655+ glib:get-property="pages">
11656+ <attribute name="org.gtk.Method.get_property" value="pages"/>
11657+ <doc xml:space="preserve"
11658+ filename="src/adw-leaflet.c"
11659+ line="3592">Returns a [iface@Gio.ListModel] that contains the pages of the leaflet.
11660+
11661+This can be used to keep an up-to-date view. The model also implements
11662+[iface@Gtk.SelectionModel] and can be used to track and change the visible
11663+page.</doc>
11664+ <source-position filename="src/adw-leaflet.h" line="159"/>
11665+ <return-value transfer-ownership="full">
11666+ <doc xml:space="preserve"
11667+ filename="src/adw-leaflet.c"
11668+ line="3602">a `GtkSelectionModel` for the leaflet's children</doc>
11669+ <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
11670+ </return-value>
11671+ <parameters>
11672+ <instance-parameter name="self" transfer-ownership="none">
11673+ <doc xml:space="preserve"
11674+ filename="src/adw-leaflet.c"
11675+ line="3594">a leaflet</doc>
11676+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11677+ </instance-parameter>
11678+ </parameters>
11679+ </method>
11680+ <method name="get_transition_type"
11681+ c:identifier="adw_leaflet_get_transition_type"
11682+ glib:get-property="transition-type">
11683+ <attribute name="org.gtk.Method.get_property" value="transition-type"/>
11684+ <doc xml:space="preserve"
11685+ filename="src/adw-leaflet.c"
11686+ line="3233">Gets the type of animation used for transitions between modes and children.</doc>
11687+ <source-position filename="src/adw-leaflet.h" line="115"/>
11688+ <return-value transfer-ownership="none">
11689+ <doc xml:space="preserve"
11690+ filename="src/adw-leaflet.c"
11691+ line="3239">the current transition type of @self</doc>
11692+ <type name="LeafletTransitionType"
11693+ c:type="AdwLeafletTransitionType"/>
11694+ </return-value>
11695+ <parameters>
11696+ <instance-parameter name="self" transfer-ownership="none">
11697+ <doc xml:space="preserve"
11698+ filename="src/adw-leaflet.c"
11699+ line="3235">a leaflet</doc>
11700+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11701+ </instance-parameter>
11702+ </parameters>
11703+ </method>
11704+ <method name="get_visible_child"
11705+ c:identifier="adw_leaflet_get_visible_child"
11706+ glib:get-property="visible-child">
11707+ <attribute name="org.gtk.Method.get_property" value="visible-child"/>
11708+ <doc xml:space="preserve"
11709+ filename="src/adw-leaflet.c"
11710+ line="3137">Gets the widget currently visible when the leaflet is folded.</doc>
11711+ <source-position filename="src/adw-leaflet.h" line="103"/>
11712+ <return-value transfer-ownership="none" nullable="1">
11713+ <doc xml:space="preserve"
11714+ filename="src/adw-leaflet.c"
11715+ line="3143">the visible child</doc>
11716+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11717+ </return-value>
11718+ <parameters>
11719+ <instance-parameter name="self" transfer-ownership="none">
11720+ <doc xml:space="preserve"
11721+ filename="src/adw-leaflet.c"
11722+ line="3139">a leaflet</doc>
11723+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11724+ </instance-parameter>
11725+ </parameters>
11726+ </method>
11727+ <method name="get_visible_child_name"
11728+ c:identifier="adw_leaflet_get_visible_child_name"
11729+ glib:get-property="visible-child-name">
11730+ <attribute name="org.gtk.Method.get_property"
11731+ value="visible-child-name"/>
11732+ <doc xml:space="preserve"
11733+ filename="src/adw-leaflet.c"
11734+ line="3187">Gets the name of the currently visible child widget.</doc>
11735+ <source-position filename="src/adw-leaflet.h" line="109"/>
11736+ <return-value transfer-ownership="none" nullable="1">
11737+ <doc xml:space="preserve"
11738+ filename="src/adw-leaflet.c"
11739+ line="3193">the name of the visible child</doc>
11740+ <type name="utf8" c:type="const char*"/>
11741+ </return-value>
11742+ <parameters>
11743+ <instance-parameter name="self" transfer-ownership="none">
11744+ <doc xml:space="preserve"
11745+ filename="src/adw-leaflet.c"
11746+ line="3189">a leaflet</doc>
11747+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11748+ </instance-parameter>
11749+ </parameters>
11750+ </method>
11751+ <method name="insert_child_after"
11752+ c:identifier="adw_leaflet_insert_child_after">
11753+ <doc xml:space="preserve"
11754+ filename="src/adw-leaflet.c"
11755+ line="2831">Inserts @child in the position after @sibling in the list of children.
11756+
11757+If @sibling is `NULL`, inserts @child at the first position.</doc>
11758+ <source-position filename="src/adw-leaflet.h" line="65"/>
11759+ <return-value transfer-ownership="none">
11760+ <doc xml:space="preserve"
11761+ filename="src/adw-leaflet.c"
11762+ line="2841">the [class@LeafletPage] for @child</doc>
11763+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
11764+ </return-value>
11765+ <parameters>
11766+ <instance-parameter name="self" transfer-ownership="none">
11767+ <doc xml:space="preserve"
11768+ filename="src/adw-leaflet.c"
11769+ line="2833">a leaflet</doc>
11770+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11771+ </instance-parameter>
11772+ <parameter name="child" transfer-ownership="none">
11773+ <doc xml:space="preserve"
11774+ filename="src/adw-leaflet.c"
11775+ line="2834">the widget to insert</doc>
11776+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11777+ </parameter>
11778+ <parameter name="sibling"
11779+ transfer-ownership="none"
11780+ nullable="1"
11781+ allow-none="1">
11782+ <doc xml:space="preserve"
11783+ filename="src/adw-leaflet.c"
11784+ line="2835">the sibling after which to insert @child</doc>
11785+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11786+ </parameter>
11787+ </parameters>
11788+ </method>
11789+ <method name="navigate" c:identifier="adw_leaflet_navigate">
11790+ <doc xml:space="preserve"
11791+ filename="src/adw-leaflet.c"
11792+ line="3530">Navigates to the previous or next child.
11793+
11794+The child must have the [property@LeafletPage:navigatable] property set to
11795+`TRUE`, otherwise it will be skipped.
11796+
11797+This will be the same child as returned by
11798+[method@Leaflet.get_adjacent_child] or navigated to via swipe gestures.</doc>
11799+ <source-position filename="src/adw-leaflet.h" line="151"/>
11800+ <return-value transfer-ownership="none">
11801+ <doc xml:space="preserve"
11802+ filename="src/adw-leaflet.c"
11803+ line="3543">whether the visible child was changed</doc>
11804+ <type name="gboolean" c:type="gboolean"/>
11805+ </return-value>
11806+ <parameters>
11807+ <instance-parameter name="self" transfer-ownership="none">
11808+ <doc xml:space="preserve"
11809+ filename="src/adw-leaflet.c"
11810+ line="3532">a leaflet</doc>
11811+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11812+ </instance-parameter>
11813+ <parameter name="direction" transfer-ownership="none">
11814+ <doc xml:space="preserve"
11815+ filename="src/adw-leaflet.c"
11816+ line="3533">the direction</doc>
11817+ <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
11818+ </parameter>
11819+ </parameters>
11820+ </method>
11821+ <method name="prepend" c:identifier="adw_leaflet_prepend">
11822+ <doc xml:space="preserve"
11823+ filename="src/adw-leaflet.c"
11824+ line="2811">Inserts @child at the first position in @self.</doc>
11825+ <source-position filename="src/adw-leaflet.h" line="61"/>
11826+ <return-value transfer-ownership="none">
11827+ <doc xml:space="preserve"
11828+ filename="src/adw-leaflet.c"
11829+ line="2818">the [class@LeafletPage] for @child</doc>
11830+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
11831+ </return-value>
11832+ <parameters>
11833+ <instance-parameter name="self" transfer-ownership="none">
11834+ <doc xml:space="preserve"
11835+ filename="src/adw-leaflet.c"
11836+ line="2813">a leaflet</doc>
11837+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11838+ </instance-parameter>
11839+ <parameter name="child" transfer-ownership="none">
11840+ <doc xml:space="preserve"
11841+ filename="src/adw-leaflet.c"
11842+ line="2814">the widget to prepend</doc>
11843+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11844+ </parameter>
11845+ </parameters>
11846+ </method>
11847+ <method name="remove" c:identifier="adw_leaflet_remove">
11848+ <doc xml:space="preserve"
11849+ filename="src/adw-leaflet.c"
11850+ line="2936">Removes a child widget from @self.</doc>
11851+ <source-position filename="src/adw-leaflet.h" line="74"/>
11852+ <return-value transfer-ownership="none">
11853+ <type name="none" c:type="void"/>
11854+ </return-value>
11855+ <parameters>
11856+ <instance-parameter name="self" transfer-ownership="none">
11857+ <doc xml:space="preserve"
11858+ filename="src/adw-leaflet.c"
11859+ line="2938">a leaflet</doc>
11860+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11861+ </instance-parameter>
11862+ <parameter name="child" transfer-ownership="none">
11863+ <doc xml:space="preserve"
11864+ filename="src/adw-leaflet.c"
11865+ line="2939">the child to remove</doc>
11866+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11867+ </parameter>
11868+ </parameters>
11869+ </method>
11870+ <method name="reorder_child_after"
11871+ c:identifier="adw_leaflet_reorder_child_after">
11872+ <doc xml:space="preserve"
11873+ filename="src/adw-leaflet.c"
11874+ line="2868">Moves @child to the position after @sibling in the list of children.
11875+
11876+If @sibling is `NULL`, moves @child to the first position.</doc>
11877+ <source-position filename="src/adw-leaflet.h" line="69"/>
11878+ <return-value transfer-ownership="none">
11879+ <type name="none" c:type="void"/>
11880+ </return-value>
11881+ <parameters>
11882+ <instance-parameter name="self" transfer-ownership="none">
11883+ <doc xml:space="preserve"
11884+ filename="src/adw-leaflet.c"
11885+ line="2870">a leaflet</doc>
11886+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11887+ </instance-parameter>
11888+ <parameter name="child" transfer-ownership="none">
11889+ <doc xml:space="preserve"
11890+ filename="src/adw-leaflet.c"
11891+ line="2871">the widget to move, must be a child of @self</doc>
11892+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11893+ </parameter>
11894+ <parameter name="sibling"
11895+ transfer-ownership="none"
11896+ nullable="1"
11897+ allow-none="1">
11898+ <doc xml:space="preserve"
11899+ filename="src/adw-leaflet.c"
11900+ line="2872">the sibling to move @child after</doc>
11901+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
11902+ </parameter>
11903+ </parameters>
11904+ </method>
11905+ <method name="set_can_navigate_back"
11906+ c:identifier="adw_leaflet_set_can_navigate_back"
11907+ glib:set-property="can-navigate-back">
11908+ <attribute name="org.gtk.Method.set_property"
11909+ value="can-navigate-back"/>
11910+ <doc xml:space="preserve"
11911+ filename="src/adw-leaflet.c"
11912+ line="3405">Sets whether gestures and shortcuts for navigating backward are enabled.
11913+
11914+The supported gestures are:
11915+
11916+- One-finger swipe on touchscreens
11917+- Horizontal scrolling on touchpads (usually two-finger swipe)
11918+- Back/forward mouse buttons
11919+
11920+The keyboard back/forward keys are also supported, as well as the
11921+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
11922+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.
11923+
11924+If the orientation is horizontal, for right-to-left locales, gestures and
11925+shortcuts are reversed.
11926+
11927+Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
11928+be navigated to.</doc>
11929+ <source-position filename="src/adw-leaflet.h" line="138"/>
11930+ <return-value transfer-ownership="none">
11931+ <type name="none" c:type="void"/>
11932+ </return-value>
11933+ <parameters>
11934+ <instance-parameter name="self" transfer-ownership="none">
11935+ <doc xml:space="preserve"
11936+ filename="src/adw-leaflet.c"
11937+ line="3407">a leaflet</doc>
11938+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11939+ </instance-parameter>
11940+ <parameter name="can_navigate_back" transfer-ownership="none">
11941+ <doc xml:space="preserve"
11942+ filename="src/adw-leaflet.c"
11943+ line="3408">the new value</doc>
11944+ <type name="gboolean" c:type="gboolean"/>
11945+ </parameter>
11946+ </parameters>
11947+ </method>
11948+ <method name="set_can_navigate_forward"
11949+ c:identifier="adw_leaflet_set_can_navigate_forward"
11950+ glib:set-property="can-navigate-forward">
11951+ <attribute name="org.gtk.Method.set_property"
11952+ value="can-navigate-forward"/>
11953+ <doc xml:space="preserve"
11954+ filename="src/adw-leaflet.c"
11955+ line="3461">Sets whether gestures and shortcuts for navigating forward are enabled.
11956+
11957+The supported gestures are:
11958+
11959+- One-finger swipe on touchscreens
11960+- Horizontal scrolling on touchpads (usually two-finger swipe)
11961+- Back/forward mouse buttons
11962+
11963+The keyboard back/forward keys are also supported, as well as the
11964+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
11965+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.
11966+
11967+If the orientation is horizontal, for right-to-left locales, gestures and
11968+shortcuts are reversed.
11969+
11970+Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
11971+be navigated to.</doc>
11972+ <source-position filename="src/adw-leaflet.h" line="144"/>
11973+ <return-value transfer-ownership="none">
11974+ <type name="none" c:type="void"/>
11975+ </return-value>
11976+ <parameters>
11977+ <instance-parameter name="self" transfer-ownership="none">
11978+ <doc xml:space="preserve"
11979+ filename="src/adw-leaflet.c"
11980+ line="3463">a leaflet</doc>
11981+ <type name="Leaflet" c:type="AdwLeaflet*"/>
11982+ </instance-parameter>
11983+ <parameter name="can_navigate_forward" transfer-ownership="none">
11984+ <doc xml:space="preserve"
11985+ filename="src/adw-leaflet.c"
11986+ line="3464">the new value</doc>
11987+ <type name="gboolean" c:type="gboolean"/>
11988+ </parameter>
11989+ </parameters>
11990+ </method>
11991+ <method name="set_can_unfold"
11992+ c:identifier="adw_leaflet_set_can_unfold"
11993+ glib:set-property="can-unfold">
11994+ <attribute name="org.gtk.Method.set_property" value="can-unfold"/>
11995+ <doc xml:space="preserve"
11996+ filename="src/adw-leaflet.c"
11997+ line="2986">Sets whether @self can unfold.</doc>
11998+ <source-position filename="src/adw-leaflet.h" line="84"/>
11999+ <return-value transfer-ownership="none">
12000+ <type name="none" c:type="void"/>
12001+ </return-value>
12002+ <parameters>
12003+ <instance-parameter name="self" transfer-ownership="none">
12004+ <doc xml:space="preserve"
12005+ filename="src/adw-leaflet.c"
12006+ line="2988">a leaflet</doc>
12007+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12008+ </instance-parameter>
12009+ <parameter name="can_unfold" transfer-ownership="none">
12010+ <doc xml:space="preserve"
12011+ filename="src/adw-leaflet.c"
12012+ line="2989">whether @self can unfold</doc>
12013+ <type name="gboolean" c:type="gboolean"/>
12014+ </parameter>
12015+ </parameters>
12016+ </method>
12017+ <method name="set_child_transition_params"
12018+ c:identifier="adw_leaflet_set_child_transition_params"
12019+ glib:set-property="child-transition-params">
12020+ <attribute name="org.gtk.Method.set_property"
12021+ value="child-transition-params"/>
12022+ <doc xml:space="preserve"
12023+ filename="src/adw-leaflet.c"
12024+ line="3344">Sets the child transition spring parameters for @self.
12025+
12026+The default value is equivalent to:
12027+
12028+```c
12029+adw_spring_params_new (1, 0.5, 500)
12030+```</doc>
12031+ <source-position filename="src/adw-leaflet.h" line="129"/>
12032+ <return-value transfer-ownership="none">
12033+ <type name="none" c:type="void"/>
12034+ </return-value>
12035+ <parameters>
12036+ <instance-parameter name="self" transfer-ownership="none">
12037+ <doc xml:space="preserve"
12038+ filename="src/adw-leaflet.c"
12039+ line="3346">a leaflet</doc>
12040+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12041+ </instance-parameter>
12042+ <parameter name="params" transfer-ownership="none">
12043+ <doc xml:space="preserve"
12044+ filename="src/adw-leaflet.c"
12045+ line="3347">the new parameters</doc>
12046+ <type name="SpringParams" c:type="AdwSpringParams*"/>
12047+ </parameter>
12048+ </parameters>
12049+ </method>
12050+ <method name="set_fold_threshold_policy"
12051+ c:identifier="adw_leaflet_set_fold_threshold_policy"
12052+ glib:set-property="fold-threshold-policy">
12053+ <attribute name="org.gtk.Method.set_property"
12054+ value="fold-threshold-policy"/>
12055+ <doc xml:space="preserve"
12056+ filename="src/adw-leaflet.c"
12057+ line="3062">Sets the fold threshold policy for @self.
12058+
12059+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
12060+children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
12061+will fold as soon as children don't get their natural size.
12062+
12063+This can be useful if you have a long ellipsizing label and want to let it
12064+ellipsize instead of immediately folding.</doc>
12065+ <source-position filename="src/adw-leaflet.h" line="93"/>
12066+ <return-value transfer-ownership="none">
12067+ <type name="none" c:type="void"/>
12068+ </return-value>
12069+ <parameters>
12070+ <instance-parameter name="self" transfer-ownership="none">
12071+ <doc xml:space="preserve"
12072+ filename="src/adw-leaflet.c"
12073+ line="3064">a leaflet</doc>
12074+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12075+ </instance-parameter>
12076+ <parameter name="policy" transfer-ownership="none">
12077+ <doc xml:space="preserve"
12078+ filename="src/adw-leaflet.c"
12079+ line="3065">the policy to use</doc>
12080+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
12081+ </parameter>
12082+ </parameters>
12083+ </method>
12084+ <method name="set_homogeneous"
12085+ c:identifier="adw_leaflet_set_homogeneous"
12086+ glib:set-property="homogeneous">
12087+ <attribute name="org.gtk.Method.set_property" value="homogeneous"/>
12088+ <doc xml:space="preserve"
12089+ filename="src/adw-leaflet.c"
12090+ line="3109">Sets @self to be homogeneous or not.
12091+
12092+If set to `FALSE`, different children can have different size along the
12093+opposite orientation.</doc>
12094+ <source-position filename="src/adw-leaflet.h" line="99"/>
12095+ <return-value transfer-ownership="none">
12096+ <type name="none" c:type="void"/>
12097+ </return-value>
12098+ <parameters>
12099+ <instance-parameter name="self" transfer-ownership="none">
12100+ <doc xml:space="preserve"
12101+ filename="src/adw-leaflet.c"
12102+ line="3111">a leaflet</doc>
12103+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12104+ </instance-parameter>
12105+ <parameter name="homogeneous" transfer-ownership="none">
12106+ <doc xml:space="preserve"
12107+ filename="src/adw-leaflet.c"
12108+ line="3112">whether to make @self homogeneous</doc>
12109+ <type name="gboolean" c:type="gboolean"/>
12110+ </parameter>
12111+ </parameters>
12112+ </method>
12113+ <method name="set_mode_transition_duration"
12114+ c:identifier="adw_leaflet_set_mode_transition_duration"
12115+ glib:set-property="mode-transition-duration">
12116+ <attribute name="org.gtk.Method.set_property"
12117+ value="mode-transition-duration"/>
12118+ <doc xml:space="preserve"
12119+ filename="src/adw-leaflet.c"
12120+ line="3303">Sets the mode transition animation duration for @self.</doc>
12121+ <source-position filename="src/adw-leaflet.h" line="123"/>
12122+ <return-value transfer-ownership="none">
12123+ <type name="none" c:type="void"/>
12124+ </return-value>
12125+ <parameters>
12126+ <instance-parameter name="self" transfer-ownership="none">
12127+ <doc xml:space="preserve"
12128+ filename="src/adw-leaflet.c"
12129+ line="3305">a leaflet</doc>
12130+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12131+ </instance-parameter>
12132+ <parameter name="duration" transfer-ownership="none">
12133+ <doc xml:space="preserve"
12134+ filename="src/adw-leaflet.c"
12135+ line="3306">the new duration, in milliseconds</doc>
12136+ <type name="guint" c:type="guint"/>
12137+ </parameter>
12138+ </parameters>
12139+ </method>
12140+ <method name="set_transition_type"
12141+ c:identifier="adw_leaflet_set_transition_type"
12142+ glib:set-property="transition-type">
12143+ <attribute name="org.gtk.Method.set_property" value="transition-type"/>
12144+ <doc xml:space="preserve"
12145+ filename="src/adw-leaflet.c"
12146+ line="3249">Sets the type of animation used for transitions between modes and children.
12147+
12148+The transition type can be changed without problems at runtime, so it is
12149+possible to change the animation based on the mode or child that is about to
12150+become current.</doc>
12151+ <source-position filename="src/adw-leaflet.h" line="117"/>
12152+ <return-value transfer-ownership="none">
12153+ <type name="none" c:type="void"/>
12154+ </return-value>
12155+ <parameters>
12156+ <instance-parameter name="self" transfer-ownership="none">
12157+ <doc xml:space="preserve"
12158+ filename="src/adw-leaflet.c"
12159+ line="3251">a leaflet</doc>
12160+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12161+ </instance-parameter>
12162+ <parameter name="transition" transfer-ownership="none">
12163+ <doc xml:space="preserve"
12164+ filename="src/adw-leaflet.c"
12165+ line="3252">the new transition type</doc>
12166+ <type name="LeafletTransitionType"
12167+ c:type="AdwLeafletTransitionType"/>
12168+ </parameter>
12169+ </parameters>
12170+ </method>
12171+ <method name="set_visible_child"
12172+ c:identifier="adw_leaflet_set_visible_child"
12173+ glib:set-property="visible-child">
12174+ <attribute name="org.gtk.Method.set_property" value="visible-child"/>
12175+ <doc xml:space="preserve"
12176+ filename="src/adw-leaflet.c"
12177+ line="3156">Sets the widget currently visible when the leaflet is folded.
12178+
12179+The transition is determined by [property@Leaflet:transition-type] and
12180+[property@Leaflet:child-transition-params]. The transition can be cancelled
12181+by the user, in which case visible child will change back to the previously
12182+visible child.</doc>
12183+ <source-position filename="src/adw-leaflet.h" line="105"/>
12184+ <return-value transfer-ownership="none">
12185+ <type name="none" c:type="void"/>
12186+ </return-value>
12187+ <parameters>
12188+ <instance-parameter name="self" transfer-ownership="none">
12189+ <doc xml:space="preserve"
12190+ filename="src/adw-leaflet.c"
12191+ line="3158">a leaflet</doc>
12192+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12193+ </instance-parameter>
12194+ <parameter name="visible_child" transfer-ownership="none">
12195+ <doc xml:space="preserve"
12196+ filename="src/adw-leaflet.c"
12197+ line="3159">the new child</doc>
12198+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
12199+ </parameter>
12200+ </parameters>
12201+ </method>
12202+ <method name="set_visible_child_name"
12203+ c:identifier="adw_leaflet_set_visible_child_name"
12204+ glib:set-property="visible-child-name">
12205+ <attribute name="org.gtk.Method.set_property"
12206+ value="visible-child-name"/>
12207+ <doc xml:space="preserve"
12208+ filename="src/adw-leaflet.c"
12209+ line="3206">Makes the child with the name @name visible.
12210+
12211+See [property@Leaflet:visible-child].</doc>
12212+ <source-position filename="src/adw-leaflet.h" line="111"/>
12213+ <return-value transfer-ownership="none">
12214+ <type name="none" c:type="void"/>
12215+ </return-value>
12216+ <parameters>
12217+ <instance-parameter name="self" transfer-ownership="none">
12218+ <doc xml:space="preserve"
12219+ filename="src/adw-leaflet.c"
12220+ line="3208">a leaflet</doc>
12221+ <type name="Leaflet" c:type="AdwLeaflet*"/>
12222+ </instance-parameter>
12223+ <parameter name="name" transfer-ownership="none">
12224+ <doc xml:space="preserve"
12225+ filename="src/adw-leaflet.c"
12226+ line="3209">the name of a child</doc>
12227+ <type name="utf8" c:type="const char*"/>
12228+ </parameter>
12229+ </parameters>
12230+ </method>
12231+ <property name="can-navigate-back"
12232+ writable="1"
12233+ transfer-ownership="none"
12234+ setter="set_can_navigate_back"
12235+ getter="get_can_navigate_back"
12236+ default-value="FALSE">
12237+ <attribute name="org.gtk.Property.get"
12238+ value="adw_leaflet_get_can_navigate_back"/>
12239+ <attribute name="org.gtk.Property.set"
12240+ value="adw_leaflet_set_can_navigate_back"/>
12241+ <doc xml:space="preserve"
12242+ filename="src/adw-leaflet.c"
12243+ line="2313">Whether gestures and shortcuts for navigating backward are enabled.
12244+
12245+The supported gestures are:
12246+
12247+- One-finger swipe on touchscreens
12248+- Horizontal scrolling on touchpads (usually two-finger swipe)
12249+- Back/forward mouse buttons
12250+
12251+The keyboard back/forward keys are also supported, as well as the
12252+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
12253+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.
12254+
12255+If the orientation is horizontal, for right-to-left locales, gestures and
12256+shortcuts are reversed.
12257+
12258+Only children that have [property@LeafletPage:navigatable] set to `TRUE`
12259+can be navigated to.</doc>
12260+ <type name="gboolean" c:type="gboolean"/>
12261+ </property>
12262+ <property name="can-navigate-forward"
12263+ writable="1"
12264+ transfer-ownership="none"
12265+ setter="set_can_navigate_forward"
12266+ getter="get_can_navigate_forward"
12267+ default-value="FALSE">
12268+ <attribute name="org.gtk.Property.get"
12269+ value="adw_leaflet_get_can_navigate_forward"/>
12270+ <attribute name="org.gtk.Property.set"
12271+ value="adw_leaflet_set_can_navigate_forward"/>
12272+ <doc xml:space="preserve"
12273+ filename="src/adw-leaflet.c"
12274+ line="2339">Whether gestures and shortcuts for navigating forward are enabled.
12275+
12276+The supported gestures are:
12277+
12278+- One-finger swipe on touchscreens
12279+- Horizontal scrolling on touchpads (usually two-finger swipe)
12280+- Back/forward mouse buttons
12281+
12282+The keyboard back/forward keys are also supported, as well as the
12283+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
12284+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.
12285+
12286+If the orientation is horizontal, for right-to-left locales, gestures and
12287+shortcuts are reversed.
12288+
12289+Only children that have [property@LeafletPage:navigatable] set to `TRUE`
12290+can be navigated to.</doc>
12291+ <type name="gboolean" c:type="gboolean"/>
12292+ </property>
12293+ <property name="can-unfold"
12294+ writable="1"
12295+ transfer-ownership="none"
12296+ setter="set_can_unfold"
12297+ getter="get_can_unfold"
12298+ default-value="TRUE">
12299+ <attribute name="org.gtk.Property.get"
12300+ value="adw_leaflet_get_can_unfold"/>
12301+ <attribute name="org.gtk.Property.set"
12302+ value="adw_leaflet_set_can_unfold"/>
12303+ <doc xml:space="preserve"
12304+ filename="src/adw-leaflet.c"
12305+ line="2181">Whether or not the leaflet can unfold.</doc>
12306+ <type name="gboolean" c:type="gboolean"/>
12307+ </property>
12308+ <property name="child-transition-params"
12309+ writable="1"
12310+ transfer-ownership="none"
12311+ setter="set_child_transition_params"
12312+ getter="get_child_transition_params">
12313+ <attribute name="org.gtk.Property.get"
12314+ value="adw_leaflet_get_child_transition_params"/>
12315+ <attribute name="org.gtk.Property.set"
12316+ value="adw_leaflet_set_child_transition_params"/>
12317+ <doc xml:space="preserve"
12318+ filename="src/adw-leaflet.c"
12319+ line="2287">The child transition spring parameters.
12320+
12321+The default value is equivalent to:
12322+
12323+```c
12324+adw_spring_params_new (1, 0.5, 500)
12325+```</doc>
12326+ <type name="SpringParams"/>
12327+ </property>
12328+ <property name="child-transition-running"
12329+ transfer-ownership="none"
12330+ getter="get_child_transition_running"
12331+ default-value="FALSE">
12332+ <attribute name="org.gtk.Property.get"
12333+ value="adw_leaflet_get_child_transition_running"/>
12334+ <doc xml:space="preserve"
12335+ filename="src/adw-leaflet.c"
12336+ line="2303">Whether a child transition is currently running.</doc>
12337+ <type name="gboolean" c:type="gboolean"/>
12338+ </property>
12339+ <property name="fold-threshold-policy"
12340+ writable="1"
12341+ transfer-ownership="none"
12342+ setter="set_fold_threshold_policy"
12343+ getter="get_fold_threshold_policy"
12344+ default-value="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
12345+ <attribute name="org.gtk.Property.get"
12346+ value="adw_leaflet_get_fold_threshold_policy"/>
12347+ <attribute name="org.gtk.Property.set"
12348+ value="adw_leaflet_set_fold_threshold_policy"/>
12349+ <doc xml:space="preserve"
12350+ filename="src/adw-leaflet.c"
12351+ line="2205">Determines when the leaflet will fold.
12352+
12353+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
12354+children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
12355+will fold as soon as children don't get their natural size.
12356+
12357+This can be useful if you have a long ellipsizing label and want to let it
12358+ellipsize instead of immediately folding.</doc>
12359+ <type name="FoldThresholdPolicy"/>
12360+ </property>
12361+ <property name="folded"
12362+ transfer-ownership="none"
12363+ getter="get_folded"
12364+ default-value="FALSE">
12365+ <attribute name="org.gtk.Property.get" value="adw_leaflet_get_folded"/>
12366+ <doc xml:space="preserve"
12367+ filename="src/adw-leaflet.c"
12368+ line="2191">Whether the leaflet is folded.
12369+
12370+The leaflet will be folded if the size allocated to it is smaller than the
12371+sum of the minimum or natural sizes of the children (see
12372+[property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.</doc>
12373+ <type name="gboolean" c:type="gboolean"/>
12374+ </property>
12375+ <property name="homogeneous"
12376+ writable="1"
12377+ transfer-ownership="none"
12378+ setter="set_homogeneous"
12379+ getter="get_homogeneous"
12380+ default-value="TRUE">
12381+ <attribute name="org.gtk.Property.get"
12382+ value="adw_leaflet_get_homogeneous"/>
12383+ <attribute name="org.gtk.Property.set"
12384+ value="adw_leaflet_set_homogeneous"/>
12385+ <doc xml:space="preserve"
12386+ filename="src/adw-leaflet.c"
12387+ line="2223">Whether the leaflet allocates the same size for all children when folded.
12388+
12389+If set to `FALSE`, different children can have different size along the
12390+opposite orientation.</doc>
12391+ <type name="gboolean" c:type="gboolean"/>
12392+ </property>
12393+ <property name="mode-transition-duration"
12394+ writable="1"
12395+ transfer-ownership="none"
12396+ setter="set_mode_transition_duration"
12397+ getter="get_mode_transition_duration"
12398+ default-value="250">
12399+ <attribute name="org.gtk.Property.get"
12400+ value="adw_leaflet_get_mode_transition_duration"/>
12401+ <attribute name="org.gtk.Property.set"
12402+ value="adw_leaflet_set_mode_transition_duration"/>
12403+ <doc xml:space="preserve"
12404+ filename="src/adw-leaflet.c"
12405+ line="2277">The mode transition animation duration, in milliseconds.</doc>
12406+ <type name="guint" c:type="guint"/>
12407+ </property>
12408+ <property name="pages" transfer-ownership="none" getter="get_pages">
12409+ <attribute name="org.gtk.Property.get" value="adw_leaflet_get_pages"/>
12410+ <doc xml:space="preserve"
12411+ filename="src/adw-leaflet.c"
12412+ line="2365">A selection model with the leaflet's pages.
12413+
12414+This can be used to keep an up-to-date view. The model also implements
12415+[iface@Gtk.SelectionModel] and can be used to track and change the visible
12416+page.</doc>
12417+ <type name="Gtk.SelectionModel"/>
12418+ </property>
12419+ <property name="transition-type"
12420+ writable="1"
12421+ transfer-ownership="none"
12422+ setter="set_transition_type"
12423+ getter="get_transition_type"
12424+ default-value="ADW_LEAFLET_TRANSITION_TYPE_OVER">
12425+ <attribute name="org.gtk.Property.get"
12426+ value="adw_leaflet_get_transition_type"/>
12427+ <attribute name="org.gtk.Property.set"
12428+ value="adw_leaflet_set_transition_type"/>
12429+ <doc xml:space="preserve"
12430+ filename="src/adw-leaflet.c"
12431+ line="2263">The type of animation used for transitions between modes and children.
12432+
12433+The transition type can be changed without problems at runtime, so it is
12434+possible to change the animation based on the mode or child that is about
12435+to become current.</doc>
12436+ <type name="LeafletTransitionType"/>
12437+ </property>
12438+ <property name="visible-child"
12439+ writable="1"
12440+ transfer-ownership="none"
12441+ setter="set_visible_child"
12442+ getter="get_visible_child">
12443+ <attribute name="org.gtk.Property.get"
12444+ value="adw_leaflet_get_visible_child"/>
12445+ <attribute name="org.gtk.Property.set"
12446+ value="adw_leaflet_set_visible_child"/>
12447+ <doc xml:space="preserve"
12448+ filename="src/adw-leaflet.c"
12449+ line="2236">The widget currently visible when the leaflet is folded.
12450+
12451+The transition is determined by [property@Leaflet:transition-type] and
12452+[property@Leaflet:child-transition-params]. The transition can be cancelled
12453+by the user, in which case visible child will change back to the previously
12454+visible child.</doc>
12455+ <type name="Gtk.Widget"/>
12456+ </property>
12457+ <property name="visible-child-name"
12458+ writable="1"
12459+ transfer-ownership="none"
12460+ setter="set_visible_child_name"
12461+ getter="get_visible_child_name"
12462+ default-value="NULL">
12463+ <attribute name="org.gtk.Property.get"
12464+ value="adw_leaflet_get_visible_child_name"/>
12465+ <attribute name="org.gtk.Property.set"
12466+ value="adw_leaflet_set_visible_child_name"/>
12467+ <doc xml:space="preserve"
12468+ filename="src/adw-leaflet.c"
12469+ line="2251">The name of the widget currently visible when the leaflet is folded.
12470+
12471+See [property@Leaflet:visible-child].</doc>
12472+ <type name="utf8" c:type="gchar*"/>
12473+ </property>
12474+ </class>
12475+ <record name="LeafletClass"
12476+ c:type="AdwLeafletClass"
12477+ glib:is-gtype-struct-for="Leaflet">
12478+ <source-position filename="src/adw-leaflet.h" line="46"/>
12479+ <field name="parent_class">
12480+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
12481+ </field>
12482+ </record>
12483+ <class name="LeafletPage"
12484+ c:symbol-prefix="leaflet_page"
12485+ c:type="AdwLeafletPage"
12486+ parent="GObject.Object"
12487+ final="1"
12488+ glib:type-name="AdwLeafletPage"
12489+ glib:get-type="adw_leaflet_page_get_type"
12490+ glib:type-struct="LeafletPageClass">
12491+ <doc xml:space="preserve"
12492+ filename="src/adw-leaflet.c"
12493+ line="57">An auxiliary class used by [class@Leaflet].</doc>
12494+ <source-position filename="src/adw-leaflet.h" line="26"/>
12495+ <method name="get_child"
12496+ c:identifier="adw_leaflet_page_get_child"
12497+ glib:get-property="child">
12498+ <attribute name="org.gtk.Method.get_property" value="child"/>
12499+ <doc xml:space="preserve"
12500+ filename="src/adw-leaflet.c"
12501+ line="2641">Gets the leaflet child to which @self belongs.</doc>
12502+ <source-position filename="src/adw-leaflet.h" line="29"/>
12503+ <return-value transfer-ownership="none">
12504+ <doc xml:space="preserve"
12505+ filename="src/adw-leaflet.c"
12506+ line="2647">the child to which @self belongs</doc>
12507+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
12508+ </return-value>
12509+ <parameters>
12510+ <instance-parameter name="self" transfer-ownership="none">
12511+ <doc xml:space="preserve"
12512+ filename="src/adw-leaflet.c"
12513+ line="2643">a leaflet page</doc>
12514+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
12515+ </instance-parameter>
12516+ </parameters>
12517+ </method>
12518+ <method name="get_name"
12519+ c:identifier="adw_leaflet_page_get_name"
12520+ glib:get-property="name">
12521+ <attribute name="org.gtk.Method.get_property" value="name"/>
12522+ <doc xml:space="preserve"
12523+ filename="src/adw-leaflet.c"
12524+ line="2657">Gets the name of @self.</doc>
12525+ <source-position filename="src/adw-leaflet.h" line="32"/>
12526+ <return-value transfer-ownership="none" nullable="1">
12527+ <doc xml:space="preserve"
12528+ filename="src/adw-leaflet.c"
12529+ line="2663">the name of @self.</doc>
12530+ <type name="utf8" c:type="const char*"/>
12531+ </return-value>
12532+ <parameters>
12533+ <instance-parameter name="self" transfer-ownership="none">
12534+ <doc xml:space="preserve"
12535+ filename="src/adw-leaflet.c"
12536+ line="2659">a leaflet page</doc>
12537+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
12538+ </instance-parameter>
12539+ </parameters>
12540+ </method>
12541+ <method name="get_navigatable"
12542+ c:identifier="adw_leaflet_page_get_navigatable"
12543+ glib:get-property="navigatable">
12544+ <attribute name="org.gtk.Method.get_property" value="navigatable"/>
12545+ <doc xml:space="preserve"
12546+ filename="src/adw-leaflet.c"
12547+ line="2720">Gets whether the child can be navigated to when folded.</doc>
12548+ <source-position filename="src/adw-leaflet.h" line="38"/>
12549+ <return-value transfer-ownership="none">
12550+ <doc xml:space="preserve"
12551+ filename="src/adw-leaflet.c"
12552+ line="2726">whether @self can be navigated to when folded</doc>
12553+ <type name="gboolean" c:type="gboolean"/>
12554+ </return-value>
12555+ <parameters>
12556+ <instance-parameter name="self" transfer-ownership="none">
12557+ <doc xml:space="preserve"
12558+ filename="src/adw-leaflet.c"
12559+ line="2722">a leaflet page</doc>
12560+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
12561+ </instance-parameter>
12562+ </parameters>
12563+ </method>
12564+ <method name="set_name"
12565+ c:identifier="adw_leaflet_page_set_name"
12566+ glib:set-property="name">
12567+ <attribute name="org.gtk.Method.set_property" value="name"/>
12568+ <doc xml:space="preserve"
12569+ filename="src/adw-leaflet.c"
12570+ line="2673">Sets the name of the @self.</doc>
12571+ <source-position filename="src/adw-leaflet.h" line="34"/>
12572+ <return-value transfer-ownership="none">
12573+ <type name="none" c:type="void"/>
12574+ </return-value>
12575+ <parameters>
12576+ <instance-parameter name="self" transfer-ownership="none">
12577+ <doc xml:space="preserve"
12578+ filename="src/adw-leaflet.c"
12579+ line="2675">a leaflet page</doc>
12580+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
12581+ </instance-parameter>
12582+ <parameter name="name"
12583+ transfer-ownership="none"
12584+ nullable="1"
12585+ allow-none="1">
12586+ <doc xml:space="preserve"
12587+ filename="src/adw-leaflet.c"
12588+ line="2676">the new value to set</doc>
12589+ <type name="utf8" c:type="const char*"/>
12590+ </parameter>
12591+ </parameters>
12592+ </method>
12593+ <method name="set_navigatable"
12594+ c:identifier="adw_leaflet_page_set_navigatable"
12595+ glib:set-property="navigatable">
12596+ <attribute name="org.gtk.Method.set_property" value="navigatable"/>
12597+ <doc xml:space="preserve"
12598+ filename="src/adw-leaflet.c"
12599+ line="2736">Sets whether @self can be navigated to when folded.
12600+
12601+If `FALSE`, the child will be ignored by [method@Leaflet.get_adjacent_child],
12602+[method@Leaflet.navigate], and swipe gestures.
12603+
12604+This can be used used to prevent switching to widgets like separators.</doc>
12605+ <source-position filename="src/adw-leaflet.h" line="40"/>
12606+ <return-value transfer-ownership="none">
12607+ <type name="none" c:type="void"/>
12608+ </return-value>
12609+ <parameters>
12610+ <instance-parameter name="self" transfer-ownership="none">
12611+ <doc xml:space="preserve"
12612+ filename="src/adw-leaflet.c"
12613+ line="2738">a leaflet page</doc>
12614+ <type name="LeafletPage" c:type="AdwLeafletPage*"/>
12615+ </instance-parameter>
12616+ <parameter name="navigatable" transfer-ownership="none">
12617+ <doc xml:space="preserve"
12618+ filename="src/adw-leaflet.c"
12619+ line="2739">whether @self can be navigated to when folded</doc>
12620+ <type name="gboolean" c:type="gboolean"/>
12621+ </parameter>
12622+ </parameters>
12623+ </method>
12624+ <property name="child"
12625+ writable="1"
12626+ construct-only="1"
12627+ transfer-ownership="none"
12628+ getter="get_child">
12629+ <attribute name="org.gtk.Property.get"
12630+ value="adw_leaflet_page_get_child"/>
12631+ <doc xml:space="preserve"
12632+ filename="src/adw-leaflet.c"
12633+ line="272">The leaflet child to which the page belongs.</doc>
12634+ <type name="Gtk.Widget"/>
12635+ </property>
12636+ <property name="name"
12637+ writable="1"
12638+ transfer-ownership="none"
12639+ setter="set_name"
12640+ getter="get_name"
12641+ default-value="NULL">
12642+ <attribute name="org.gtk.Property.get"
12643+ value="adw_leaflet_page_get_name"/>
12644+ <attribute name="org.gtk.Property.set"
12645+ value="adw_leaflet_page_set_name"/>
12646+ <doc xml:space="preserve"
12647+ filename="src/adw-leaflet.c"
12648+ line="282">The name of the child page.</doc>
12649+ <type name="utf8" c:type="gchar*"/>
12650+ </property>
12651+ <property name="navigatable"
12652+ writable="1"
12653+ transfer-ownership="none"
12654+ setter="set_navigatable"
12655+ getter="get_navigatable"
12656+ default-value="TRUE">
12657+ <attribute name="org.gtk.Property.get"
12658+ value="adw_leaflet_page_get_navigatable"/>
12659+ <attribute name="org.gtk.Property.set"
12660+ value="adw_leaflet_page_set_navigatable"/>
12661+ <doc xml:space="preserve"
12662+ filename="src/adw-leaflet.c"
12663+ line="292">Whether the child can be navigated to when folded.
12664+
12665+If `FALSE`, the child will be ignored by
12666+[method@Leaflet.get_adjacent_child], [method@Leaflet.navigate], and swipe
12667+gestures.
12668+
12669+This can be used used to prevent switching to widgets like separators.</doc>
12670+ <type name="gboolean" c:type="gboolean"/>
12671+ </property>
12672+ </class>
12673+ <record name="LeafletPageClass"
12674+ c:type="AdwLeafletPageClass"
12675+ glib:is-gtype-struct-for="LeafletPage">
12676+ <source-position filename="src/adw-leaflet.h" line="26"/>
12677+ <field name="parent_class">
12678+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
12679+ </field>
12680+ </record>
12681+ <enumeration name="LeafletTransitionType"
12682+ glib:type-name="AdwLeafletTransitionType"
12683+ glib:get-type="adw_leaflet_transition_type_get_type"
12684+ c:type="AdwLeafletTransitionType">
12685+ <doc xml:space="preserve"
12686+ filename="src/adw-leaflet.c"
12687+ line="63">Describes the possible transitions in a [class@Leaflet] widget.
12688+
12689+New values may be added to this enumeration over time.</doc>
12690+ <member name="over"
12691+ value="0"
12692+ c:identifier="ADW_LEAFLET_TRANSITION_TYPE_OVER"
12693+ glib:nick="over"
12694+ glib:name="ADW_LEAFLET_TRANSITION_TYPE_OVER">
12695+ <doc xml:space="preserve"
12696+ filename="src/adw-leaflet.c"
12697+ line="65">Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order</doc>
12698+ </member>
12699+ <member name="under"
12700+ value="1"
12701+ c:identifier="ADW_LEAFLET_TRANSITION_TYPE_UNDER"
12702+ glib:nick="under"
12703+ glib:name="ADW_LEAFLET_TRANSITION_TYPE_UNDER">
12704+ <doc xml:space="preserve"
12705+ filename="src/adw-leaflet.c"
12706+ line="66">Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order</doc>
12707+ </member>
12708+ <member name="slide"
12709+ value="2"
12710+ c:identifier="ADW_LEAFLET_TRANSITION_TYPE_SLIDE"
12711+ glib:nick="slide"
12712+ glib:name="ADW_LEAFLET_TRANSITION_TYPE_SLIDE">
12713+ <doc xml:space="preserve"
12714+ filename="src/adw-leaflet.c"
12715+ line="67">Slide from left, right, up or down according to the orientation, text direction and the children order</doc>
12716+ </member>
12717+ </enumeration>
12718+ <constant name="MAJOR_VERSION" value="1" c:type="ADW_MAJOR_VERSION">
12719+ <doc xml:space="preserve"
12720+ filename="src/adw-version.h"
12721+ line="17">Adwaita major version component (e.g. 1 if the version is 1.2.3).</doc>
12722+ <source-position filename="src/adw-version.h" line="22"/>
12723+ <type name="gint" c:type="gint"/>
12724+ </constant>
12725+ <constant name="MICRO_VERSION" value="3" c:type="ADW_MICRO_VERSION">
12726+ <doc xml:space="preserve"
12727+ filename="src/adw-version.h"
12728+ line="31">Adwaita micro version component (e.g. 3 if the version is 1.2.3).</doc>
12729+ <source-position filename="src/adw-version.h" line="36"/>
12730+ <type name="gint" c:type="gint"/>
12731+ </constant>
12732+ <constant name="MINOR_VERSION" value="3" c:type="ADW_MINOR_VERSION">
12733+ <doc xml:space="preserve"
12734+ filename="src/adw-version.h"
12735+ line="24">Adwaita minor version component (e.g. 2 if the version is 1.2.3).</doc>
12736+ <source-position filename="src/adw-version.h" line="29"/>
12737+ <type name="gint" c:type="gint"/>
12738+ </constant>
12739+ <class name="MessageDialog"
12740+ c:symbol-prefix="message_dialog"
12741+ c:type="AdwMessageDialog"
12742+ version="1.2"
12743+ parent="Gtk.Window"
12744+ glib:type-name="AdwMessageDialog"
12745+ glib:get-type="adw_message_dialog_get_type"
12746+ glib:type-struct="MessageDialogClass">
12747+ <doc xml:space="preserve"
12748+ filename="src/adw-message-dialog.c"
12749+ line="17">A dialog presenting a message or a question.
12750+
12751+&lt;picture&gt;
12752+ &lt;source srcset="message-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
12753+ &lt;img src="message-dialog.png" alt="message-dialog"&gt;
12754+&lt;/picture&gt;
12755+
12756+Message dialogs have a heading, a body, an optional child widget, and one or
12757+multiple responses, each presented as a button.
12758+
12759+Each response has a unique string ID, and a button label. Additionally, each
12760+response can be enabled or disabled, and can have a suggested or destructive
12761+appearance.
12762+
12763+When one of the responses is activated, or the dialog is closed, the
12764+[signal@MessageDialog::response] signal will be emitted. This signal is
12765+detailed, and the detail, as well as the `response` parameter will be set to
12766+the ID of the activated response, or to the value of the
12767+[property@MessageDialog:close-response] property if the dialog had been
12768+closed without activating any of the responses.
12769+
12770+Response buttons can be presented horizontally or vertically depending on
12771+available space.
12772+
12773+When a response is activated, `AdwMessageDialog` is closed automatically.
12774+
12775+An example of using a message dialog:
12776+
12777+```c
12778+GtkWidget *dialog;
12779+
12780+dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
12781+
12782+adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
12783+ _("A file named “%s” already exists. Do you want to replace it?"),
12784+ filename);
12785+
12786+adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
12787+ "cancel", _("_Cancel"),
12788+ "replace", _("_Replace"),
12789+ NULL);
12790+
12791+adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
12792+
12793+adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
12794+adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
12795+
12796+g_signal_connect (dialog, "response", G_CALLBACK (response_cb), self);
12797+
12798+gtk_window_present (GTK_WINDOW (dialog));
12799+```
12800+
12801+## Async API
12802+
12803+`AdwMessageDialog` can also be used via the [method@MessageDialog.choose]
12804+method. This API follows the GIO async pattern, and the result can be
12805+obtained by calling [method@MessageDialog.choose_finish], for example:
12806+
12807+```c
12808+static void
12809+dialog_cb (AdwMessageDialog *dialog,
12810+ GAsyncResult *result,
12811+ MyWindow *self)
12812+{
12813+ const char *response = adw_message_dialog_choose_finish (dialog, result);
12814+
12815+ // ...
12816+}
12817+
12818+static void
12819+show_dialog (MyWindow *self)
12820+{
12821+ GtkWidget *dialog;
12822+
12823+ dialog = adw_message_dialog_new (GTK_WINDOW (self), _("Replace File?"), NULL);
12824+
12825+ adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
12826+ _("A file named “%s” already exists. Do you want to replace it?"),
12827+ filename);
12828+
12829+ adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
12830+ "cancel", _("_Cancel"),
12831+ "replace", _("_Replace"),
12832+ NULL);
12833+
12834+ adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
12835+
12836+ adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
12837+ adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
12838+
12839+ adw_message_dialog_choose (ADW_MESSAGE_DIALOG (dialog), NULL, (GAsyncReadyCallback) dialog_cb, self);
12840+}
12841+```
12842+
12843+## AdwMessageDialog as GtkBuildable
12844+
12845+`AdwMessageDialog` supports adding responses in UI definitions by via the
12846+`&lt;responses&gt;` element that may contain multiple `&lt;response&gt;` elements, each
12847+respresenting a response.
12848+
12849+Each of the `&lt;response&gt;` elements must have the `id` attribute specifying the
12850+response ID. The contents of the element are used as the response label.
12851+
12852+Response labels can be translated with the usual `translatable`, `context`
12853+and `comments` attributes.
12854+
12855+The `&lt;response&gt;` elements can also have `enabled` and/or `appearance`
12856+attributes. See [method@MessageDialog.set_response_enabled] and
12857+[method@MessageDialog.set_response_appearance] for details.
12858+
12859+Example of an `AdwMessageDialog` UI definition:
12860+
12861+```xml
12862+&lt;object class="AdwMessageDialog" id="dialog"&gt;
12863+ &lt;property name="heading" translatable="yes"&gt;Save Changes?&lt;/property&gt;
12864+ &lt;property name="body" translatable="yes"&gt;Open documents contain unsaved changes. Changes which are not saved will be permanently lost.&lt;/property&gt;
12865+ &lt;property name="default-response"&gt;save&lt;/property&gt;
12866+ &lt;property name="close-response"&gt;cancel&lt;/property&gt;
12867+ &lt;signal name="response" handler="response_cb"/&gt;
12868+ &lt;responses&gt;
12869+ &lt;response id="cancel" translatable="yes"&gt;_Cancel&lt;/response&gt;
12870+ &lt;response id="discard" translatable="yes" appearance="destructive"&gt;_Discard&lt;/response&gt;
12871+ &lt;response id="save" translatable="yes" appearance="suggested" enabled="false"&gt;_Save&lt;/response&gt;
12872+ &lt;/responses&gt;
12873+&lt;/object&gt;
12874+```
12875+
12876+## Accessibility
12877+
12878+`AdwMessageDialog` uses the `GTK_ACCESSIBLE_ROLE_DIALOG` role.</doc>
12879+ <source-position filename="src/adw-message-dialog.h" line="42"/>
12880+ <implements name="Gtk.Accessible"/>
12881+ <implements name="Gtk.Buildable"/>
12882+ <implements name="Gtk.ConstraintTarget"/>
12883+ <implements name="Gtk.Native"/>
12884+ <implements name="Gtk.Root"/>
12885+ <implements name="Gtk.ShortcutManager"/>
12886+ <constructor name="new"
12887+ c:identifier="adw_message_dialog_new"
12888+ version="1.2">
12889+ <doc xml:space="preserve"
12890+ filename="src/adw-message-dialog.c"
12891+ line="1283">Creates a new `AdwMessageDialog`.
12892+
12893+@heading and @body can be set to `NULL`. This can be useful if they need to
12894+be formatted or use markup. In that case, set them to `NULL` and call
12895+[method@MessageDialog.format_body] or similar methods afterwards:
12896+
12897+```c
12898+GtkWidget *dialog;
12899+
12900+dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
12901+adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
12902+ _("A file named “%s” already exists. Do you want to replace it?"),
12903+ filename);
12904+```</doc>
12905+ <source-position filename="src/adw-message-dialog.h" line="45"/>
12906+ <return-value transfer-ownership="none">
12907+ <doc xml:space="preserve"
12908+ filename="src/adw-message-dialog.c"
12909+ line="1304">the newly created `AdwMessageDialog`</doc>
12910+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
12911+ </return-value>
12912+ <parameters>
12913+ <parameter name="parent"
12914+ transfer-ownership="none"
12915+ nullable="1"
12916+ allow-none="1">
12917+ <doc xml:space="preserve"
12918+ filename="src/adw-message-dialog.c"
12919+ line="1285">transient parent</doc>
12920+ <type name="Gtk.Window" c:type="GtkWindow*"/>
12921+ </parameter>
12922+ <parameter name="heading"
12923+ transfer-ownership="none"
12924+ nullable="1"
12925+ allow-none="1">
12926+ <doc xml:space="preserve"
12927+ filename="src/adw-message-dialog.c"
12928+ line="1286">the heading</doc>
12929+ <type name="utf8" c:type="const char*"/>
12930+ </parameter>
12931+ <parameter name="body"
12932+ transfer-ownership="none"
12933+ nullable="1"
12934+ allow-none="1">
12935+ <doc xml:space="preserve"
12936+ filename="src/adw-message-dialog.c"
12937+ line="1287">the body text</doc>
12938+ <type name="utf8" c:type="const char*"/>
12939+ </parameter>
12940+ </parameters>
12941+ </constructor>
12942+ <virtual-method name="response" invoker="response" version="1.2">
12943+ <attribute name="org.gtk.Method.signal" value="response"/>
12944+ <doc xml:space="preserve"
12945+ filename="src/adw-message-dialog.c"
12946+ line="2267">Emits the [signal@MessageDialog::response] signal with the given response ID.
12947+
12948+Used to indicate that the user has responded to the dialog in some way.</doc>
12949+ <source-position filename="src/adw-message-dialog.h" line="37"/>
12950+ <return-value transfer-ownership="none">
12951+ <type name="none" c:type="void"/>
12952+ </return-value>
12953+ <parameters>
12954+ <instance-parameter name="self" transfer-ownership="none">
12955+ <doc xml:space="preserve"
12956+ filename="src/adw-message-dialog.c"
12957+ line="2269">a message dialog</doc>
12958+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
12959+ </instance-parameter>
12960+ <parameter name="response" transfer-ownership="none">
12961+ <doc xml:space="preserve"
12962+ filename="src/adw-message-dialog.c"
12963+ line="2270">response ID</doc>
12964+ <type name="utf8" c:type="const char*"/>
12965+ </parameter>
12966+ </parameters>
12967+ </virtual-method>
12968+ <method name="add_response"
12969+ c:identifier="adw_message_dialog_add_response"
12970+ version="1.2">
12971+ <doc xml:space="preserve"
12972+ filename="src/adw-message-dialog.c"
12973+ line="1804">Adds a response with @id and @label to @self.
12974+
12975+Responses are represented as buttons in the dialog.
12976+
12977+Response ID must be unique. It will be used in
12978+[signal@MessageDialog::response] to tell which response had been activated,
12979+as well as to inspect and modify the response later.
12980+
12981+An embedded underline in @label indicates a mnemonic.
12982+
12983+[method@MessageDialog.set_response_label] can be used to change the response
12984+label after it had been added.
12985+
12986+[method@MessageDialog.set_response_enabled] and
12987+[method@MessageDialog.set_response_appearance] can be used to customize the
12988+responses further.</doc>
12989+ <source-position filename="src/adw-message-dialog.h" line="100"/>
12990+ <return-value transfer-ownership="none">
12991+ <type name="none" c:type="void"/>
12992+ </return-value>
12993+ <parameters>
12994+ <instance-parameter name="self" transfer-ownership="none">
12995+ <doc xml:space="preserve"
12996+ filename="src/adw-message-dialog.c"
12997+ line="1806">a message dialog</doc>
12998+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
12999+ </instance-parameter>
13000+ <parameter name="id" transfer-ownership="none">
13001+ <doc xml:space="preserve"
13002+ filename="src/adw-message-dialog.c"
13003+ line="1807">the response ID</doc>
13004+ <type name="utf8" c:type="const char*"/>
13005+ </parameter>
13006+ <parameter name="label" transfer-ownership="none">
13007+ <doc xml:space="preserve"
13008+ filename="src/adw-message-dialog.c"
13009+ line="1808">the response label</doc>
13010+ <type name="utf8" c:type="const char*"/>
13011+ </parameter>
13012+ </parameters>
13013+ </method>
13014+ <method name="add_responses"
13015+ c:identifier="adw_message_dialog_add_responses"
13016+ version="1.2"
13017+ introspectable="0">
13018+ <doc xml:space="preserve"
13019+ filename="src/adw-message-dialog.c"
13020+ line="1872">Adds multiple responses to @self.
13021+
13022+This is the same as calling [method@MessageDialog.add_response] repeatedly.
13023+The variable argument list should be `NULL`-terminated list of response IDs
13024+and labels.
13025+
13026+Example:
13027+
13028+```c
13029+adw_message_dialog_add_responses (dialog,
13030+ "cancel", _("_Cancel"),
13031+ "discard", _("_Discard"),
13032+ "save", _("_Save"),
13033+ NULL);
13034+```</doc>
13035+ <source-position filename="src/adw-message-dialog.h" line="105"/>
13036+ <return-value transfer-ownership="none">
13037+ <type name="none" c:type="void"/>
13038+ </return-value>
13039+ <parameters>
13040+ <instance-parameter name="self" transfer-ownership="none">
13041+ <doc xml:space="preserve"
13042+ filename="src/adw-message-dialog.c"
13043+ line="1874">a message dialog</doc>
13044+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13045+ </instance-parameter>
13046+ <parameter name="first_id" transfer-ownership="none">
13047+ <doc xml:space="preserve"
13048+ filename="src/adw-message-dialog.c"
13049+ line="1875">response id</doc>
13050+ <type name="utf8" c:type="const char*"/>
13051+ </parameter>
13052+ <parameter name="..." transfer-ownership="none">
13053+ <doc xml:space="preserve"
13054+ filename="src/adw-message-dialog.c"
13055+ line="1876">label for first response, then more id-label pairs</doc>
13056+ <varargs/>
13057+ </parameter>
13058+ </parameters>
13059+ </method>
13060+ <method name="choose"
13061+ c:identifier="adw_message_dialog_choose"
13062+ version="1.3">
13063+ <doc xml:space="preserve"
13064+ filename="src/adw-message-dialog.c"
13065+ line="2339">This function shows @self to the user.
13066+
13067+The @callback will be called when the alert is dismissed. It should call
13068+[method@MessageDialog.choose_finish] to obtain the result.</doc>
13069+ <source-position filename="src/adw-message-dialog.h" line="154"/>
13070+ <return-value transfer-ownership="none">
13071+ <type name="none" c:type="void"/>
13072+ </return-value>
13073+ <parameters>
13074+ <instance-parameter name="self" transfer-ownership="full">
13075+ <doc xml:space="preserve"
13076+ filename="src/adw-message-dialog.c"
13077+ line="2341">a message dialog</doc>
13078+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13079+ </instance-parameter>
13080+ <parameter name="cancellable"
13081+ transfer-ownership="none"
13082+ nullable="1"
13083+ allow-none="1">
13084+ <doc xml:space="preserve"
13085+ filename="src/adw-message-dialog.c"
13086+ line="2342">a `GCancellable` to cancel the operation</doc>
13087+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
13088+ </parameter>
13089+ <parameter name="callback"
13090+ transfer-ownership="none"
13091+ nullable="1"
13092+ allow-none="1"
13093+ scope="async"
13094+ closure="2">
13095+ <doc xml:space="preserve"
13096+ filename="src/adw-message-dialog.c"
13097+ line="2343">a callback to call when the operation is complete</doc>
13098+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
13099+ </parameter>
13100+ <parameter name="user_data"
13101+ transfer-ownership="none"
13102+ nullable="1"
13103+ allow-none="1"
13104+ closure="1">
13105+ <doc xml:space="preserve"
13106+ filename="src/adw-message-dialog.c"
13107+ line="2344">data to pass to @callback</doc>
13108+ <type name="gpointer" c:type="gpointer"/>
13109+ </parameter>
13110+ </parameters>
13111+ </method>
13112+ <method name="choose_finish"
13113+ c:identifier="adw_message_dialog_choose_finish"
13114+ version="1.3">
13115+ <doc xml:space="preserve"
13116+ filename="src/adw-message-dialog.c"
13117+ line="2374">Finishes the [method@MessageDialog.choose] call and returns the response ID.</doc>
13118+ <source-position filename="src/adw-message-dialog.h" line="160"/>
13119+ <return-value transfer-ownership="none">
13120+ <doc xml:space="preserve"
13121+ filename="src/adw-message-dialog.c"
13122+ line="2381">the ID of the response that was selected, or
13123+ [property@MessageDialog:close-response] if the call was cancelled.</doc>
13124+ <type name="utf8" c:type="const char*"/>
13125+ </return-value>
13126+ <parameters>
13127+ <instance-parameter name="self" transfer-ownership="none">
13128+ <doc xml:space="preserve"
13129+ filename="src/adw-message-dialog.c"
13130+ line="2376">a message dialog</doc>
13131+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13132+ </instance-parameter>
13133+ <parameter name="result" transfer-ownership="none">
13134+ <doc xml:space="preserve"
13135+ filename="src/adw-message-dialog.c"
13136+ line="2377">a `GAsyncResult`</doc>
13137+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
13138+ </parameter>
13139+ </parameters>
13140+ </method>
13141+ <method name="format_body"
13142+ c:identifier="adw_message_dialog_format_body"
13143+ version="1.2"
13144+ introspectable="0">
13145+ <doc xml:space="preserve"
13146+ filename="src/adw-message-dialog.c"
13147+ line="1655">Sets the formatted body text of @self.
13148+
13149+See [property@MessageDialog:body].</doc>
13150+ <source-position filename="src/adw-message-dialog.h" line="84"/>
13151+ <return-value transfer-ownership="none">
13152+ <type name="none" c:type="void"/>
13153+ </return-value>
13154+ <parameters>
13155+ <instance-parameter name="self" transfer-ownership="none">
13156+ <doc xml:space="preserve"
13157+ filename="src/adw-message-dialog.c"
13158+ line="1657">a message dialog</doc>
13159+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13160+ </instance-parameter>
13161+ <parameter name="format" transfer-ownership="none">
13162+ <doc xml:space="preserve"
13163+ filename="src/adw-message-dialog.c"
13164+ line="1658">the formatted string for the body text</doc>
13165+ <type name="utf8" c:type="const char*"/>
13166+ </parameter>
13167+ <parameter name="..." transfer-ownership="none">
13168+ <doc xml:space="preserve"
13169+ filename="src/adw-message-dialog.c"
13170+ line="1659">the parameters to insert into @format</doc>
13171+ <varargs/>
13172+ </parameter>
13173+ </parameters>
13174+ </method>
13175+ <method name="format_body_markup"
13176+ c:identifier="adw_message_dialog_format_body_markup"
13177+ version="1.2"
13178+ introspectable="0">
13179+ <doc xml:space="preserve"
13180+ filename="src/adw-message-dialog.c"
13181+ line="1698">Sets the formatted body text of @self with Pango markup.
13182+
13183+The @format is assumed to contain Pango markup.
13184+
13185+Special XML characters in the `printf()` arguments passed to this function
13186+will automatically be escaped as necessary, see
13187+[func@GLib.markup_printf_escaped].
13188+
13189+See [property@MessageDialog:body].</doc>
13190+ <source-position filename="src/adw-message-dialog.h" line="89"/>
13191+ <return-value transfer-ownership="none">
13192+ <type name="none" c:type="void"/>
13193+ </return-value>
13194+ <parameters>
13195+ <instance-parameter name="self" transfer-ownership="none">
13196+ <doc xml:space="preserve"
13197+ filename="src/adw-message-dialog.c"
13198+ line="1700">a message dialog</doc>
13199+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13200+ </instance-parameter>
13201+ <parameter name="format" transfer-ownership="none">
13202+ <doc xml:space="preserve"
13203+ filename="src/adw-message-dialog.c"
13204+ line="1701">the formatted string for the body text with Pango markup</doc>
13205+ <type name="utf8" c:type="const char*"/>
13206+ </parameter>
13207+ <parameter name="..." transfer-ownership="none">
13208+ <doc xml:space="preserve"
13209+ filename="src/adw-message-dialog.c"
13210+ line="1702">the parameters to insert into @format</doc>
13211+ <varargs/>
13212+ </parameter>
13213+ </parameters>
13214+ </method>
13215+ <method name="format_heading"
13216+ c:identifier="adw_message_dialog_format_heading"
13217+ version="1.2"
13218+ introspectable="0">
13219+ <doc xml:space="preserve"
13220+ filename="src/adw-message-dialog.c"
13221+ line="1449">Sets the formatted heading of @self.
13222+
13223+See [property@MessageDialog:heading].</doc>
13224+ <source-position filename="src/adw-message-dialog.h" line="62"/>
13225+ <return-value transfer-ownership="none">
13226+ <type name="none" c:type="void"/>
13227+ </return-value>
13228+ <parameters>
13229+ <instance-parameter name="self" transfer-ownership="none">
13230+ <doc xml:space="preserve"
13231+ filename="src/adw-message-dialog.c"
13232+ line="1451">a message dialog</doc>
13233+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13234+ </instance-parameter>
13235+ <parameter name="format" transfer-ownership="none">
13236+ <doc xml:space="preserve"
13237+ filename="src/adw-message-dialog.c"
13238+ line="1452">the formatted string for the heading</doc>
13239+ <type name="utf8" c:type="const char*"/>
13240+ </parameter>
13241+ <parameter name="..." transfer-ownership="none">
13242+ <doc xml:space="preserve"
13243+ filename="src/adw-message-dialog.c"
13244+ line="1453">the parameters to insert into @format</doc>
13245+ <varargs/>
13246+ </parameter>
13247+ </parameters>
13248+ </method>
13249+ <method name="format_heading_markup"
13250+ c:identifier="adw_message_dialog_format_heading_markup"
13251+ version="1.2"
13252+ introspectable="0">
13253+ <doc xml:space="preserve"
13254+ filename="src/adw-message-dialog.c"
13255+ line="1492">Sets the formatted heading of @self with Pango markup.
13256+
13257+The @format is assumed to contain Pango markup.
13258+
13259+Special XML characters in the `printf()` arguments passed to this function
13260+will automatically be escaped as necessary, see
13261+[func@GLib.markup_printf_escaped].
13262+
13263+See [property@MessageDialog:heading].</doc>
13264+ <source-position filename="src/adw-message-dialog.h" line="67"/>
13265+ <return-value transfer-ownership="none">
13266+ <type name="none" c:type="void"/>
13267+ </return-value>
13268+ <parameters>
13269+ <instance-parameter name="self" transfer-ownership="none">
13270+ <doc xml:space="preserve"
13271+ filename="src/adw-message-dialog.c"
13272+ line="1494">a message dialog</doc>
13273+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13274+ </instance-parameter>
13275+ <parameter name="format" transfer-ownership="none">
13276+ <doc xml:space="preserve"
13277+ filename="src/adw-message-dialog.c"
13278+ line="1495">the formatted string for the heading with Pango markup</doc>
13279+ <type name="utf8" c:type="const char*"/>
13280+ </parameter>
13281+ <parameter name="..." transfer-ownership="none">
13282+ <doc xml:space="preserve"
13283+ filename="src/adw-message-dialog.c"
13284+ line="1496">the parameters to insert into @format</doc>
13285+ <varargs/>
13286+ </parameter>
13287+ </parameters>
13288+ </method>
13289+ <method name="get_body"
13290+ c:identifier="adw_message_dialog_get_body"
13291+ glib:get-property="body"
13292+ version="1.2">
13293+ <attribute name="org.gtk.Method.get_property" value="body"/>
13294+ <doc xml:space="preserve"
13295+ filename="src/adw-message-dialog.c"
13296+ line="1541">Gets the body text of @self.</doc>
13297+ <source-position filename="src/adw-message-dialog.h" line="72"/>
13298+ <return-value transfer-ownership="none">
13299+ <doc xml:space="preserve"
13300+ filename="src/adw-message-dialog.c"
13301+ line="1547">the body of @self.</doc>
13302+ <type name="utf8" c:type="const char*"/>
13303+ </return-value>
13304+ <parameters>
13305+ <instance-parameter name="self" transfer-ownership="none">
13306+ <doc xml:space="preserve"
13307+ filename="src/adw-message-dialog.c"
13308+ line="1543">a message dialog</doc>
13309+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13310+ </instance-parameter>
13311+ </parameters>
13312+ </method>
13313+ <method name="get_body_use_markup"
13314+ c:identifier="adw_message_dialog_get_body_use_markup"
13315+ glib:get-property="body-use-markup"
13316+ version="1.2">
13317+ <attribute name="org.gtk.Method.get_property" value="body-use-markup"/>
13318+ <doc xml:space="preserve"
13319+ filename="src/adw-message-dialog.c"
13320+ line="1600">Gets whether the body text of @self includes Pango markup.</doc>
13321+ <source-position filename="src/adw-message-dialog.h" line="78"/>
13322+ <return-value transfer-ownership="none">
13323+ <doc xml:space="preserve"
13324+ filename="src/adw-message-dialog.c"
13325+ line="1606">whether @self uses markup for body text</doc>
13326+ <type name="gboolean" c:type="gboolean"/>
13327+ </return-value>
13328+ <parameters>
13329+ <instance-parameter name="self" transfer-ownership="none">
13330+ <doc xml:space="preserve"
13331+ filename="src/adw-message-dialog.c"
13332+ line="1602">a message dialog</doc>
13333+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13334+ </instance-parameter>
13335+ </parameters>
13336+ </method>
13337+ <method name="get_close_response"
13338+ c:identifier="adw_message_dialog_get_close_response"
13339+ glib:get-property="close-response"
13340+ version="1.2">
13341+ <attribute name="org.gtk.Method.get_property" value="close-response"/>
13342+ <doc xml:space="preserve"
13343+ filename="src/adw-message-dialog.c"
13344+ line="2208">Gets the ID of the close response of @self.</doc>
13345+ <source-position filename="src/adw-message-dialog.h" line="140"/>
13346+ <return-value transfer-ownership="none">
13347+ <doc xml:space="preserve"
13348+ filename="src/adw-message-dialog.c"
13349+ line="2214">the close response ID</doc>
13350+ <type name="utf8" c:type="const char*"/>
13351+ </return-value>
13352+ <parameters>
13353+ <instance-parameter name="self" transfer-ownership="none">
13354+ <doc xml:space="preserve"
13355+ filename="src/adw-message-dialog.c"
13356+ line="2210">a message dialog</doc>
13357+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13358+ </instance-parameter>
13359+ </parameters>
13360+ </method>
13361+ <method name="get_default_response"
13362+ c:identifier="adw_message_dialog_get_default_response"
13363+ glib:get-property="default-response"
13364+ version="1.2">
13365+ <attribute name="org.gtk.Method.get_property"
13366+ value="default-response"/>
13367+ <doc xml:space="preserve"
13368+ filename="src/adw-message-dialog.c"
13369+ line="2143">Gets the ID of the default response of @self.</doc>
13370+ <source-position filename="src/adw-message-dialog.h" line="134"/>
13371+ <return-value transfer-ownership="none" nullable="1">
13372+ <doc xml:space="preserve"
13373+ filename="src/adw-message-dialog.c"
13374+ line="2149">the default response ID</doc>
13375+ <type name="utf8" c:type="const char*"/>
13376+ </return-value>
13377+ <parameters>
13378+ <instance-parameter name="self" transfer-ownership="none">
13379+ <doc xml:space="preserve"
13380+ filename="src/adw-message-dialog.c"
13381+ line="2145">a message dialog</doc>
13382+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13383+ </instance-parameter>
13384+ </parameters>
13385+ </method>
13386+ <method name="get_extra_child"
13387+ c:identifier="adw_message_dialog_get_extra_child"
13388+ glib:get-property="extra-child"
13389+ version="1.2">
13390+ <attribute name="org.gtk.Method.get_property" value="extra-child"/>
13391+ <doc xml:space="preserve"
13392+ filename="src/adw-message-dialog.c"
13393+ line="1747">Gets the child widget of @self.</doc>
13394+ <source-position filename="src/adw-message-dialog.h" line="94"/>
13395+ <return-value transfer-ownership="none" nullable="1">
13396+ <doc xml:space="preserve"
13397+ filename="src/adw-message-dialog.c"
13398+ line="1753">the child widget of @self.</doc>
13399+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
13400+ </return-value>
13401+ <parameters>
13402+ <instance-parameter name="self" transfer-ownership="none">
13403+ <doc xml:space="preserve"
13404+ filename="src/adw-message-dialog.c"
13405+ line="1749">a message dialog</doc>
13406+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13407+ </instance-parameter>
13408+ </parameters>
13409+ </method>
13410+ <method name="get_heading"
13411+ c:identifier="adw_message_dialog_get_heading"
13412+ glib:get-property="heading"
13413+ version="1.2">
13414+ <attribute name="org.gtk.Method.get_property" value="heading"/>
13415+ <doc xml:space="preserve"
13416+ filename="src/adw-message-dialog.c"
13417+ line="1330">Gets the heading of @self.</doc>
13418+ <source-position filename="src/adw-message-dialog.h" line="50"/>
13419+ <return-value transfer-ownership="none" nullable="1">
13420+ <doc xml:space="preserve"
13421+ filename="src/adw-message-dialog.c"
13422+ line="1336">the heading of @self.</doc>
13423+ <type name="utf8" c:type="const char*"/>
13424+ </return-value>
13425+ <parameters>
13426+ <instance-parameter name="self" transfer-ownership="none">
13427+ <doc xml:space="preserve"
13428+ filename="src/adw-message-dialog.c"
13429+ line="1332">a message dialog</doc>
13430+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13431+ </instance-parameter>
13432+ </parameters>
13433+ </method>
13434+ <method name="get_heading_use_markup"
13435+ c:identifier="adw_message_dialog_get_heading_use_markup"
13436+ glib:get-property="heading-use-markup"
13437+ version="1.2">
13438+ <attribute name="org.gtk.Method.get_property"
13439+ value="heading-use-markup"/>
13440+ <doc xml:space="preserve"
13441+ filename="src/adw-message-dialog.c"
13442+ line="1391">Gets whether the heading of @self includes Pango markup.</doc>
13443+ <source-position filename="src/adw-message-dialog.h" line="56"/>
13444+ <return-value transfer-ownership="none">
13445+ <doc xml:space="preserve"
13446+ filename="src/adw-message-dialog.c"
13447+ line="1397">whether @self uses markup for heading</doc>
13448+ <type name="gboolean" c:type="gboolean"/>
13449+ </return-value>
13450+ <parameters>
13451+ <instance-parameter name="self" transfer-ownership="none">
13452+ <doc xml:space="preserve"
13453+ filename="src/adw-message-dialog.c"
13454+ line="1393">a message dialog</doc>
13455+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13456+ </instance-parameter>
13457+ </parameters>
13458+ </method>
13459+ <method name="get_response_appearance"
13460+ c:identifier="adw_message_dialog_get_response_appearance"
13461+ version="1.2">
13462+ <doc xml:space="preserve"
13463+ filename="src/adw-message-dialog.c"
13464+ line="1988">Gets the appearance of @response.
13465+
13466+See [method@MessageDialog.set_response_appearance].</doc>
13467+ <source-position filename="src/adw-message-dialog.h" line="118"/>
13468+ <return-value transfer-ownership="none">
13469+ <doc xml:space="preserve"
13470+ filename="src/adw-message-dialog.c"
13471+ line="1997">the appearance of @response</doc>
13472+ <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
13473+ </return-value>
13474+ <parameters>
13475+ <instance-parameter name="self" transfer-ownership="none">
13476+ <doc xml:space="preserve"
13477+ filename="src/adw-message-dialog.c"
13478+ line="1990">a message dialog</doc>
13479+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13480+ </instance-parameter>
13481+ <parameter name="response" transfer-ownership="none">
13482+ <doc xml:space="preserve"
13483+ filename="src/adw-message-dialog.c"
13484+ line="1991">a response ID</doc>
13485+ <type name="utf8" c:type="const char*"/>
13486+ </parameter>
13487+ </parameters>
13488+ </method>
13489+ <method name="get_response_enabled"
13490+ c:identifier="adw_message_dialog_get_response_enabled"
13491+ version="1.2">
13492+ <doc xml:space="preserve"
13493+ filename="src/adw-message-dialog.c"
13494+ line="2073">Gets whether @response is enabled.
13495+
13496+See [method@MessageDialog.set_response_enabled].</doc>
13497+ <source-position filename="src/adw-message-dialog.h" line="126"/>
13498+ <return-value transfer-ownership="none">
13499+ <doc xml:space="preserve"
13500+ filename="src/adw-message-dialog.c"
13501+ line="2082">whether @response is enabled</doc>
13502+ <type name="gboolean" c:type="gboolean"/>
13503+ </return-value>
13504+ <parameters>
13505+ <instance-parameter name="self" transfer-ownership="none">
13506+ <doc xml:space="preserve"
13507+ filename="src/adw-message-dialog.c"
13508+ line="2075">a message dialog</doc>
13509+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13510+ </instance-parameter>
13511+ <parameter name="response" transfer-ownership="none">
13512+ <doc xml:space="preserve"
13513+ filename="src/adw-message-dialog.c"
13514+ line="2076">a response ID</doc>
13515+ <type name="utf8" c:type="const char*"/>
13516+ </parameter>
13517+ </parameters>
13518+ </method>
13519+ <method name="get_response_label"
13520+ c:identifier="adw_message_dialog_get_response_label"
13521+ version="1.2">
13522+ <doc xml:space="preserve"
13523+ filename="src/adw-message-dialog.c"
13524+ line="1927">Gets the label of @response.
13525+
13526+See [method@MessageDialog.set_response_label].</doc>
13527+ <source-position filename="src/adw-message-dialog.h" line="110"/>
13528+ <return-value transfer-ownership="none">
13529+ <doc xml:space="preserve"
13530+ filename="src/adw-message-dialog.c"
13531+ line="1936">the label of @response</doc>
13532+ <type name="utf8" c:type="const char*"/>
13533+ </return-value>
13534+ <parameters>
13535+ <instance-parameter name="self" transfer-ownership="none">
13536+ <doc xml:space="preserve"
13537+ filename="src/adw-message-dialog.c"
13538+ line="1929">a message dialog</doc>
13539+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13540+ </instance-parameter>
13541+ <parameter name="response" transfer-ownership="none">
13542+ <doc xml:space="preserve"
13543+ filename="src/adw-message-dialog.c"
13544+ line="1930">a response ID</doc>
13545+ <type name="utf8" c:type="const char*"/>
13546+ </parameter>
13547+ </parameters>
13548+ </method>
13549+ <method name="has_response"
13550+ c:identifier="adw_message_dialog_has_response"
13551+ version="1.2">
13552+ <doc xml:space="preserve"
13553+ filename="src/adw-message-dialog.c"
13554+ line="2289">Gets whether @self has a response with the ID @response.</doc>
13555+ <source-position filename="src/adw-message-dialog.h" line="150"/>
13556+ <return-value transfer-ownership="none">
13557+ <doc xml:space="preserve"
13558+ filename="src/adw-message-dialog.c"
13559+ line="2296">whether @self has a response with the ID @response.</doc>
13560+ <type name="gboolean" c:type="gboolean"/>
13561+ </return-value>
13562+ <parameters>
13563+ <instance-parameter name="self" transfer-ownership="none">
13564+ <doc xml:space="preserve"
13565+ filename="src/adw-message-dialog.c"
13566+ line="2291">a message dialog</doc>
13567+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13568+ </instance-parameter>
13569+ <parameter name="response" transfer-ownership="none">
13570+ <doc xml:space="preserve"
13571+ filename="src/adw-message-dialog.c"
13572+ line="2292">response ID</doc>
13573+ <type name="utf8" c:type="const char*"/>
13574+ </parameter>
13575+ </parameters>
13576+ </method>
13577+ <method name="response"
13578+ c:identifier="adw_message_dialog_response"
13579+ version="1.2">
13580+ <attribute name="org.gtk.Method.signal" value="response"/>
13581+ <doc xml:space="preserve"
13582+ filename="src/adw-message-dialog.c"
13583+ line="2267">Emits the [signal@MessageDialog::response] signal with the given response ID.
13584+
13585+Used to indicate that the user has responded to the dialog in some way.</doc>
13586+ <source-position filename="src/adw-message-dialog.h" line="146"/>
13587+ <return-value transfer-ownership="none">
13588+ <type name="none" c:type="void"/>
13589+ </return-value>
13590+ <parameters>
13591+ <instance-parameter name="self" transfer-ownership="none">
13592+ <doc xml:space="preserve"
13593+ filename="src/adw-message-dialog.c"
13594+ line="2269">a message dialog</doc>
13595+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13596+ </instance-parameter>
13597+ <parameter name="response" transfer-ownership="none">
13598+ <doc xml:space="preserve"
13599+ filename="src/adw-message-dialog.c"
13600+ line="2270">response ID</doc>
13601+ <type name="utf8" c:type="const char*"/>
13602+ </parameter>
13603+ </parameters>
13604+ </method>
13605+ <method name="set_body"
13606+ c:identifier="adw_message_dialog_set_body"
13607+ glib:set-property="body"
13608+ version="1.2">
13609+ <attribute name="org.gtk.Method.set_property" value="body"/>
13610+ <doc xml:space="preserve"
13611+ filename="src/adw-message-dialog.c"
13612+ line="1563">Sets the body text of @self.</doc>
13613+ <source-position filename="src/adw-message-dialog.h" line="74"/>
13614+ <return-value transfer-ownership="none">
13615+ <type name="none" c:type="void"/>
13616+ </return-value>
13617+ <parameters>
13618+ <instance-parameter name="self" transfer-ownership="none">
13619+ <doc xml:space="preserve"
13620+ filename="src/adw-message-dialog.c"
13621+ line="1565">a message dialog</doc>
13622+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13623+ </instance-parameter>
13624+ <parameter name="body" transfer-ownership="none">
13625+ <doc xml:space="preserve"
13626+ filename="src/adw-message-dialog.c"
13627+ line="1566">the body of @self</doc>
13628+ <type name="utf8" c:type="const char*"/>
13629+ </parameter>
13630+ </parameters>
13631+ </method>
13632+ <method name="set_body_use_markup"
13633+ c:identifier="adw_message_dialog_set_body_use_markup"
13634+ glib:set-property="body-use-markup"
13635+ version="1.2">
13636+ <attribute name="org.gtk.Method.set_property" value="body-use-markup"/>
13637+ <doc xml:space="preserve"
13638+ filename="src/adw-message-dialog.c"
13639+ line="1622">Sets whether the body text of @self includes Pango markup.
13640+
13641+See [func@Pango.parse_markup].</doc>
13642+ <source-position filename="src/adw-message-dialog.h" line="80"/>
13643+ <return-value transfer-ownership="none">
13644+ <type name="none" c:type="void"/>
13645+ </return-value>
13646+ <parameters>
13647+ <instance-parameter name="self" transfer-ownership="none">
13648+ <doc xml:space="preserve"
13649+ filename="src/adw-message-dialog.c"
13650+ line="1624">a message dialog</doc>
13651+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13652+ </instance-parameter>
13653+ <parameter name="use_markup" transfer-ownership="none">
13654+ <doc xml:space="preserve"
13655+ filename="src/adw-message-dialog.c"
13656+ line="1625">whether to use markup for body text</doc>
13657+ <type name="gboolean" c:type="gboolean"/>
13658+ </parameter>
13659+ </parameters>
13660+ </method>
13661+ <method name="set_close_response"
13662+ c:identifier="adw_message_dialog_set_close_response"
13663+ glib:set-property="close-response"
13664+ version="1.2">
13665+ <attribute name="org.gtk.Method.set_property" value="close-response"/>
13666+ <doc xml:space="preserve"
13667+ filename="src/adw-message-dialog.c"
13668+ line="2230">Sets the ID of the close response of @self.
13669+
13670+It will be passed to [signal@MessageDialog::response] if the window is
13671+closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.
13672+
13673+It doesn't have to correspond to any of the responses in the dialog.
13674+
13675+The default close response is `close`.</doc>
13676+ <source-position filename="src/adw-message-dialog.h" line="142"/>
13677+ <return-value transfer-ownership="none">
13678+ <type name="none" c:type="void"/>
13679+ </return-value>
13680+ <parameters>
13681+ <instance-parameter name="self" transfer-ownership="none">
13682+ <doc xml:space="preserve"
13683+ filename="src/adw-message-dialog.c"
13684+ line="2232">a message dialog</doc>
13685+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13686+ </instance-parameter>
13687+ <parameter name="response" transfer-ownership="none">
13688+ <doc xml:space="preserve"
13689+ filename="src/adw-message-dialog.c"
13690+ line="2233">the close response ID</doc>
13691+ <type name="utf8" c:type="const char*"/>
13692+ </parameter>
13693+ </parameters>
13694+ </method>
13695+ <method name="set_default_response"
13696+ c:identifier="adw_message_dialog_set_default_response"
13697+ glib:set-property="default-response"
13698+ version="1.2">
13699+ <attribute name="org.gtk.Method.set_property"
13700+ value="default-response"/>
13701+ <doc xml:space="preserve"
13702+ filename="src/adw-message-dialog.c"
13703+ line="2168">Sets the ID of the default response of @self.
13704+
13705+If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.
13706+
13707+If set to `NULL` or to a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
13708+will do nothing.</doc>
13709+ <source-position filename="src/adw-message-dialog.h" line="136"/>
13710+ <return-value transfer-ownership="none">
13711+ <type name="none" c:type="void"/>
13712+ </return-value>
13713+ <parameters>
13714+ <instance-parameter name="self" transfer-ownership="none">
13715+ <doc xml:space="preserve"
13716+ filename="src/adw-message-dialog.c"
13717+ line="2170">a message dialog</doc>
13718+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13719+ </instance-parameter>
13720+ <parameter name="response"
13721+ transfer-ownership="none"
13722+ nullable="1"
13723+ allow-none="1">
13724+ <doc xml:space="preserve"
13725+ filename="src/adw-message-dialog.c"
13726+ line="2171">the default response ID</doc>
13727+ <type name="utf8" c:type="const char*"/>
13728+ </parameter>
13729+ </parameters>
13730+ </method>
13731+ <method name="set_extra_child"
13732+ c:identifier="adw_message_dialog_set_extra_child"
13733+ glib:set-property="extra-child"
13734+ version="1.2">
13735+ <attribute name="org.gtk.Method.set_property" value="extra-child"/>
13736+ <doc xml:space="preserve"
13737+ filename="src/adw-message-dialog.c"
13738+ line="1769">Sets the child widget of @self.
13739+
13740+The child widget is displayed below the heading and body.</doc>
13741+ <source-position filename="src/adw-message-dialog.h" line="96"/>
13742+ <return-value transfer-ownership="none">
13743+ <type name="none" c:type="void"/>
13744+ </return-value>
13745+ <parameters>
13746+ <instance-parameter name="self" transfer-ownership="none">
13747+ <doc xml:space="preserve"
13748+ filename="src/adw-message-dialog.c"
13749+ line="1771">a message dialog</doc>
13750+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13751+ </instance-parameter>
13752+ <parameter name="child"
13753+ transfer-ownership="none"
13754+ nullable="1"
13755+ allow-none="1">
13756+ <doc xml:space="preserve"
13757+ filename="src/adw-message-dialog.c"
13758+ line="1772">the child widget</doc>
13759+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
13760+ </parameter>
13761+ </parameters>
13762+ </method>
13763+ <method name="set_heading"
13764+ c:identifier="adw_message_dialog_set_heading"
13765+ glib:set-property="heading"
13766+ version="1.2">
13767+ <attribute name="org.gtk.Method.set_property" value="heading"/>
13768+ <doc xml:space="preserve"
13769+ filename="src/adw-message-dialog.c"
13770+ line="1352">Sets the heading of @self.</doc>
13771+ <source-position filename="src/adw-message-dialog.h" line="52"/>
13772+ <return-value transfer-ownership="none">
13773+ <type name="none" c:type="void"/>
13774+ </return-value>
13775+ <parameters>
13776+ <instance-parameter name="self" transfer-ownership="none">
13777+ <doc xml:space="preserve"
13778+ filename="src/adw-message-dialog.c"
13779+ line="1354">a message dialog</doc>
13780+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13781+ </instance-parameter>
13782+ <parameter name="heading"
13783+ transfer-ownership="none"
13784+ nullable="1"
13785+ allow-none="1">
13786+ <doc xml:space="preserve"
13787+ filename="src/adw-message-dialog.c"
13788+ line="1355">the heading of @self</doc>
13789+ <type name="utf8" c:type="const char*"/>
13790+ </parameter>
13791+ </parameters>
13792+ </method>
13793+ <method name="set_heading_use_markup"
13794+ c:identifier="adw_message_dialog_set_heading_use_markup"
13795+ glib:set-property="heading-use-markup"
13796+ version="1.2">
13797+ <attribute name="org.gtk.Method.set_property"
13798+ value="heading-use-markup"/>
13799+ <doc xml:space="preserve"
13800+ filename="src/adw-message-dialog.c"
13801+ line="1413">Sets whether the heading of @self includes Pango markup.
13802+
13803+See [func@Pango.parse_markup].</doc>
13804+ <source-position filename="src/adw-message-dialog.h" line="58"/>
13805+ <return-value transfer-ownership="none">
13806+ <type name="none" c:type="void"/>
13807+ </return-value>
13808+ <parameters>
13809+ <instance-parameter name="self" transfer-ownership="none">
13810+ <doc xml:space="preserve"
13811+ filename="src/adw-message-dialog.c"
13812+ line="1415">a message dialog</doc>
13813+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13814+ </instance-parameter>
13815+ <parameter name="use_markup" transfer-ownership="none">
13816+ <doc xml:space="preserve"
13817+ filename="src/adw-message-dialog.c"
13818+ line="1416">whether to use markup for heading</doc>
13819+ <type name="gboolean" c:type="gboolean"/>
13820+ </parameter>
13821+ </parameters>
13822+ </method>
13823+ <method name="set_response_appearance"
13824+ c:identifier="adw_message_dialog_set_response_appearance"
13825+ version="1.2">
13826+ <doc xml:space="preserve"
13827+ filename="src/adw-message-dialog.c"
13828+ line="2016">Sets the appearance for @response.
13829+
13830+&lt;picture&gt;
13831+ &lt;source srcset="message-dialog-appearance-dark.png" media="(prefers-color-scheme: dark)"&gt;
13832+ &lt;img src="message-dialog-appearance.png" alt="message-dialog-appearance"&gt;
13833+&lt;/picture&gt;
13834+
13835+Use `ADW_RESPONSE_SUGGESTED` to mark important responses such as the
13836+affirmative action, like the Save button in the example.
13837+
13838+Use `ADW_RESPONSE_DESTRUCTIVE` to draw attention to the potentially damaging
13839+consequences of using @response. This appearance acts as a warning to the
13840+user. The Discard button in the example is using this appearance.
13841+
13842+The default appearance is `ADW_RESPONSE_DEFAULT`.
13843+
13844+Negative responses like Cancel or Close should use the default appearance.</doc>
13845+ <source-position filename="src/adw-message-dialog.h" line="121"/>
13846+ <return-value transfer-ownership="none">
13847+ <type name="none" c:type="void"/>
13848+ </return-value>
13849+ <parameters>
13850+ <instance-parameter name="self" transfer-ownership="none">
13851+ <doc xml:space="preserve"
13852+ filename="src/adw-message-dialog.c"
13853+ line="2018">a message dialog</doc>
13854+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13855+ </instance-parameter>
13856+ <parameter name="response" transfer-ownership="none">
13857+ <doc xml:space="preserve"
13858+ filename="src/adw-message-dialog.c"
13859+ line="2019">a response ID</doc>
13860+ <type name="utf8" c:type="const char*"/>
13861+ </parameter>
13862+ <parameter name="appearance" transfer-ownership="none">
13863+ <doc xml:space="preserve"
13864+ filename="src/adw-message-dialog.c"
13865+ line="2020">appearance for @response</doc>
13866+ <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
13867+ </parameter>
13868+ </parameters>
13869+ </method>
13870+ <method name="set_response_enabled"
13871+ c:identifier="adw_message_dialog_set_response_enabled"
13872+ version="1.2">
13873+ <doc xml:space="preserve"
13874+ filename="src/adw-message-dialog.c"
13875+ line="2101">Sets whether @response is enabled.
13876+
13877+If @response is not enabled, the corresponding button will have
13878+[property@Gtk.Widget:sensitive] set to `FALSE` and it can't be activated as
13879+a default response.
13880+
13881+@response can still be used as [property@MessageDialog:close-response] while
13882+it's not enabled.
13883+
13884+Responses are enabled by default.</doc>
13885+ <source-position filename="src/adw-message-dialog.h" line="129"/>
13886+ <return-value transfer-ownership="none">
13887+ <type name="none" c:type="void"/>
13888+ </return-value>
13889+ <parameters>
13890+ <instance-parameter name="self" transfer-ownership="none">
13891+ <doc xml:space="preserve"
13892+ filename="src/adw-message-dialog.c"
13893+ line="2103">a message dialog</doc>
13894+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13895+ </instance-parameter>
13896+ <parameter name="response" transfer-ownership="none">
13897+ <doc xml:space="preserve"
13898+ filename="src/adw-message-dialog.c"
13899+ line="2104">a response ID</doc>
13900+ <type name="utf8" c:type="const char*"/>
13901+ </parameter>
13902+ <parameter name="enabled" transfer-ownership="none">
13903+ <doc xml:space="preserve"
13904+ filename="src/adw-message-dialog.c"
13905+ line="2105">whether to enable @response</doc>
13906+ <type name="gboolean" c:type="gboolean"/>
13907+ </parameter>
13908+ </parameters>
13909+ </method>
13910+ <method name="set_response_label"
13911+ c:identifier="adw_message_dialog_set_response_label"
13912+ version="1.2">
13913+ <doc xml:space="preserve"
13914+ filename="src/adw-message-dialog.c"
13915+ line="1955">Sets the label of @response to @label.
13916+
13917+Labels are displayed on the dialog buttons. An embedded underline in @label
13918+indicates a mnemonic.</doc>
13919+ <source-position filename="src/adw-message-dialog.h" line="113"/>
13920+ <return-value transfer-ownership="none">
13921+ <type name="none" c:type="void"/>
13922+ </return-value>
13923+ <parameters>
13924+ <instance-parameter name="self" transfer-ownership="none">
13925+ <doc xml:space="preserve"
13926+ filename="src/adw-message-dialog.c"
13927+ line="1957">a message dialog</doc>
13928+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
13929+ </instance-parameter>
13930+ <parameter name="response" transfer-ownership="none">
13931+ <doc xml:space="preserve"
13932+ filename="src/adw-message-dialog.c"
13933+ line="1958">a response ID</doc>
13934+ <type name="utf8" c:type="const char*"/>
13935+ </parameter>
13936+ <parameter name="label" transfer-ownership="none">
13937+ <doc xml:space="preserve"
13938+ filename="src/adw-message-dialog.c"
13939+ line="1959">the label of @response</doc>
13940+ <type name="utf8" c:type="const char*"/>
13941+ </parameter>
13942+ </parameters>
13943+ </method>
13944+ <property name="body"
13945+ version="1.2"
13946+ writable="1"
13947+ transfer-ownership="none"
13948+ setter="set_body"
13949+ getter="get_body">
13950+ <attribute name="org.gtk.Property.get"
13951+ value="adw_message_dialog_get_body"/>
13952+ <attribute name="org.gtk.Property.set"
13953+ value="adw_message_dialog_set_body"/>
13954+ <doc xml:space="preserve"
13955+ filename="src/adw-message-dialog.c"
13956+ line="897">The body text of the dialog.</doc>
13957+ <type name="utf8" c:type="gchar*"/>
13958+ </property>
13959+ <property name="body-use-markup"
13960+ version="1.2"
13961+ writable="1"
13962+ transfer-ownership="none"
13963+ setter="set_body_use_markup"
13964+ getter="get_body_use_markup"
13965+ default-value="FALSE">
13966+ <attribute name="org.gtk.Property.get"
13967+ value="adw_message_dialog_get_body_use_markup"/>
13968+ <attribute name="org.gtk.Property.set"
13969+ value="adw_message_dialog_set_body_use_markup"/>
13970+ <doc xml:space="preserve"
13971+ filename="src/adw-message-dialog.c"
13972+ line="909">Whether the body text includes Pango markup.
13973+
13974+See [func@Pango.parse_markup].</doc>
13975+ <type name="gboolean" c:type="gboolean"/>
13976+ </property>
13977+ <property name="close-response"
13978+ version="1.2"
13979+ writable="1"
13980+ transfer-ownership="none"
13981+ setter="set_close_response"
13982+ getter="get_close_response"
13983+ default-value="close">
13984+ <attribute name="org.gtk.Property.get"
13985+ value="adw_message_dialog_get_close_response"/>
13986+ <attribute name="org.gtk.Property.set"
13987+ value="adw_message_dialog_set_close_response"/>
13988+ <doc xml:space="preserve"
13989+ filename="src/adw-message-dialog.c"
13990+ line="954">The ID of the close response.
13991+
13992+It will be passed to [signal@MessageDialog::response] if the window is
13993+closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.
13994+
13995+It doesn't have to correspond to any of the responses in the dialog.
13996+
13997+The default close response is `close`.</doc>
13998+ <type name="utf8" c:type="gchar*"/>
13999+ </property>
14000+ <property name="default-response"
14001+ version="1.2"
14002+ writable="1"
14003+ transfer-ownership="none"
14004+ setter="set_default_response"
14005+ getter="get_default_response"
14006+ default-value="NULL">
14007+ <attribute name="org.gtk.Property.get"
14008+ value="adw_message_dialog_get_default_response"/>
14009+ <attribute name="org.gtk.Property.set"
14010+ value="adw_message_dialog_set_default_response"/>
14011+ <doc xml:space="preserve"
14012+ filename="src/adw-message-dialog.c"
14013+ line="937">The response ID of the default response.
14014+
14015+If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.
14016+
14017+If set to `NULL` or a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
14018+will do nothing.</doc>
14019+ <type name="utf8" c:type="gchar*"/>
14020+ </property>
14021+ <property name="extra-child"
14022+ version="1.2"
14023+ writable="1"
14024+ transfer-ownership="none"
14025+ setter="set_extra_child"
14026+ getter="get_extra_child">
14027+ <attribute name="org.gtk.Property.get"
14028+ value="adw_message_dialog_get_extra_child"/>
14029+ <attribute name="org.gtk.Property.set"
14030+ value="adw_message_dialog_set_extra_child"/>
14031+ <doc xml:space="preserve"
14032+ filename="src/adw-message-dialog.c"
14033+ line="923">The child widget.
14034+
14035+Displayed below the heading and body.</doc>
14036+ <type name="Gtk.Widget"/>
14037+ </property>
14038+ <property name="heading"
14039+ version="1.2"
14040+ writable="1"
14041+ transfer-ownership="none"
14042+ setter="set_heading"
14043+ getter="get_heading">
14044+ <attribute name="org.gtk.Property.get"
14045+ value="adw_message_dialog_get_heading"/>
14046+ <attribute name="org.gtk.Property.set"
14047+ value="adw_message_dialog_set_heading"/>
14048+ <doc xml:space="preserve"
14049+ filename="src/adw-message-dialog.c"
14050+ line="871">The heading of the dialog.</doc>
14051+ <type name="utf8" c:type="gchar*"/>
14052+ </property>
14053+ <property name="heading-use-markup"
14054+ version="1.2"
14055+ writable="1"
14056+ transfer-ownership="none"
14057+ setter="set_heading_use_markup"
14058+ getter="get_heading_use_markup"
14059+ default-value="FALSE">
14060+ <attribute name="org.gtk.Property.get"
14061+ value="adw_message_dialog_get_heading_use_markup"/>
14062+ <attribute name="org.gtk.Property.set"
14063+ value="adw_message_dialog_set_heading_use_markup"/>
14064+ <doc xml:space="preserve"
14065+ filename="src/adw-message-dialog.c"
14066+ line="883">Whether the heading includes Pango markup.
14067+
14068+See [func@Pango.parse_markup].</doc>
14069+ <type name="gboolean" c:type="gboolean"/>
14070+ </property>
14071+ <field name="parent_instance">
14072+ <type name="Gtk.Window" c:type="GtkWindow"/>
14073+ </field>
14074+ <glib:signal name="response" when="last" detailed="1" version="1.2">
14075+ <doc xml:space="preserve"
14076+ filename="src/adw-message-dialog.c"
14077+ line="975">This signal is emitted when the dialog is closed.
14078+
14079+@response will be set to the response ID of the button that had been
14080+activated.
14081+
14082+if the dialog was closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system
14083+action, @response will be set to the value of
14084+[property@MessageDialog:close-response].</doc>
14085+ <return-value transfer-ownership="none">
14086+ <type name="none" c:type="void"/>
14087+ </return-value>
14088+ <parameters>
14089+ <parameter name="response" transfer-ownership="none">
14090+ <doc xml:space="preserve"
14091+ filename="src/adw-message-dialog.c"
14092+ line="978">the response ID</doc>
14093+ <type name="utf8" c:type="gchar*"/>
14094+ </parameter>
14095+ </parameters>
14096+ </glib:signal>
14097+ </class>
14098+ <record name="MessageDialogClass"
14099+ c:type="AdwMessageDialogClass"
14100+ glib:is-gtype-struct-for="MessageDialog">
14101+ <source-position filename="src/adw-message-dialog.h" line="42"/>
14102+ <field name="parent_class">
14103+ <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
14104+ </field>
14105+ <field name="response">
14106+ <callback name="response">
14107+ <source-position filename="src/adw-message-dialog.h" line="37"/>
14108+ <return-value transfer-ownership="none">
14109+ <type name="none" c:type="void"/>
14110+ </return-value>
14111+ <parameters>
14112+ <parameter name="self" transfer-ownership="none">
14113+ <doc xml:space="preserve"
14114+ filename="src/adw-message-dialog.c"
14115+ line="2269">a message dialog</doc>
14116+ <type name="MessageDialog" c:type="AdwMessageDialog*"/>
14117+ </parameter>
14118+ <parameter name="response" transfer-ownership="none">
14119+ <doc xml:space="preserve"
14120+ filename="src/adw-message-dialog.c"
14121+ line="2270">response ID</doc>
14122+ <type name="utf8" c:type="const char*"/>
14123+ </parameter>
14124+ </parameters>
14125+ </callback>
14126+ </field>
14127+ <field name="padding" readable="0" private="1">
14128+ <array zero-terminated="0" fixed-size="4">
14129+ <type name="gpointer" c:type="gpointer"/>
14130+ </array>
14131+ </field>
14132+ </record>
14133+ <enumeration name="NavigationDirection"
14134+ glib:type-name="AdwNavigationDirection"
14135+ glib:get-type="adw_navigation_direction_get_type"
14136+ c:type="AdwNavigationDirection">
14137+ <doc xml:space="preserve"
14138+ filename="src/adw-navigation-direction.c"
14139+ line="10">Describes the direction of a swipe navigation gesture.</doc>
14140+ <member name="back"
14141+ value="0"
14142+ c:identifier="ADW_NAVIGATION_DIRECTION_BACK"
14143+ glib:nick="back"
14144+ glib:name="ADW_NAVIGATION_DIRECTION_BACK">
14145+ <doc xml:space="preserve"
14146+ filename="src/adw-navigation-direction.c"
14147+ line="12">Corresponds to start or top, depending on orientation and text direction</doc>
14148+ </member>
14149+ <member name="forward"
14150+ value="1"
14151+ c:identifier="ADW_NAVIGATION_DIRECTION_FORWARD"
14152+ glib:nick="forward"
14153+ glib:name="ADW_NAVIGATION_DIRECTION_FORWARD">
14154+ <doc xml:space="preserve"
14155+ filename="src/adw-navigation-direction.c"
14156+ line="13">Corresponds to end or bottom, depending on orientation and text direction</doc>
14157+ </member>
14158+ </enumeration>
14159+ <class name="PasswordEntryRow"
14160+ c:symbol-prefix="password_entry_row"
14161+ c:type="AdwPasswordEntryRow"
14162+ version="1.2"
14163+ parent="EntryRow"
14164+ final="1"
14165+ glib:type-name="AdwPasswordEntryRow"
14166+ glib:get-type="adw_password_entry_row_get_type"
14167+ glib:type-struct="PasswordEntryRowClass">
14168+ <doc xml:space="preserve"
14169+ filename="src/adw-password-entry-row.c"
14170+ line="15">A [class@EntryRow] tailored for entering secrets.
14171+
14172+&lt;picture&gt;
14173+ &lt;source srcset="password-entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
14174+ &lt;img src="password-entry-row.png" alt="password-entry-row"&gt;
14175+&lt;/picture&gt;
14176+
14177+It does not show its contents in clear text, does not allow to copy it to the
14178+clipboard, and shows a warning when Caps Lock is engaged. If the underlying
14179+platform allows it, `AdwPasswordEntryRow` will also place the text in a
14180+non-pageable memory area, to avoid it being written out to disk by the
14181+operating system.
14182+
14183+It offer a way to reveal the contents in clear text.
14184+
14185+## CSS Nodes
14186+
14187+`AdwPasswordEntryRow` has a single CSS node with name `row` that carries
14188+`.entry` and `.password` style classes.</doc>
14189+ <source-position filename="src/adw-password-entry-row.h" line="24"/>
14190+ <implements name="Gtk.Accessible"/>
14191+ <implements name="Gtk.Actionable"/>
14192+ <implements name="Gtk.Buildable"/>
14193+ <implements name="Gtk.ConstraintTarget"/>
14194+ <implements name="Gtk.Editable"/>
14195+ <constructor name="new"
14196+ c:identifier="adw_password_entry_row_new"
14197+ version="1.2">
14198+ <doc xml:space="preserve"
14199+ filename="src/adw-password-entry-row.c"
14200+ line="189">Creates a new `AdwPasswordEntryRow`.</doc>
14201+ <source-position filename="src/adw-password-entry-row.h" line="27"/>
14202+ <return-value transfer-ownership="none">
14203+ <doc xml:space="preserve"
14204+ filename="src/adw-password-entry-row.c"
14205+ line="194">the newly created `AdwPasswordEntryRow`</doc>
14206+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14207+ </return-value>
14208+ </constructor>
14209+ </class>
14210+ <record name="PasswordEntryRowClass"
14211+ c:type="AdwPasswordEntryRowClass"
14212+ glib:is-gtype-struct-for="PasswordEntryRow">
14213+ <source-position filename="src/adw-password-entry-row.h" line="24"/>
14214+ <field name="parent_class">
14215+ <type name="EntryRowClass" c:type="AdwEntryRowClass"/>
14216+ </field>
14217+ </record>
14218+ <class name="PreferencesGroup"
14219+ c:symbol-prefix="preferences_group"
14220+ c:type="AdwPreferencesGroup"
14221+ parent="Gtk.Widget"
14222+ glib:type-name="AdwPreferencesGroup"
14223+ glib:get-type="adw_preferences_group_get_type"
14224+ glib:type-struct="PreferencesGroupClass">
14225+ <doc xml:space="preserve"
14226+ filename="src/adw-preferences-group.c"
14227+ line="14">A group of preference rows.
14228+
14229+&lt;picture&gt;
14230+ &lt;source srcset="preferences-group-dark.png" media="(prefers-color-scheme: dark)"&gt;
14231+ &lt;img src="preferences-group.png" alt="preferences-group"&gt;
14232+&lt;/picture&gt;
14233+
14234+An `AdwPreferencesGroup` represents a group or tightly related preferences,
14235+which in turn are represented by [class@PreferencesRow].
14236+
14237+To summarize the role of the preferences it gathers, a group can have both a
14238+title and a description. The title will be used by [class@PreferencesWindow]
14239+to let the user look for a preference.
14240+
14241+## AdwPreferencesGroup as GtkBuildable
14242+
14243+The `AdwPreferencesGroup` implementation of the [iface@Gtk.Buildable] interface
14244+supports adding [class@PreferencesRow]s to the list by omitting "type". If "type"
14245+is omitted and the widget isn't a [class@PreferencesRow] the child is added to
14246+a box below the list.
14247+
14248+When the "type" attribute of a child is `header-suffix`, the child
14249+is set as the suffix on the end of the title and description.
14250+
14251+## CSS nodes
14252+
14253+`AdwPreferencesGroup` has a single CSS node with name `preferencesgroup`.
14254+
14255+## Accessibility
14256+
14257+`AdwPreferencesGroup` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
14258+ <source-position filename="src/adw-preferences-group.h" line="34"/>
14259+ <implements name="Gtk.Accessible"/>
14260+ <implements name="Gtk.Buildable"/>
14261+ <implements name="Gtk.ConstraintTarget"/>
14262+ <constructor name="new" c:identifier="adw_preferences_group_new">
14263+ <doc xml:space="preserve"
14264+ filename="src/adw-preferences-group.c"
14265+ line="349">Creates a new `AdwPreferencesGroup`.</doc>
14266+ <source-position filename="src/adw-preferences-group.h" line="37"/>
14267+ <return-value transfer-ownership="none">
14268+ <doc xml:space="preserve"
14269+ filename="src/adw-preferences-group.c"
14270+ line="354">the newly created `AdwPreferencesGroup`</doc>
14271+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14272+ </return-value>
14273+ </constructor>
14274+ <method name="add" c:identifier="adw_preferences_group_add">
14275+ <doc xml:space="preserve"
14276+ filename="src/adw-preferences-group.c"
14277+ line="362">Adds a child to @self.</doc>
14278+ <source-position filename="src/adw-preferences-group.h" line="40"/>
14279+ <return-value transfer-ownership="none">
14280+ <type name="none" c:type="void"/>
14281+ </return-value>
14282+ <parameters>
14283+ <instance-parameter name="self" transfer-ownership="none">
14284+ <doc xml:space="preserve"
14285+ filename="src/adw-preferences-group.c"
14286+ line="364">a preferences group</doc>
14287+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14288+ </instance-parameter>
14289+ <parameter name="child" transfer-ownership="none">
14290+ <doc xml:space="preserve"
14291+ filename="src/adw-preferences-group.c"
14292+ line="365">the widget to add</doc>
14293+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14294+ </parameter>
14295+ </parameters>
14296+ </method>
14297+ <method name="get_description"
14298+ c:identifier="adw_preferences_group_get_description"
14299+ glib:get-property="description">
14300+ <attribute name="org.gtk.Method.get_property" value="description"/>
14301+ <doc xml:space="preserve"
14302+ filename="src/adw-preferences-group.c"
14303+ line="462">Gets the description of @self.</doc>
14304+ <source-position filename="src/adw-preferences-group.h" line="53"/>
14305+ <return-value transfer-ownership="none" nullable="1">
14306+ <doc xml:space="preserve"
14307+ filename="src/adw-preferences-group.c"
14308+ line="468">the description of @self</doc>
14309+ <type name="utf8" c:type="const char*"/>
14310+ </return-value>
14311+ <parameters>
14312+ <instance-parameter name="self" transfer-ownership="none">
14313+ <doc xml:space="preserve"
14314+ filename="src/adw-preferences-group.c"
14315+ line="464">a preferences group</doc>
14316+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14317+ </instance-parameter>
14318+ </parameters>
14319+ </method>
14320+ <method name="get_header_suffix"
14321+ c:identifier="adw_preferences_group_get_header_suffix"
14322+ glib:get-property="header-suffix"
14323+ version="1.1">
14324+ <doc xml:space="preserve"
14325+ filename="src/adw-preferences-group.c"
14326+ line="509">Gets the suffix for @self's header.</doc>
14327+ <source-position filename="src/adw-preferences-group.h" line="59"/>
14328+ <return-value transfer-ownership="none" nullable="1">
14329+ <doc xml:space="preserve"
14330+ filename="src/adw-preferences-group.c"
14331+ line="515">the suffix for @self's header.</doc>
14332+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14333+ </return-value>
14334+ <parameters>
14335+ <instance-parameter name="self" transfer-ownership="none">
14336+ <doc xml:space="preserve"
14337+ filename="src/adw-preferences-group.c"
14338+ line="511">a `AdwPreferencesGroup`</doc>
14339+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14340+ </instance-parameter>
14341+ </parameters>
14342+ </method>
14343+ <method name="get_title"
14344+ c:identifier="adw_preferences_group_get_title"
14345+ glib:get-property="title">
14346+ <attribute name="org.gtk.Method.get_property" value="title"/>
14347+ <doc xml:space="preserve"
14348+ filename="src/adw-preferences-group.c"
14349+ line="415">Gets the title of @self.</doc>
14350+ <source-position filename="src/adw-preferences-group.h" line="47"/>
14351+ <return-value transfer-ownership="none">
14352+ <doc xml:space="preserve"
14353+ filename="src/adw-preferences-group.c"
14354+ line="421">the title of @self</doc>
14355+ <type name="utf8" c:type="const char*"/>
14356+ </return-value>
14357+ <parameters>
14358+ <instance-parameter name="self" transfer-ownership="none">
14359+ <doc xml:space="preserve"
14360+ filename="src/adw-preferences-group.c"
14361+ line="417">a preferences group</doc>
14362+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14363+ </instance-parameter>
14364+ </parameters>
14365+ </method>
14366+ <method name="remove" c:identifier="adw_preferences_group_remove">
14367+ <doc xml:space="preserve"
14368+ filename="src/adw-preferences-group.c"
14369+ line="386">Removes a child from @self.</doc>
14370+ <source-position filename="src/adw-preferences-group.h" line="43"/>
14371+ <return-value transfer-ownership="none">
14372+ <type name="none" c:type="void"/>
14373+ </return-value>
14374+ <parameters>
14375+ <instance-parameter name="self" transfer-ownership="none">
14376+ <doc xml:space="preserve"
14377+ filename="src/adw-preferences-group.c"
14378+ line="388">a preferences group</doc>
14379+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14380+ </instance-parameter>
14381+ <parameter name="child" transfer-ownership="none">
14382+ <doc xml:space="preserve"
14383+ filename="src/adw-preferences-group.c"
14384+ line="389">the child to remove</doc>
14385+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14386+ </parameter>
14387+ </parameters>
14388+ </method>
14389+ <method name="set_description"
14390+ c:identifier="adw_preferences_group_set_description"
14391+ glib:set-property="description">
14392+ <attribute name="org.gtk.Method.set_property" value="description"/>
14393+ <doc xml:space="preserve"
14394+ filename="src/adw-preferences-group.c"
14395+ line="482">Sets the description for @self.</doc>
14396+ <source-position filename="src/adw-preferences-group.h" line="55"/>
14397+ <return-value transfer-ownership="none">
14398+ <type name="none" c:type="void"/>
14399+ </return-value>
14400+ <parameters>
14401+ <instance-parameter name="self" transfer-ownership="none">
14402+ <doc xml:space="preserve"
14403+ filename="src/adw-preferences-group.c"
14404+ line="484">a preferences group</doc>
14405+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14406+ </instance-parameter>
14407+ <parameter name="description"
14408+ transfer-ownership="none"
14409+ nullable="1"
14410+ allow-none="1">
14411+ <doc xml:space="preserve"
14412+ filename="src/adw-preferences-group.c"
14413+ line="485">the description</doc>
14414+ <type name="utf8" c:type="const char*"/>
14415+ </parameter>
14416+ </parameters>
14417+ </method>
14418+ <method name="set_header_suffix"
14419+ c:identifier="adw_preferences_group_set_header_suffix"
14420+ glib:set-property="header-suffix"
14421+ version="1.1">
14422+ <doc xml:space="preserve"
14423+ filename="src/adw-preferences-group.c"
14424+ line="531">Sets the suffix for @self's header.
14425+
14426+Displayed above the list, next to the title and description.
14427+
14428+Suffixes are commonly used to show a button or a spinner for the whole group.</doc>
14429+ <source-position filename="src/adw-preferences-group.h" line="61"/>
14430+ <return-value transfer-ownership="none">
14431+ <type name="none" c:type="void"/>
14432+ </return-value>
14433+ <parameters>
14434+ <instance-parameter name="self" transfer-ownership="none">
14435+ <doc xml:space="preserve"
14436+ filename="src/adw-preferences-group.c"
14437+ line="533">a `AdwPreferencesGroup`</doc>
14438+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14439+ </instance-parameter>
14440+ <parameter name="suffix"
14441+ transfer-ownership="none"
14442+ nullable="1"
14443+ allow-none="1">
14444+ <doc xml:space="preserve"
14445+ filename="src/adw-preferences-group.c"
14446+ line="534">the suffix to set</doc>
14447+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14448+ </parameter>
14449+ </parameters>
14450+ </method>
14451+ <method name="set_title"
14452+ c:identifier="adw_preferences_group_set_title"
14453+ glib:set-property="title">
14454+ <attribute name="org.gtk.Method.set_property" value="title"/>
14455+ <doc xml:space="preserve"
14456+ filename="src/adw-preferences-group.c"
14457+ line="435">Sets the title for @self.</doc>
14458+ <source-position filename="src/adw-preferences-group.h" line="49"/>
14459+ <return-value transfer-ownership="none">
14460+ <type name="none" c:type="void"/>
14461+ </return-value>
14462+ <parameters>
14463+ <instance-parameter name="self" transfer-ownership="none">
14464+ <doc xml:space="preserve"
14465+ filename="src/adw-preferences-group.c"
14466+ line="437">a preferences group</doc>
14467+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14468+ </instance-parameter>
14469+ <parameter name="title" transfer-ownership="none">
14470+ <doc xml:space="preserve"
14471+ filename="src/adw-preferences-group.c"
14472+ line="438">the title</doc>
14473+ <type name="utf8" c:type="const char*"/>
14474+ </parameter>
14475+ </parameters>
14476+ </method>
14477+ <property name="description"
14478+ writable="1"
14479+ transfer-ownership="none"
14480+ setter="set_description"
14481+ getter="get_description">
14482+ <attribute name="org.gtk.Property.get"
14483+ value="adw_preferences_group_get_description"/>
14484+ <attribute name="org.gtk.Property.set"
14485+ value="adw_preferences_group_set_description"/>
14486+ <doc xml:space="preserve"
14487+ filename="src/adw-preferences-group.c"
14488+ line="262">The description for this group of preferences.</doc>
14489+ <type name="utf8" c:type="gchar*"/>
14490+ </property>
14491+ <property name="header-suffix"
14492+ version="1.1"
14493+ writable="1"
14494+ transfer-ownership="none"
14495+ setter="set_header_suffix"
14496+ getter="get_header_suffix">
14497+ <attribute name="org.gtk.Property.get"
14498+ value="adw_preferences_group_get_header_suffix"/>
14499+ <attribute name="org.gtk.Property.set"
14500+ value="adw_preferences_group_set_header_suffix"/>
14501+ <doc xml:space="preserve"
14502+ filename="src/adw-preferences-group.c"
14503+ line="272">The header suffix widget.
14504+
14505+Displayed above the list, next to the title and description.
14506+
14507+Suffixes are commonly used to show a button or a spinner for the whole
14508+group.</doc>
14509+ <type name="Gtk.Widget"/>
14510+ </property>
14511+ <property name="title"
14512+ writable="1"
14513+ transfer-ownership="none"
14514+ setter="set_title"
14515+ getter="get_title">
14516+ <attribute name="org.gtk.Property.get"
14517+ value="adw_preferences_group_get_title"/>
14518+ <attribute name="org.gtk.Property.set"
14519+ value="adw_preferences_group_set_title"/>
14520+ <doc xml:space="preserve"
14521+ filename="src/adw-preferences-group.c"
14522+ line="252">The title for this group of preferences.</doc>
14523+ <type name="utf8" c:type="gchar*"/>
14524+ </property>
14525+ <field name="parent_instance">
14526+ <type name="Gtk.Widget" c:type="GtkWidget"/>
14527+ </field>
14528+ </class>
14529+ <record name="PreferencesGroupClass"
14530+ c:type="AdwPreferencesGroupClass"
14531+ glib:is-gtype-struct-for="PreferencesGroup">
14532+ <source-position filename="src/adw-preferences-group.h" line="34"/>
14533+ <field name="parent_class">
14534+ <doc xml:space="preserve"
14535+ filename="src/adw-preferences-group.h"
14536+ line="26">The parent class</doc>
14537+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
14538+ </field>
14539+ <field name="padding" readable="0" private="1">
14540+ <array zero-terminated="0" fixed-size="4">
14541+ <type name="gpointer" c:type="gpointer"/>
14542+ </array>
14543+ </field>
14544+ </record>
14545+ <class name="PreferencesPage"
14546+ c:symbol-prefix="preferences_page"
14547+ c:type="AdwPreferencesPage"
14548+ parent="Gtk.Widget"
14549+ glib:type-name="AdwPreferencesPage"
14550+ glib:get-type="adw_preferences_page_get_type"
14551+ glib:type-struct="PreferencesPageClass">
14552+ <doc xml:space="preserve"
14553+ filename="src/adw-preferences-page.c"
14554+ line="14">A page from [class@PreferencesWindow].
14555+
14556+&lt;picture&gt;
14557+ &lt;source srcset="preferences-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
14558+ &lt;img src="preferences-page.png" alt="preferences-page"&gt;
14559+&lt;/picture&gt;
14560+
14561+The `AdwPreferencesPage` widget gathers preferences groups into a single page
14562+of a preferences window.
14563+
14564+## CSS nodes
14565+
14566+`AdwPreferencesPage` has a single CSS node with name `preferencespage`.
14567+
14568+## Accessibility
14569+
14570+`AdwPreferencesPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
14571+ <source-position filename="src/adw-preferences-page.h" line="35"/>
14572+ <implements name="Gtk.Accessible"/>
14573+ <implements name="Gtk.Buildable"/>
14574+ <implements name="Gtk.ConstraintTarget"/>
14575+ <constructor name="new" c:identifier="adw_preferences_page_new">
14576+ <doc xml:space="preserve"
14577+ filename="src/adw-preferences-page.c"
14578+ line="238">Creates a new `AdwPreferencesPage`.</doc>
14579+ <source-position filename="src/adw-preferences-page.h" line="38"/>
14580+ <return-value transfer-ownership="none">
14581+ <doc xml:space="preserve"
14582+ filename="src/adw-preferences-page.c"
14583+ line="243">the newly created `AdwPreferencesPage`</doc>
14584+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14585+ </return-value>
14586+ </constructor>
14587+ <method name="add" c:identifier="adw_preferences_page_add">
14588+ <doc xml:space="preserve"
14589+ filename="src/adw-preferences-page.c"
14590+ line="251">Adds a preferences group to @self.</doc>
14591+ <source-position filename="src/adw-preferences-page.h" line="41"/>
14592+ <return-value transfer-ownership="none">
14593+ <type name="none" c:type="void"/>
14594+ </return-value>
14595+ <parameters>
14596+ <instance-parameter name="self" transfer-ownership="none">
14597+ <doc xml:space="preserve"
14598+ filename="src/adw-preferences-page.c"
14599+ line="253">a preferences page</doc>
14600+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14601+ </instance-parameter>
14602+ <parameter name="group" transfer-ownership="none">
14603+ <doc xml:space="preserve"
14604+ filename="src/adw-preferences-page.c"
14605+ line="254">the group to add</doc>
14606+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14607+ </parameter>
14608+ </parameters>
14609+ </method>
14610+ <method name="get_icon_name"
14611+ c:identifier="adw_preferences_page_get_icon_name"
14612+ glib:get-property="icon-name">
14613+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
14614+ <doc xml:space="preserve"
14615+ filename="src/adw-preferences-page.c"
14616+ line="296">Gets the icon name for @self.</doc>
14617+ <source-position filename="src/adw-preferences-page.h" line="48"/>
14618+ <return-value transfer-ownership="none" nullable="1">
14619+ <doc xml:space="preserve"
14620+ filename="src/adw-preferences-page.c"
14621+ line="302">the icon name for @self</doc>
14622+ <type name="utf8" c:type="const char*"/>
14623+ </return-value>
14624+ <parameters>
14625+ <instance-parameter name="self" transfer-ownership="none">
14626+ <doc xml:space="preserve"
14627+ filename="src/adw-preferences-page.c"
14628+ line="298">a preferences page</doc>
14629+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14630+ </instance-parameter>
14631+ </parameters>
14632+ </method>
14633+ <method name="get_name"
14634+ c:identifier="adw_preferences_page_get_name"
14635+ glib:get-property="name">
14636+ <attribute name="org.gtk.Method.get_property" value="name"/>
14637+ <doc xml:space="preserve"
14638+ filename="src/adw-preferences-page.c"
14639+ line="388">Gets the name of @self.</doc>
14640+ <source-position filename="src/adw-preferences-page.h" line="60"/>
14641+ <return-value transfer-ownership="none" nullable="1">
14642+ <doc xml:space="preserve"
14643+ filename="src/adw-preferences-page.c"
14644+ line="394">the name of @self</doc>
14645+ <type name="utf8" c:type="const char*"/>
14646+ </return-value>
14647+ <parameters>
14648+ <instance-parameter name="self" transfer-ownership="none">
14649+ <doc xml:space="preserve"
14650+ filename="src/adw-preferences-page.c"
14651+ line="390">a preferences page</doc>
14652+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14653+ </instance-parameter>
14654+ </parameters>
14655+ </method>
14656+ <method name="get_title"
14657+ c:identifier="adw_preferences_page_get_title"
14658+ glib:get-property="title">
14659+ <attribute name="org.gtk.Method.get_property" value="title"/>
14660+ <doc xml:space="preserve"
14661+ filename="src/adw-preferences-page.c"
14662+ line="342">Gets the title of @self.</doc>
14663+ <source-position filename="src/adw-preferences-page.h" line="54"/>
14664+ <return-value transfer-ownership="none">
14665+ <doc xml:space="preserve"
14666+ filename="src/adw-preferences-page.c"
14667+ line="348">the title of @self.</doc>
14668+ <type name="utf8" c:type="const char*"/>
14669+ </return-value>
14670+ <parameters>
14671+ <instance-parameter name="self" transfer-ownership="none">
14672+ <doc xml:space="preserve"
14673+ filename="src/adw-preferences-page.c"
14674+ line="344">a preferences page</doc>
14675+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14676+ </instance-parameter>
14677+ </parameters>
14678+ </method>
14679+ <method name="get_use_underline"
14680+ c:identifier="adw_preferences_page_get_use_underline"
14681+ glib:get-property="use-underline">
14682+ <attribute name="org.gtk.Method.get_property" value="use-underline"/>
14683+ <doc xml:space="preserve"
14684+ filename="src/adw-preferences-page.c"
14685+ line="434">Gets whether an embedded underline in the title indicates a mnemonic.</doc>
14686+ <source-position filename="src/adw-preferences-page.h" line="66"/>
14687+ <return-value transfer-ownership="none">
14688+ <doc xml:space="preserve"
14689+ filename="src/adw-preferences-page.c"
14690+ line="440">whether an embedded underline in the title indicates a mnemonic</doc>
14691+ <type name="gboolean" c:type="gboolean"/>
14692+ </return-value>
14693+ <parameters>
14694+ <instance-parameter name="self" transfer-ownership="none">
14695+ <doc xml:space="preserve"
14696+ filename="src/adw-preferences-page.c"
14697+ line="436">a preferences page</doc>
14698+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14699+ </instance-parameter>
14700+ </parameters>
14701+ </method>
14702+ <method name="remove" c:identifier="adw_preferences_page_remove">
14703+ <doc xml:space="preserve"
14704+ filename="src/adw-preferences-page.c"
14705+ line="272">Removes a group from @self.</doc>
14706+ <source-position filename="src/adw-preferences-page.h" line="44"/>
14707+ <return-value transfer-ownership="none">
14708+ <type name="none" c:type="void"/>
14709+ </return-value>
14710+ <parameters>
14711+ <instance-parameter name="self" transfer-ownership="none">
14712+ <doc xml:space="preserve"
14713+ filename="src/adw-preferences-page.c"
14714+ line="274">a preferences page</doc>
14715+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14716+ </instance-parameter>
14717+ <parameter name="group" transfer-ownership="none">
14718+ <doc xml:space="preserve"
14719+ filename="src/adw-preferences-page.c"
14720+ line="275">the group to remove</doc>
14721+ <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
14722+ </parameter>
14723+ </parameters>
14724+ </method>
14725+ <method name="scroll_to_top"
14726+ c:identifier="adw_preferences_page_scroll_to_top"
14727+ version="1.3">
14728+ <doc xml:space="preserve"
14729+ filename="src/adw-preferences-page.c"
14730+ line="522">Scrolls the scrolled window of @self to the top.</doc>
14731+ <source-position filename="src/adw-preferences-page.h" line="72"/>
14732+ <return-value transfer-ownership="none">
14733+ <type name="none" c:type="void"/>
14734+ </return-value>
14735+ <parameters>
14736+ <instance-parameter name="self" transfer-ownership="none">
14737+ <doc xml:space="preserve"
14738+ filename="src/adw-preferences-page.c"
14739+ line="524">a preferences page</doc>
14740+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14741+ </instance-parameter>
14742+ </parameters>
14743+ </method>
14744+ <method name="set_icon_name"
14745+ c:identifier="adw_preferences_page_set_icon_name"
14746+ glib:set-property="icon-name">
14747+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
14748+ <doc xml:space="preserve"
14749+ filename="src/adw-preferences-page.c"
14750+ line="316">Sets the icon name for @self.</doc>
14751+ <source-position filename="src/adw-preferences-page.h" line="50"/>
14752+ <return-value transfer-ownership="none">
14753+ <type name="none" c:type="void"/>
14754+ </return-value>
14755+ <parameters>
14756+ <instance-parameter name="self" transfer-ownership="none">
14757+ <doc xml:space="preserve"
14758+ filename="src/adw-preferences-page.c"
14759+ line="318">a preferences page</doc>
14760+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14761+ </instance-parameter>
14762+ <parameter name="icon_name"
14763+ transfer-ownership="none"
14764+ nullable="1"
14765+ allow-none="1">
14766+ <doc xml:space="preserve"
14767+ filename="src/adw-preferences-page.c"
14768+ line="319">the icon name</doc>
14769+ <type name="utf8" c:type="const char*"/>
14770+ </parameter>
14771+ </parameters>
14772+ </method>
14773+ <method name="set_name"
14774+ c:identifier="adw_preferences_page_set_name"
14775+ glib:set-property="name">
14776+ <attribute name="org.gtk.Method.set_property" value="name"/>
14777+ <doc xml:space="preserve"
14778+ filename="src/adw-preferences-page.c"
14779+ line="408">Sets the name of @self.</doc>
14780+ <source-position filename="src/adw-preferences-page.h" line="62"/>
14781+ <return-value transfer-ownership="none">
14782+ <type name="none" c:type="void"/>
14783+ </return-value>
14784+ <parameters>
14785+ <instance-parameter name="self" transfer-ownership="none">
14786+ <doc xml:space="preserve"
14787+ filename="src/adw-preferences-page.c"
14788+ line="410">a preferences page</doc>
14789+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14790+ </instance-parameter>
14791+ <parameter name="name"
14792+ transfer-ownership="none"
14793+ nullable="1"
14794+ allow-none="1">
14795+ <doc xml:space="preserve"
14796+ filename="src/adw-preferences-page.c"
14797+ line="411">the name</doc>
14798+ <type name="utf8" c:type="const char*"/>
14799+ </parameter>
14800+ </parameters>
14801+ </method>
14802+ <method name="set_title"
14803+ c:identifier="adw_preferences_page_set_title"
14804+ glib:set-property="title">
14805+ <attribute name="org.gtk.Method.set_property" value="title"/>
14806+ <doc xml:space="preserve"
14807+ filename="src/adw-preferences-page.c"
14808+ line="362">Sets the title of @self.</doc>
14809+ <source-position filename="src/adw-preferences-page.h" line="56"/>
14810+ <return-value transfer-ownership="none">
14811+ <type name="none" c:type="void"/>
14812+ </return-value>
14813+ <parameters>
14814+ <instance-parameter name="self" transfer-ownership="none">
14815+ <doc xml:space="preserve"
14816+ filename="src/adw-preferences-page.c"
14817+ line="364">a preferences page</doc>
14818+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14819+ </instance-parameter>
14820+ <parameter name="title" transfer-ownership="none">
14821+ <doc xml:space="preserve"
14822+ filename="src/adw-preferences-page.c"
14823+ line="365">the title</doc>
14824+ <type name="utf8" c:type="const char*"/>
14825+ </parameter>
14826+ </parameters>
14827+ </method>
14828+ <method name="set_use_underline"
14829+ c:identifier="adw_preferences_page_set_use_underline"
14830+ glib:set-property="use-underline">
14831+ <attribute name="org.gtk.Method.set_property" value="use-underline"/>
14832+ <doc xml:space="preserve"
14833+ filename="src/adw-preferences-page.c"
14834+ line="454">Sets whether an embedded underline in the title indicates a mnemonic.</doc>
14835+ <source-position filename="src/adw-preferences-page.h" line="68"/>
14836+ <return-value transfer-ownership="none">
14837+ <type name="none" c:type="void"/>
14838+ </return-value>
14839+ <parameters>
14840+ <instance-parameter name="self" transfer-ownership="none">
14841+ <doc xml:space="preserve"
14842+ filename="src/adw-preferences-page.c"
14843+ line="456">a preferences page</doc>
14844+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
14845+ </instance-parameter>
14846+ <parameter name="use_underline" transfer-ownership="none">
14847+ <doc xml:space="preserve"
14848+ filename="src/adw-preferences-page.c"
14849+ line="457">`TRUE` if underlines in the text indicate mnemonics</doc>
14850+ <type name="gboolean" c:type="gboolean"/>
14851+ </parameter>
14852+ </parameters>
14853+ </method>
14854+ <property name="icon-name"
14855+ writable="1"
14856+ transfer-ownership="none"
14857+ setter="set_icon_name"
14858+ getter="get_icon_name">
14859+ <attribute name="org.gtk.Property.get"
14860+ value="adw_preferences_page_get_icon_name"/>
14861+ <attribute name="org.gtk.Property.set"
14862+ value="adw_preferences_page_set_icon_name"/>
14863+ <doc xml:space="preserve"
14864+ filename="src/adw-preferences-page.c"
14865+ line="155">The icon name for this page.</doc>
14866+ <type name="utf8" c:type="gchar*"/>
14867+ </property>
14868+ <property name="name"
14869+ writable="1"
14870+ transfer-ownership="none"
14871+ setter="set_name"
14872+ getter="get_name"
14873+ default-value="NULL">
14874+ <attribute name="org.gtk.Property.get"
14875+ value="adw_preferences_page_get_name"/>
14876+ <attribute name="org.gtk.Property.set"
14877+ value="adw_preferences_page_set_name"/>
14878+ <doc xml:space="preserve"
14879+ filename="src/adw-preferences-page.c"
14880+ line="175">The name of this page.</doc>
14881+ <type name="utf8" c:type="gchar*"/>
14882+ </property>
14883+ <property name="title"
14884+ writable="1"
14885+ transfer-ownership="none"
14886+ setter="set_title"
14887+ getter="get_title">
14888+ <attribute name="org.gtk.Property.get"
14889+ value="adw_preferences_page_get_title"/>
14890+ <attribute name="org.gtk.Property.set"
14891+ value="adw_preferences_page_set_title"/>
14892+ <doc xml:space="preserve"
14893+ filename="src/adw-preferences-page.c"
14894+ line="165">The title for this page.</doc>
14895+ <type name="utf8" c:type="gchar*"/>
14896+ </property>
14897+ <property name="use-underline"
14898+ writable="1"
14899+ transfer-ownership="none"
14900+ setter="set_use_underline"
14901+ getter="get_use_underline"
14902+ default-value="FALSE">
14903+ <attribute name="org.gtk.Property.get"
14904+ value="adw_preferences_page_get_use_underline"/>
14905+ <attribute name="org.gtk.Property.set"
14906+ value="adw_preferences_page_set_use_underline"/>
14907+ <doc xml:space="preserve"
14908+ filename="src/adw-preferences-page.c"
14909+ line="185">Whether an embedded underline in the title indicates a mnemonic.</doc>
14910+ <type name="gboolean" c:type="gboolean"/>
14911+ </property>
14912+ <field name="parent_instance">
14913+ <type name="Gtk.Widget" c:type="GtkWidget"/>
14914+ </field>
14915+ </class>
14916+ <record name="PreferencesPageClass"
14917+ c:type="AdwPreferencesPageClass"
14918+ glib:is-gtype-struct-for="PreferencesPage">
14919+ <source-position filename="src/adw-preferences-page.h" line="35"/>
14920+ <field name="parent_class">
14921+ <doc xml:space="preserve"
14922+ filename="src/adw-preferences-page.h"
14923+ line="27">The parent class</doc>
14924+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
14925+ </field>
14926+ <field name="padding" readable="0" private="1">
14927+ <array zero-terminated="0" fixed-size="4">
14928+ <type name="gpointer" c:type="gpointer"/>
14929+ </array>
14930+ </field>
14931+ </record>
14932+ <class name="PreferencesRow"
14933+ c:symbol-prefix="preferences_row"
14934+ c:type="AdwPreferencesRow"
14935+ parent="Gtk.ListBoxRow"
14936+ glib:type-name="AdwPreferencesRow"
14937+ glib:get-type="adw_preferences_row_get_type"
14938+ glib:type-struct="PreferencesRowClass">
14939+ <doc xml:space="preserve"
14940+ filename="src/adw-preferences-row.c"
14941+ line="11">A [class@Gtk.ListBoxRow] used to present preferences.
14942+
14943+The `AdwPreferencesRow` widget has a title that [class@PreferencesWindow]
14944+will use to let the user look for a preference. It doesn't present the title
14945+in any way and lets you present the preference as you please.
14946+
14947+[class@ActionRow] and its derivatives are convenient to use as preference
14948+rows as they take care of presenting the preference's title while letting you
14949+compose the inputs of the preference around it.</doc>
14950+ <source-position filename="src/adw-preferences-row.h" line="34"/>
14951+ <implements name="Gtk.Accessible"/>
14952+ <implements name="Gtk.Actionable"/>
14953+ <implements name="Gtk.Buildable"/>
14954+ <implements name="Gtk.ConstraintTarget"/>
14955+ <constructor name="new" c:identifier="adw_preferences_row_new">
14956+ <doc xml:space="preserve"
14957+ filename="src/adw-preferences-row.c"
14958+ line="182">Creates a new `AdwPreferencesRow`.</doc>
14959+ <source-position filename="src/adw-preferences-row.h" line="37"/>
14960+ <return-value transfer-ownership="none">
14961+ <doc xml:space="preserve"
14962+ filename="src/adw-preferences-row.c"
14963+ line="187">the newly created `AdwPreferencesRow`</doc>
14964+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
14965+ </return-value>
14966+ </constructor>
14967+ <method name="get_title"
14968+ c:identifier="adw_preferences_row_get_title"
14969+ glib:get-property="title">
14970+ <attribute name="org.gtk.Method.get_property" value="title"/>
14971+ <doc xml:space="preserve"
14972+ filename="src/adw-preferences-row.c"
14973+ line="195">Gets the title of the preference represented by @self.</doc>
14974+ <source-position filename="src/adw-preferences-row.h" line="40"/>
14975+ <return-value transfer-ownership="none">
14976+ <doc xml:space="preserve"
14977+ filename="src/adw-preferences-row.c"
14978+ line="201">the title</doc>
14979+ <type name="utf8" c:type="const char*"/>
14980+ </return-value>
14981+ <parameters>
14982+ <instance-parameter name="self" transfer-ownership="none">
14983+ <doc xml:space="preserve"
14984+ filename="src/adw-preferences-row.c"
14985+ line="197">a preferences row</doc>
14986+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
14987+ </instance-parameter>
14988+ </parameters>
14989+ </method>
14990+ <method name="get_title_selectable"
14991+ c:identifier="adw_preferences_row_get_title_selectable"
14992+ glib:get-property="title-selectable"
14993+ version="1.1">
14994+ <attribute name="org.gtk.Method.get_property"
14995+ value="title-selectable"/>
14996+ <doc xml:space="preserve"
14997+ filename="src/adw-preferences-row.c"
14998+ line="291">Gets whether the user can copy the title from the label</doc>
14999+ <source-position filename="src/adw-preferences-row.h" line="52"/>
15000+ <return-value transfer-ownership="none">
15001+ <doc xml:space="preserve"
15002+ filename="src/adw-preferences-row.c"
15003+ line="297">whether the user can copy the title from the label</doc>
15004+ <type name="gboolean" c:type="gboolean"/>
15005+ </return-value>
15006+ <parameters>
15007+ <instance-parameter name="self" transfer-ownership="none">
15008+ <doc xml:space="preserve"
15009+ filename="src/adw-preferences-row.c"
15010+ line="293">a `AdwPreferencesRow`</doc>
15011+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15012+ </instance-parameter>
15013+ </parameters>
15014+ </method>
15015+ <method name="get_use_markup"
15016+ c:identifier="adw_preferences_row_get_use_markup"
15017+ glib:get-property="use-markup"
15018+ version="1.2">
15019+ <attribute name="org.gtk.Method.get_property" value="use-markup"/>
15020+ <doc xml:space="preserve"
15021+ filename="src/adw-preferences-row.c"
15022+ line="340">Gets whether to use Pango markup for the title label.</doc>
15023+ <source-position filename="src/adw-preferences-row.h" line="59"/>
15024+ <return-value transfer-ownership="none">
15025+ <doc xml:space="preserve"
15026+ filename="src/adw-preferences-row.c"
15027+ line="346">whether to use markup</doc>
15028+ <type name="gboolean" c:type="gboolean"/>
15029+ </return-value>
15030+ <parameters>
15031+ <instance-parameter name="self" transfer-ownership="none">
15032+ <doc xml:space="preserve"
15033+ filename="src/adw-preferences-row.c"
15034+ line="342">a preferences row</doc>
15035+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15036+ </instance-parameter>
15037+ </parameters>
15038+ </method>
15039+ <method name="get_use_underline"
15040+ c:identifier="adw_preferences_row_get_use_underline"
15041+ glib:get-property="use-underline">
15042+ <attribute name="org.gtk.Method.get_property" value="use-underline"/>
15043+ <doc xml:space="preserve"
15044+ filename="src/adw-preferences-row.c"
15045+ line="244">Gets whether an embedded underline in the title indicates a mnemonic.</doc>
15046+ <source-position filename="src/adw-preferences-row.h" line="46"/>
15047+ <return-value transfer-ownership="none">
15048+ <doc xml:space="preserve"
15049+ filename="src/adw-preferences-row.c"
15050+ line="250">whether an embedded underline in the title indicates a mnemonic</doc>
15051+ <type name="gboolean" c:type="gboolean"/>
15052+ </return-value>
15053+ <parameters>
15054+ <instance-parameter name="self" transfer-ownership="none">
15055+ <doc xml:space="preserve"
15056+ filename="src/adw-preferences-row.c"
15057+ line="246">a preferences row</doc>
15058+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15059+ </instance-parameter>
15060+ </parameters>
15061+ </method>
15062+ <method name="set_title"
15063+ c:identifier="adw_preferences_row_set_title"
15064+ glib:set-property="title">
15065+ <attribute name="org.gtk.Method.set_property" value="title"/>
15066+ <doc xml:space="preserve"
15067+ filename="src/adw-preferences-row.c"
15068+ line="215">Sets the title of the preference represented by @self.
15069+
15070+The title is interpreted as Pango markup unless
15071+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
15072+ <source-position filename="src/adw-preferences-row.h" line="42"/>
15073+ <return-value transfer-ownership="none">
15074+ <type name="none" c:type="void"/>
15075+ </return-value>
15076+ <parameters>
15077+ <instance-parameter name="self" transfer-ownership="none">
15078+ <doc xml:space="preserve"
15079+ filename="src/adw-preferences-row.c"
15080+ line="217">a preferences row</doc>
15081+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15082+ </instance-parameter>
15083+ <parameter name="title" transfer-ownership="none">
15084+ <doc xml:space="preserve"
15085+ filename="src/adw-preferences-row.c"
15086+ line="218">the title</doc>
15087+ <type name="utf8" c:type="const char*"/>
15088+ </parameter>
15089+ </parameters>
15090+ </method>
15091+ <method name="set_title_selectable"
15092+ c:identifier="adw_preferences_row_set_title_selectable"
15093+ glib:set-property="title-selectable"
15094+ version="1.1">
15095+ <attribute name="org.gtk.Method.set_property"
15096+ value="title-selectable"/>
15097+ <doc xml:space="preserve"
15098+ filename="src/adw-preferences-row.c"
15099+ line="311">Sets whether the user can copy the title from the label
15100+
15101+See also [property@Gtk.Label:selectable].</doc>
15102+ <source-position filename="src/adw-preferences-row.h" line="54"/>
15103+ <return-value transfer-ownership="none">
15104+ <type name="none" c:type="void"/>
15105+ </return-value>
15106+ <parameters>
15107+ <instance-parameter name="self" transfer-ownership="none">
15108+ <doc xml:space="preserve"
15109+ filename="src/adw-preferences-row.c"
15110+ line="313">a `AdwPreferencesRow`</doc>
15111+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15112+ </instance-parameter>
15113+ <parameter name="title_selectable" transfer-ownership="none">
15114+ <doc xml:space="preserve"
15115+ filename="src/adw-preferences-row.c"
15116+ line="314">`TRUE` if the user can copy the title from the label</doc>
15117+ <type name="gboolean" c:type="gboolean"/>
15118+ </parameter>
15119+ </parameters>
15120+ </method>
15121+ <method name="set_use_markup"
15122+ c:identifier="adw_preferences_row_set_use_markup"
15123+ glib:set-property="use-markup"
15124+ version="1.2">
15125+ <attribute name="org.gtk.Method.set_property" value="use-markup"/>
15126+ <doc xml:space="preserve"
15127+ filename="src/adw-preferences-row.c"
15128+ line="362">Sets whether to use Pango markup for the title label.
15129+
15130+Subclasses may also use it for other labels, such as subtitle.
15131+
15132+See also [func@Pango.parse_markup].</doc>
15133+ <source-position filename="src/adw-preferences-row.h" line="61"/>
15134+ <return-value transfer-ownership="none">
15135+ <type name="none" c:type="void"/>
15136+ </return-value>
15137+ <parameters>
15138+ <instance-parameter name="self" transfer-ownership="none">
15139+ <doc xml:space="preserve"
15140+ filename="src/adw-preferences-row.c"
15141+ line="364">a preferences row</doc>
15142+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15143+ </instance-parameter>
15144+ <parameter name="use_markup" transfer-ownership="none">
15145+ <doc xml:space="preserve"
15146+ filename="src/adw-preferences-row.c"
15147+ line="365">whether to use markup</doc>
15148+ <type name="gboolean" c:type="gboolean"/>
15149+ </parameter>
15150+ </parameters>
15151+ </method>
15152+ <method name="set_use_underline"
15153+ c:identifier="adw_preferences_row_set_use_underline"
15154+ glib:set-property="use-underline">
15155+ <attribute name="org.gtk.Method.set_property" value="use-underline"/>
15156+ <doc xml:space="preserve"
15157+ filename="src/adw-preferences-row.c"
15158+ line="264">Sets whether an embedded underline in the title indicates a mnemonic.</doc>
15159+ <source-position filename="src/adw-preferences-row.h" line="48"/>
15160+ <return-value transfer-ownership="none">
15161+ <type name="none" c:type="void"/>
15162+ </return-value>
15163+ <parameters>
15164+ <instance-parameter name="self" transfer-ownership="none">
15165+ <doc xml:space="preserve"
15166+ filename="src/adw-preferences-row.c"
15167+ line="266">a preferences row</doc>
15168+ <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
15169+ </instance-parameter>
15170+ <parameter name="use_underline" transfer-ownership="none">
15171+ <doc xml:space="preserve"
15172+ filename="src/adw-preferences-row.c"
15173+ line="267">`TRUE` if underlines in the text indicate mnemonics</doc>
15174+ <type name="gboolean" c:type="gboolean"/>
15175+ </parameter>
15176+ </parameters>
15177+ </method>
15178+ <property name="title"
15179+ writable="1"
15180+ transfer-ownership="none"
15181+ setter="set_title"
15182+ getter="get_title">
15183+ <attribute name="org.gtk.Property.get"
15184+ value="adw_preferences_row_get_title"/>
15185+ <attribute name="org.gtk.Property.set"
15186+ value="adw_preferences_row_set_title"/>
15187+ <doc xml:space="preserve"
15188+ filename="src/adw-preferences-row.c"
15189+ line="118">The title of the preference represented by this row.
15190+
15191+The title is interpreted as Pango markup unless
15192+[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
15193+ <type name="utf8" c:type="gchar*"/>
15194+ </property>
15195+ <property name="title-selectable"
15196+ version="1.1"
15197+ writable="1"
15198+ transfer-ownership="none"
15199+ setter="set_title_selectable"
15200+ getter="get_title_selectable"
15201+ default-value="FALSE">
15202+ <attribute name="org.gtk.Property.get"
15203+ value="adw_preferences_row_get_title_selectable"/>
15204+ <attribute name="org.gtk.Property.set"
15205+ value="adw_preferences_row_set_title_selectable"/>
15206+ <doc xml:space="preserve"
15207+ filename="src/adw-preferences-row.c"
15208+ line="141">Whether the user can copy the title from the label.
15209+
15210+See also [property@Gtk.Label:selectable].</doc>
15211+ <type name="gboolean" c:type="gboolean"/>
15212+ </property>
15213+ <property name="use-markup"
15214+ version="1.2"
15215+ writable="1"
15216+ transfer-ownership="none"
15217+ setter="set_use_markup"
15218+ getter="get_use_markup"
15219+ default-value="TRUE">
15220+ <attribute name="org.gtk.Property.get"
15221+ value="adw_preferences_row_get_use_markup"/>
15222+ <attribute name="org.gtk.Property.set"
15223+ value="adw_preferences_row_set_use_markup"/>
15224+ <doc xml:space="preserve"
15225+ filename="src/adw-preferences-row.c"
15226+ line="155">Whether to use Pango markup for the title label.
15227+
15228+Subclasses may also use it for other labels, such as subtitle.
15229+
15230+See also [func@Pango.parse_markup].</doc>
15231+ <type name="gboolean" c:type="gboolean"/>
15232+ </property>
15233+ <property name="use-underline"
15234+ writable="1"
15235+ transfer-ownership="none"
15236+ setter="set_use_underline"
15237+ getter="get_use_underline"
15238+ default-value="FALSE">
15239+ <attribute name="org.gtk.Property.get"
15240+ value="adw_preferences_row_get_use_underline"/>
15241+ <attribute name="org.gtk.Property.set"
15242+ value="adw_preferences_row_set_use_underline"/>
15243+ <doc xml:space="preserve"
15244+ filename="src/adw-preferences-row.c"
15245+ line="131">Whether an embedded underline in the title indicates a mnemonic.</doc>
15246+ <type name="gboolean" c:type="gboolean"/>
15247+ </property>
15248+ <field name="parent_instance">
15249+ <type name="Gtk.ListBoxRow" c:type="GtkListBoxRow"/>
15250+ </field>
15251+ </class>
15252+ <record name="PreferencesRowClass"
15253+ c:type="AdwPreferencesRowClass"
15254+ glib:is-gtype-struct-for="PreferencesRow">
15255+ <source-position filename="src/adw-preferences-row.h" line="34"/>
15256+ <field name="parent_class">
15257+ <doc xml:space="preserve"
15258+ filename="src/adw-preferences-row.h"
15259+ line="26">The parent class</doc>
15260+ <type name="Gtk.ListBoxRowClass" c:type="GtkListBoxRowClass"/>
15261+ </field>
15262+ <field name="padding" readable="0" private="1">
15263+ <array zero-terminated="0" fixed-size="4">
15264+ <type name="gpointer" c:type="gpointer"/>
15265+ </array>
15266+ </field>
15267+ </record>
15268+ <class name="PreferencesWindow"
15269+ c:symbol-prefix="preferences_window"
15270+ c:type="AdwPreferencesWindow"
15271+ parent="Window"
15272+ glib:type-name="AdwPreferencesWindow"
15273+ glib:get-type="adw_preferences_window_get_type"
15274+ glib:type-struct="PreferencesWindowClass">
15275+ <doc xml:space="preserve"
15276+ filename="src/adw-preferences-window.c"
15277+ line="23">A window to present an application's preferences.
15278+
15279+&lt;picture&gt;
15280+ &lt;source srcset="preferences-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
15281+ &lt;img src="preferences-window.png" alt="preferences-window"&gt;
15282+&lt;/picture&gt;
15283+
15284+The `AdwPreferencesWindow` widget presents an application's preferences
15285+gathered into pages and groups. The preferences are searchable by the user.
15286+
15287+## CSS nodes
15288+
15289+`AdwPreferencesWindow` has a main CSS node with the name `window` and the
15290+style class `.preferences`.</doc>
15291+ <source-position filename="src/adw-preferences-window.h" line="37"/>
15292+ <implements name="Gtk.Accessible"/>
15293+ <implements name="Gtk.Buildable"/>
15294+ <implements name="Gtk.ConstraintTarget"/>
15295+ <implements name="Gtk.Native"/>
15296+ <implements name="Gtk.Root"/>
15297+ <implements name="Gtk.ShortcutManager"/>
15298+ <constructor name="new" c:identifier="adw_preferences_window_new">
15299+ <doc xml:space="preserve"
15300+ filename="src/adw-preferences-window.c"
15301+ line="712">Creates a new `AdwPreferencesWindow`.</doc>
15302+ <source-position filename="src/adw-preferences-window.h" line="40"/>
15303+ <return-value transfer-ownership="none">
15304+ <doc xml:space="preserve"
15305+ filename="src/adw-preferences-window.c"
15306+ line="717">the newly created `AdwPreferencesWindow`</doc>
15307+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
15308+ </return-value>
15309+ </constructor>
15310+ <method name="add" c:identifier="adw_preferences_window_add">
15311+ <doc xml:space="preserve"
15312+ filename="src/adw-preferences-window.c"
15313+ line="725">Adds a preferences page to @self.</doc>
15314+ <source-position filename="src/adw-preferences-window.h" line="43"/>
15315+ <return-value transfer-ownership="none">
15316+ <type name="none" c:type="void"/>
15317+ </return-value>
15318+ <parameters>
15319+ <instance-parameter name="self" transfer-ownership="none">
15320+ <doc xml:space="preserve"
15321+ filename="src/adw-preferences-window.c"
15322+ line="727">a preferences window</doc>
15323+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15324+ </instance-parameter>
15325+ <parameter name="page" transfer-ownership="none">
15326+ <doc xml:space="preserve"
15327+ filename="src/adw-preferences-window.c"
15328+ line="728">the page to add</doc>
15329+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
15330+ </parameter>
15331+ </parameters>
15332+ </method>
15333+ <method name="add_toast" c:identifier="adw_preferences_window_add_toast">
15334+ <doc xml:space="preserve"
15335+ filename="src/adw-preferences-window.c"
15336+ line="1029">Displays @toast.
15337+
15338+See [method@ToastOverlay.add_toast].</doc>
15339+ <source-position filename="src/adw-preferences-window.h" line="80"/>
15340+ <return-value transfer-ownership="none">
15341+ <type name="none" c:type="void"/>
15342+ </return-value>
15343+ <parameters>
15344+ <instance-parameter name="self" transfer-ownership="none">
15345+ <doc xml:space="preserve"
15346+ filename="src/adw-preferences-window.c"
15347+ line="1031">a preferences window</doc>
15348+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15349+ </instance-parameter>
15350+ <parameter name="toast" transfer-ownership="full">
15351+ <doc xml:space="preserve"
15352+ filename="src/adw-preferences-window.c"
15353+ line="1032">a toast</doc>
15354+ <type name="Toast" c:type="AdwToast*"/>
15355+ </parameter>
15356+ </parameters>
15357+ </method>
15358+ <method name="close_subpage"
15359+ c:identifier="adw_preferences_window_close_subpage">
15360+ <doc xml:space="preserve"
15361+ filename="src/adw-preferences-window.c"
15362+ line="1006">Closes the current subpage.
15363+
15364+If there is no presented subpage, this does nothing.</doc>
15365+ <source-position filename="src/adw-preferences-window.h" line="77"/>
15366+ <return-value transfer-ownership="none">
15367+ <type name="none" c:type="void"/>
15368+ </return-value>
15369+ <parameters>
15370+ <instance-parameter name="self" transfer-ownership="none">
15371+ <doc xml:space="preserve"
15372+ filename="src/adw-preferences-window.c"
15373+ line="1008">a preferences window</doc>
15374+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15375+ </instance-parameter>
15376+ </parameters>
15377+ </method>
15378+ <method name="get_can_navigate_back"
15379+ c:identifier="adw_preferences_window_get_can_navigate_back"
15380+ glib:get-property="can-navigate-back">
15381+ <attribute name="org.gtk.Method.get_property"
15382+ value="can-navigate-back"/>
15383+ <doc xml:space="preserve"
15384+ filename="src/adw-preferences-window.c"
15385+ line="951">Gets whether gestures and shortcuts for closing subpages are enabled.</doc>
15386+ <source-position filename="src/adw-preferences-window.h" line="68"/>
15387+ <return-value transfer-ownership="none">
15388+ <doc xml:space="preserve"
15389+ filename="src/adw-preferences-window.c"
15390+ line="957">whether gestures and shortcuts are enabled.</doc>
15391+ <type name="gboolean" c:type="gboolean"/>
15392+ </return-value>
15393+ <parameters>
15394+ <instance-parameter name="self" transfer-ownership="none">
15395+ <doc xml:space="preserve"
15396+ filename="src/adw-preferences-window.c"
15397+ line="953">a preferences window</doc>
15398+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15399+ </instance-parameter>
15400+ </parameters>
15401+ </method>
15402+ <method name="get_search_enabled"
15403+ c:identifier="adw_preferences_window_get_search_enabled"
15404+ glib:get-property="search-enabled">
15405+ <attribute name="org.gtk.Method.get_property" value="search-enabled"/>
15406+ <doc xml:space="preserve"
15407+ filename="src/adw-preferences-window.c"
15408+ line="859">Gets whether search is enabled for @self.</doc>
15409+ <source-position filename="src/adw-preferences-window.h" line="62"/>
15410+ <return-value transfer-ownership="none">
15411+ <doc xml:space="preserve"
15412+ filename="src/adw-preferences-window.c"
15413+ line="865">whether search is enabled for @self.</doc>
15414+ <type name="gboolean" c:type="gboolean"/>
15415+ </return-value>
15416+ <parameters>
15417+ <instance-parameter name="self" transfer-ownership="none">
15418+ <doc xml:space="preserve"
15419+ filename="src/adw-preferences-window.c"
15420+ line="861">a preferences window</doc>
15421+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15422+ </instance-parameter>
15423+ </parameters>
15424+ </method>
15425+ <method name="get_visible_page"
15426+ c:identifier="adw_preferences_window_get_visible_page"
15427+ glib:get-property="visible-page">
15428+ <doc xml:space="preserve"
15429+ filename="src/adw-preferences-window.c"
15430+ line="776">Gets the currently visible page of @self.</doc>
15431+ <source-position filename="src/adw-preferences-window.h" line="50"/>
15432+ <return-value transfer-ownership="none" nullable="1">
15433+ <doc xml:space="preserve"
15434+ filename="src/adw-preferences-window.c"
15435+ line="782">the visible page</doc>
15436+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
15437+ </return-value>
15438+ <parameters>
15439+ <instance-parameter name="self" transfer-ownership="none">
15440+ <doc xml:space="preserve"
15441+ filename="src/adw-preferences-window.c"
15442+ line="778">a preferences window</doc>
15443+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15444+ </instance-parameter>
15445+ </parameters>
15446+ </method>
15447+ <method name="get_visible_page_name"
15448+ c:identifier="adw_preferences_window_get_visible_page_name"
15449+ glib:get-property="visible-page-name">
15450+ <doc xml:space="preserve"
15451+ filename="src/adw-preferences-window.c"
15452+ line="817">Gets the name of currently visible page of @self.</doc>
15453+ <source-position filename="src/adw-preferences-window.h" line="56"/>
15454+ <return-value transfer-ownership="none" nullable="1">
15455+ <doc xml:space="preserve"
15456+ filename="src/adw-preferences-window.c"
15457+ line="823">the name of the visible page</doc>
15458+ <type name="utf8" c:type="const char*"/>
15459+ </return-value>
15460+ <parameters>
15461+ <instance-parameter name="self" transfer-ownership="none">
15462+ <doc xml:space="preserve"
15463+ filename="src/adw-preferences-window.c"
15464+ line="819">a preferences window</doc>
15465+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15466+ </instance-parameter>
15467+ </parameters>
15468+ </method>
15469+ <method name="present_subpage"
15470+ c:identifier="adw_preferences_window_present_subpage">
15471+ <doc xml:space="preserve"
15472+ filename="src/adw-preferences-window.c"
15473+ line="971">Sets @subpage as the window's subpage and opens it.
15474+
15475+The transition can be cancelled by the user, in which case visible child will
15476+change back to the previously visible child.</doc>
15477+ <source-position filename="src/adw-preferences-window.h" line="74"/>
15478+ <return-value transfer-ownership="none">
15479+ <type name="none" c:type="void"/>
15480+ </return-value>
15481+ <parameters>
15482+ <instance-parameter name="self" transfer-ownership="none">
15483+ <doc xml:space="preserve"
15484+ filename="src/adw-preferences-window.c"
15485+ line="973">a preferences window</doc>
15486+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15487+ </instance-parameter>
15488+ <parameter name="subpage" transfer-ownership="none">
15489+ <doc xml:space="preserve"
15490+ filename="src/adw-preferences-window.c"
15491+ line="974">the subpage</doc>
15492+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
15493+ </parameter>
15494+ </parameters>
15495+ </method>
15496+ <method name="remove" c:identifier="adw_preferences_window_remove">
15497+ <doc xml:space="preserve"
15498+ filename="src/adw-preferences-window.c"
15499+ line="752">Removes a page from @self.</doc>
15500+ <source-position filename="src/adw-preferences-window.h" line="46"/>
15501+ <return-value transfer-ownership="none">
15502+ <type name="none" c:type="void"/>
15503+ </return-value>
15504+ <parameters>
15505+ <instance-parameter name="self" transfer-ownership="none">
15506+ <doc xml:space="preserve"
15507+ filename="src/adw-preferences-window.c"
15508+ line="754">a preferences window</doc>
15509+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15510+ </instance-parameter>
15511+ <parameter name="page" transfer-ownership="none">
15512+ <doc xml:space="preserve"
15513+ filename="src/adw-preferences-window.c"
15514+ line="755">the page to remove</doc>
15515+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
15516+ </parameter>
15517+ </parameters>
15518+ </method>
15519+ <method name="set_can_navigate_back"
15520+ c:identifier="adw_preferences_window_set_can_navigate_back"
15521+ glib:set-property="can-navigate-back">
15522+ <attribute name="org.gtk.Method.set_property"
15523+ value="can-navigate-back"/>
15524+ <doc xml:space="preserve"
15525+ filename="src/adw-preferences-window.c"
15526+ line="913">Sets whether gestures and shortcuts for closing subpages are enabled.
15527+
15528+The supported gestures are:
15529+
15530+- One-finger swipe on touchscreens
15531+- Horizontal scrolling on touchpads (usually two-finger swipe)
15532+- Back mouse button
15533+
15534+The keyboard back key is also supported, as well as the
15535+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.
15536+
15537+For right-to-left locales, gestures and shortcuts are reversed.</doc>
15538+ <source-position filename="src/adw-preferences-window.h" line="70"/>
15539+ <return-value transfer-ownership="none">
15540+ <type name="none" c:type="void"/>
15541+ </return-value>
15542+ <parameters>
15543+ <instance-parameter name="self" transfer-ownership="none">
15544+ <doc xml:space="preserve"
15545+ filename="src/adw-preferences-window.c"
15546+ line="915">a preferences window</doc>
15547+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15548+ </instance-parameter>
15549+ <parameter name="can_navigate_back" transfer-ownership="none">
15550+ <doc xml:space="preserve"
15551+ filename="src/adw-preferences-window.c"
15552+ line="916">the new value</doc>
15553+ <type name="gboolean" c:type="gboolean"/>
15554+ </parameter>
15555+ </parameters>
15556+ </method>
15557+ <method name="set_search_enabled"
15558+ c:identifier="adw_preferences_window_set_search_enabled"
15559+ glib:set-property="search-enabled">
15560+ <attribute name="org.gtk.Method.set_property" value="search-enabled"/>
15561+ <doc xml:space="preserve"
15562+ filename="src/adw-preferences-window.c"
15563+ line="879">Sets whether search is enabled for @self.</doc>
15564+ <source-position filename="src/adw-preferences-window.h" line="64"/>
15565+ <return-value transfer-ownership="none">
15566+ <type name="none" c:type="void"/>
15567+ </return-value>
15568+ <parameters>
15569+ <instance-parameter name="self" transfer-ownership="none">
15570+ <doc xml:space="preserve"
15571+ filename="src/adw-preferences-window.c"
15572+ line="881">a preferences window</doc>
15573+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15574+ </instance-parameter>
15575+ <parameter name="search_enabled" transfer-ownership="none">
15576+ <doc xml:space="preserve"
15577+ filename="src/adw-preferences-window.c"
15578+ line="882">whether search is enabled</doc>
15579+ <type name="gboolean" c:type="gboolean"/>
15580+ </parameter>
15581+ </parameters>
15582+ </method>
15583+ <method name="set_visible_page"
15584+ c:identifier="adw_preferences_window_set_visible_page"
15585+ glib:set-property="visible-page">
15586+ <doc xml:space="preserve"
15587+ filename="src/adw-preferences-window.c"
15588+ line="796">Makes @page the visible page of @self.</doc>
15589+ <source-position filename="src/adw-preferences-window.h" line="52"/>
15590+ <return-value transfer-ownership="none">
15591+ <type name="none" c:type="void"/>
15592+ </return-value>
15593+ <parameters>
15594+ <instance-parameter name="self" transfer-ownership="none">
15595+ <doc xml:space="preserve"
15596+ filename="src/adw-preferences-window.c"
15597+ line="798">a preferences window</doc>
15598+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15599+ </instance-parameter>
15600+ <parameter name="page" transfer-ownership="none">
15601+ <doc xml:space="preserve"
15602+ filename="src/adw-preferences-window.c"
15603+ line="799">a page of @self</doc>
15604+ <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
15605+ </parameter>
15606+ </parameters>
15607+ </method>
15608+ <method name="set_visible_page_name"
15609+ c:identifier="adw_preferences_window_set_visible_page_name"
15610+ glib:set-property="visible-page-name">
15611+ <doc xml:space="preserve"
15612+ filename="src/adw-preferences-window.c"
15613+ line="837">Makes the page with the given name visible.
15614+
15615+See [property@ViewStack:visible-child].</doc>
15616+ <source-position filename="src/adw-preferences-window.h" line="58"/>
15617+ <return-value transfer-ownership="none">
15618+ <type name="none" c:type="void"/>
15619+ </return-value>
15620+ <parameters>
15621+ <instance-parameter name="self" transfer-ownership="none">
15622+ <doc xml:space="preserve"
15623+ filename="src/adw-preferences-window.c"
15624+ line="839">a preferences window</doc>
15625+ <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
15626+ </instance-parameter>
15627+ <parameter name="name" transfer-ownership="none">
15628+ <doc xml:space="preserve"
15629+ filename="src/adw-preferences-window.c"
15630+ line="840">the name of the page to make visible</doc>
15631+ <type name="utf8" c:type="const char*"/>
15632+ </parameter>
15633+ </parameters>
15634+ </method>
15635+ <property name="can-navigate-back"
15636+ writable="1"
15637+ transfer-ownership="none"
15638+ setter="set_can_navigate_back"
15639+ getter="get_can_navigate_back"
15640+ default-value="FALSE">
15641+ <attribute name="org.gtk.Property.get"
15642+ value="adw_preferences_window_get_can_navigate_back"/>
15643+ <attribute name="org.gtk.Property.set"
15644+ value="adw_preferences_window_set_can_navigate_back"/>
15645+ <doc xml:space="preserve"
15646+ filename="src/adw-preferences-window.c"
15647+ line="597">Whether gestures and shortcuts for closing subpages are enabled.
15648+
15649+The supported gestures are:
15650+
15651+- One-finger swipe on touchscreens
15652+- Horizontal scrolling on touchpads (usually two-finger swipe)
15653+- Back mouse button
15654+
15655+The keyboard back key is also supported, as well as the
15656+&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.
15657+
15658+For right-to-left locales, gestures and shortcuts are reversed.</doc>
15659+ <type name="gboolean" c:type="gboolean"/>
15660+ </property>
15661+ <property name="search-enabled"
15662+ writable="1"
15663+ transfer-ownership="none"
15664+ setter="set_search_enabled"
15665+ getter="get_search_enabled"
15666+ default-value="TRUE">
15667+ <attribute name="org.gtk.Property.get"
15668+ value="adw_preferences_window_get_search_enabled"/>
15669+ <attribute name="org.gtk.Property.set"
15670+ value="adw_preferences_window_set_search_enabled"/>
15671+ <doc xml:space="preserve"
15672+ filename="src/adw-preferences-window.c"
15673+ line="587">Whether search is enabled.</doc>
15674+ <type name="gboolean" c:type="gboolean"/>
15675+ </property>
15676+ <property name="visible-page"
15677+ writable="1"
15678+ transfer-ownership="none"
15679+ setter="set_visible_page"
15680+ getter="get_visible_page">
15681+ <type name="Gtk.Widget"/>
15682+ </property>
15683+ <property name="visible-page-name"
15684+ writable="1"
15685+ transfer-ownership="none"
15686+ setter="set_visible_page_name"
15687+ getter="get_visible_page_name"
15688+ default-value="NULL">
15689+ <type name="utf8" c:type="gchar*"/>
15690+ </property>
15691+ <field name="parent_instance">
15692+ <type name="Window" c:type="AdwWindow"/>
15693+ </field>
15694+ </class>
15695+ <record name="PreferencesWindowClass"
15696+ c:type="AdwPreferencesWindowClass"
15697+ glib:is-gtype-struct-for="PreferencesWindow">
15698+ <source-position filename="src/adw-preferences-window.h" line="37"/>
15699+ <field name="parent_class">
15700+ <doc xml:space="preserve"
15701+ filename="src/adw-preferences-window.h"
15702+ line="29">The parent class</doc>
15703+ <type name="WindowClass" c:type="AdwWindowClass"/>
15704+ </field>
15705+ <field name="padding" readable="0" private="1">
15706+ <array zero-terminated="0" fixed-size="4">
15707+ <type name="gpointer" c:type="gpointer"/>
15708+ </array>
15709+ </field>
15710+ </record>
15711+ <class name="PropertyAnimationTarget"
15712+ c:symbol-prefix="property_animation_target"
15713+ c:type="AdwPropertyAnimationTarget"
15714+ version="1.2"
15715+ parent="AnimationTarget"
15716+ final="1"
15717+ glib:type-name="AdwPropertyAnimationTarget"
15718+ glib:get-type="adw_property_animation_target_get_type"
15719+ glib:type-struct="PropertyAnimationTargetClass">
15720+ <doc xml:space="preserve"
15721+ filename="src/adw-animation-target.c"
15722+ line="24">An [class@AnimationTarget] changing the value of a property of a
15723+[class@GObject.Object] instance.</doc>
15724+ <source-position filename="src/adw-animation-target.h" line="48"/>
15725+ <constructor name="new"
15726+ c:identifier="adw_property_animation_target_new"
15727+ version="1.2">
15728+ <doc xml:space="preserve"
15729+ filename="src/adw-animation-target.c"
15730+ line="348">Creates a new `AdwPropertyAnimationTarget` for the @property_name property on
15731+@object.</doc>
15732+ <source-position filename="src/adw-animation-target.h" line="51"/>
15733+ <return-value transfer-ownership="full">
15734+ <doc xml:space="preserve"
15735+ filename="src/adw-animation-target.c"
15736+ line="356">the newly created `AdwPropertyAnimationTarget`</doc>
15737+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
15738+ </return-value>
15739+ <parameters>
15740+ <parameter name="object" transfer-ownership="none">
15741+ <doc xml:space="preserve"
15742+ filename="src/adw-animation-target.c"
15743+ line="350">an object to be animated</doc>
15744+ <type name="GObject.Object" c:type="GObject*"/>
15745+ </parameter>
15746+ <parameter name="property_name" transfer-ownership="none">
15747+ <doc xml:space="preserve"
15748+ filename="src/adw-animation-target.c"
15749+ line="351">the name of the property on @object to animate</doc>
15750+ <type name="utf8" c:type="const char*"/>
15751+ </parameter>
15752+ </parameters>
15753+ </constructor>
15754+ <constructor name="new_for_pspec"
15755+ c:identifier="adw_property_animation_target_new_for_pspec"
15756+ version="1.2">
15757+ <doc xml:space="preserve"
15758+ filename="src/adw-animation-target.c"
15759+ line="378">Creates a new `AdwPropertyAnimationTarget` for the @pspec property on
15760+@object.</doc>
15761+ <source-position filename="src/adw-animation-target.h" line="54"/>
15762+ <return-value transfer-ownership="full">
15763+ <doc xml:space="preserve"
15764+ filename="src/adw-animation-target.c"
15765+ line="386">new newly created `AdwPropertyAnimationTarget`</doc>
15766+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
15767+ </return-value>
15768+ <parameters>
15769+ <parameter name="object" transfer-ownership="none">
15770+ <doc xml:space="preserve"
15771+ filename="src/adw-animation-target.c"
15772+ line="380">an object to be animated</doc>
15773+ <type name="GObject.Object" c:type="GObject*"/>
15774+ </parameter>
15775+ <parameter name="pspec" transfer-ownership="none">
15776+ <doc xml:space="preserve"
15777+ filename="src/adw-animation-target.c"
15778+ line="381">the param spec of the property on @object to animate</doc>
15779+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
15780+ </parameter>
15781+ </parameters>
15782+ </constructor>
15783+ <method name="get_object"
15784+ c:identifier="adw_property_animation_target_get_object"
15785+ glib:get-property="object"
15786+ version="1.2">
15787+ <attribute name="org.gtk.Method.get_property" value="object"/>
15788+ <doc xml:space="preserve"
15789+ filename="src/adw-animation-target.c"
15790+ line="403">Gets the object animated by @self.
15791+
15792+The `AdwPropertyAnimationTarget` instance does not hold a strong reference on
15793+the object; make sure the object is kept alive throughout the target's
15794+lifetime.</doc>
15795+ <source-position filename="src/adw-animation-target.h" line="58"/>
15796+ <return-value transfer-ownership="none">
15797+ <doc xml:space="preserve"
15798+ filename="src/adw-animation-target.c"
15799+ line="413">the animated object</doc>
15800+ <type name="GObject.Object" c:type="GObject*"/>
15801+ </return-value>
15802+ <parameters>
15803+ <instance-parameter name="self" transfer-ownership="none">
15804+ <doc xml:space="preserve"
15805+ filename="src/adw-animation-target.c"
15806+ line="405">a property animation target</doc>
15807+ <type name="PropertyAnimationTarget"
15808+ c:type="AdwPropertyAnimationTarget*"/>
15809+ </instance-parameter>
15810+ </parameters>
15811+ </method>
15812+ <method name="get_pspec"
15813+ c:identifier="adw_property_animation_target_get_pspec"
15814+ glib:get-property="pspec"
15815+ version="1.2">
15816+ <attribute name="org.gtk.Method.get_property" value="pspec"/>
15817+ <doc xml:space="preserve"
15818+ filename="src/adw-animation-target.c"
15819+ line="425">Gets the `GParamSpec` of the property animated by @self.</doc>
15820+ <source-position filename="src/adw-animation-target.h" line="60"/>
15821+ <return-value transfer-ownership="none">
15822+ <doc xml:space="preserve"
15823+ filename="src/adw-animation-target.c"
15824+ line="431">the animated property's `GParamSpec`</doc>
15825+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
15826+ </return-value>
15827+ <parameters>
15828+ <instance-parameter name="self" transfer-ownership="none">
15829+ <doc xml:space="preserve"
15830+ filename="src/adw-animation-target.c"
15831+ line="427">a property animation target</doc>
15832+ <type name="PropertyAnimationTarget"
15833+ c:type="AdwPropertyAnimationTarget*"/>
15834+ </instance-parameter>
15835+ </parameters>
15836+ </method>
15837+ <property name="object"
15838+ version="1.2"
15839+ writable="1"
15840+ construct-only="1"
15841+ transfer-ownership="none"
15842+ getter="get_object">
15843+ <attribute name="org.gtk.Property.get"
15844+ value="adw_property_animation_target_get_object"/>
15845+ <doc xml:space="preserve"
15846+ filename="src/adw-animation-target.c"
15847+ line="310">The object whose property will be animated.
15848+
15849+The `AdwPropertyAnimationTarget` instance does not hold a strong reference
15850+on the object; make sure the object is kept alive throughout the target's
15851+lifetime.</doc>
15852+ <type name="GObject.Object"/>
15853+ </property>
15854+ <property name="pspec"
15855+ version="1.2"
15856+ writable="1"
15857+ construct-only="1"
15858+ transfer-ownership="none"
15859+ getter="get_pspec">
15860+ <attribute name="org.gtk.Property.get"
15861+ value="adw_property_animation_target_get_pspec"/>
15862+ <doc xml:space="preserve"
15863+ filename="src/adw-animation-target.c"
15864+ line="326">The `GParamSpec` of the property to be animated.</doc>
15865+ <type name="GObject.ParamSpec"/>
15866+ </property>
15867+ </class>
15868+ <record name="PropertyAnimationTargetClass"
15869+ c:type="AdwPropertyAnimationTargetClass"
15870+ disguised="1"
15871+ opaque="1"
15872+ glib:is-gtype-struct-for="PropertyAnimationTarget">
15873+ <source-position filename="src/adw-animation-target.h" line="48"/>
15874+ </record>
15875+ <enumeration name="ResponseAppearance"
15876+ version="1.2"
15877+ glib:type-name="AdwResponseAppearance"
15878+ glib:get-type="adw_response_appearance_get_type"
15879+ c:type="AdwResponseAppearance">
15880+ <doc xml:space="preserve"
15881+ filename="src/adw-message-dialog.c"
15882+ line="154">Describes the possible styles of [class@MessageDialog] response buttons.
15883+
15884+See [method@MessageDialog.set_response_appearance].</doc>
15885+ <member name="default"
15886+ value="0"
15887+ c:identifier="ADW_RESPONSE_DEFAULT"
15888+ glib:nick="default"
15889+ glib:name="ADW_RESPONSE_DEFAULT">
15890+ <doc xml:space="preserve"
15891+ filename="src/adw-message-dialog.c"
15892+ line="156">the default appearance.</doc>
15893+ </member>
15894+ <member name="suggested"
15895+ value="1"
15896+ c:identifier="ADW_RESPONSE_SUGGESTED"
15897+ glib:nick="suggested"
15898+ glib:name="ADW_RESPONSE_SUGGESTED">
15899+ <doc xml:space="preserve"
15900+ filename="src/adw-message-dialog.c"
15901+ line="157">used to denote important responses such as the
15902+ affirmative action.</doc>
15903+ </member>
15904+ <member name="destructive"
15905+ value="2"
15906+ c:identifier="ADW_RESPONSE_DESTRUCTIVE"
15907+ glib:nick="destructive"
15908+ glib:name="ADW_RESPONSE_DESTRUCTIVE">
15909+ <doc xml:space="preserve"
15910+ filename="src/adw-message-dialog.c"
15911+ line="159">used to draw attention to the potentially damaging
15912+ consequences of using the response. This appearance acts as a warning to
15913+ the user.</doc>
15914+ </member>
15915+ </enumeration>
15916+ <class name="SplitButton"
15917+ c:symbol-prefix="split_button"
15918+ c:type="AdwSplitButton"
15919+ parent="Gtk.Widget"
15920+ final="1"
15921+ glib:type-name="AdwSplitButton"
15922+ glib:get-type="adw_split_button_get_type"
15923+ glib:type-struct="SplitButtonClass">
15924+ <doc xml:space="preserve"
15925+ filename="src/adw-split-button.c"
15926+ line="15">A combined button and dropdown widget.
15927+
15928+&lt;picture&gt;
15929+ &lt;source srcset="split-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
15930+ &lt;img src="split-button.png" alt="split-button"&gt;
15931+&lt;/picture&gt;
15932+
15933+`AdwSplitButton` is typically used to present a set of actions in a menu,
15934+but allow access to one of them with a single click.
15935+
15936+The API is very similar to [class@Gtk.Button] and [class@Gtk.MenuButton], see
15937+their documentation for details.
15938+
15939+## CSS nodes
15940+
15941+```
15942+splitbutton[.image-button][.text-button]
15943+├── button
15944+│ ╰── &lt;content&gt;
15945+├── separator
15946+╰── menubutton
15947+ ╰── button.toggle
15948+ ╰── arrow
15949+```
15950+
15951+`AdwSplitButton`'s CSS node is called `splitbutton`. It contains the css
15952+nodes: `button`, `separator`, `menubutton`. See [class@Gtk.MenuButton]
15953+documentation for the `menubutton` contents.
15954+
15955+The main CSS node will contain the `.image-button` or `.text-button` style
15956+classes matching the button contents. The nested button nodes will never
15957+contain them.
15958+
15959+## Accessibility
15960+
15961+`AdwSplitButton` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
15962+ <source-position filename="src/adw-split-button.h" line="22"/>
15963+ <implements name="Gtk.Accessible"/>
15964+ <implements name="Gtk.Actionable"/>
15965+ <implements name="Gtk.Buildable"/>
15966+ <implements name="Gtk.ConstraintTarget"/>
15967+ <constructor name="new" c:identifier="adw_split_button_new">
15968+ <doc xml:space="preserve"
15969+ filename="src/adw-split-button.c"
15970+ line="582">Creates a new `AdwSplitButton`.</doc>
15971+ <source-position filename="src/adw-split-button.h" line="25"/>
15972+ <return-value transfer-ownership="none">
15973+ <doc xml:space="preserve"
15974+ filename="src/adw-split-button.c"
15975+ line="587">the newly created `AdwSplitButton`</doc>
15976+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
15977+ </return-value>
15978+ </constructor>
15979+ <method name="get_child"
15980+ c:identifier="adw_split_button_get_child"
15981+ glib:get-property="child">
15982+ <attribute name="org.gtk.Method.get_property" value="child"/>
15983+ <doc xml:space="preserve"
15984+ filename="src/adw-split-button.c"
15985+ line="733">Gets the child widget.</doc>
15986+ <source-position filename="src/adw-split-button.h" line="46"/>
15987+ <return-value transfer-ownership="none" nullable="1">
15988+ <doc xml:space="preserve"
15989+ filename="src/adw-split-button.c"
15990+ line="739">the child widget</doc>
15991+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
15992+ </return-value>
15993+ <parameters>
15994+ <instance-parameter name="self" transfer-ownership="none">
15995+ <doc xml:space="preserve"
15996+ filename="src/adw-split-button.c"
15997+ line="735">a split button</doc>
15998+ <type name="SplitButton" c:type="AdwSplitButton*"/>
15999+ </instance-parameter>
16000+ </parameters>
16001+ </method>
16002+ <method name="get_direction"
16003+ c:identifier="adw_split_button_get_direction"
16004+ glib:get-property="direction">
16005+ <attribute name="org.gtk.Method.get_property" value="direction"/>
16006+ <doc xml:space="preserve"
16007+ filename="src/adw-split-button.c"
16008+ line="866">Gets the direction in which the popup will be popped up.</doc>
16009+ <source-position filename="src/adw-split-button.h" line="64"/>
16010+ <return-value transfer-ownership="none">
16011+ <doc xml:space="preserve"
16012+ filename="src/adw-split-button.c"
16013+ line="872">the direction</doc>
16014+ <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
16015+ </return-value>
16016+ <parameters>
16017+ <instance-parameter name="self" transfer-ownership="none">
16018+ <doc xml:space="preserve"
16019+ filename="src/adw-split-button.c"
16020+ line="868">a split button</doc>
16021+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16022+ </instance-parameter>
16023+ </parameters>
16024+ </method>
16025+ <method name="get_dropdown_tooltip"
16026+ c:identifier="adw_split_button_get_dropdown_tooltip"
16027+ glib:get-property="dropdown-tooltip"
16028+ version="1.2">
16029+ <attribute name="org.gtk.Method.get_property"
16030+ value="dropdown-tooltip"/>
16031+ <doc xml:space="preserve"
16032+ filename="src/adw-split-button.c"
16033+ line="910">Gets the tooltip of the dropdown button of @self.</doc>
16034+ <source-position filename="src/adw-split-button.h" line="70"/>
16035+ <return-value transfer-ownership="none">
16036+ <doc xml:space="preserve"
16037+ filename="src/adw-split-button.c"
16038+ line="916">the dropdown tooltip of @self</doc>
16039+ <type name="utf8" c:type="const char*"/>
16040+ </return-value>
16041+ <parameters>
16042+ <instance-parameter name="self" transfer-ownership="none">
16043+ <doc xml:space="preserve"
16044+ filename="src/adw-split-button.c"
16045+ line="912">a split button</doc>
16046+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16047+ </instance-parameter>
16048+ </parameters>
16049+ </method>
16050+ <method name="get_icon_name"
16051+ c:identifier="adw_split_button_get_icon_name"
16052+ glib:get-property="icon-name">
16053+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
16054+ <doc xml:space="preserve"
16055+ filename="src/adw-split-button.c"
16056+ line="683">Gets the name of the icon used to automatically populate the button.</doc>
16057+ <source-position filename="src/adw-split-button.h" line="40"/>
16058+ <return-value transfer-ownership="none" nullable="1">
16059+ <doc xml:space="preserve"
16060+ filename="src/adw-split-button.c"
16061+ line="689">the icon name</doc>
16062+ <type name="utf8" c:type="const char*"/>
16063+ </return-value>
16064+ <parameters>
16065+ <instance-parameter name="self" transfer-ownership="none">
16066+ <doc xml:space="preserve"
16067+ filename="src/adw-split-button.c"
16068+ line="685">a split button</doc>
16069+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16070+ </instance-parameter>
16071+ </parameters>
16072+ </method>
16073+ <method name="get_label"
16074+ c:identifier="adw_split_button_get_label"
16075+ glib:get-property="label">
16076+ <attribute name="org.gtk.Method.get_property" value="label"/>
16077+ <doc xml:space="preserve"
16078+ filename="src/adw-split-button.c"
16079+ line="595">Gets the label for @self.</doc>
16080+ <source-position filename="src/adw-split-button.h" line="28"/>
16081+ <return-value transfer-ownership="none" nullable="1">
16082+ <doc xml:space="preserve"
16083+ filename="src/adw-split-button.c"
16084+ line="601">the label for @self</doc>
16085+ <type name="utf8" c:type="const char*"/>
16086+ </return-value>
16087+ <parameters>
16088+ <instance-parameter name="self" transfer-ownership="none">
16089+ <doc xml:space="preserve"
16090+ filename="src/adw-split-button.c"
16091+ line="597">a split button</doc>
16092+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16093+ </instance-parameter>
16094+ </parameters>
16095+ </method>
16096+ <method name="get_menu_model"
16097+ c:identifier="adw_split_button_get_menu_model"
16098+ glib:get-property="menu-model">
16099+ <attribute name="org.gtk.Method.get_property" value="menu-model"/>
16100+ <doc xml:space="preserve"
16101+ filename="src/adw-split-button.c"
16102+ line="782">Gets the menu model from which the popup will be created.</doc>
16103+ <source-position filename="src/adw-split-button.h" line="52"/>
16104+ <return-value transfer-ownership="none" nullable="1">
16105+ <doc xml:space="preserve"
16106+ filename="src/adw-split-button.c"
16107+ line="788">the menu model</doc>
16108+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
16109+ </return-value>
16110+ <parameters>
16111+ <instance-parameter name="self" transfer-ownership="none">
16112+ <doc xml:space="preserve"
16113+ filename="src/adw-split-button.c"
16114+ line="784">a split button</doc>
16115+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16116+ </instance-parameter>
16117+ </parameters>
16118+ </method>
16119+ <method name="get_popover"
16120+ c:identifier="adw_split_button_get_popover"
16121+ glib:get-property="popover">
16122+ <attribute name="org.gtk.Method.get_property" value="popover"/>
16123+ <doc xml:space="preserve"
16124+ filename="src/adw-split-button.c"
16125+ line="826">Gets the popover that will be popped up when the dropdown is clicked.</doc>
16126+ <source-position filename="src/adw-split-button.h" line="58"/>
16127+ <return-value transfer-ownership="none" nullable="1">
16128+ <doc xml:space="preserve"
16129+ filename="src/adw-split-button.c"
16130+ line="832">the popover</doc>
16131+ <type name="Gtk.Popover" c:type="GtkPopover*"/>
16132+ </return-value>
16133+ <parameters>
16134+ <instance-parameter name="self" transfer-ownership="none">
16135+ <doc xml:space="preserve"
16136+ filename="src/adw-split-button.c"
16137+ line="828">a split button</doc>
16138+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16139+ </instance-parameter>
16140+ </parameters>
16141+ </method>
16142+ <method name="get_use_underline"
16143+ c:identifier="adw_split_button_get_use_underline"
16144+ glib:get-property="use-underline">
16145+ <attribute name="org.gtk.Method.get_property" value="use-underline"/>
16146+ <doc xml:space="preserve"
16147+ filename="src/adw-split-button.c"
16148+ line="644">Gets whether an underline in the text indicates a mnemonic.</doc>
16149+ <source-position filename="src/adw-split-button.h" line="34"/>
16150+ <return-value transfer-ownership="none">
16151+ <doc xml:space="preserve"
16152+ filename="src/adw-split-button.c"
16153+ line="650">whether an underline in the text indicates a mnemonic</doc>
16154+ <type name="gboolean" c:type="gboolean"/>
16155+ </return-value>
16156+ <parameters>
16157+ <instance-parameter name="self" transfer-ownership="none">
16158+ <doc xml:space="preserve"
16159+ filename="src/adw-split-button.c"
16160+ line="646">a split button</doc>
16161+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16162+ </instance-parameter>
16163+ </parameters>
16164+ </method>
16165+ <method name="popdown" c:identifier="adw_split_button_popdown">
16166+ <doc xml:space="preserve"
16167+ filename="src/adw-split-button.c"
16168+ line="976">Dismisses the menu.</doc>
16169+ <source-position filename="src/adw-split-button.h" line="78"/>
16170+ <return-value transfer-ownership="none">
16171+ <type name="none" c:type="void"/>
16172+ </return-value>
16173+ <parameters>
16174+ <instance-parameter name="self" transfer-ownership="none">
16175+ <doc xml:space="preserve"
16176+ filename="src/adw-split-button.c"
16177+ line="978">a split button</doc>
16178+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16179+ </instance-parameter>
16180+ </parameters>
16181+ </method>
16182+ <method name="popup" c:identifier="adw_split_button_popup">
16183+ <doc xml:space="preserve"
16184+ filename="src/adw-split-button.c"
16185+ line="962">Pops up the menu.</doc>
16186+ <source-position filename="src/adw-split-button.h" line="76"/>
16187+ <return-value transfer-ownership="none">
16188+ <type name="none" c:type="void"/>
16189+ </return-value>
16190+ <parameters>
16191+ <instance-parameter name="self" transfer-ownership="none">
16192+ <doc xml:space="preserve"
16193+ filename="src/adw-split-button.c"
16194+ line="964">a split button</doc>
16195+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16196+ </instance-parameter>
16197+ </parameters>
16198+ </method>
16199+ <method name="set_child"
16200+ c:identifier="adw_split_button_set_child"
16201+ glib:set-property="child">
16202+ <attribute name="org.gtk.Method.set_property" value="child"/>
16203+ <doc xml:space="preserve"
16204+ filename="src/adw-split-button.c"
16205+ line="749">Sets the child widget.
16206+
16207+Setting the child widget will set [property@SplitButton:label] and
16208+[property@SplitButton:icon-name] to `NULL`.</doc>
16209+ <source-position filename="src/adw-split-button.h" line="48"/>
16210+ <return-value transfer-ownership="none">
16211+ <type name="none" c:type="void"/>
16212+ </return-value>
16213+ <parameters>
16214+ <instance-parameter name="self" transfer-ownership="none">
16215+ <doc xml:space="preserve"
16216+ filename="src/adw-split-button.c"
16217+ line="751">a split button</doc>
16218+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16219+ </instance-parameter>
16220+ <parameter name="child"
16221+ transfer-ownership="none"
16222+ nullable="1"
16223+ allow-none="1">
16224+ <doc xml:space="preserve"
16225+ filename="src/adw-split-button.c"
16226+ line="752">the new child widget</doc>
16227+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
16228+ </parameter>
16229+ </parameters>
16230+ </method>
16231+ <method name="set_direction"
16232+ c:identifier="adw_split_button_set_direction"
16233+ glib:set-property="direction">
16234+ <attribute name="org.gtk.Method.set_property" value="direction"/>
16235+ <doc xml:space="preserve"
16236+ filename="src/adw-split-button.c"
16237+ line="882">Sets the direction in which the popup will be popped up.
16238+
16239+The dropdown arrow icon will point at the same direction.
16240+
16241+If the does not fit in the available space in the given direction, GTK will
16242+try its best to keep it inside the screen and fully visible.
16243+
16244+If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.</doc>
16245+ <source-position filename="src/adw-split-button.h" line="66"/>
16246+ <return-value transfer-ownership="none">
16247+ <type name="none" c:type="void"/>
16248+ </return-value>
16249+ <parameters>
16250+ <instance-parameter name="self" transfer-ownership="none">
16251+ <doc xml:space="preserve"
16252+ filename="src/adw-split-button.c"
16253+ line="884">a split button</doc>
16254+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16255+ </instance-parameter>
16256+ <parameter name="direction" transfer-ownership="none">
16257+ <doc xml:space="preserve"
16258+ filename="src/adw-split-button.c"
16259+ line="885">the direction</doc>
16260+ <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
16261+ </parameter>
16262+ </parameters>
16263+ </method>
16264+ <method name="set_dropdown_tooltip"
16265+ c:identifier="adw_split_button_set_dropdown_tooltip"
16266+ glib:set-property="dropdown-tooltip"
16267+ version="1.2">
16268+ <attribute name="org.gtk.Method.set_property"
16269+ value="dropdown-tooltip"/>
16270+ <doc xml:space="preserve"
16271+ filename="src/adw-split-button.c"
16272+ line="931">Sets the tooltip of the dropdown button of @self.
16273+
16274+The tooltip can be marked up with the Pango text markup language.</doc>
16275+ <source-position filename="src/adw-split-button.h" line="72"/>
16276+ <return-value transfer-ownership="none">
16277+ <type name="none" c:type="void"/>
16278+ </return-value>
16279+ <parameters>
16280+ <instance-parameter name="self" transfer-ownership="none">
16281+ <doc xml:space="preserve"
16282+ filename="src/adw-split-button.c"
16283+ line="933">a split button</doc>
16284+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16285+ </instance-parameter>
16286+ <parameter name="tooltip" transfer-ownership="none">
16287+ <doc xml:space="preserve"
16288+ filename="src/adw-split-button.c"
16289+ line="934">the dropdown tooltip of @self</doc>
16290+ <type name="utf8" c:type="const char*"/>
16291+ </parameter>
16292+ </parameters>
16293+ </method>
16294+ <method name="set_icon_name"
16295+ c:identifier="adw_split_button_set_icon_name"
16296+ glib:set-property="icon-name">
16297+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
16298+ <doc xml:space="preserve"
16299+ filename="src/adw-split-button.c"
16300+ line="699">Sets the name of the icon used to automatically populate the button.
16301+
16302+Setting the icon name will set [property@SplitButton:label] and
16303+[property@SplitButton:child] to `NULL`.</doc>
16304+ <source-position filename="src/adw-split-button.h" line="42"/>
16305+ <return-value transfer-ownership="none">
16306+ <type name="none" c:type="void"/>
16307+ </return-value>
16308+ <parameters>
16309+ <instance-parameter name="self" transfer-ownership="none">
16310+ <doc xml:space="preserve"
16311+ filename="src/adw-split-button.c"
16312+ line="701">a split button</doc>
16313+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16314+ </instance-parameter>
16315+ <parameter name="icon_name" transfer-ownership="none">
16316+ <doc xml:space="preserve"
16317+ filename="src/adw-split-button.c"
16318+ line="702">the icon name to set</doc>
16319+ <type name="utf8" c:type="const char*"/>
16320+ </parameter>
16321+ </parameters>
16322+ </method>
16323+ <method name="set_label"
16324+ c:identifier="adw_split_button_set_label"
16325+ glib:set-property="label">
16326+ <attribute name="org.gtk.Method.set_property" value="label"/>
16327+ <doc xml:space="preserve"
16328+ filename="src/adw-split-button.c"
16329+ line="611">Sets the label for @self.
16330+
16331+Setting the label will set [property@SplitButton:icon-name] and
16332+[property@SplitButton:child] to `NULL`.</doc>
16333+ <source-position filename="src/adw-split-button.h" line="30"/>
16334+ <return-value transfer-ownership="none">
16335+ <type name="none" c:type="void"/>
16336+ </return-value>
16337+ <parameters>
16338+ <instance-parameter name="self" transfer-ownership="none">
16339+ <doc xml:space="preserve"
16340+ filename="src/adw-split-button.c"
16341+ line="613">a split button</doc>
16342+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16343+ </instance-parameter>
16344+ <parameter name="label" transfer-ownership="none">
16345+ <doc xml:space="preserve"
16346+ filename="src/adw-split-button.c"
16347+ line="614">the label to set</doc>
16348+ <type name="utf8" c:type="const char*"/>
16349+ </parameter>
16350+ </parameters>
16351+ </method>
16352+ <method name="set_menu_model"
16353+ c:identifier="adw_split_button_set_menu_model"
16354+ glib:set-property="menu-model">
16355+ <attribute name="org.gtk.Method.set_property" value="menu-model"/>
16356+ <doc xml:space="preserve"
16357+ filename="src/adw-split-button.c"
16358+ line="798">Sets the menu model from which the popup will be created.
16359+
16360+If the menu model is `NULL`, the dropdown is disabled.
16361+
16362+A [class@Gtk.Popover] will be created from the menu model with
16363+[ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
16364+documented for this function.
16365+
16366+If [property@SplitButton:popover] is already set, it will be dissociated from
16367+the button, and the property is set to `NULL`.</doc>
16368+ <source-position filename="src/adw-split-button.h" line="54"/>
16369+ <return-value transfer-ownership="none">
16370+ <type name="none" c:type="void"/>
16371+ </return-value>
16372+ <parameters>
16373+ <instance-parameter name="self" transfer-ownership="none">
16374+ <doc xml:space="preserve"
16375+ filename="src/adw-split-button.c"
16376+ line="800">a split button</doc>
16377+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16378+ </instance-parameter>
16379+ <parameter name="menu_model"
16380+ transfer-ownership="none"
16381+ nullable="1"
16382+ allow-none="1">
16383+ <doc xml:space="preserve"
16384+ filename="src/adw-split-button.c"
16385+ line="801">the menu model</doc>
16386+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
16387+ </parameter>
16388+ </parameters>
16389+ </method>
16390+ <method name="set_popover"
16391+ c:identifier="adw_split_button_set_popover"
16392+ glib:set-property="popover">
16393+ <attribute name="org.gtk.Method.set_property" value="popover"/>
16394+ <doc xml:space="preserve"
16395+ filename="src/adw-split-button.c"
16396+ line="842">Sets the popover that will be popped up when the dropdown is clicked.
16397+
16398+If the popover is `NULL`, the dropdown is disabled.
16399+
16400+If [property@SplitButton:menu-model] is set, the menu model is dissociated
16401+from the button, and the property is set to `NULL`.</doc>
16402+ <source-position filename="src/adw-split-button.h" line="60"/>
16403+ <return-value transfer-ownership="none">
16404+ <type name="none" c:type="void"/>
16405+ </return-value>
16406+ <parameters>
16407+ <instance-parameter name="self" transfer-ownership="none">
16408+ <doc xml:space="preserve"
16409+ filename="src/adw-split-button.c"
16410+ line="844">a split button</doc>
16411+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16412+ </instance-parameter>
16413+ <parameter name="popover"
16414+ transfer-ownership="none"
16415+ nullable="1"
16416+ allow-none="1">
16417+ <doc xml:space="preserve"
16418+ filename="src/adw-split-button.c"
16419+ line="845">the popover</doc>
16420+ <type name="Gtk.Popover" c:type="GtkPopover*"/>
16421+ </parameter>
16422+ </parameters>
16423+ </method>
16424+ <method name="set_use_underline"
16425+ c:identifier="adw_split_button_set_use_underline"
16426+ glib:set-property="use-underline">
16427+ <attribute name="org.gtk.Method.set_property" value="use-underline"/>
16428+ <doc xml:space="preserve"
16429+ filename="src/adw-split-button.c"
16430+ line="660">Sets whether an underline in the text indicates a mnemonic.
16431+
16432+See [property@SplitButton:label].</doc>
16433+ <source-position filename="src/adw-split-button.h" line="36"/>
16434+ <return-value transfer-ownership="none">
16435+ <type name="none" c:type="void"/>
16436+ </return-value>
16437+ <parameters>
16438+ <instance-parameter name="self" transfer-ownership="none">
16439+ <doc xml:space="preserve"
16440+ filename="src/adw-split-button.c"
16441+ line="662">a split button</doc>
16442+ <type name="SplitButton" c:type="AdwSplitButton*"/>
16443+ </instance-parameter>
16444+ <parameter name="use_underline" transfer-ownership="none">
16445+ <doc xml:space="preserve"
16446+ filename="src/adw-split-button.c"
16447+ line="663">whether an underline in the text indicates a mnemonic</doc>
16448+ <type name="gboolean" c:type="gboolean"/>
16449+ </parameter>
16450+ </parameters>
16451+ </method>
16452+ <property name="child"
16453+ writable="1"
16454+ transfer-ownership="none"
16455+ setter="set_child"
16456+ getter="get_child">
16457+ <attribute name="org.gtk.Property.get"
16458+ value="adw_split_button_get_child"/>
16459+ <attribute name="org.gtk.Property.set"
16460+ value="adw_split_button_set_child"/>
16461+ <doc xml:space="preserve"
16462+ filename="src/adw-split-button.c"
16463+ line="322">The child widget.
16464+
16465+Setting the child widget will set [property@SplitButton:label] and
16466+[property@SplitButton:icon-name] to `NULL`.</doc>
16467+ <type name="Gtk.Widget"/>
16468+ </property>
16469+ <property name="direction"
16470+ writable="1"
16471+ transfer-ownership="none"
16472+ setter="set_direction"
16473+ getter="get_direction"
16474+ default-value="GTK_ARROW_DOWN">
16475+ <attribute name="org.gtk.Property.get"
16476+ value="adw_split_button_get_direction"/>
16477+ <attribute name="org.gtk.Property.set"
16478+ value="adw_split_button_set_direction"/>
16479+ <doc xml:space="preserve"
16480+ filename="src/adw-split-button.c"
16481+ line="369">The direction in which the popup will be popped up.
16482+
16483+The dropdown arrow icon will point at the same direction.
16484+
16485+If the does not fit in the available space in the given direction, GTK will
16486+try its best to keep it inside the screen and fully visible.
16487+
16488+If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.</doc>
16489+ <type name="Gtk.ArrowType"/>
16490+ </property>
16491+ <property name="dropdown-tooltip"
16492+ version="1.2"
16493+ writable="1"
16494+ transfer-ownership="none"
16495+ setter="set_dropdown_tooltip"
16496+ getter="get_dropdown_tooltip">
16497+ <attribute name="org.gtk.Property.get"
16498+ value="adw_split_button_get_dropdown_tooltip"/>
16499+ <attribute name="org.gtk.Property.set"
16500+ value="adw_split_button_set_dropdown_tooltip"/>
16501+ <doc xml:space="preserve"
16502+ filename="src/adw-split-button.c"
16503+ line="387">The tooltip of the dropdown button.
16504+
16505+The tooltip can be marked up with the Pango text markup language.</doc>
16506+ <type name="utf8" c:type="gchar*"/>
16507+ </property>
16508+ <property name="icon-name"
16509+ writable="1"
16510+ transfer-ownership="none"
16511+ setter="set_icon_name"
16512+ getter="get_icon_name"
16513+ default-value="NULL">
16514+ <attribute name="org.gtk.Property.get"
16515+ value="adw_split_button_get_icon_name"/>
16516+ <attribute name="org.gtk.Property.set"
16517+ value="adw_split_button_set_icon_name"/>
16518+ <doc xml:space="preserve"
16519+ filename="src/adw-split-button.c"
16520+ line="309">The name of the icon used to automatically populate the button.
16521+
16522+Setting the icon name will set [property@SplitButton:label] and
16523+[property@SplitButton:child] to `NULL`.</doc>
16524+ <type name="utf8" c:type="gchar*"/>
16525+ </property>
16526+ <property name="label"
16527+ writable="1"
16528+ transfer-ownership="none"
16529+ setter="set_label"
16530+ getter="get_label"
16531+ default-value="NULL">
16532+ <attribute name="org.gtk.Property.get"
16533+ value="adw_split_button_get_label"/>
16534+ <attribute name="org.gtk.Property.set"
16535+ value="adw_split_button_set_label"/>
16536+ <doc xml:space="preserve"
16537+ filename="src/adw-split-button.c"
16538+ line="284">The label for the button.
16539+
16540+Setting the label will set [property@SplitButton:icon-name] and
16541+[property@SplitButton:child] to `NULL`.</doc>
16542+ <type name="utf8" c:type="gchar*"/>
16543+ </property>
16544+ <property name="menu-model"
16545+ writable="1"
16546+ transfer-ownership="none"
16547+ setter="set_menu_model"
16548+ getter="get_menu_model">
16549+ <attribute name="org.gtk.Property.get"
16550+ value="adw_split_button_get_menu_model"/>
16551+ <attribute name="org.gtk.Property.set"
16552+ value="adw_split_button_set_menu_model"/>
16553+ <doc xml:space="preserve"
16554+ filename="src/adw-split-button.c"
16555+ line="335">The `GMenuModel` from which the popup will be created.
16556+
16557+If the menu model is `NULL`, the dropdown is disabled.
16558+
16559+A [class@Gtk.Popover] will be created from the menu model with
16560+[ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
16561+documented for this function.
16562+
16563+If [property@SplitButton:popover] is already set, it will be dissociated
16564+from the button, and the property is set to `NULL`.</doc>
16565+ <type name="Gio.MenuModel"/>
16566+ </property>
16567+ <property name="popover"
16568+ writable="1"
16569+ transfer-ownership="none"
16570+ setter="set_popover"
16571+ getter="get_popover">
16572+ <attribute name="org.gtk.Property.get"
16573+ value="adw_split_button_get_popover"/>
16574+ <attribute name="org.gtk.Property.set"
16575+ value="adw_split_button_set_popover"/>
16576+ <doc xml:space="preserve"
16577+ filename="src/adw-split-button.c"
16578+ line="354">The `GtkPopover` that will be popped up when the dropdown is clicked.
16579+
16580+If the popover is `NULL`, the dropdown is disabled.
16581+
16582+If [property@SplitButton:menu-model] is set, the menu model is dissociated
16583+from the button, and the property is set to `NULL`.</doc>
16584+ <type name="Gtk.Popover"/>
16585+ </property>
16586+ <property name="use-underline"
16587+ writable="1"
16588+ transfer-ownership="none"
16589+ setter="set_use_underline"
16590+ getter="get_use_underline"
16591+ default-value="FALSE">
16592+ <attribute name="org.gtk.Property.get"
16593+ value="adw_split_button_get_use_underline"/>
16594+ <attribute name="org.gtk.Property.set"
16595+ value="adw_split_button_set_use_underline"/>
16596+ <doc xml:space="preserve"
16597+ filename="src/adw-split-button.c"
16598+ line="297">Whether an underline in the text indicates a mnemonic.
16599+
16600+See [property@SplitButton:label].</doc>
16601+ <type name="gboolean" c:type="gboolean"/>
16602+ </property>
16603+ <glib:signal name="activate" when="first" action="1">
16604+ <doc xml:space="preserve"
16605+ filename="src/adw-split-button.c"
16606+ line="423">Emitted to animate press then release.
16607+
16608+This is an action signal. Applications should never connect to this signal,
16609+but use the [signal@SplitButton::clicked] signal.</doc>
16610+ <return-value transfer-ownership="none">
16611+ <type name="none" c:type="void"/>
16612+ </return-value>
16613+ </glib:signal>
16614+ <glib:signal name="clicked" when="first" action="1">
16615+ <doc xml:space="preserve"
16616+ filename="src/adw-split-button.c"
16617+ line="406">Emitted when the button has been activated (pressed and released).</doc>
16618+ <return-value transfer-ownership="none">
16619+ <type name="none" c:type="void"/>
16620+ </return-value>
16621+ </glib:signal>
16622+ </class>
16623+ <record name="SplitButtonClass"
16624+ c:type="AdwSplitButtonClass"
16625+ glib:is-gtype-struct-for="SplitButton">
16626+ <source-position filename="src/adw-split-button.h" line="22"/>
16627+ <field name="parent_class">
16628+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
16629+ </field>
16630+ </record>
16631+ <class name="SpringAnimation"
16632+ c:symbol-prefix="spring_animation"
16633+ c:type="AdwSpringAnimation"
16634+ parent="Animation"
16635+ final="1"
16636+ glib:type-name="AdwSpringAnimation"
16637+ glib:get-type="adw_spring_animation_get_type"
16638+ glib:type-struct="SpringAnimationClass">
16639+ <doc xml:space="preserve"
16640+ filename="src/adw-spring-animation.c"
16641+ line="18">A spring-based [class@Animation].
16642+
16643+`AdwSpringAnimation` implements an animation driven by a physical model of a
16644+spring described by [struct@SpringParams], with a resting position in
16645+[property@SpringAnimation:value-to], stretched to
16646+[property@SpringAnimation:value-from].
16647+
16648+Since the animation is physically simulated, spring animations don't have a
16649+fixed duration. The animation will stop when the simulated spring comes to a
16650+rest - when the amplitude of the oscillations becomes smaller than
16651+[property@SpringAnimation:epsilon], or immediately when it reaches
16652+[property@SpringAnimation:value-to] if
16653+[property@SpringAnimation:clamp] is set to `TRUE`. The estimated duration can
16654+be obtained with [property@SpringAnimation:estimated-duration].
16655+
16656+Due to the nature of spring-driven motion the animation can overshoot
16657+[property@SpringAnimation:value-to] before coming to a rest. Whether the
16658+animation will overshoot or not depends on the damping ratio of the spring.
16659+See [struct@SpringParams] for more information about specific damping ratio
16660+values.
16661+
16662+If [property@SpringAnimation:clamp] is `TRUE`, the animation will abruptly
16663+end as soon as it reaches the final value, preventing overshooting.
16664+
16665+Animations can have an initial velocity value, set via
16666+[property@SpringAnimation:initial-velocity], which adjusts the curve without
16667+changing the duration. This makes spring animations useful for deceleration
16668+at the end of gestures.
16669+
16670+If the initial and final values are equal, and the initial velocity is not 0,
16671+the animation value will bounce and return to its resting position.</doc>
16672+ <source-position filename="src/adw-spring-animation.h" line="25"/>
16673+ <constructor name="new" c:identifier="adw_spring_animation_new">
16674+ <doc xml:space="preserve"
16675+ filename="src/adw-spring-animation.c"
16676+ line="531">Creates a new `AdwSpringAnimation` on @widget.
16677+
16678+The animation will animate @target from @from to @to with the dynamics of a
16679+spring described by @spring_params.</doc>
16680+ <source-position filename="src/adw-spring-animation.h" line="28"/>
16681+ <return-value transfer-ownership="none">
16682+ <doc xml:space="preserve"
16683+ filename="src/adw-spring-animation.c"
16684+ line="544">the newly created animation</doc>
16685+ <type name="Animation" c:type="AdwAnimation*"/>
16686+ </return-value>
16687+ <parameters>
16688+ <parameter name="widget" transfer-ownership="none">
16689+ <doc xml:space="preserve"
16690+ filename="src/adw-spring-animation.c"
16691+ line="533">a widget to create animation on</doc>
16692+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
16693+ </parameter>
16694+ <parameter name="from" transfer-ownership="none">
16695+ <doc xml:space="preserve"
16696+ filename="src/adw-spring-animation.c"
16697+ line="534">a value to animate from</doc>
16698+ <type name="gdouble" c:type="double"/>
16699+ </parameter>
16700+ <parameter name="to" transfer-ownership="none">
16701+ <doc xml:space="preserve"
16702+ filename="src/adw-spring-animation.c"
16703+ line="535">a value to animate to</doc>
16704+ <type name="gdouble" c:type="double"/>
16705+ </parameter>
16706+ <parameter name="spring_params" transfer-ownership="full">
16707+ <doc xml:space="preserve"
16708+ filename="src/adw-spring-animation.c"
16709+ line="536">physical parameters of the spring</doc>
16710+ <type name="SpringParams" c:type="AdwSpringParams*"/>
16711+ </parameter>
16712+ <parameter name="target" transfer-ownership="full">
16713+ <doc xml:space="preserve"
16714+ filename="src/adw-spring-animation.c"
16715+ line="537">a target value to animate</doc>
16716+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
16717+ </parameter>
16718+ </parameters>
16719+ </constructor>
16720+ <method name="calculate_value"
16721+ c:identifier="adw_spring_animation_calculate_value"
16722+ version="1.3">
16723+ <doc xml:space="preserve"
16724+ filename="src/adw-spring-animation.c"
16725+ line="835">Calculates the value @self will have at @time.
16726+
16727+The time starts at 0 and ends at
16728+[property@SpringAnimation:estimated_duration].
16729+
16730+See also [method@SpringAnimation.calculate_velocity].</doc>
16731+ <source-position filename="src/adw-spring-animation.h" line="77"/>
16732+ <return-value transfer-ownership="none">
16733+ <doc xml:space="preserve"
16734+ filename="src/adw-spring-animation.c"
16735+ line="847">the value at @time</doc>
16736+ <type name="gdouble" c:type="double"/>
16737+ </return-value>
16738+ <parameters>
16739+ <instance-parameter name="self" transfer-ownership="none">
16740+ <doc xml:space="preserve"
16741+ filename="src/adw-spring-animation.c"
16742+ line="837">a spring animation</doc>
16743+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16744+ </instance-parameter>
16745+ <parameter name="time" transfer-ownership="none">
16746+ <doc xml:space="preserve"
16747+ filename="src/adw-spring-animation.c"
16748+ line="838">elapsed time, in milliseconds</doc>
16749+ <type name="guint" c:type="guint"/>
16750+ </parameter>
16751+ </parameters>
16752+ </method>
16753+ <method name="calculate_velocity"
16754+ c:identifier="adw_spring_animation_calculate_velocity"
16755+ version="1.3">
16756+ <doc xml:space="preserve"
16757+ filename="src/adw-spring-animation.c"
16758+ line="860">Calculates the velocity @self will have at @time.
16759+
16760+The time starts at 0 and ends at
16761+[property@SpringAnimation:estimated_duration].
16762+
16763+See also [method@SpringAnimation.calculate_value].</doc>
16764+ <source-position filename="src/adw-spring-animation.h" line="80"/>
16765+ <return-value transfer-ownership="none">
16766+ <doc xml:space="preserve"
16767+ filename="src/adw-spring-animation.c"
16768+ line="872">the velocity at @time</doc>
16769+ <type name="gdouble" c:type="double"/>
16770+ </return-value>
16771+ <parameters>
16772+ <instance-parameter name="self" transfer-ownership="none">
16773+ <doc xml:space="preserve"
16774+ filename="src/adw-spring-animation.c"
16775+ line="862">a spring animation</doc>
16776+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16777+ </instance-parameter>
16778+ <parameter name="time" transfer-ownership="none">
16779+ <doc xml:space="preserve"
16780+ filename="src/adw-spring-animation.c"
16781+ line="863">elapsed time, in milliseconds</doc>
16782+ <type name="guint" c:type="guint"/>
16783+ </parameter>
16784+ </parameters>
16785+ </method>
16786+ <method name="get_clamp"
16787+ c:identifier="adw_spring_animation_get_clamp"
16788+ glib:get-property="clamp">
16789+ <attribute name="org.gtk.Method.get_property" value="clamp"/>
16790+ <doc xml:space="preserve"
16791+ filename="src/adw-spring-animation.c"
16792+ line="790">Gets whether @self should be clamped.</doc>
16793+ <source-position filename="src/adw-spring-animation.h" line="65"/>
16794+ <return-value transfer-ownership="none">
16795+ <doc xml:space="preserve"
16796+ filename="src/adw-spring-animation.c"
16797+ line="796">whether @self is clamped</doc>
16798+ <type name="gboolean" c:type="gboolean"/>
16799+ </return-value>
16800+ <parameters>
16801+ <instance-parameter name="self" transfer-ownership="none">
16802+ <doc xml:space="preserve"
16803+ filename="src/adw-spring-animation.c"
16804+ line="792">a spring animation</doc>
16805+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16806+ </instance-parameter>
16807+ </parameters>
16808+ </method>
16809+ <method name="get_epsilon"
16810+ c:identifier="adw_spring_animation_get_epsilon"
16811+ glib:get-property="epsilon">
16812+ <attribute name="org.gtk.Method.get_property" value="epsilon"/>
16813+ <doc xml:space="preserve"
16814+ filename="src/adw-spring-animation.c"
16815+ line="739">Gets the precision of the spring.</doc>
16816+ <source-position filename="src/adw-spring-animation.h" line="59"/>
16817+ <return-value transfer-ownership="none">
16818+ <doc xml:space="preserve"
16819+ filename="src/adw-spring-animation.c"
16820+ line="745">the epsilon value</doc>
16821+ <type name="gdouble" c:type="double"/>
16822+ </return-value>
16823+ <parameters>
16824+ <instance-parameter name="self" transfer-ownership="none">
16825+ <doc xml:space="preserve"
16826+ filename="src/adw-spring-animation.c"
16827+ line="741">a spring animation</doc>
16828+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16829+ </instance-parameter>
16830+ </parameters>
16831+ </method>
16832+ <method name="get_estimated_duration"
16833+ c:identifier="adw_spring_animation_get_estimated_duration"
16834+ glib:get-property="estimated-duration">
16835+ <attribute name="org.gtk.Method.get_property"
16836+ value="estimated-duration"/>
16837+ <doc xml:space="preserve"
16838+ filename="src/adw-spring-animation.c"
16839+ line="889">Gets the estimated duration of @self, in milliseconds.
16840+
16841+Can be [const@DURATION_INFINITE] if the spring damping is set to 0.</doc>
16842+ <source-position filename="src/adw-spring-animation.h" line="71"/>
16843+ <return-value transfer-ownership="none">
16844+ <doc xml:space="preserve"
16845+ filename="src/adw-spring-animation.c"
16846+ line="897">the estimated duration</doc>
16847+ <type name="guint" c:type="guint"/>
16848+ </return-value>
16849+ <parameters>
16850+ <instance-parameter name="self" transfer-ownership="none">
16851+ <doc xml:space="preserve"
16852+ filename="src/adw-spring-animation.c"
16853+ line="891">a spring animation</doc>
16854+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16855+ </instance-parameter>
16856+ </parameters>
16857+ </method>
16858+ <method name="get_initial_velocity"
16859+ c:identifier="adw_spring_animation_get_initial_velocity"
16860+ glib:get-property="initial-velocity">
16861+ <attribute name="org.gtk.Method.get_property"
16862+ value="initial-velocity"/>
16863+ <doc xml:space="preserve"
16864+ filename="src/adw-spring-animation.c"
16865+ line="698">Gets the initial velocity of @self.</doc>
16866+ <source-position filename="src/adw-spring-animation.h" line="53"/>
16867+ <return-value transfer-ownership="none">
16868+ <doc xml:space="preserve"
16869+ filename="src/adw-spring-animation.c"
16870+ line="704">the initial velocity</doc>
16871+ <type name="gdouble" c:type="double"/>
16872+ </return-value>
16873+ <parameters>
16874+ <instance-parameter name="self" transfer-ownership="none">
16875+ <doc xml:space="preserve"
16876+ filename="src/adw-spring-animation.c"
16877+ line="700">a spring animation</doc>
16878+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16879+ </instance-parameter>
16880+ </parameters>
16881+ </method>
16882+ <method name="get_spring_params"
16883+ c:identifier="adw_spring_animation_get_spring_params"
16884+ glib:get-property="spring-params">
16885+ <attribute name="org.gtk.Method.get_property" value="spring-params"/>
16886+ <doc xml:space="preserve"
16887+ filename="src/adw-spring-animation.c"
16888+ line="657">Gets the physical parameters of the spring of @self.</doc>
16889+ <source-position filename="src/adw-spring-animation.h" line="47"/>
16890+ <return-value transfer-ownership="none">
16891+ <doc xml:space="preserve"
16892+ filename="src/adw-spring-animation.c"
16893+ line="663">the spring parameters</doc>
16894+ <type name="SpringParams" c:type="AdwSpringParams*"/>
16895+ </return-value>
16896+ <parameters>
16897+ <instance-parameter name="self" transfer-ownership="none">
16898+ <doc xml:space="preserve"
16899+ filename="src/adw-spring-animation.c"
16900+ line="659">a spring animation</doc>
16901+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16902+ </instance-parameter>
16903+ </parameters>
16904+ </method>
16905+ <method name="get_value_from"
16906+ c:identifier="adw_spring_animation_get_value_from"
16907+ glib:get-property="value-from">
16908+ <attribute name="org.gtk.Method.get_property" value="value-from"/>
16909+ <doc xml:space="preserve"
16910+ filename="src/adw-spring-animation.c"
16911+ line="573">Gets the value @self will animate from.</doc>
16912+ <source-position filename="src/adw-spring-animation.h" line="35"/>
16913+ <return-value transfer-ownership="none">
16914+ <doc xml:space="preserve"
16915+ filename="src/adw-spring-animation.c"
16916+ line="579">the value to animate from</doc>
16917+ <type name="gdouble" c:type="double"/>
16918+ </return-value>
16919+ <parameters>
16920+ <instance-parameter name="self" transfer-ownership="none">
16921+ <doc xml:space="preserve"
16922+ filename="src/adw-spring-animation.c"
16923+ line="575">a spring animation</doc>
16924+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16925+ </instance-parameter>
16926+ </parameters>
16927+ </method>
16928+ <method name="get_value_to"
16929+ c:identifier="adw_spring_animation_get_value_to"
16930+ glib:get-property="value-to">
16931+ <attribute name="org.gtk.Method.get_property" value="value-to"/>
16932+ <doc xml:space="preserve"
16933+ filename="src/adw-spring-animation.c"
16934+ line="615">Gets the value @self will animate to.</doc>
16935+ <source-position filename="src/adw-spring-animation.h" line="41"/>
16936+ <return-value transfer-ownership="none">
16937+ <doc xml:space="preserve"
16938+ filename="src/adw-spring-animation.c"
16939+ line="621">the value to animate to</doc>
16940+ <type name="gdouble" c:type="double"/>
16941+ </return-value>
16942+ <parameters>
16943+ <instance-parameter name="self" transfer-ownership="none">
16944+ <doc xml:space="preserve"
16945+ filename="src/adw-spring-animation.c"
16946+ line="617">a spring animation</doc>
16947+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16948+ </instance-parameter>
16949+ </parameters>
16950+ </method>
16951+ <method name="get_velocity"
16952+ c:identifier="adw_spring_animation_get_velocity"
16953+ glib:get-property="velocity">
16954+ <attribute name="org.gtk.Method.get_property" value="velocity"/>
16955+ <doc xml:space="preserve"
16956+ filename="src/adw-spring-animation.c"
16957+ line="907">Gets the current velocity of @self.</doc>
16958+ <source-position filename="src/adw-spring-animation.h" line="74"/>
16959+ <return-value transfer-ownership="none">
16960+ <doc xml:space="preserve"
16961+ filename="src/adw-spring-animation.c"
16962+ line="913">the current velocity</doc>
16963+ <type name="gdouble" c:type="double"/>
16964+ </return-value>
16965+ <parameters>
16966+ <instance-parameter name="self" transfer-ownership="none">
16967+ <doc xml:space="preserve"
16968+ filename="src/adw-spring-animation.c"
16969+ line="909">a spring animation</doc>
16970+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16971+ </instance-parameter>
16972+ </parameters>
16973+ </method>
16974+ <method name="set_clamp"
16975+ c:identifier="adw_spring_animation_set_clamp"
16976+ glib:set-property="clamp">
16977+ <attribute name="org.gtk.Method.set_property" value="clamp"/>
16978+ <doc xml:space="preserve"
16979+ filename="src/adw-spring-animation.c"
16980+ line="806">Sets whether @self should be clamped.
16981+
16982+If set to `TRUE`, the animation will abruptly end as soon as it reaches the
16983+final value, preventing overshooting.
16984+
16985+It won't prevent overshooting [property@SpringAnimation:value-from] if a
16986+relative negative [property@SpringAnimation:initial-velocity] is set.</doc>
16987+ <source-position filename="src/adw-spring-animation.h" line="67"/>
16988+ <return-value transfer-ownership="none">
16989+ <type name="none" c:type="void"/>
16990+ </return-value>
16991+ <parameters>
16992+ <instance-parameter name="self" transfer-ownership="none">
16993+ <doc xml:space="preserve"
16994+ filename="src/adw-spring-animation.c"
16995+ line="808">a spring animation</doc>
16996+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
16997+ </instance-parameter>
16998+ <parameter name="clamp" transfer-ownership="none">
16999+ <doc xml:space="preserve"
17000+ filename="src/adw-spring-animation.c"
17001+ line="809">the new value</doc>
17002+ <type name="gboolean" c:type="gboolean"/>
17003+ </parameter>
17004+ </parameters>
17005+ </method>
17006+ <method name="set_epsilon"
17007+ c:identifier="adw_spring_animation_set_epsilon"
17008+ glib:set-property="epsilon">
17009+ <attribute name="org.gtk.Method.set_property" value="epsilon"/>
17010+ <doc xml:space="preserve"
17011+ filename="src/adw-spring-animation.c"
17012+ line="755">Sets the precision of the spring.
17013+
17014+The level of precision used to determine when the animation has come to a
17015+rest, that is, when the amplitude of the oscillations becomes smaller than
17016+this value.
17017+
17018+If the epsilon value is too small, the animation will take a long time to
17019+stop after the animated value has stopped visibly changing.
17020+
17021+If the epsilon value is too large, the animation will end prematurely.
17022+
17023+The default value is 0.001.</doc>
17024+ <source-position filename="src/adw-spring-animation.h" line="61"/>
17025+ <return-value transfer-ownership="none">
17026+ <type name="none" c:type="void"/>
17027+ </return-value>
17028+ <parameters>
17029+ <instance-parameter name="self" transfer-ownership="none">
17030+ <doc xml:space="preserve"
17031+ filename="src/adw-spring-animation.c"
17032+ line="757">a spring animation</doc>
17033+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
17034+ </instance-parameter>
17035+ <parameter name="epsilon" transfer-ownership="none">
17036+ <doc xml:space="preserve"
17037+ filename="src/adw-spring-animation.c"
17038+ line="758">the new value</doc>
17039+ <type name="gdouble" c:type="double"/>
17040+ </parameter>
17041+ </parameters>
17042+ </method>
17043+ <method name="set_initial_velocity"
17044+ c:identifier="adw_spring_animation_set_initial_velocity"
17045+ glib:set-property="initial-velocity">
17046+ <attribute name="org.gtk.Method.set_property"
17047+ value="initial-velocity"/>
17048+ <doc xml:space="preserve"
17049+ filename="src/adw-spring-animation.c"
17050+ line="714">Sets the initial velocity of @self.
17051+
17052+Initial velocity affects only the animation curve, but not its duration.</doc>
17053+ <source-position filename="src/adw-spring-animation.h" line="55"/>
17054+ <return-value transfer-ownership="none">
17055+ <type name="none" c:type="void"/>
17056+ </return-value>
17057+ <parameters>
17058+ <instance-parameter name="self" transfer-ownership="none">
17059+ <doc xml:space="preserve"
17060+ filename="src/adw-spring-animation.c"
17061+ line="716">a spring animation</doc>
17062+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
17063+ </instance-parameter>
17064+ <parameter name="velocity" transfer-ownership="none">
17065+ <doc xml:space="preserve"
17066+ filename="src/adw-spring-animation.c"
17067+ line="717">the initial velocity</doc>
17068+ <type name="gdouble" c:type="double"/>
17069+ </parameter>
17070+ </parameters>
17071+ </method>
17072+ <method name="set_spring_params"
17073+ c:identifier="adw_spring_animation_set_spring_params"
17074+ glib:set-property="spring-params">
17075+ <attribute name="org.gtk.Method.set_property" value="spring-params"/>
17076+ <doc xml:space="preserve"
17077+ filename="src/adw-spring-animation.c"
17078+ line="673">Sets the physical parameters of the spring of @self.</doc>
17079+ <source-position filename="src/adw-spring-animation.h" line="49"/>
17080+ <return-value transfer-ownership="none">
17081+ <type name="none" c:type="void"/>
17082+ </return-value>
17083+ <parameters>
17084+ <instance-parameter name="self" transfer-ownership="none">
17085+ <doc xml:space="preserve"
17086+ filename="src/adw-spring-animation.c"
17087+ line="675">a spring animation</doc>
17088+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
17089+ </instance-parameter>
17090+ <parameter name="spring_params" transfer-ownership="none">
17091+ <doc xml:space="preserve"
17092+ filename="src/adw-spring-animation.c"
17093+ line="676">the new spring parameters</doc>
17094+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17095+ </parameter>
17096+ </parameters>
17097+ </method>
17098+ <method name="set_value_from"
17099+ c:identifier="adw_spring_animation_set_value_from"
17100+ glib:set-property="value-from">
17101+ <attribute name="org.gtk.Method.set_property" value="value-from"/>
17102+ <doc xml:space="preserve"
17103+ filename="src/adw-spring-animation.c"
17104+ line="589">Sets the value @self will animate from.
17105+
17106+The animation will start at this value and end at
17107+[property@SpringAnimation:value-to].</doc>
17108+ <source-position filename="src/adw-spring-animation.h" line="37"/>
17109+ <return-value transfer-ownership="none">
17110+ <type name="none" c:type="void"/>
17111+ </return-value>
17112+ <parameters>
17113+ <instance-parameter name="self" transfer-ownership="none">
17114+ <doc xml:space="preserve"
17115+ filename="src/adw-spring-animation.c"
17116+ line="591">a spring animation</doc>
17117+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
17118+ </instance-parameter>
17119+ <parameter name="value" transfer-ownership="none">
17120+ <doc xml:space="preserve"
17121+ filename="src/adw-spring-animation.c"
17122+ line="592">the value to animate from</doc>
17123+ <type name="gdouble" c:type="double"/>
17124+ </parameter>
17125+ </parameters>
17126+ </method>
17127+ <method name="set_value_to"
17128+ c:identifier="adw_spring_animation_set_value_to"
17129+ glib:set-property="value-to">
17130+ <attribute name="org.gtk.Method.set_property" value="value-to"/>
17131+ <doc xml:space="preserve"
17132+ filename="src/adw-spring-animation.c"
17133+ line="631">Sets the value @self will animate to.
17134+
17135+The animation will start at [property@SpringAnimation:value-from] and end at
17136+this value.</doc>
17137+ <source-position filename="src/adw-spring-animation.h" line="43"/>
17138+ <return-value transfer-ownership="none">
17139+ <type name="none" c:type="void"/>
17140+ </return-value>
17141+ <parameters>
17142+ <instance-parameter name="self" transfer-ownership="none">
17143+ <doc xml:space="preserve"
17144+ filename="src/adw-spring-animation.c"
17145+ line="633">a spring animation</doc>
17146+ <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
17147+ </instance-parameter>
17148+ <parameter name="value" transfer-ownership="none">
17149+ <doc xml:space="preserve"
17150+ filename="src/adw-spring-animation.c"
17151+ line="634">the value to animate to</doc>
17152+ <type name="gdouble" c:type="double"/>
17153+ </parameter>
17154+ </parameters>
17155+ </method>
17156+ <property name="clamp"
17157+ writable="1"
17158+ transfer-ownership="none"
17159+ setter="set_clamp"
17160+ getter="get_clamp"
17161+ default-value="FALSE">
17162+ <attribute name="org.gtk.Property.get"
17163+ value="adw_spring_animation_get_clamp"/>
17164+ <attribute name="org.gtk.Property.set"
17165+ value="adw_spring_animation_set_clamp"/>
17166+ <doc xml:space="preserve"
17167+ filename="src/adw-spring-animation.c"
17168+ line="480">Whether the animation should be clamped.
17169+
17170+If set to `TRUE`, the animation will abruptly end as soon as it reaches the
17171+final value, preventing overshooting.
17172+
17173+It won't prevent overshooting [property@SpringAnimation:value-from] if a
17174+relative negative [property@SpringAnimation:initial-velocity] is set.</doc>
17175+ <type name="gboolean" c:type="gboolean"/>
17176+ </property>
17177+ <property name="epsilon"
17178+ writable="1"
17179+ transfer-ownership="none"
17180+ setter="set_epsilon"
17181+ getter="get_epsilon"
17182+ default-value="0.001000">
17183+ <attribute name="org.gtk.Property.get"
17184+ value="adw_spring_animation_get_epsilon"/>
17185+ <attribute name="org.gtk.Property.set"
17186+ value="adw_spring_animation_set_epsilon"/>
17187+ <doc xml:space="preserve"
17188+ filename="src/adw-spring-animation.c"
17189+ line="457">Precision of the spring.
17190+
17191+The level of precision used to determine when the animation has come to a
17192+rest, that is, when the amplitude of the oscillations becomes smaller than
17193+this value.
17194+
17195+If the epsilon value is too small, the animation will take a long time to
17196+stop after the animated value has stopped visibly changing.
17197+
17198+If the epsilon value is too large, the animation will end prematurely.
17199+
17200+The default value is 0.001.</doc>
17201+ <type name="gdouble" c:type="gdouble"/>
17202+ </property>
17203+ <property name="estimated-duration"
17204+ transfer-ownership="none"
17205+ getter="get_estimated_duration"
17206+ default-value="0">
17207+ <attribute name="org.gtk.Property.get"
17208+ value="adw_spring_animation_get_estimated_duration"/>
17209+ <doc xml:space="preserve"
17210+ filename="src/adw-spring-animation.c"
17211+ line="496">Estimated duration of the animation, in milliseconds.
17212+
17213+Can be [const@DURATION_INFINITE] if the spring damping is set to 0.</doc>
17214+ <type name="guint" c:type="guint"/>
17215+ </property>
17216+ <property name="initial-velocity"
17217+ writable="1"
17218+ transfer-ownership="none"
17219+ setter="set_initial_velocity"
17220+ getter="get_initial_velocity"
17221+ default-value="0.000000">
17222+ <attribute name="org.gtk.Property.get"
17223+ value="adw_spring_animation_get_initial_velocity"/>
17224+ <attribute name="org.gtk.Property.set"
17225+ value="adw_spring_animation_set_initial_velocity"/>
17226+ <doc xml:space="preserve"
17227+ filename="src/adw-spring-animation.c"
17228+ line="443">The initial velocity to start the animation with.
17229+
17230+Initial velocity affects only the animation curve, but not its duration.</doc>
17231+ <type name="gdouble" c:type="gdouble"/>
17232+ </property>
17233+ <property name="spring-params"
17234+ writable="1"
17235+ construct="1"
17236+ transfer-ownership="none"
17237+ setter="set_spring_params"
17238+ getter="get_spring_params">
17239+ <attribute name="org.gtk.Property.get"
17240+ value="adw_spring_animation_get_spring_params"/>
17241+ <attribute name="org.gtk.Property.set"
17242+ value="adw_spring_animation_set_spring_params"/>
17243+ <doc xml:space="preserve"
17244+ filename="src/adw-spring-animation.c"
17245+ line="433">Physical parameters describing the spring.</doc>
17246+ <type name="SpringParams"/>
17247+ </property>
17248+ <property name="value-from"
17249+ writable="1"
17250+ construct="1"
17251+ transfer-ownership="none"
17252+ setter="set_value_from"
17253+ getter="get_value_from"
17254+ default-value="0.000000">
17255+ <attribute name="org.gtk.Property.get"
17256+ value="adw_spring_animation_get_value_from"/>
17257+ <attribute name="org.gtk.Property.set"
17258+ value="adw_spring_animation_set_value_from"/>
17259+ <doc xml:space="preserve"
17260+ filename="src/adw-spring-animation.c"
17261+ line="403">The value to animate from.
17262+
17263+The animation will start at this value and end at
17264+[property@SpringAnimation:value-to].</doc>
17265+ <type name="gdouble" c:type="gdouble"/>
17266+ </property>
17267+ <property name="value-to"
17268+ writable="1"
17269+ construct="1"
17270+ transfer-ownership="none"
17271+ setter="set_value_to"
17272+ getter="get_value_to"
17273+ default-value="0.000000">
17274+ <attribute name="org.gtk.Property.get"
17275+ value="adw_spring_animation_get_value_to"/>
17276+ <attribute name="org.gtk.Property.set"
17277+ value="adw_spring_animation_set_value_to"/>
17278+ <doc xml:space="preserve"
17279+ filename="src/adw-spring-animation.c"
17280+ line="418">The value to animate to.
17281+
17282+The animation will start at [property@SpringAnimation:value-from] and end
17283+at this value.</doc>
17284+ <type name="gdouble" c:type="gdouble"/>
17285+ </property>
17286+ <property name="velocity"
17287+ transfer-ownership="none"
17288+ getter="get_velocity"
17289+ default-value="0.000000">
17290+ <attribute name="org.gtk.Property.get"
17291+ value="adw_spring_animation_get_velocity"/>
17292+ <doc xml:space="preserve"
17293+ filename="src/adw-spring-animation.c"
17294+ line="510">Current velocity of the animation.</doc>
17295+ <type name="gdouble" c:type="gdouble"/>
17296+ </property>
17297+ </class>
17298+ <record name="SpringAnimationClass"
17299+ c:type="AdwSpringAnimationClass"
17300+ disguised="1"
17301+ opaque="1"
17302+ glib:is-gtype-struct-for="SpringAnimation">
17303+ <source-position filename="src/adw-spring-animation.h" line="25"/>
17304+ </record>
17305+ <record name="SpringParams"
17306+ c:type="AdwSpringParams"
17307+ opaque="1"
17308+ glib:type-name="AdwSpringParams"
17309+ glib:get-type="adw_spring_params_get_type"
17310+ c:symbol-prefix="spring_params">
17311+ <doc xml:space="preserve"
17312+ filename="src/adw-spring-params.c"
17313+ line="16">Physical parameters of a spring for [class@SpringAnimation].
17314+
17315+Any spring can be described by three parameters: mass, stiffness and damping.
17316+
17317+An undamped spring will produce an oscillatory motion which will go on
17318+forever.
17319+
17320+The frequency and amplitude of the oscillations will be determined by the
17321+stiffness (how "strong" the spring is) and its mass (how much "inertia" it
17322+has).
17323+
17324+If damping is larger than 0, the amplitude of that oscillating motion will
17325+exponientally decrease over time. If that damping is strong enough that the
17326+spring can't complete a full oscillation, it's called an overdamped spring.
17327+
17328+If we the spring can oscillate, it's called an underdamped spring.
17329+
17330+The value between these two behaviors is called critical damping; a
17331+critically damped spring will comes to rest in the minimum possible time
17332+without producing oscillations.
17333+
17334+The damping can be replaced by damping ratio, which produces the following
17335+springs:
17336+
17337+* 0: an undamped spring.
17338+* Between 0 and 1: an underdamped spring.
17339+* 1: a critically damped spring.
17340+* Larger than 1: an overdamped spring.
17341+
17342+As such</doc>
17343+ <source-position filename="src/adw-spring-params.h" line="17"/>
17344+ <constructor name="new" c:identifier="adw_spring_params_new">
17345+ <doc xml:space="preserve"
17346+ filename="src/adw-spring-params.c"
17347+ line="60">Creates a new `AdwSpringParams` from @mass, @stiffness and @damping_ratio.
17348+
17349+The damping value is calculated from @damping_ratio and the other two
17350+parameters.
17351+
17352+* If @damping_ratio is 0, the spring will not be damped and will oscillate
17353+ endlessly.
17354+* If @damping_ratio is between 0 and 1, the spring is underdamped and will
17355+ always overshoot.
17356+* If @damping_ratio is 1, the spring is critically damped and will reach its
17357+ resting position the quickest way possible.
17358+* If @damping_ratio is larger than 1, the spring is overdamped and will reach
17359+ its resting position faster than it can complete an oscillation.
17360+
17361+[ctor@SpringParams.new_full] allows to pass a raw damping value instead.</doc>
17362+ <source-position filename="src/adw-spring-params.h" line="23"/>
17363+ <return-value transfer-ownership="full">
17364+ <doc xml:space="preserve"
17365+ filename="src/adw-spring-params.c"
17366+ line="82">the newly created spring parameters</doc>
17367+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17368+ </return-value>
17369+ <parameters>
17370+ <parameter name="damping_ratio" transfer-ownership="none">
17371+ <doc xml:space="preserve"
17372+ filename="src/adw-spring-params.c"
17373+ line="62">the damping ratio of the spring</doc>
17374+ <type name="gdouble" c:type="double"/>
17375+ </parameter>
17376+ <parameter name="mass" transfer-ownership="none">
17377+ <doc xml:space="preserve"
17378+ filename="src/adw-spring-params.c"
17379+ line="63">the mass of the spring</doc>
17380+ <type name="gdouble" c:type="double"/>
17381+ </parameter>
17382+ <parameter name="stiffness" transfer-ownership="none">
17383+ <doc xml:space="preserve"
17384+ filename="src/adw-spring-params.c"
17385+ line="64">the stiffness of the spring</doc>
17386+ <type name="gdouble" c:type="double"/>
17387+ </parameter>
17388+ </parameters>
17389+ </constructor>
17390+ <constructor name="new_full" c:identifier="adw_spring_params_new_full">
17391+ <doc xml:space="preserve"
17392+ filename="src/adw-spring-params.c"
17393+ line="99">Creates a new `AdwSpringParams` from @mass, @stiffness and @damping.
17394+
17395+See [ctor@SpringParams.new] for a simplified constructor using damping ratio
17396+instead of @damping.</doc>
17397+ <source-position filename="src/adw-spring-params.h" line="27"/>
17398+ <return-value transfer-ownership="full">
17399+ <doc xml:space="preserve"
17400+ filename="src/adw-spring-params.c"
17401+ line="110">the newly created spring parameters</doc>
17402+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17403+ </return-value>
17404+ <parameters>
17405+ <parameter name="damping" transfer-ownership="none">
17406+ <doc xml:space="preserve"
17407+ filename="src/adw-spring-params.c"
17408+ line="101">the damping of the spring</doc>
17409+ <type name="gdouble" c:type="double"/>
17410+ </parameter>
17411+ <parameter name="mass" transfer-ownership="none">
17412+ <doc xml:space="preserve"
17413+ filename="src/adw-spring-params.c"
17414+ line="102">the mass of the spring</doc>
17415+ <type name="gdouble" c:type="double"/>
17416+ </parameter>
17417+ <parameter name="stiffness" transfer-ownership="none">
17418+ <doc xml:space="preserve"
17419+ filename="src/adw-spring-params.c"
17420+ line="103">the stiffness of the spring</doc>
17421+ <type name="gdouble" c:type="double"/>
17422+ </parameter>
17423+ </parameters>
17424+ </constructor>
17425+ <method name="get_damping" c:identifier="adw_spring_params_get_damping">
17426+ <doc xml:space="preserve"
17427+ filename="src/adw-spring-params.c"
17428+ line="169">Gets the damping of @self.</doc>
17429+ <source-position filename="src/adw-spring-params.h" line="37"/>
17430+ <return-value transfer-ownership="none">
17431+ <doc xml:space="preserve"
17432+ filename="src/adw-spring-params.c"
17433+ line="175">the damping</doc>
17434+ <type name="gdouble" c:type="double"/>
17435+ </return-value>
17436+ <parameters>
17437+ <instance-parameter name="self" transfer-ownership="none">
17438+ <doc xml:space="preserve"
17439+ filename="src/adw-spring-params.c"
17440+ line="171">spring params</doc>
17441+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17442+ </instance-parameter>
17443+ </parameters>
17444+ </method>
17445+ <method name="get_damping_ratio"
17446+ c:identifier="adw_spring_params_get_damping_ratio">
17447+ <doc xml:space="preserve"
17448+ filename="src/adw-spring-params.c"
17449+ line="185">Gets the damping ratio of @self.</doc>
17450+ <source-position filename="src/adw-spring-params.h" line="39"/>
17451+ <return-value transfer-ownership="none">
17452+ <doc xml:space="preserve"
17453+ filename="src/adw-spring-params.c"
17454+ line="191">the damping ratio</doc>
17455+ <type name="gdouble" c:type="double"/>
17456+ </return-value>
17457+ <parameters>
17458+ <instance-parameter name="self" transfer-ownership="none">
17459+ <doc xml:space="preserve"
17460+ filename="src/adw-spring-params.c"
17461+ line="187">spring params</doc>
17462+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17463+ </instance-parameter>
17464+ </parameters>
17465+ </method>
17466+ <method name="get_mass" c:identifier="adw_spring_params_get_mass">
17467+ <doc xml:space="preserve"
17468+ filename="src/adw-spring-params.c"
17469+ line="205">Gets the mass of @self.</doc>
17470+ <source-position filename="src/adw-spring-params.h" line="41"/>
17471+ <return-value transfer-ownership="none">
17472+ <doc xml:space="preserve"
17473+ filename="src/adw-spring-params.c"
17474+ line="211">the mass</doc>
17475+ <type name="gdouble" c:type="double"/>
17476+ </return-value>
17477+ <parameters>
17478+ <instance-parameter name="self" transfer-ownership="none">
17479+ <doc xml:space="preserve"
17480+ filename="src/adw-spring-params.c"
17481+ line="207">spring params</doc>
17482+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17483+ </instance-parameter>
17484+ </parameters>
17485+ </method>
17486+ <method name="get_stiffness"
17487+ c:identifier="adw_spring_params_get_stiffness">
17488+ <doc xml:space="preserve"
17489+ filename="src/adw-spring-params.c"
17490+ line="221">Gets the stiffness of @self.</doc>
17491+ <source-position filename="src/adw-spring-params.h" line="43"/>
17492+ <return-value transfer-ownership="none">
17493+ <doc xml:space="preserve"
17494+ filename="src/adw-spring-params.c"
17495+ line="227">the stiffness</doc>
17496+ <type name="gdouble" c:type="double"/>
17497+ </return-value>
17498+ <parameters>
17499+ <instance-parameter name="self" transfer-ownership="none">
17500+ <doc xml:space="preserve"
17501+ filename="src/adw-spring-params.c"
17502+ line="223">spring params</doc>
17503+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17504+ </instance-parameter>
17505+ </parameters>
17506+ </method>
17507+ <method name="ref" c:identifier="adw_spring_params_ref">
17508+ <doc xml:space="preserve"
17509+ filename="src/adw-spring-params.c"
17510+ line="134">Increases the reference count of @self.</doc>
17511+ <source-position filename="src/adw-spring-params.h" line="32"/>
17512+ <return-value transfer-ownership="full">
17513+ <doc xml:space="preserve"
17514+ filename="src/adw-spring-params.c"
17515+ line="140">@self</doc>
17516+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17517+ </return-value>
17518+ <parameters>
17519+ <instance-parameter name="self" transfer-ownership="none">
17520+ <doc xml:space="preserve"
17521+ filename="src/adw-spring-params.c"
17522+ line="136">spring params</doc>
17523+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17524+ </instance-parameter>
17525+ </parameters>
17526+ </method>
17527+ <method name="unref" c:identifier="adw_spring_params_unref">
17528+ <doc xml:space="preserve"
17529+ filename="src/adw-spring-params.c"
17530+ line="152">Decreases the reference count of @self.
17531+
17532+If the last reference is dropped, the structure is freed.</doc>
17533+ <source-position filename="src/adw-spring-params.h" line="34"/>
17534+ <return-value transfer-ownership="none">
17535+ <type name="none" c:type="void"/>
17536+ </return-value>
17537+ <parameters>
17538+ <instance-parameter name="self" transfer-ownership="none">
17539+ <doc xml:space="preserve"
17540+ filename="src/adw-spring-params.c"
17541+ line="154">spring params</doc>
17542+ <type name="SpringParams" c:type="AdwSpringParams*"/>
17543+ </instance-parameter>
17544+ </parameters>
17545+ </method>
17546+ </record>
17547+ <class name="Squeezer"
17548+ c:symbol-prefix="squeezer"
17549+ c:type="AdwSqueezer"
17550+ parent="Gtk.Widget"
17551+ final="1"
17552+ glib:type-name="AdwSqueezer"
17553+ glib:get-type="adw_squeezer_get_type"
17554+ glib:type-struct="SqueezerClass">
17555+ <doc xml:space="preserve"
17556+ filename="src/adw-squeezer.c"
17557+ line="26">A best fit container.
17558+
17559+&lt;picture&gt;
17560+ &lt;source srcset="squeezer-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
17561+ &lt;img src="squeezer-wide.png" alt="squeezer-wide"&gt;
17562+&lt;/picture&gt;
17563+&lt;picture&gt;
17564+ &lt;source srcset="squeezer-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
17565+ &lt;img src="squeezer-narrow.png" alt="squeezer-narrow"&gt;
17566+&lt;/picture&gt;
17567+
17568+The `AdwSqueezer` widget is a container which only shows the first of its
17569+children that fits in the available size. It is convenient to offer different
17570+widgets to represent the same data with different levels of detail, making
17571+the widget seem to squeeze itself to fit in the available space.
17572+
17573+Transitions between children can be animated as fades. This can be controlled
17574+with [property@Squeezer:transition-type].
17575+
17576+## CSS nodes
17577+
17578+`AdwSqueezer` has a single CSS node with name `squeezer`.</doc>
17579+ <source-position filename="src/adw-squeezer.h" line="38"/>
17580+ <implements name="Gtk.Accessible"/>
17581+ <implements name="Gtk.Buildable"/>
17582+ <implements name="Gtk.ConstraintTarget"/>
17583+ <implements name="Gtk.Orientable"/>
17584+ <constructor name="new" c:identifier="adw_squeezer_new">
17585+ <doc xml:space="preserve"
17586+ filename="src/adw-squeezer.c"
17587+ line="1307">Creates a new `AdwSqueezer`.</doc>
17588+ <source-position filename="src/adw-squeezer.h" line="46"/>
17589+ <return-value transfer-ownership="none">
17590+ <doc xml:space="preserve"
17591+ filename="src/adw-squeezer.c"
17592+ line="1312">the newly created `AdwSqueezer`</doc>
17593+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
17594+ </return-value>
17595+ </constructor>
17596+ <method name="add" c:identifier="adw_squeezer_add">
17597+ <doc xml:space="preserve"
17598+ filename="src/adw-squeezer.c"
17599+ line="1320">Adds a child to @self.</doc>
17600+ <source-position filename="src/adw-squeezer.h" line="49"/>
17601+ <return-value transfer-ownership="none">
17602+ <doc xml:space="preserve"
17603+ filename="src/adw-squeezer.c"
17604+ line="1327">the [class@SqueezerPage] for @child</doc>
17605+ <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
17606+ </return-value>
17607+ <parameters>
17608+ <instance-parameter name="self" transfer-ownership="none">
17609+ <doc xml:space="preserve"
17610+ filename="src/adw-squeezer.c"
17611+ line="1322">a squeezer</doc>
17612+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17613+ </instance-parameter>
17614+ <parameter name="child" transfer-ownership="none">
17615+ <doc xml:space="preserve"
17616+ filename="src/adw-squeezer.c"
17617+ line="1323">the widget to add</doc>
17618+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
17619+ </parameter>
17620+ </parameters>
17621+ </method>
17622+ <method name="get_allow_none"
17623+ c:identifier="adw_squeezer_get_allow_none"
17624+ glib:get-property="allow-none">
17625+ <attribute name="org.gtk.Method.get_property" value="allow-none"/>
17626+ <doc xml:space="preserve"
17627+ filename="src/adw-squeezer.c"
17628+ line="1508">Gets whether to allow squeezing beyond the last child's minimum size.</doc>
17629+ <source-position filename="src/adw-squeezer.h" line="75"/>
17630+ <return-value transfer-ownership="none">
17631+ <doc xml:space="preserve"
17632+ filename="src/adw-squeezer.c"
17633+ line="1514">whether @self allows squeezing beyond the last child</doc>
17634+ <type name="gboolean" c:type="gboolean"/>
17635+ </return-value>
17636+ <parameters>
17637+ <instance-parameter name="self" transfer-ownership="none">
17638+ <doc xml:space="preserve"
17639+ filename="src/adw-squeezer.c"
17640+ line="1510">a squeezer</doc>
17641+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17642+ </instance-parameter>
17643+ </parameters>
17644+ </method>
17645+ <method name="get_homogeneous"
17646+ c:identifier="adw_squeezer_get_homogeneous"
17647+ glib:get-property="homogeneous">
17648+ <attribute name="org.gtk.Method.get_property" value="homogeneous"/>
17649+ <doc xml:space="preserve"
17650+ filename="src/adw-squeezer.c"
17651+ line="1414">Gets whether all children have the same size for the opposite orientation.</doc>
17652+ <source-position filename="src/adw-squeezer.h" line="63"/>
17653+ <return-value transfer-ownership="none">
17654+ <doc xml:space="preserve"
17655+ filename="src/adw-squeezer.c"
17656+ line="1420">whether @self is homogeneous</doc>
17657+ <type name="gboolean" c:type="gboolean"/>
17658+ </return-value>
17659+ <parameters>
17660+ <instance-parameter name="self" transfer-ownership="none">
17661+ <doc xml:space="preserve"
17662+ filename="src/adw-squeezer.c"
17663+ line="1416">a squeezer</doc>
17664+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17665+ </instance-parameter>
17666+ </parameters>
17667+ </method>
17668+ <method name="get_interpolate_size"
17669+ c:identifier="adw_squeezer_get_interpolate_size"
17670+ glib:get-property="interpolate-size">
17671+ <attribute name="org.gtk.Method.get_property"
17672+ value="interpolate-size"/>
17673+ <doc xml:space="preserve"
17674+ filename="src/adw-squeezer.c"
17675+ line="1646">Gets whether @self interpolates its size when changing the visible child.</doc>
17676+ <source-position filename="src/adw-squeezer.h" line="96"/>
17677+ <return-value transfer-ownership="none">
17678+ <doc xml:space="preserve"
17679+ filename="src/adw-squeezer.c"
17680+ line="1652">whether the size is interpolated</doc>
17681+ <type name="gboolean" c:type="gboolean"/>
17682+ </return-value>
17683+ <parameters>
17684+ <instance-parameter name="self" transfer-ownership="none">
17685+ <doc xml:space="preserve"
17686+ filename="src/adw-squeezer.c"
17687+ line="1648">A squeezer</doc>
17688+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17689+ </instance-parameter>
17690+ </parameters>
17691+ </method>
17692+ <method name="get_page" c:identifier="adw_squeezer_get_page">
17693+ <doc xml:space="preserve"
17694+ filename="src/adw-squeezer.c"
17695+ line="1379">Returns the [class@SqueezerPage] object for @child.</doc>
17696+ <source-position filename="src/adw-squeezer.h" line="56"/>
17697+ <return-value transfer-ownership="none">
17698+ <doc xml:space="preserve"
17699+ filename="src/adw-squeezer.c"
17700+ line="1386">the page object for @child</doc>
17701+ <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
17702+ </return-value>
17703+ <parameters>
17704+ <instance-parameter name="self" transfer-ownership="none">
17705+ <doc xml:space="preserve"
17706+ filename="src/adw-squeezer.c"
17707+ line="1381">a squeezer</doc>
17708+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17709+ </instance-parameter>
17710+ <parameter name="child" transfer-ownership="none">
17711+ <doc xml:space="preserve"
17712+ filename="src/adw-squeezer.c"
17713+ line="1382">a child of @self</doc>
17714+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
17715+ </parameter>
17716+ </parameters>
17717+ </method>
17718+ <method name="get_pages"
17719+ c:identifier="adw_squeezer_get_pages"
17720+ glib:get-property="pages">
17721+ <attribute name="org.gtk.Method.get_property" value="pages"/>
17722+ <doc xml:space="preserve"
17723+ filename="src/adw-squeezer.c"
17724+ line="1779">Returns a [iface@Gio.ListModel] that contains the pages of @self.
17725+
17726+This can be used to keep an up-to-date view. The model also implements
17727+[iface@Gtk.SelectionModel] and can be used to track the visible page.</doc>
17728+ <source-position filename="src/adw-squeezer.h" line="114"/>
17729+ <return-value transfer-ownership="full">
17730+ <doc xml:space="preserve"
17731+ filename="src/adw-squeezer.c"
17732+ line="1788">a `GtkSelectionModel` for the squeezer's children</doc>
17733+ <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
17734+ </return-value>
17735+ <parameters>
17736+ <instance-parameter name="self" transfer-ownership="none">
17737+ <doc xml:space="preserve"
17738+ filename="src/adw-squeezer.c"
17739+ line="1781">a squeezer</doc>
17740+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17741+ </instance-parameter>
17742+ </parameters>
17743+ </method>
17744+ <method name="get_switch_threshold_policy"
17745+ c:identifier="adw_squeezer_get_switch_threshold_policy"
17746+ glib:get-property="switch-threshold-policy">
17747+ <attribute name="org.gtk.Method.get_property"
17748+ value="switch-threshold-policy"/>
17749+ <doc xml:space="preserve"
17750+ filename="src/adw-squeezer.c"
17751+ line="1460">Gets the switch threshold policy for @self.</doc>
17752+ <source-position filename="src/adw-squeezer.h" line="69"/>
17753+ <return-value transfer-ownership="none">
17754+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
17755+ </return-value>
17756+ <parameters>
17757+ <instance-parameter name="self" transfer-ownership="none">
17758+ <doc xml:space="preserve"
17759+ filename="src/adw-squeezer.c"
17760+ line="1462">a squeezer</doc>
17761+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17762+ </instance-parameter>
17763+ </parameters>
17764+ </method>
17765+ <method name="get_transition_duration"
17766+ c:identifier="adw_squeezer_get_transition_duration"
17767+ glib:get-property="transition-duration">
17768+ <attribute name="org.gtk.Method.get_property"
17769+ value="transition-duration"/>
17770+ <doc xml:space="preserve"
17771+ filename="src/adw-squeezer.c"
17772+ line="1553">Gets the transition animation duration for @self.</doc>
17773+ <source-position filename="src/adw-squeezer.h" line="81"/>
17774+ <return-value transfer-ownership="none">
17775+ <doc xml:space="preserve"
17776+ filename="src/adw-squeezer.c"
17777+ line="1559">the transition duration, in milliseconds</doc>
17778+ <type name="guint" c:type="guint"/>
17779+ </return-value>
17780+ <parameters>
17781+ <instance-parameter name="self" transfer-ownership="none">
17782+ <doc xml:space="preserve"
17783+ filename="src/adw-squeezer.c"
17784+ line="1555">a squeezer</doc>
17785+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17786+ </instance-parameter>
17787+ </parameters>
17788+ </method>
17789+ <method name="get_transition_running"
17790+ c:identifier="adw_squeezer_get_transition_running"
17791+ glib:get-property="transition-running">
17792+ <attribute name="org.gtk.Method.get_property"
17793+ value="transition-running"/>
17794+ <doc xml:space="preserve"
17795+ filename="src/adw-squeezer.c"
17796+ line="1626">Gets whether a transition is currently running for @self.
17797+
17798+If a transition is impossible, the property value will be set to `TRUE` and
17799+then immediately to `FALSE`, so it's possible to rely on its notifications
17800+to know that a transition has happened.</doc>
17801+ <source-position filename="src/adw-squeezer.h" line="93"/>
17802+ <return-value transfer-ownership="none">
17803+ <doc xml:space="preserve"
17804+ filename="src/adw-squeezer.c"
17805+ line="1636">whether a transition is currently running</doc>
17806+ <type name="gboolean" c:type="gboolean"/>
17807+ </return-value>
17808+ <parameters>
17809+ <instance-parameter name="self" transfer-ownership="none">
17810+ <doc xml:space="preserve"
17811+ filename="src/adw-squeezer.c"
17812+ line="1628">a squeezer</doc>
17813+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17814+ </instance-parameter>
17815+ </parameters>
17816+ </method>
17817+ <method name="get_transition_type"
17818+ c:identifier="adw_squeezer_get_transition_type"
17819+ glib:get-property="transition-type">
17820+ <attribute name="org.gtk.Method.get_property" value="transition-type"/>
17821+ <doc xml:space="preserve"
17822+ filename="src/adw-squeezer.c"
17823+ line="1590">Gets the type of animation used for transitions between children in @self.</doc>
17824+ <source-position filename="src/adw-squeezer.h" line="87"/>
17825+ <return-value transfer-ownership="none">
17826+ <doc xml:space="preserve"
17827+ filename="src/adw-squeezer.c"
17828+ line="1596">the current transition type of @self</doc>
17829+ <type name="SqueezerTransitionType"
17830+ c:type="AdwSqueezerTransitionType"/>
17831+ </return-value>
17832+ <parameters>
17833+ <instance-parameter name="self" transfer-ownership="none">
17834+ <doc xml:space="preserve"
17835+ filename="src/adw-squeezer.c"
17836+ line="1592">a squeezer</doc>
17837+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17838+ </instance-parameter>
17839+ </parameters>
17840+ </method>
17841+ <method name="get_visible_child"
17842+ c:identifier="adw_squeezer_get_visible_child"
17843+ glib:get-property="visible-child">
17844+ <attribute name="org.gtk.Method.get_property" value="visible-child"/>
17845+ <doc xml:space="preserve"
17846+ filename="src/adw-squeezer.c"
17847+ line="1398">Gets the currently visible child of @self.</doc>
17848+ <source-position filename="src/adw-squeezer.h" line="60"/>
17849+ <return-value transfer-ownership="none" nullable="1">
17850+ <doc xml:space="preserve"
17851+ filename="src/adw-squeezer.c"
17852+ line="1404">the visible child</doc>
17853+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
17854+ </return-value>
17855+ <parameters>
17856+ <instance-parameter name="self" transfer-ownership="none">
17857+ <doc xml:space="preserve"
17858+ filename="src/adw-squeezer.c"
17859+ line="1400">a squeezer</doc>
17860+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17861+ </instance-parameter>
17862+ </parameters>
17863+ </method>
17864+ <method name="get_xalign"
17865+ c:identifier="adw_squeezer_get_xalign"
17866+ glib:get-property="xalign">
17867+ <attribute name="org.gtk.Method.get_property" value="xalign"/>
17868+ <doc xml:space="preserve"
17869+ filename="src/adw-squeezer.c"
17870+ line="1689">Gets the horizontal alignment, from 0 (start) to 1 (end).</doc>
17871+ <source-position filename="src/adw-squeezer.h" line="102"/>
17872+ <return-value transfer-ownership="none">
17873+ <doc xml:space="preserve"
17874+ filename="src/adw-squeezer.c"
17875+ line="1695">the alignment value</doc>
17876+ <type name="gfloat" c:type="float"/>
17877+ </return-value>
17878+ <parameters>
17879+ <instance-parameter name="self" transfer-ownership="none">
17880+ <doc xml:space="preserve"
17881+ filename="src/adw-squeezer.c"
17882+ line="1691">a squeezer</doc>
17883+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17884+ </instance-parameter>
17885+ </parameters>
17886+ </method>
17887+ <method name="get_yalign"
17888+ c:identifier="adw_squeezer_get_yalign"
17889+ glib:get-property="yalign">
17890+ <attribute name="org.gtk.Method.get_property" value="yalign"/>
17891+ <doc xml:space="preserve"
17892+ filename="src/adw-squeezer.c"
17893+ line="1734">Gets the vertical alignment, from 0 (top) to 1 (bottom).</doc>
17894+ <source-position filename="src/adw-squeezer.h" line="108"/>
17895+ <return-value transfer-ownership="none">
17896+ <doc xml:space="preserve"
17897+ filename="src/adw-squeezer.c"
17898+ line="1740">the alignment value</doc>
17899+ <type name="gfloat" c:type="float"/>
17900+ </return-value>
17901+ <parameters>
17902+ <instance-parameter name="self" transfer-ownership="none">
17903+ <doc xml:space="preserve"
17904+ filename="src/adw-squeezer.c"
17905+ line="1736">a squeezer</doc>
17906+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17907+ </instance-parameter>
17908+ </parameters>
17909+ </method>
17910+ <method name="remove" c:identifier="adw_squeezer_remove">
17911+ <doc xml:space="preserve"
17912+ filename="src/adw-squeezer.c"
17913+ line="1348">Removes a child widget from @self.</doc>
17914+ <source-position filename="src/adw-squeezer.h" line="52"/>
17915+ <return-value transfer-ownership="none">
17916+ <type name="none" c:type="void"/>
17917+ </return-value>
17918+ <parameters>
17919+ <instance-parameter name="self" transfer-ownership="none">
17920+ <doc xml:space="preserve"
17921+ filename="src/adw-squeezer.c"
17922+ line="1350">a squeezer</doc>
17923+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17924+ </instance-parameter>
17925+ <parameter name="child" transfer-ownership="none">
17926+ <doc xml:space="preserve"
17927+ filename="src/adw-squeezer.c"
17928+ line="1351">the child to remove</doc>
17929+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
17930+ </parameter>
17931+ </parameters>
17932+ </method>
17933+ <method name="set_allow_none"
17934+ c:identifier="adw_squeezer_set_allow_none"
17935+ glib:set-property="allow-none">
17936+ <attribute name="org.gtk.Method.set_property" value="allow-none"/>
17937+ <doc xml:space="preserve"
17938+ filename="src/adw-squeezer.c"
17939+ line="1524">Sets whether to allow squeezing beyond the last child's minimum size.
17940+
17941+If set to `TRUE`, the squeezer can shrink to the point where no child can be
17942+shown. This is functionally equivalent to appending a widget with 0×0 minimum
17943+size.</doc>
17944+ <source-position filename="src/adw-squeezer.h" line="77"/>
17945+ <return-value transfer-ownership="none">
17946+ <type name="none" c:type="void"/>
17947+ </return-value>
17948+ <parameters>
17949+ <instance-parameter name="self" transfer-ownership="none">
17950+ <doc xml:space="preserve"
17951+ filename="src/adw-squeezer.c"
17952+ line="1526">a squeezer</doc>
17953+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17954+ </instance-parameter>
17955+ <parameter name="allow_none" transfer-ownership="none">
17956+ <doc xml:space="preserve"
17957+ filename="src/adw-squeezer.c"
17958+ line="1527">whether @self allows squeezing beyond the last child</doc>
17959+ <type name="gboolean" c:type="gboolean"/>
17960+ </parameter>
17961+ </parameters>
17962+ </method>
17963+ <method name="set_homogeneous"
17964+ c:identifier="adw_squeezer_set_homogeneous"
17965+ glib:set-property="homogeneous">
17966+ <attribute name="org.gtk.Method.set_property" value="homogeneous"/>
17967+ <doc xml:space="preserve"
17968+ filename="src/adw-squeezer.c"
17969+ line="1430">Sets whether all children have the same size for the opposite orientation.
17970+
17971+For example, if a squeezer is horizontal and is homogeneous, it will request
17972+the same height for all its children. If it isn't, the squeezer may change
17973+size when a different child becomes visible.</doc>
17974+ <source-position filename="src/adw-squeezer.h" line="65"/>
17975+ <return-value transfer-ownership="none">
17976+ <type name="none" c:type="void"/>
17977+ </return-value>
17978+ <parameters>
17979+ <instance-parameter name="self" transfer-ownership="none">
17980+ <doc xml:space="preserve"
17981+ filename="src/adw-squeezer.c"
17982+ line="1432">a squeezer</doc>
17983+ <type name="Squeezer" c:type="AdwSqueezer*"/>
17984+ </instance-parameter>
17985+ <parameter name="homogeneous" transfer-ownership="none">
17986+ <doc xml:space="preserve"
17987+ filename="src/adw-squeezer.c"
17988+ line="1433">whether @self is homogeneous</doc>
17989+ <type name="gboolean" c:type="gboolean"/>
17990+ </parameter>
17991+ </parameters>
17992+ </method>
17993+ <method name="set_interpolate_size"
17994+ c:identifier="adw_squeezer_set_interpolate_size"
17995+ glib:set-property="interpolate-size">
17996+ <attribute name="org.gtk.Method.set_property"
17997+ value="interpolate-size"/>
17998+ <doc xml:space="preserve"
17999+ filename="src/adw-squeezer.c"
18000+ line="1662">Sets whether @self interpolates its size when changing the visible child.
18001+
18002+If `TRUE`, the squeezer will interpolate its size between the one of the
18003+previous visible child and the one of the new visible child, according to the
18004+set transition duration and the orientation, e.g. if the squeezer is
18005+horizontal, it will interpolate the its height.</doc>
18006+ <source-position filename="src/adw-squeezer.h" line="98"/>
18007+ <return-value transfer-ownership="none">
18008+ <type name="none" c:type="void"/>
18009+ </return-value>
18010+ <parameters>
18011+ <instance-parameter name="self" transfer-ownership="none">
18012+ <doc xml:space="preserve"
18013+ filename="src/adw-squeezer.c"
18014+ line="1664">A squeezer</doc>
18015+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18016+ </instance-parameter>
18017+ <parameter name="interpolate_size" transfer-ownership="none">
18018+ <doc xml:space="preserve"
18019+ filename="src/adw-squeezer.c"
18020+ line="1665">whether to interpolate the size</doc>
18021+ <type name="gboolean" c:type="gboolean"/>
18022+ </parameter>
18023+ </parameters>
18024+ </method>
18025+ <method name="set_switch_threshold_policy"
18026+ c:identifier="adw_squeezer_set_switch_threshold_policy"
18027+ glib:set-property="switch-threshold-policy">
18028+ <attribute name="org.gtk.Method.set_property"
18029+ value="switch-threshold-policy"/>
18030+ <doc xml:space="preserve"
18031+ filename="src/adw-squeezer.c"
18032+ line="1475">Sets the switch threshold policy for @self.
18033+
18034+Determines when the squeezer will switch children.
18035+
18036+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only switch when the
18037+visible child cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
18038+it will switch as soon as the visible child doesn't get their natural size.
18039+
18040+This can be useful if you have a long ellipsizing label and want to let it
18041+ellipsize instead of immediately switching.</doc>
18042+ <source-position filename="src/adw-squeezer.h" line="71"/>
18043+ <return-value transfer-ownership="none">
18044+ <type name="none" c:type="void"/>
18045+ </return-value>
18046+ <parameters>
18047+ <instance-parameter name="self" transfer-ownership="none">
18048+ <doc xml:space="preserve"
18049+ filename="src/adw-squeezer.c"
18050+ line="1477">a squeezer</doc>
18051+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18052+ </instance-parameter>
18053+ <parameter name="policy" transfer-ownership="none">
18054+ <doc xml:space="preserve"
18055+ filename="src/adw-squeezer.c"
18056+ line="1478">the policy to use</doc>
18057+ <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
18058+ </parameter>
18059+ </parameters>
18060+ </method>
18061+ <method name="set_transition_duration"
18062+ c:identifier="adw_squeezer_set_transition_duration"
18063+ glib:set-property="transition-duration">
18064+ <attribute name="org.gtk.Method.set_property"
18065+ value="transition-duration"/>
18066+ <doc xml:space="preserve"
18067+ filename="src/adw-squeezer.c"
18068+ line="1569">Sets the transition animation duration for @self.</doc>
18069+ <source-position filename="src/adw-squeezer.h" line="83"/>
18070+ <return-value transfer-ownership="none">
18071+ <type name="none" c:type="void"/>
18072+ </return-value>
18073+ <parameters>
18074+ <instance-parameter name="self" transfer-ownership="none">
18075+ <doc xml:space="preserve"
18076+ filename="src/adw-squeezer.c"
18077+ line="1571">a squeezer</doc>
18078+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18079+ </instance-parameter>
18080+ <parameter name="duration" transfer-ownership="none">
18081+ <doc xml:space="preserve"
18082+ filename="src/adw-squeezer.c"
18083+ line="1572">the new duration, in milliseconds</doc>
18084+ <type name="guint" c:type="guint"/>
18085+ </parameter>
18086+ </parameters>
18087+ </method>
18088+ <method name="set_transition_type"
18089+ c:identifier="adw_squeezer_set_transition_type"
18090+ glib:set-property="transition-type">
18091+ <attribute name="org.gtk.Method.set_property" value="transition-type"/>
18092+ <doc xml:space="preserve"
18093+ filename="src/adw-squeezer.c"
18094+ line="1606">Sets the type of animation used for transitions between children in @self.</doc>
18095+ <source-position filename="src/adw-squeezer.h" line="89"/>
18096+ <return-value transfer-ownership="none">
18097+ <type name="none" c:type="void"/>
18098+ </return-value>
18099+ <parameters>
18100+ <instance-parameter name="self" transfer-ownership="none">
18101+ <doc xml:space="preserve"
18102+ filename="src/adw-squeezer.c"
18103+ line="1608">a squeezer</doc>
18104+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18105+ </instance-parameter>
18106+ <parameter name="transition" transfer-ownership="none">
18107+ <doc xml:space="preserve"
18108+ filename="src/adw-squeezer.c"
18109+ line="1609">the new transition type</doc>
18110+ <type name="SqueezerTransitionType"
18111+ c:type="AdwSqueezerTransitionType"/>
18112+ </parameter>
18113+ </parameters>
18114+ </method>
18115+ <method name="set_xalign"
18116+ c:identifier="adw_squeezer_set_xalign"
18117+ glib:set-property="xalign">
18118+ <attribute name="org.gtk.Method.set_property" value="xalign"/>
18119+ <doc xml:space="preserve"
18120+ filename="src/adw-squeezer.c"
18121+ line="1705">Sets the horizontal alignment, from 0 (start) to 1 (end).
18122+
18123+This affects the children allocation during transitions, when they exceed the
18124+size of the squeezer.
18125+
18126+For example, 0.5 means the child will be centered, 0 means it will keep the
18127+start side aligned and overflow the end side, and 1 means the opposite.</doc>
18128+ <source-position filename="src/adw-squeezer.h" line="104"/>
18129+ <return-value transfer-ownership="none">
18130+ <type name="none" c:type="void"/>
18131+ </return-value>
18132+ <parameters>
18133+ <instance-parameter name="self" transfer-ownership="none">
18134+ <doc xml:space="preserve"
18135+ filename="src/adw-squeezer.c"
18136+ line="1707">a squeezer</doc>
18137+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18138+ </instance-parameter>
18139+ <parameter name="xalign" transfer-ownership="none">
18140+ <doc xml:space="preserve"
18141+ filename="src/adw-squeezer.c"
18142+ line="1708">the new alignment value</doc>
18143+ <type name="gfloat" c:type="float"/>
18144+ </parameter>
18145+ </parameters>
18146+ </method>
18147+ <method name="set_yalign"
18148+ c:identifier="adw_squeezer_set_yalign"
18149+ glib:set-property="yalign">
18150+ <attribute name="org.gtk.Method.set_property" value="yalign"/>
18151+ <doc xml:space="preserve"
18152+ filename="src/adw-squeezer.c"
18153+ line="1750">Sets the vertical alignment, from 0 (top) to 1 (bottom).
18154+
18155+This affects the children allocation during transitions, when they exceed the
18156+size of the squeezer.
18157+
18158+For example, 0.5 means the child will be centered, 0 means it will keep the
18159+top side aligned and overflow the bottom side, and 1 means the opposite.</doc>
18160+ <source-position filename="src/adw-squeezer.h" line="110"/>
18161+ <return-value transfer-ownership="none">
18162+ <type name="none" c:type="void"/>
18163+ </return-value>
18164+ <parameters>
18165+ <instance-parameter name="self" transfer-ownership="none">
18166+ <doc xml:space="preserve"
18167+ filename="src/adw-squeezer.c"
18168+ line="1752">a squeezer</doc>
18169+ <type name="Squeezer" c:type="AdwSqueezer*"/>
18170+ </instance-parameter>
18171+ <parameter name="yalign" transfer-ownership="none">
18172+ <doc xml:space="preserve"
18173+ filename="src/adw-squeezer.c"
18174+ line="1753">the new alignment value</doc>
18175+ <type name="gfloat" c:type="float"/>
18176+ </parameter>
18177+ </parameters>
18178+ </method>
18179+ <property name="allow-none"
18180+ writable="1"
18181+ transfer-ownership="none"
18182+ setter="set_allow_none"
18183+ getter="get_allow_none"
18184+ default-value="FALSE">
18185+ <attribute name="org.gtk.Property.get"
18186+ value="adw_squeezer_get_allow_none"/>
18187+ <attribute name="org.gtk.Property.set"
18188+ value="adw_squeezer_set_allow_none"/>
18189+ <doc xml:space="preserve"
18190+ filename="src/adw-squeezer.c"
18191+ line="1076">Whether to allow squeezing beyond the last child's minimum size.
18192+
18193+If set to `TRUE`, the squeezer can shrink to the point where no child can
18194+be shown. This is functionally equivalent to appending a widget with 0×0
18195+minimum size.</doc>
18196+ <type name="gboolean" c:type="gboolean"/>
18197+ </property>
18198+ <property name="homogeneous"
18199+ writable="1"
18200+ transfer-ownership="none"
18201+ setter="set_homogeneous"
18202+ getter="get_homogeneous"
18203+ default-value="FALSE">
18204+ <attribute name="org.gtk.Property.get"
18205+ value="adw_squeezer_get_homogeneous"/>
18206+ <attribute name="org.gtk.Property.set"
18207+ value="adw_squeezer_set_homogeneous"/>
18208+ <doc xml:space="preserve"
18209+ filename="src/adw-squeezer.c"
18210+ line="1042">Whether all children have the same size for the opposite orientation.
18211+
18212+For example, if a squeezer is horizontal and is homogeneous, it will
18213+request the same height for all its children. If it isn't, the squeezer may
18214+change size when a different child becomes visible.</doc>
18215+ <type name="gboolean" c:type="gboolean"/>
18216+ </property>
18217+ <property name="interpolate-size"
18218+ writable="1"
18219+ transfer-ownership="none"
18220+ setter="set_interpolate_size"
18221+ getter="get_interpolate_size"
18222+ default-value="FALSE">
18223+ <attribute name="org.gtk.Property.get"
18224+ value="adw_squeezer_get_interpolate_size"/>
18225+ <attribute name="org.gtk.Property.set"
18226+ value="adw_squeezer_set_interpolate_size"/>
18227+ <doc xml:space="preserve"
18228+ filename="src/adw-squeezer.c"
18229+ line="1125">Whether the squeezer interpolates its size when changing the visible child.
18230+
18231+If `TRUE`, the squeezer will interpolate its size between the one of the
18232+previous visible child and the one of the new visible child, according to
18233+the set transition duration and the orientation, e.g. if the squeezer is
18234+horizontal, it will interpolate the its height.</doc>
18235+ <type name="gboolean" c:type="gboolean"/>
18236+ </property>
18237+ <property name="pages" transfer-ownership="none" getter="get_pages">
18238+ <attribute name="org.gtk.Property.get" value="adw_squeezer_get_pages"/>
18239+ <doc xml:space="preserve"
18240+ filename="src/adw-squeezer.c"
18241+ line="1174">A selection model with the squeezer's pages.
18242+
18243+This can be used to keep an up-to-date view. The model also implements
18244+[iface@Gtk.SelectionModel] and can be used to track the visible page.</doc>
18245+ <type name="Gtk.SelectionModel"/>
18246+ </property>
18247+ <property name="switch-threshold-policy"
18248+ writable="1"
18249+ transfer-ownership="none"
18250+ setter="set_switch_threshold_policy"
18251+ getter="get_switch_threshold_policy"
18252+ default-value="ADW_FOLD_THRESHOLD_POLICY_NATURAL">
18253+ <attribute name="org.gtk.Property.get"
18254+ value="adw_squeezer_get_switch_threshold_policy"/>
18255+ <attribute name="org.gtk.Property.set"
18256+ value="adw_squeezer_set_switch_threshold_policy"/>
18257+ <doc xml:space="preserve"
18258+ filename="src/adw-squeezer.c"
18259+ line="1056">The switch threshold policy.
18260+
18261+Determines when the squeezer will switch children.
18262+
18263+If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only switch when the
18264+visible child cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
18265+it will switch as soon as the visible child doesn't get their natural size.
18266+
18267+This can be useful if you have a long ellipsizing label and want to let it
18268+ellipsize instead of immediately switching.</doc>
18269+ <type name="FoldThresholdPolicy"/>
18270+ </property>
18271+ <property name="transition-duration"
18272+ writable="1"
18273+ transfer-ownership="none"
18274+ setter="set_transition_duration"
18275+ getter="get_transition_duration"
18276+ default-value="200">
18277+ <attribute name="org.gtk.Property.get"
18278+ value="adw_squeezer_get_transition_duration"/>
18279+ <attribute name="org.gtk.Property.set"
18280+ value="adw_squeezer_set_transition_duration"/>
18281+ <doc xml:space="preserve"
18282+ filename="src/adw-squeezer.c"
18283+ line="1090">The transition animation duration, in milliseconds.</doc>
18284+ <type name="guint" c:type="guint"/>
18285+ </property>
18286+ <property name="transition-running"
18287+ transfer-ownership="none"
18288+ getter="get_transition_running"
18289+ default-value="FALSE">
18290+ <attribute name="org.gtk.Property.get"
18291+ value="adw_squeezer_get_transition_running"/>
18292+ <doc xml:space="preserve"
18293+ filename="src/adw-squeezer.c"
18294+ line="1111">Whether a transition is currently running.
18295+
18296+If a transition is impossible, the property value will be set to `TRUE` and
18297+then immediately to `FALSE`, so it's possible to rely on its notifications
18298+to know that a transition has happened.</doc>
18299+ <type name="gboolean" c:type="gboolean"/>
18300+ </property>
18301+ <property name="transition-type"
18302+ writable="1"
18303+ transfer-ownership="none"
18304+ setter="set_transition_type"
18305+ getter="get_transition_type"
18306+ default-value="ADW_SQUEEZER_TRANSITION_TYPE_NONE">
18307+ <attribute name="org.gtk.Property.get"
18308+ value="adw_squeezer_get_transition_type"/>
18309+ <attribute name="org.gtk.Property.set"
18310+ value="adw_squeezer_set_transition_type"/>
18311+ <doc xml:space="preserve"
18312+ filename="src/adw-squeezer.c"
18313+ line="1100">The type of animation used for transitions between children.</doc>
18314+ <type name="SqueezerTransitionType"/>
18315+ </property>
18316+ <property name="visible-child"
18317+ transfer-ownership="none"
18318+ getter="get_visible_child">
18319+ <attribute name="org.gtk.Property.get"
18320+ value="adw_squeezer_get_visible_child"/>
18321+ <doc xml:space="preserve"
18322+ filename="src/adw-squeezer.c"
18323+ line="1032">The currently visible child.</doc>
18324+ <type name="Gtk.Widget"/>
18325+ </property>
18326+ <property name="xalign"
18327+ writable="1"
18328+ transfer-ownership="none"
18329+ setter="set_xalign"
18330+ getter="get_xalign"
18331+ default-value="0.500000">
18332+ <attribute name="org.gtk.Property.get"
18333+ value="adw_squeezer_get_xalign"/>
18334+ <attribute name="org.gtk.Property.set"
18335+ value="adw_squeezer_set_xalign"/>
18336+ <doc xml:space="preserve"
18337+ filename="src/adw-squeezer.c"
18338+ line="1140">The horizontal alignment, from 0 (start) to 1 (end).
18339+
18340+This affects the children allocation during transitions, when they exceed
18341+the size of the squeezer.
18342+
18343+For example, 0.5 means the child will be centered, 0 means it will keep the
18344+start side aligned and overflow the end side, and 1 means the opposite.</doc>
18345+ <type name="gfloat" c:type="gfloat"/>
18346+ </property>
18347+ <property name="yalign"
18348+ writable="1"
18349+ transfer-ownership="none"
18350+ setter="set_yalign"
18351+ getter="get_yalign"
18352+ default-value="0.500000">
18353+ <attribute name="org.gtk.Property.get"
18354+ value="adw_squeezer_get_yalign"/>
18355+ <attribute name="org.gtk.Property.set"
18356+ value="adw_squeezer_set_yalign"/>
18357+ <doc xml:space="preserve"
18358+ filename="src/adw-squeezer.c"
18359+ line="1157">The vertical alignment, from 0 (top) to 1 (bottom).
18360+
18361+This affects the children allocation during transitions, when they exceed
18362+the size of the squeezer.
18363+
18364+For example, 0.5 means the child will be centered, 0 means it will keep the
18365+top side aligned and overflow the bottom side, and 1 means the opposite.</doc>
18366+ <type name="gfloat" c:type="gfloat"/>
18367+ </property>
18368+ </class>
18369+ <record name="SqueezerClass"
18370+ c:type="AdwSqueezerClass"
18371+ glib:is-gtype-struct-for="Squeezer">
18372+ <source-position filename="src/adw-squeezer.h" line="38"/>
18373+ <field name="parent_class">
18374+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
18375+ </field>
18376+ </record>
18377+ <class name="SqueezerPage"
18378+ c:symbol-prefix="squeezer_page"
18379+ c:type="AdwSqueezerPage"
18380+ parent="GObject.Object"
18381+ final="1"
18382+ glib:type-name="AdwSqueezerPage"
18383+ glib:get-type="adw_squeezer_page_get_type"
18384+ glib:type-struct="SqueezerPageClass">
18385+ <doc xml:space="preserve"
18386+ filename="src/adw-squeezer.c"
18387+ line="53">An auxiliary class used by [class@Squeezer].</doc>
18388+ <source-position filename="src/adw-squeezer.h" line="24"/>
18389+ <method name="get_child"
18390+ c:identifier="adw_squeezer_page_get_child"
18391+ glib:get-property="child">
18392+ <attribute name="org.gtk.Method.get_property" value="child"/>
18393+ <doc xml:space="preserve"
18394+ filename="src/adw-squeezer.c"
18395+ line="1236">Returns the squeezer child to which @self belongs.</doc>
18396+ <source-position filename="src/adw-squeezer.h" line="27"/>
18397+ <return-value transfer-ownership="none">
18398+ <doc xml:space="preserve"
18399+ filename="src/adw-squeezer.c"
18400+ line="1242">the child to which @self belongs</doc>
18401+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
18402+ </return-value>
18403+ <parameters>
18404+ <instance-parameter name="self" transfer-ownership="none">
18405+ <doc xml:space="preserve"
18406+ filename="src/adw-squeezer.c"
18407+ line="1238">a squeezer page</doc>
18408+ <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
18409+ </instance-parameter>
18410+ </parameters>
18411+ </method>
18412+ <method name="get_enabled"
18413+ c:identifier="adw_squeezer_page_get_enabled"
18414+ glib:get-property="enabled">
18415+ <attribute name="org.gtk.Method.get_property" value="enabled"/>
18416+ <doc xml:space="preserve"
18417+ filename="src/adw-squeezer.c"
18418+ line="1252">Gets whether @self is enabled.</doc>
18419+ <source-position filename="src/adw-squeezer.h" line="30"/>
18420+ <return-value transfer-ownership="none">
18421+ <doc xml:space="preserve"
18422+ filename="src/adw-squeezer.c"
18423+ line="1258">whether @self is enabled</doc>
18424+ <type name="gboolean" c:type="gboolean"/>
18425+ </return-value>
18426+ <parameters>
18427+ <instance-parameter name="self" transfer-ownership="none">
18428+ <doc xml:space="preserve"
18429+ filename="src/adw-squeezer.c"
18430+ line="1254">a squeezer page</doc>
18431+ <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
18432+ </instance-parameter>
18433+ </parameters>
18434+ </method>
18435+ <method name="set_enabled"
18436+ c:identifier="adw_squeezer_page_set_enabled"
18437+ glib:set-property="enabled">
18438+ <attribute name="org.gtk.Method.set_property" value="enabled"/>
18439+ <doc xml:space="preserve"
18440+ filename="src/adw-squeezer.c"
18441+ line="1268">Sets whether @self is enabled.
18442+
18443+If a child is disabled, it will be ignored when looking for the child
18444+fitting the available size best.
18445+
18446+This allows to programmatically and prematurely hide a child even if it fits
18447+in the available space.
18448+
18449+This can be used e.g. to ensure a certain child is hidden below a certain
18450+window width, or any other constraint you find suitable.</doc>
18451+ <source-position filename="src/adw-squeezer.h" line="32"/>
18452+ <return-value transfer-ownership="none">
18453+ <type name="none" c:type="void"/>
18454+ </return-value>
18455+ <parameters>
18456+ <instance-parameter name="self" transfer-ownership="none">
18457+ <doc xml:space="preserve"
18458+ filename="src/adw-squeezer.c"
18459+ line="1270">a squeezer page</doc>
18460+ <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
18461+ </instance-parameter>
18462+ <parameter name="enabled" transfer-ownership="none">
18463+ <doc xml:space="preserve"
18464+ filename="src/adw-squeezer.c"
18465+ line="1271">whether @self is enabled</doc>
18466+ <type name="gboolean" c:type="gboolean"/>
18467+ </parameter>
18468+ </parameters>
18469+ </method>
18470+ <property name="child"
18471+ writable="1"
18472+ construct-only="1"
18473+ transfer-ownership="none"
18474+ getter="get_child">
18475+ <attribute name="org.gtk.Property.get"
18476+ value="adw_squeezer_page_get_child"/>
18477+ <doc xml:space="preserve"
18478+ filename="src/adw-squeezer.c"
18479+ line="214">The the squeezer child to which the page belongs.</doc>
18480+ <type name="Gtk.Widget"/>
18481+ </property>
18482+ <property name="enabled"
18483+ writable="1"
18484+ transfer-ownership="none"
18485+ setter="set_enabled"
18486+ getter="get_enabled"
18487+ default-value="TRUE">
18488+ <attribute name="org.gtk.Property.get"
18489+ value="adw_squeezer_page_get_enabled"/>
18490+ <attribute name="org.gtk.Property.set"
18491+ value="adw_squeezer_page_set_enabled"/>
18492+ <doc xml:space="preserve"
18493+ filename="src/adw-squeezer.c"
18494+ line="224">Whether the child is enabled.
18495+
18496+If a child is disabled, it will be ignored when looking for the child
18497+fitting the available size best.
18498+
18499+This allows to programmatically and prematurely hide a child even if it
18500+fits in the available space.
18501+
18502+This can be used e.g. to ensure a certain child is hidden below a certain
18503+window width, or any other constraint you find suitable.</doc>
18504+ <type name="gboolean" c:type="gboolean"/>
18505+ </property>
18506+ </class>
18507+ <record name="SqueezerPageClass"
18508+ c:type="AdwSqueezerPageClass"
18509+ glib:is-gtype-struct-for="SqueezerPage">
18510+ <source-position filename="src/adw-squeezer.h" line="24"/>
18511+ <field name="parent_class">
18512+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
18513+ </field>
18514+ </record>
18515+ <enumeration name="SqueezerTransitionType"
18516+ glib:type-name="AdwSqueezerTransitionType"
18517+ glib:get-type="adw_squeezer_transition_type_get_type"
18518+ c:type="AdwSqueezerTransitionType">
18519+ <doc xml:space="preserve"
18520+ filename="src/adw-squeezer.c"
18521+ line="59">Describes the possible transitions in a [class@Squeezer] widget.</doc>
18522+ <member name="none"
18523+ value="0"
18524+ c:identifier="ADW_SQUEEZER_TRANSITION_TYPE_NONE"
18525+ glib:nick="none"
18526+ glib:name="ADW_SQUEEZER_TRANSITION_TYPE_NONE">
18527+ <doc xml:space="preserve"
18528+ filename="src/adw-squeezer.c"
18529+ line="61">No transition</doc>
18530+ </member>
18531+ <member name="crossfade"
18532+ value="1"
18533+ c:identifier="ADW_SQUEEZER_TRANSITION_TYPE_CROSSFADE"
18534+ glib:nick="crossfade"
18535+ glib:name="ADW_SQUEEZER_TRANSITION_TYPE_CROSSFADE">
18536+ <doc xml:space="preserve"
18537+ filename="src/adw-squeezer.c"
18538+ line="62">A cross-fade</doc>
18539+ </member>
18540+ </enumeration>
18541+ <class name="StatusPage"
18542+ c:symbol-prefix="status_page"
18543+ c:type="AdwStatusPage"
18544+ parent="Gtk.Widget"
18545+ final="1"
18546+ glib:type-name="AdwStatusPage"
18547+ glib:get-type="adw_status_page_get_type"
18548+ glib:type-struct="StatusPageClass">
18549+ <doc xml:space="preserve"
18550+ filename="src/adw-status-page.c"
18551+ line="13">A page used for empty/error states and similar use-cases.
18552+
18553+&lt;picture&gt;
18554+ &lt;source srcset="status-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
18555+ &lt;img src="status-page.png" alt="status-page"&gt;
18556+&lt;/picture&gt;
18557+
18558+The `AdwStatusPage` widget can have an icon, a title, a description and a
18559+custom widget which is displayed below them.
18560+
18561+## CSS nodes
18562+
18563+`AdwStatusPage` has a main CSS node with name `statuspage`.
18564+
18565+`AdwStatusPage` can use the
18566+[`.compact`](style-classes.html#compact-status-page) style class for when it
18567+needs to fit into a small space such a sidebar or a popover.</doc>
18568+ <source-position filename="src/adw-status-page.h" line="22"/>
18569+ <implements name="Gtk.Accessible"/>
18570+ <implements name="Gtk.Buildable"/>
18571+ <implements name="Gtk.ConstraintTarget"/>
18572+ <constructor name="new" c:identifier="adw_status_page_new">
18573+ <doc xml:space="preserve"
18574+ filename="src/adw-status-page.c"
18575+ line="292">Creates a new `AdwStatusPage`.</doc>
18576+ <source-position filename="src/adw-status-page.h" line="25"/>
18577+ <return-value transfer-ownership="none">
18578+ <doc xml:space="preserve"
18579+ filename="src/adw-status-page.c"
18580+ line="297">the newly created `AdwStatusPage`</doc>
18581+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
18582+ </return-value>
18583+ </constructor>
18584+ <method name="get_child"
18585+ c:identifier="adw_status_page_get_child"
18586+ glib:get-property="child">
18587+ <attribute name="org.gtk.Method.get_property" value="child"/>
18588+ <doc xml:space="preserve"
18589+ filename="src/adw-status-page.c"
18590+ line="481">Gets the child widget of @self.</doc>
18591+ <source-position filename="src/adw-status-page.h" line="52"/>
18592+ <return-value transfer-ownership="none" nullable="1">
18593+ <doc xml:space="preserve"
18594+ filename="src/adw-status-page.c"
18595+ line="487">the child widget of @self</doc>
18596+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
18597+ </return-value>
18598+ <parameters>
18599+ <instance-parameter name="self" transfer-ownership="none">
18600+ <doc xml:space="preserve"
18601+ filename="src/adw-status-page.c"
18602+ line="483">a status page</doc>
18603+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18604+ </instance-parameter>
18605+ </parameters>
18606+ </method>
18607+ <method name="get_description"
18608+ c:identifier="adw_status_page_get_description"
18609+ glib:get-property="description">
18610+ <attribute name="org.gtk.Method.get_property" value="description"/>
18611+ <doc xml:space="preserve"
18612+ filename="src/adw-status-page.c"
18613+ line="442">Gets the description for @self.</doc>
18614+ <source-position filename="src/adw-status-page.h" line="46"/>
18615+ <return-value transfer-ownership="none" nullable="1">
18616+ <doc xml:space="preserve"
18617+ filename="src/adw-status-page.c"
18618+ line="448">the description</doc>
18619+ <type name="utf8" c:type="const char*"/>
18620+ </return-value>
18621+ <parameters>
18622+ <instance-parameter name="self" transfer-ownership="none">
18623+ <doc xml:space="preserve"
18624+ filename="src/adw-status-page.c"
18625+ line="444">a status page</doc>
18626+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18627+ </instance-parameter>
18628+ </parameters>
18629+ </method>
18630+ <method name="get_icon_name"
18631+ c:identifier="adw_status_page_get_icon_name"
18632+ glib:get-property="icon-name">
18633+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
18634+ <doc xml:space="preserve"
18635+ filename="src/adw-status-page.c"
18636+ line="305">Gets the icon name for @self.</doc>
18637+ <source-position filename="src/adw-status-page.h" line="28"/>
18638+ <return-value transfer-ownership="none" nullable="1">
18639+ <doc xml:space="preserve"
18640+ filename="src/adw-status-page.c"
18641+ line="311">the icon name</doc>
18642+ <type name="utf8" c:type="const char*"/>
18643+ </return-value>
18644+ <parameters>
18645+ <instance-parameter name="self" transfer-ownership="none">
18646+ <doc xml:space="preserve"
18647+ filename="src/adw-status-page.c"
18648+ line="307">a status page</doc>
18649+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18650+ </instance-parameter>
18651+ </parameters>
18652+ </method>
18653+ <method name="get_paintable"
18654+ c:identifier="adw_status_page_get_paintable"
18655+ glib:get-property="paintable">
18656+ <attribute name="org.gtk.Method.get_property" value="paintable"/>
18657+ <doc xml:space="preserve"
18658+ filename="src/adw-status-page.c"
18659+ line="354">Gets the paintable for @self.</doc>
18660+ <source-position filename="src/adw-status-page.h" line="34"/>
18661+ <return-value transfer-ownership="none" nullable="1">
18662+ <doc xml:space="preserve"
18663+ filename="src/adw-status-page.c"
18664+ line="360">the paintable</doc>
18665+ <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
18666+ </return-value>
18667+ <parameters>
18668+ <instance-parameter name="self" transfer-ownership="none">
18669+ <doc xml:space="preserve"
18670+ filename="src/adw-status-page.c"
18671+ line="356">a status page</doc>
18672+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18673+ </instance-parameter>
18674+ </parameters>
18675+ </method>
18676+ <method name="get_title"
18677+ c:identifier="adw_status_page_get_title"
18678+ glib:get-property="title">
18679+ <attribute name="org.gtk.Method.get_property" value="title"/>
18680+ <doc xml:space="preserve"
18681+ filename="src/adw-status-page.c"
18682+ line="403">Gets the title for @self.</doc>
18683+ <source-position filename="src/adw-status-page.h" line="40"/>
18684+ <return-value transfer-ownership="none">
18685+ <doc xml:space="preserve"
18686+ filename="src/adw-status-page.c"
18687+ line="409">the title</doc>
18688+ <type name="utf8" c:type="const char*"/>
18689+ </return-value>
18690+ <parameters>
18691+ <instance-parameter name="self" transfer-ownership="none">
18692+ <doc xml:space="preserve"
18693+ filename="src/adw-status-page.c"
18694+ line="405">a status page</doc>
18695+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18696+ </instance-parameter>
18697+ </parameters>
18698+ </method>
18699+ <method name="set_child"
18700+ c:identifier="adw_status_page_set_child"
18701+ glib:set-property="child">
18702+ <attribute name="org.gtk.Method.set_property" value="child"/>
18703+ <doc xml:space="preserve"
18704+ filename="src/adw-status-page.c"
18705+ line="497">Sets the child widget of @self.</doc>
18706+ <source-position filename="src/adw-status-page.h" line="54"/>
18707+ <return-value transfer-ownership="none">
18708+ <type name="none" c:type="void"/>
18709+ </return-value>
18710+ <parameters>
18711+ <instance-parameter name="self" transfer-ownership="none">
18712+ <doc xml:space="preserve"
18713+ filename="src/adw-status-page.c"
18714+ line="499">a status page</doc>
18715+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18716+ </instance-parameter>
18717+ <parameter name="child"
18718+ transfer-ownership="none"
18719+ nullable="1"
18720+ allow-none="1">
18721+ <doc xml:space="preserve"
18722+ filename="src/adw-status-page.c"
18723+ line="500">the child widget</doc>
18724+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
18725+ </parameter>
18726+ </parameters>
18727+ </method>
18728+ <method name="set_description"
18729+ c:identifier="adw_status_page_set_description"
18730+ glib:set-property="description">
18731+ <attribute name="org.gtk.Method.set_property" value="description"/>
18732+ <doc xml:space="preserve"
18733+ filename="src/adw-status-page.c"
18734+ line="458">Sets the description for @self.
18735+
18736+The description is displayed below the title.</doc>
18737+ <source-position filename="src/adw-status-page.h" line="48"/>
18738+ <return-value transfer-ownership="none">
18739+ <type name="none" c:type="void"/>
18740+ </return-value>
18741+ <parameters>
18742+ <instance-parameter name="self" transfer-ownership="none">
18743+ <doc xml:space="preserve"
18744+ filename="src/adw-status-page.c"
18745+ line="460">a status page</doc>
18746+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18747+ </instance-parameter>
18748+ <parameter name="description"
18749+ transfer-ownership="none"
18750+ nullable="1"
18751+ allow-none="1">
18752+ <doc xml:space="preserve"
18753+ filename="src/adw-status-page.c"
18754+ line="461">the description</doc>
18755+ <type name="utf8" c:type="const char*"/>
18756+ </parameter>
18757+ </parameters>
18758+ </method>
18759+ <method name="set_icon_name"
18760+ c:identifier="adw_status_page_set_icon_name"
18761+ glib:set-property="icon-name">
18762+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
18763+ <doc xml:space="preserve"
18764+ filename="src/adw-status-page.c"
18765+ line="321">Sets the icon name for @self.
18766+
18767+Changing this will set [property@StatusPage:paintable] to `NULL`.</doc>
18768+ <source-position filename="src/adw-status-page.h" line="30"/>
18769+ <return-value transfer-ownership="none">
18770+ <type name="none" c:type="void"/>
18771+ </return-value>
18772+ <parameters>
18773+ <instance-parameter name="self" transfer-ownership="none">
18774+ <doc xml:space="preserve"
18775+ filename="src/adw-status-page.c"
18776+ line="323">a status page</doc>
18777+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18778+ </instance-parameter>
18779+ <parameter name="icon_name"
18780+ transfer-ownership="none"
18781+ nullable="1"
18782+ allow-none="1">
18783+ <doc xml:space="preserve"
18784+ filename="src/adw-status-page.c"
18785+ line="324">the icon name</doc>
18786+ <type name="utf8" c:type="const char*"/>
18787+ </parameter>
18788+ </parameters>
18789+ </method>
18790+ <method name="set_paintable"
18791+ c:identifier="adw_status_page_set_paintable"
18792+ glib:set-property="paintable">
18793+ <attribute name="org.gtk.Method.set_property" value="paintable"/>
18794+ <doc xml:space="preserve"
18795+ filename="src/adw-status-page.c"
18796+ line="370">Sets the paintable for @self.
18797+
18798+Changing this will set [property@StatusPage:icon-name] to `NULL`.</doc>
18799+ <source-position filename="src/adw-status-page.h" line="36"/>
18800+ <return-value transfer-ownership="none">
18801+ <type name="none" c:type="void"/>
18802+ </return-value>
18803+ <parameters>
18804+ <instance-parameter name="self" transfer-ownership="none">
18805+ <doc xml:space="preserve"
18806+ filename="src/adw-status-page.c"
18807+ line="372">a status page</doc>
18808+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18809+ </instance-parameter>
18810+ <parameter name="paintable"
18811+ transfer-ownership="none"
18812+ nullable="1"
18813+ allow-none="1">
18814+ <doc xml:space="preserve"
18815+ filename="src/adw-status-page.c"
18816+ line="373">the paintable</doc>
18817+ <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
18818+ </parameter>
18819+ </parameters>
18820+ </method>
18821+ <method name="set_title"
18822+ c:identifier="adw_status_page_set_title"
18823+ glib:set-property="title">
18824+ <attribute name="org.gtk.Method.set_property" value="title"/>
18825+ <doc xml:space="preserve"
18826+ filename="src/adw-status-page.c"
18827+ line="419">Sets the title for @self.
18828+
18829+The title is displayed below the icon.</doc>
18830+ <source-position filename="src/adw-status-page.h" line="42"/>
18831+ <return-value transfer-ownership="none">
18832+ <type name="none" c:type="void"/>
18833+ </return-value>
18834+ <parameters>
18835+ <instance-parameter name="self" transfer-ownership="none">
18836+ <doc xml:space="preserve"
18837+ filename="src/adw-status-page.c"
18838+ line="421">a status page</doc>
18839+ <type name="StatusPage" c:type="AdwStatusPage*"/>
18840+ </instance-parameter>
18841+ <parameter name="title" transfer-ownership="none">
18842+ <doc xml:space="preserve"
18843+ filename="src/adw-status-page.c"
18844+ line="422">the title</doc>
18845+ <type name="utf8" c:type="const char*"/>
18846+ </parameter>
18847+ </parameters>
18848+ </method>
18849+ <property name="child"
18850+ writable="1"
18851+ transfer-ownership="none"
18852+ setter="set_child"
18853+ getter="get_child">
18854+ <attribute name="org.gtk.Property.get"
18855+ value="adw_status_page_get_child"/>
18856+ <attribute name="org.gtk.Property.set"
18857+ value="adw_status_page_set_child"/>
18858+ <doc xml:space="preserve"
18859+ filename="src/adw-status-page.c"
18860+ line="234">The child widget.</doc>
18861+ <type name="Gtk.Widget"/>
18862+ </property>
18863+ <property name="description"
18864+ writable="1"
18865+ transfer-ownership="none"
18866+ setter="set_description"
18867+ getter="get_description">
18868+ <attribute name="org.gtk.Property.get"
18869+ value="adw_status_page_get_description"/>
18870+ <attribute name="org.gtk.Property.set"
18871+ value="adw_status_page_set_description"/>
18872+ <doc xml:space="preserve"
18873+ filename="src/adw-status-page.c"
18874+ line="224">The description to be displayed below the title.</doc>
18875+ <type name="utf8" c:type="gchar*"/>
18876+ </property>
18877+ <property name="icon-name"
18878+ writable="1"
18879+ transfer-ownership="none"
18880+ setter="set_icon_name"
18881+ getter="get_icon_name"
18882+ default-value="NULL">
18883+ <attribute name="org.gtk.Property.get"
18884+ value="adw_status_page_get_icon_name"/>
18885+ <attribute name="org.gtk.Property.set"
18886+ value="adw_status_page_set_icon_name"/>
18887+ <doc xml:space="preserve"
18888+ filename="src/adw-status-page.c"
18889+ line="190">The name of the icon to be used.
18890+
18891+Changing this will set [property@StatusPage:paintable] to `NULL`.</doc>
18892+ <type name="utf8" c:type="gchar*"/>
18893+ </property>
18894+ <property name="paintable"
18895+ writable="1"
18896+ transfer-ownership="none"
18897+ setter="set_paintable"
18898+ getter="get_paintable">
18899+ <attribute name="org.gtk.Property.get"
18900+ value="adw_status_page_get_paintable"/>
18901+ <attribute name="org.gtk.Property.set"
18902+ value="adw_status_page_set_paintable"/>
18903+ <doc xml:space="preserve"
18904+ filename="src/adw-status-page.c"
18905+ line="202">The paintable to be used.
18906+
18907+Changing this will set [property@StatusPage:icon-name] to `NULL`.</doc>
18908+ <type name="Gdk.Paintable"/>
18909+ </property>
18910+ <property name="title"
18911+ writable="1"
18912+ transfer-ownership="none"
18913+ setter="set_title"
18914+ getter="get_title">
18915+ <attribute name="org.gtk.Property.get"
18916+ value="adw_status_page_get_title"/>
18917+ <attribute name="org.gtk.Property.set"
18918+ value="adw_status_page_set_title"/>
18919+ <doc xml:space="preserve"
18920+ filename="src/adw-status-page.c"
18921+ line="214">The title to be displayed below the icon.</doc>
18922+ <type name="utf8" c:type="gchar*"/>
18923+ </property>
18924+ </class>
18925+ <record name="StatusPageClass"
18926+ c:type="AdwStatusPageClass"
18927+ glib:is-gtype-struct-for="StatusPage">
18928+ <source-position filename="src/adw-status-page.h" line="22"/>
18929+ <field name="parent_class">
18930+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
18931+ </field>
18932+ </record>
18933+ <class name="StyleManager"
18934+ c:symbol-prefix="style_manager"
18935+ c:type="AdwStyleManager"
18936+ parent="GObject.Object"
18937+ final="1"
18938+ glib:type-name="AdwStyleManager"
18939+ glib:get-type="adw_style_manager_get_type"
18940+ glib:type-struct="StyleManagerClass">
18941+ <doc xml:space="preserve"
18942+ filename="src/adw-style-manager.c"
18943+ line="34">A class for managing application-wide styling.
18944+
18945+`AdwStyleManager` provides a way to query and influence the application
18946+styles, such as whether to use dark or high contrast appearance.
18947+
18948+It allows to set the color scheme via the
18949+[property@StyleManager:color-scheme] property, and to query the current
18950+appearance, as well as whether a system-wide color scheme preference exists.</doc>
18951+ <source-position filename="src/adw-style-manager.h" line="33"/>
18952+ <function name="get_default"
18953+ c:identifier="adw_style_manager_get_default">
18954+ <doc xml:space="preserve"
18955+ filename="src/adw-style-manager.c"
18956+ line="512">Gets the default `AdwStyleManager` instance.
18957+
18958+It manages all [class@Gdk.Display] instances unless the style manager for
18959+that display has an override.
18960+
18961+See [func@StyleManager.get_for_display].</doc>
18962+ <source-position filename="src/adw-style-manager.h" line="36"/>
18963+ <return-value transfer-ownership="none">
18964+ <doc xml:space="preserve"
18965+ filename="src/adw-style-manager.c"
18966+ line="522">the default style manager</doc>
18967+ <type name="StyleManager" c:type="AdwStyleManager*"/>
18968+ </return-value>
18969+ </function>
18970+ <function name="get_for_display"
18971+ c:identifier="adw_style_manager_get_for_display">
18972+ <doc xml:space="preserve"
18973+ filename="src/adw-style-manager.c"
18974+ line="533">Gets the `AdwStyleManager` instance managing @display.
18975+
18976+It can be used to override styles for that specific display instead of the
18977+whole application.
18978+
18979+Most applications should use [func@StyleManager.get_default] instead.</doc>
18980+ <source-position filename="src/adw-style-manager.h" line="38"/>
18981+ <return-value transfer-ownership="none">
18982+ <doc xml:space="preserve"
18983+ filename="src/adw-style-manager.c"
18984+ line="544">the style manager for @display</doc>
18985+ <type name="StyleManager" c:type="AdwStyleManager*"/>
18986+ </return-value>
18987+ <parameters>
18988+ <parameter name="display" transfer-ownership="none">
18989+ <doc xml:space="preserve"
18990+ filename="src/adw-style-manager.c"
18991+ line="535">a `GdkDisplay`</doc>
18992+ <type name="Gdk.Display" c:type="GdkDisplay*"/>
18993+ </parameter>
18994+ </parameters>
18995+ </function>
18996+ <method name="get_color_scheme"
18997+ c:identifier="adw_style_manager_get_color_scheme"
18998+ glib:get-property="color-scheme">
18999+ <attribute name="org.gtk.Method.get_property" value="color-scheme"/>
19000+ <doc xml:space="preserve"
19001+ filename="src/adw-style-manager.c"
19002+ line="578">Gets the requested application color scheme.</doc>
19003+ <source-position filename="src/adw-style-manager.h" line="44"/>
19004+ <return-value transfer-ownership="none">
19005+ <doc xml:space="preserve"
19006+ filename="src/adw-style-manager.c"
19007+ line="584">the color scheme</doc>
19008+ <type name="ColorScheme" c:type="AdwColorScheme"/>
19009+ </return-value>
19010+ <parameters>
19011+ <instance-parameter name="self" transfer-ownership="none">
19012+ <doc xml:space="preserve"
19013+ filename="src/adw-style-manager.c"
19014+ line="580">a style manager</doc>
19015+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19016+ </instance-parameter>
19017+ </parameters>
19018+ </method>
19019+ <method name="get_dark"
19020+ c:identifier="adw_style_manager_get_dark"
19021+ glib:get-property="dark">
19022+ <attribute name="org.gtk.Method.get_property" value="dark"/>
19023+ <doc xml:space="preserve"
19024+ filename="src/adw-style-manager.c"
19025+ line="682">Gets whether the application is using dark appearance.
19026+
19027+This can be used to query the current appearance, as requested via
19028+[property@StyleManager:color-scheme].</doc>
19029+ <source-position filename="src/adw-style-manager.h" line="53"/>
19030+ <return-value transfer-ownership="none">
19031+ <doc xml:space="preserve"
19032+ filename="src/adw-style-manager.c"
19033+ line="691">whether the application is using dark appearance</doc>
19034+ <type name="gboolean" c:type="gboolean"/>
19035+ </return-value>
19036+ <parameters>
19037+ <instance-parameter name="self" transfer-ownership="none">
19038+ <doc xml:space="preserve"
19039+ filename="src/adw-style-manager.c"
19040+ line="684">a style manager</doc>
19041+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19042+ </instance-parameter>
19043+ </parameters>
19044+ </method>
19045+ <method name="get_display"
19046+ c:identifier="adw_style_manager_get_display"
19047+ glib:get-property="display">
19048+ <attribute name="org.gtk.Method.get_property" value="display"/>
19049+ <doc xml:space="preserve"
19050+ filename="src/adw-style-manager.c"
19051+ line="559">Gets the display the style manager is associated with.
19052+
19053+The display will be `NULL` for the style manager returned by
19054+[func@StyleManager.get_default].</doc>
19055+ <source-position filename="src/adw-style-manager.h" line="41"/>
19056+ <return-value transfer-ownership="none" nullable="1">
19057+ <doc xml:space="preserve"
19058+ filename="src/adw-style-manager.c"
19059+ line="568">the display</doc>
19060+ <type name="Gdk.Display" c:type="GdkDisplay*"/>
19061+ </return-value>
19062+ <parameters>
19063+ <instance-parameter name="self" transfer-ownership="none">
19064+ <doc xml:space="preserve"
19065+ filename="src/adw-style-manager.c"
19066+ line="561">a style manager</doc>
19067+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19068+ </instance-parameter>
19069+ </parameters>
19070+ </method>
19071+ <method name="get_high_contrast"
19072+ c:identifier="adw_style_manager_get_high_contrast"
19073+ glib:get-property="high-contrast">
19074+ <attribute name="org.gtk.Method.get_property" value="high-contrast"/>
19075+ <doc xml:space="preserve"
19076+ filename="src/adw-style-manager.c"
19077+ line="701">Gets whether the application is using high contrast appearance.
19078+
19079+This cannot be overridden by applications.</doc>
19080+ <source-position filename="src/adw-style-manager.h" line="55"/>
19081+ <return-value transfer-ownership="none">
19082+ <doc xml:space="preserve"
19083+ filename="src/adw-style-manager.c"
19084+ line="709">whether the application is using high contrast appearance</doc>
19085+ <type name="gboolean" c:type="gboolean"/>
19086+ </return-value>
19087+ <parameters>
19088+ <instance-parameter name="self" transfer-ownership="none">
19089+ <doc xml:space="preserve"
19090+ filename="src/adw-style-manager.c"
19091+ line="703">a style manager</doc>
19092+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19093+ </instance-parameter>
19094+ </parameters>
19095+ </method>
19096+ <method name="get_system_supports_color_schemes"
19097+ c:identifier="adw_style_manager_get_system_supports_color_schemes"
19098+ glib:get-property="system-supports-color-schemes">
19099+ <attribute name="org.gtk.Method.get_property"
19100+ value="system-supports-color-schemes"/>
19101+ <doc xml:space="preserve"
19102+ filename="src/adw-style-manager.c"
19103+ line="662">Gets whether the system supports color schemes.
19104+
19105+This can be used to check if the current environment provides a color scheme
19106+preference. For example, applications might want to show a separate
19107+appearance switcher if it's set to `FALSE`.</doc>
19108+ <source-position filename="src/adw-style-manager.h" line="50"/>
19109+ <return-value transfer-ownership="none">
19110+ <doc xml:space="preserve"
19111+ filename="src/adw-style-manager.c"
19112+ line="672">whether the system supports color schemes</doc>
19113+ <type name="gboolean" c:type="gboolean"/>
19114+ </return-value>
19115+ <parameters>
19116+ <instance-parameter name="self" transfer-ownership="none">
19117+ <doc xml:space="preserve"
19118+ filename="src/adw-style-manager.c"
19119+ line="664">a style manager</doc>
19120+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19121+ </instance-parameter>
19122+ </parameters>
19123+ </method>
19124+ <method name="set_color_scheme"
19125+ c:identifier="adw_style_manager_set_color_scheme"
19126+ glib:set-property="color-scheme">
19127+ <attribute name="org.gtk.Method.set_property" value="color-scheme"/>
19128+ <doc xml:space="preserve"
19129+ filename="src/adw-style-manager.c"
19130+ line="594">Sets the requested application color scheme.
19131+
19132+The effective appearance will be decided based on the application color
19133+scheme and the system preferred color scheme. The
19134+[property@StyleManager:dark] property can be used to query the current
19135+effective appearance.
19136+
19137+The `ADW_COLOR_SCHEME_PREFER_LIGHT` color scheme results in the application
19138+using light appearance unless the system prefers dark colors. This is the
19139+default value.
19140+
19141+The `ADW_COLOR_SCHEME_PREFER_DARK` color scheme results in the application
19142+using dark appearance, but can still switch to the light appearance if the
19143+system can prefers it, for example, when the high contrast preference is
19144+enabled.
19145+
19146+The `ADW_COLOR_SCHEME_FORCE_LIGHT` and `ADW_COLOR_SCHEME_FORCE_DARK` values
19147+ignore the system preference entirely. They are useful if the application
19148+wants to match its UI to its content or to provide a separate color scheme
19149+switcher.
19150+
19151+If a per-[class@Gdk.Display] style manager has its color scheme set to
19152+`ADW_COLOR_SCHEME_DEFAULT`, it will inherit the color scheme from the
19153+default style manager.
19154+
19155+For the default style manager, `ADW_COLOR_SCHEME_DEFAULT` is equivalent to
19156+`ADW_COLOR_SCHEME_PREFER_LIGHT`.
19157+
19158+The [property@StyleManager:system-supports-color-schemes] property can be
19159+used to check if the current environment provides a color scheme
19160+preference.</doc>
19161+ <source-position filename="src/adw-style-manager.h" line="46"/>
19162+ <return-value transfer-ownership="none">
19163+ <type name="none" c:type="void"/>
19164+ </return-value>
19165+ <parameters>
19166+ <instance-parameter name="self" transfer-ownership="none">
19167+ <doc xml:space="preserve"
19168+ filename="src/adw-style-manager.c"
19169+ line="596">a style manager</doc>
19170+ <type name="StyleManager" c:type="AdwStyleManager*"/>
19171+ </instance-parameter>
19172+ <parameter name="color_scheme" transfer-ownership="none">
19173+ <doc xml:space="preserve"
19174+ filename="src/adw-style-manager.c"
19175+ line="597">the color scheme</doc>
19176+ <type name="ColorScheme" c:type="AdwColorScheme"/>
19177+ </parameter>
19178+ </parameters>
19179+ </method>
19180+ <property name="color-scheme"
19181+ writable="1"
19182+ transfer-ownership="none"
19183+ setter="set_color_scheme"
19184+ getter="get_color_scheme"
19185+ default-value="ADW_COLOR_SCHEME_DEFAULT">
19186+ <attribute name="org.gtk.Property.get"
19187+ value="adw_style_manager_get_color_scheme"/>
19188+ <attribute name="org.gtk.Property.set"
19189+ value="adw_style_manager_set_color_scheme"/>
19190+ <doc xml:space="preserve"
19191+ filename="src/adw-style-manager.c"
19192+ line="392">The requested application color scheme.
19193+
19194+The effective appearance will be decided based on the application color
19195+scheme and the system preferred color scheme. The
19196+[property@StyleManager:dark] property can be used to query the current
19197+effective appearance.
19198+
19199+The `ADW_COLOR_SCHEME_PREFER_LIGHT` color scheme results in the application
19200+using light appearance unless the system prefers dark colors. This is the
19201+default value.
19202+
19203+The `ADW_COLOR_SCHEME_PREFER_DARK` color scheme results in the application
19204+using dark appearance, but can still switch to the light appearance if the
19205+system can prefers it, for example, when the high contrast preference is
19206+enabled.
19207+
19208+The `ADW_COLOR_SCHEME_FORCE_LIGHT` and `ADW_COLOR_SCHEME_FORCE_DARK` values
19209+ignore the system preference entirely. They are useful if the application
19210+wants to match its UI to its content or to provide a separate color scheme
19211+switcher.
19212+
19213+If a per-[class@Gdk.Display] style manager has its color scheme set to
19214+`ADW_COLOR_SCHEME_DEFAULT`, it will inherit the color scheme from the
19215+default style manager.
19216+
19217+For the default style manager, `ADW_COLOR_SCHEME_DEFAULT` is equivalent to
19218+`ADW_COLOR_SCHEME_PREFER_LIGHT`.
19219+
19220+The [property@StyleManager:system-supports-color-schemes] property can be
19221+used to check if the current environment provides a color scheme
19222+preference.</doc>
19223+ <type name="ColorScheme"/>
19224+ </property>
19225+ <property name="dark"
19226+ transfer-ownership="none"
19227+ getter="get_dark"
19228+ default-value="FALSE">
19229+ <attribute name="org.gtk.Property.get"
19230+ value="adw_style_manager_get_dark"/>
19231+ <doc xml:space="preserve"
19232+ filename="src/adw-style-manager.c"
19233+ line="449">Whether the application is using dark appearance.
19234+
19235+This property can be used to query the current appearance, as requested via
19236+[property@StyleManager:color-scheme].</doc>
19237+ <type name="gboolean" c:type="gboolean"/>
19238+ </property>
19239+ <property name="display"
19240+ writable="1"
19241+ construct-only="1"
19242+ transfer-ownership="none"
19243+ getter="get_display">
19244+ <attribute name="org.gtk.Property.get"
19245+ value="adw_style_manager_get_display"/>
19246+ <doc xml:space="preserve"
19247+ filename="src/adw-style-manager.c"
19248+ line="379">The display the style manager is associated with.
19249+
19250+The display will be `NULL` for the style manager returned by
19251+[func@StyleManager.get_default].</doc>
19252+ <type name="Gdk.Display"/>
19253+ </property>
19254+ <property name="high-contrast"
19255+ transfer-ownership="none"
19256+ getter="get_high_contrast"
19257+ default-value="FALSE">
19258+ <attribute name="org.gtk.Property.get"
19259+ value="adw_style_manager_get_high_contrast"/>
19260+ <doc xml:space="preserve"
19261+ filename="src/adw-style-manager.c"
19262+ line="462">Whether the application is using high contrast appearance.
19263+
19264+This cannot be overridden by applications.</doc>
19265+ <type name="gboolean" c:type="gboolean"/>
19266+ </property>
19267+ <property name="system-supports-color-schemes"
19268+ transfer-ownership="none"
19269+ getter="get_system_supports_color_schemes"
19270+ default-value="FALSE">
19271+ <attribute name="org.gtk.Property.get"
19272+ value="adw_style_manager_get_system_supports_color_schemes"/>
19273+ <doc xml:space="preserve"
19274+ filename="src/adw-style-manager.c"
19275+ line="433">Whether the system supports color schemes.
19276+
19277+This property can be used to check if the current environment provides a
19278+color scheme preference. For example, applications might want to show a
19279+separate appearance switcher if it's set to `FALSE`.
19280+
19281+See [property@StyleManager:color-scheme].</doc>
19282+ <type name="gboolean" c:type="gboolean"/>
19283+ </property>
19284+ </class>
19285+ <record name="StyleManagerClass"
19286+ c:type="AdwStyleManagerClass"
19287+ glib:is-gtype-struct-for="StyleManager">
19288+ <source-position filename="src/adw-style-manager.h" line="33"/>
19289+ <field name="parent_class">
19290+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
19291+ </field>
19292+ </record>
19293+ <class name="SwipeTracker"
19294+ c:symbol-prefix="swipe_tracker"
19295+ c:type="AdwSwipeTracker"
19296+ parent="GObject.Object"
19297+ final="1"
19298+ glib:type-name="AdwSwipeTracker"
19299+ glib:get-type="adw_swipe_tracker_get_type"
19300+ glib:type-struct="SwipeTrackerClass">
19301+ <doc xml:space="preserve"
19302+ filename="src/adw-swipe-tracker.c"
19303+ line="34">A swipe tracker used in [class@Carousel], [class@Flap] and [class@Leaflet].
19304+
19305+The `AdwSwipeTracker` object can be used for implementing widgets with swipe
19306+gestures. It supports touch-based swipes, pointer dragging, and touchpad
19307+scrolling.
19308+
19309+The widgets will probably want to expose the [property@SwipeTracker:enabled]
19310+property. If they expect to use horizontal orientation,
19311+[property@SwipeTracker:reversed] can be used for supporting RTL text
19312+direction.</doc>
19313+ <source-position filename="src/adw-swipe-tracker.h" line="23"/>
19314+ <implements name="Gtk.Orientable"/>
19315+ <constructor name="new" c:identifier="adw_swipe_tracker_new">
19316+ <doc xml:space="preserve"
19317+ filename="src/adw-swipe-tracker.c"
19318+ line="1191">Creates a new `AdwSwipeTracker` for @widget.</doc>
19319+ <source-position filename="src/adw-swipe-tracker.h" line="26"/>
19320+ <return-value transfer-ownership="full">
19321+ <doc xml:space="preserve"
19322+ filename="src/adw-swipe-tracker.c"
19323+ line="1197">the newly created `AdwSwipeTracker`</doc>
19324+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19325+ </return-value>
19326+ <parameters>
19327+ <parameter name="swipeable" transfer-ownership="none">
19328+ <doc xml:space="preserve"
19329+ filename="src/adw-swipe-tracker.c"
19330+ line="1193">a widget to add the tracker on</doc>
19331+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19332+ </parameter>
19333+ </parameters>
19334+ </constructor>
19335+ <method name="get_allow_long_swipes"
19336+ c:identifier="adw_swipe_tracker_get_allow_long_swipes"
19337+ glib:get-property="allow-long-swipes">
19338+ <attribute name="org.gtk.Method.get_property"
19339+ value="allow-long-swipes"/>
19340+ <doc xml:space="preserve"
19341+ filename="src/adw-swipe-tracker.c"
19342+ line="1354">Gets whether to allow swiping for more than one snap point at a time.</doc>
19343+ <source-position filename="src/adw-swipe-tracker.h" line="50"/>
19344+ <return-value transfer-ownership="none">
19345+ <doc xml:space="preserve"
19346+ filename="src/adw-swipe-tracker.c"
19347+ line="1360">whether long swipes are allowed</doc>
19348+ <type name="gboolean" c:type="gboolean"/>
19349+ </return-value>
19350+ <parameters>
19351+ <instance-parameter name="self" transfer-ownership="none">
19352+ <doc xml:space="preserve"
19353+ filename="src/adw-swipe-tracker.c"
19354+ line="1356">a swipe tracker</doc>
19355+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19356+ </instance-parameter>
19357+ </parameters>
19358+ </method>
19359+ <method name="get_allow_mouse_drag"
19360+ c:identifier="adw_swipe_tracker_get_allow_mouse_drag"
19361+ glib:get-property="allow-mouse-drag">
19362+ <attribute name="org.gtk.Method.get_property"
19363+ value="allow-mouse-drag"/>
19364+ <doc xml:space="preserve"
19365+ filename="src/adw-swipe-tracker.c"
19366+ line="1313">Gets whether @self can be dragged with mouse pointer.</doc>
19367+ <source-position filename="src/adw-swipe-tracker.h" line="44"/>
19368+ <return-value transfer-ownership="none">
19369+ <doc xml:space="preserve"
19370+ filename="src/adw-swipe-tracker.c"
19371+ line="1319">whether mouse dragging is allowed</doc>
19372+ <type name="gboolean" c:type="gboolean"/>
19373+ </return-value>
19374+ <parameters>
19375+ <instance-parameter name="self" transfer-ownership="none">
19376+ <doc xml:space="preserve"
19377+ filename="src/adw-swipe-tracker.c"
19378+ line="1315">a swipe tracker</doc>
19379+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19380+ </instance-parameter>
19381+ </parameters>
19382+ </method>
19383+ <method name="get_enabled"
19384+ c:identifier="adw_swipe_tracker_get_enabled"
19385+ glib:get-property="enabled">
19386+ <attribute name="org.gtk.Method.get_property" value="enabled"/>
19387+ <doc xml:space="preserve"
19388+ filename="src/adw-swipe-tracker.c"
19389+ line="1225">Gets whether @self is enabled.</doc>
19390+ <source-position filename="src/adw-swipe-tracker.h" line="32"/>
19391+ <return-value transfer-ownership="none">
19392+ <doc xml:space="preserve"
19393+ filename="src/adw-swipe-tracker.c"
19394+ line="1231">whether @self is enabled</doc>
19395+ <type name="gboolean" c:type="gboolean"/>
19396+ </return-value>
19397+ <parameters>
19398+ <instance-parameter name="self" transfer-ownership="none">
19399+ <doc xml:space="preserve"
19400+ filename="src/adw-swipe-tracker.c"
19401+ line="1227">a swipe tracker</doc>
19402+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19403+ </instance-parameter>
19404+ </parameters>
19405+ </method>
19406+ <method name="get_reversed"
19407+ c:identifier="adw_swipe_tracker_get_reversed"
19408+ glib:get-property="reversed">
19409+ <attribute name="org.gtk.Method.get_property" value="reversed"/>
19410+ <doc xml:space="preserve"
19411+ filename="src/adw-swipe-tracker.c"
19412+ line="1272">Gets whether @self is reversing the swipe direction.</doc>
19413+ <source-position filename="src/adw-swipe-tracker.h" line="38"/>
19414+ <return-value transfer-ownership="none">
19415+ <doc xml:space="preserve"
19416+ filename="src/adw-swipe-tracker.c"
19417+ line="1278">whether the direction is reversed</doc>
19418+ <type name="gboolean" c:type="gboolean"/>
19419+ </return-value>
19420+ <parameters>
19421+ <instance-parameter name="self" transfer-ownership="none">
19422+ <doc xml:space="preserve"
19423+ filename="src/adw-swipe-tracker.c"
19424+ line="1274">a swipe tracker</doc>
19425+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19426+ </instance-parameter>
19427+ </parameters>
19428+ </method>
19429+ <method name="get_swipeable"
19430+ c:identifier="adw_swipe_tracker_get_swipeable"
19431+ glib:get-property="swipeable">
19432+ <attribute name="org.gtk.Method.get_property" value="swipeable"/>
19433+ <doc xml:space="preserve"
19434+ filename="src/adw-swipe-tracker.c"
19435+ line="1209">Get the widget @self is attached to.</doc>
19436+ <source-position filename="src/adw-swipe-tracker.h" line="29"/>
19437+ <return-value transfer-ownership="none">
19438+ <doc xml:space="preserve"
19439+ filename="src/adw-swipe-tracker.c"
19440+ line="1215">the swipeable widget</doc>
19441+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19442+ </return-value>
19443+ <parameters>
19444+ <instance-parameter name="self" transfer-ownership="none">
19445+ <doc xml:space="preserve"
19446+ filename="src/adw-swipe-tracker.c"
19447+ line="1211">a swipe tracker</doc>
19448+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19449+ </instance-parameter>
19450+ </parameters>
19451+ </method>
19452+ <method name="set_allow_long_swipes"
19453+ c:identifier="adw_swipe_tracker_set_allow_long_swipes"
19454+ glib:set-property="allow-long-swipes">
19455+ <attribute name="org.gtk.Method.set_property"
19456+ value="allow-long-swipes"/>
19457+ <doc xml:space="preserve"
19458+ filename="src/adw-swipe-tracker.c"
19459+ line="1370">Sets whether to allow swiping for more than one snap point at a time.
19460+
19461+If the value is `FALSE`, each swipe can only move to the adjacent snap
19462+points.</doc>
19463+ <source-position filename="src/adw-swipe-tracker.h" line="52"/>
19464+ <return-value transfer-ownership="none">
19465+ <type name="none" c:type="void"/>
19466+ </return-value>
19467+ <parameters>
19468+ <instance-parameter name="self" transfer-ownership="none">
19469+ <doc xml:space="preserve"
19470+ filename="src/adw-swipe-tracker.c"
19471+ line="1372">a swipe tracker</doc>
19472+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19473+ </instance-parameter>
19474+ <parameter name="allow_long_swipes" transfer-ownership="none">
19475+ <doc xml:space="preserve"
19476+ filename="src/adw-swipe-tracker.c"
19477+ line="1373">whether to allow long swipes</doc>
19478+ <type name="gboolean" c:type="gboolean"/>
19479+ </parameter>
19480+ </parameters>
19481+ </method>
19482+ <method name="set_allow_mouse_drag"
19483+ c:identifier="adw_swipe_tracker_set_allow_mouse_drag"
19484+ glib:set-property="allow-mouse-drag">
19485+ <attribute name="org.gtk.Method.set_property"
19486+ value="allow-mouse-drag"/>
19487+ <doc xml:space="preserve"
19488+ filename="src/adw-swipe-tracker.c"
19489+ line="1329">Sets whether @self can be dragged with mouse pointer.</doc>
19490+ <source-position filename="src/adw-swipe-tracker.h" line="46"/>
19491+ <return-value transfer-ownership="none">
19492+ <type name="none" c:type="void"/>
19493+ </return-value>
19494+ <parameters>
19495+ <instance-parameter name="self" transfer-ownership="none">
19496+ <doc xml:space="preserve"
19497+ filename="src/adw-swipe-tracker.c"
19498+ line="1331">a swipe tracker</doc>
19499+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19500+ </instance-parameter>
19501+ <parameter name="allow_mouse_drag" transfer-ownership="none">
19502+ <doc xml:space="preserve"
19503+ filename="src/adw-swipe-tracker.c"
19504+ line="1332">whether to allow mouse dragging</doc>
19505+ <type name="gboolean" c:type="gboolean"/>
19506+ </parameter>
19507+ </parameters>
19508+ </method>
19509+ <method name="set_enabled"
19510+ c:identifier="adw_swipe_tracker_set_enabled"
19511+ glib:set-property="enabled">
19512+ <attribute name="org.gtk.Method.set_property" value="enabled"/>
19513+ <doc xml:space="preserve"
19514+ filename="src/adw-swipe-tracker.c"
19515+ line="1241">Sets whether @self is enabled.
19516+
19517+When it's not enabled, no events will be processed. Usually widgets will want
19518+to expose this via a property.</doc>
19519+ <source-position filename="src/adw-swipe-tracker.h" line="34"/>
19520+ <return-value transfer-ownership="none">
19521+ <type name="none" c:type="void"/>
19522+ </return-value>
19523+ <parameters>
19524+ <instance-parameter name="self" transfer-ownership="none">
19525+ <doc xml:space="preserve"
19526+ filename="src/adw-swipe-tracker.c"
19527+ line="1243">a swipe tracker</doc>
19528+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19529+ </instance-parameter>
19530+ <parameter name="enabled" transfer-ownership="none">
19531+ <doc xml:space="preserve"
19532+ filename="src/adw-swipe-tracker.c"
19533+ line="1244">whether @self is enabled</doc>
19534+ <type name="gboolean" c:type="gboolean"/>
19535+ </parameter>
19536+ </parameters>
19537+ </method>
19538+ <method name="set_reversed"
19539+ c:identifier="adw_swipe_tracker_set_reversed"
19540+ glib:set-property="reversed">
19541+ <attribute name="org.gtk.Method.set_property" value="reversed"/>
19542+ <doc xml:space="preserve"
19543+ filename="src/adw-swipe-tracker.c"
19544+ line="1288">Sets whether to reverse the swipe direction.
19545+
19546+If the swipe tracker is horizontal, it can be used for supporting RTL text
19547+direction.</doc>
19548+ <source-position filename="src/adw-swipe-tracker.h" line="40"/>
19549+ <return-value transfer-ownership="none">
19550+ <type name="none" c:type="void"/>
19551+ </return-value>
19552+ <parameters>
19553+ <instance-parameter name="self" transfer-ownership="none">
19554+ <doc xml:space="preserve"
19555+ filename="src/adw-swipe-tracker.c"
19556+ line="1290">a swipe tracker</doc>
19557+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19558+ </instance-parameter>
19559+ <parameter name="reversed" transfer-ownership="none">
19560+ <doc xml:space="preserve"
19561+ filename="src/adw-swipe-tracker.c"
19562+ line="1291">whether to reverse the swipe direction</doc>
19563+ <type name="gboolean" c:type="gboolean"/>
19564+ </parameter>
19565+ </parameters>
19566+ </method>
19567+ <method name="shift_position"
19568+ c:identifier="adw_swipe_tracker_shift_position">
19569+ <doc xml:space="preserve"
19570+ filename="src/adw-swipe-tracker.c"
19571+ line="1396">Moves the current progress value by @delta.
19572+
19573+This can be used to adjust the current position if snap points move during
19574+the gesture.</doc>
19575+ <source-position filename="src/adw-swipe-tracker.h" line="56"/>
19576+ <return-value transfer-ownership="none">
19577+ <type name="none" c:type="void"/>
19578+ </return-value>
19579+ <parameters>
19580+ <instance-parameter name="self" transfer-ownership="none">
19581+ <doc xml:space="preserve"
19582+ filename="src/adw-swipe-tracker.c"
19583+ line="1398">a swipe tracker</doc>
19584+ <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
19585+ </instance-parameter>
19586+ <parameter name="delta" transfer-ownership="none">
19587+ <doc xml:space="preserve"
19588+ filename="src/adw-swipe-tracker.c"
19589+ line="1399">the position delta</doc>
19590+ <type name="gdouble" c:type="double"/>
19591+ </parameter>
19592+ </parameters>
19593+ </method>
19594+ <property name="allow-long-swipes"
19595+ writable="1"
19596+ transfer-ownership="none"
19597+ setter="set_allow_long_swipes"
19598+ getter="get_allow_long_swipes"
19599+ default-value="FALSE">
19600+ <attribute name="org.gtk.Property.get"
19601+ value="adw_swipe_tracker_get_allow_long_swipes"/>
19602+ <attribute name="org.gtk.Property.set"
19603+ value="adw_swipe_tracker_set_allow_long_swipes"/>
19604+ <doc xml:space="preserve"
19605+ filename="src/adw-swipe-tracker.c"
19606+ line="1070">Whether to allow swiping for more than one snap point at a time.
19607+
19608+If the value is `FALSE`, each swipe can only move to the adjacent snap
19609+points.</doc>
19610+ <type name="gboolean" c:type="gboolean"/>
19611+ </property>
19612+ <property name="allow-mouse-drag"
19613+ writable="1"
19614+ transfer-ownership="none"
19615+ setter="set_allow_mouse_drag"
19616+ getter="get_allow_mouse_drag"
19617+ default-value="FALSE">
19618+ <attribute name="org.gtk.Property.get"
19619+ value="adw_swipe_tracker_get_allow_mouse_drag"/>
19620+ <attribute name="org.gtk.Property.set"
19621+ value="adw_swipe_tracker_set_allow_mouse_drag"/>
19622+ <doc xml:space="preserve"
19623+ filename="src/adw-swipe-tracker.c"
19624+ line="1060">Whether to allow dragging with mouse pointer.</doc>
19625+ <type name="gboolean" c:type="gboolean"/>
19626+ </property>
19627+ <property name="enabled"
19628+ writable="1"
19629+ transfer-ownership="none"
19630+ setter="set_enabled"
19631+ getter="get_enabled"
19632+ default-value="TRUE">
19633+ <attribute name="org.gtk.Property.get"
19634+ value="adw_swipe_tracker_get_enabled"/>
19635+ <attribute name="org.gtk.Property.set"
19636+ value="adw_swipe_tracker_set_enabled"/>
19637+ <doc xml:space="preserve"
19638+ filename="src/adw-swipe-tracker.c"
19639+ line="1034">Whether the swipe tracker is enabled.
19640+
19641+When it's not enabled, no events will be processed. Usually widgets will
19642+want to expose this via a property.</doc>
19643+ <type name="gboolean" c:type="gboolean"/>
19644+ </property>
19645+ <property name="reversed"
19646+ writable="1"
19647+ transfer-ownership="none"
19648+ setter="set_reversed"
19649+ getter="get_reversed"
19650+ default-value="FALSE">
19651+ <attribute name="org.gtk.Property.get"
19652+ value="adw_swipe_tracker_get_reversed"/>
19653+ <attribute name="org.gtk.Property.set"
19654+ value="adw_swipe_tracker_set_reversed"/>
19655+ <doc xml:space="preserve"
19656+ filename="src/adw-swipe-tracker.c"
19657+ line="1047">Whether to reverse the swipe direction.
19658+
19659+If the swipe tracker is horizontal, it can be used for supporting RTL text
19660+direction.</doc>
19661+ <type name="gboolean" c:type="gboolean"/>
19662+ </property>
19663+ <property name="swipeable"
19664+ writable="1"
19665+ construct-only="1"
19666+ transfer-ownership="none"
19667+ getter="get_swipeable">
19668+ <attribute name="org.gtk.Property.get"
19669+ value="adw_swipe_tracker_get_swipeable"/>
19670+ <doc xml:space="preserve"
19671+ filename="src/adw-swipe-tracker.c"
19672+ line="1024">The widget the swipe tracker is attached to.</doc>
19673+ <type name="Swipeable"/>
19674+ </property>
19675+ <glib:signal name="begin-swipe" when="first">
19676+ <doc xml:space="preserve"
19677+ filename="src/adw-swipe-tracker.c"
19678+ line="1113">This signal is emitted right before a swipe will be started, after the
19679+drag threshold has been passed.</doc>
19680+ <return-value transfer-ownership="none">
19681+ <type name="none" c:type="void"/>
19682+ </return-value>
19683+ </glib:signal>
19684+ <glib:signal name="end-swipe" when="first">
19685+ <doc xml:space="preserve"
19686+ filename="src/adw-swipe-tracker.c"
19687+ line="1153">This signal is emitted as soon as the gesture has stopped.
19688+
19689+The user is expected to animate the deceleration from the current progress
19690+value to @to with an animation using @velocity as the initial velocity,
19691+provided in pixels per second. [class@SpringAnimation] is usually a good
19692+fit for this.</doc>
19693+ <return-value transfer-ownership="none">
19694+ <type name="none" c:type="void"/>
19695+ </return-value>
19696+ <parameters>
19697+ <parameter name="velocity" transfer-ownership="none">
19698+ <doc xml:space="preserve"
19699+ filename="src/adw-swipe-tracker.c"
19700+ line="1156">the velocity of the swipe</doc>
19701+ <type name="gdouble" c:type="gdouble"/>
19702+ </parameter>
19703+ <parameter name="to" transfer-ownership="none">
19704+ <doc xml:space="preserve"
19705+ filename="src/adw-swipe-tracker.c"
19706+ line="1157">the progress value to animate to</doc>
19707+ <type name="gdouble" c:type="gdouble"/>
19708+ </parameter>
19709+ </parameters>
19710+ </glib:signal>
19711+ <glib:signal name="prepare" when="first">
19712+ <doc xml:space="preserve"
19713+ filename="src/adw-swipe-tracker.c"
19714+ line="1089">This signal is emitted when a possible swipe is detected.
19715+
19716+The @direction value can be used to restrict the swipe to a certain
19717+direction.</doc>
19718+ <return-value transfer-ownership="none">
19719+ <type name="none" c:type="void"/>
19720+ </return-value>
19721+ <parameters>
19722+ <parameter name="direction" transfer-ownership="none">
19723+ <doc xml:space="preserve"
19724+ filename="src/adw-swipe-tracker.c"
19725+ line="1092">the direction of the swipe</doc>
19726+ <type name="NavigationDirection"/>
19727+ </parameter>
19728+ </parameters>
19729+ </glib:signal>
19730+ <glib:signal name="update-swipe" when="first">
19731+ <doc xml:space="preserve"
19732+ filename="src/adw-swipe-tracker.c"
19733+ line="1132">This signal is emitted every time the progress value changes.</doc>
19734+ <return-value transfer-ownership="none">
19735+ <type name="none" c:type="void"/>
19736+ </return-value>
19737+ <parameters>
19738+ <parameter name="progress" transfer-ownership="none">
19739+ <doc xml:space="preserve"
19740+ filename="src/adw-swipe-tracker.c"
19741+ line="1135">the current animation progress value</doc>
19742+ <type name="gdouble" c:type="gdouble"/>
19743+ </parameter>
19744+ </parameters>
19745+ </glib:signal>
19746+ </class>
19747+ <record name="SwipeTrackerClass"
19748+ c:type="AdwSwipeTrackerClass"
19749+ glib:is-gtype-struct-for="SwipeTracker">
19750+ <source-position filename="src/adw-swipe-tracker.h" line="23"/>
19751+ <field name="parent_class">
19752+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
19753+ </field>
19754+ </record>
19755+ <interface name="Swipeable"
19756+ c:symbol-prefix="swipeable"
19757+ c:type="AdwSwipeable"
19758+ glib:type-name="AdwSwipeable"
19759+ glib:get-type="adw_swipeable_get_type"
19760+ glib:type-struct="SwipeableInterface">
19761+ <doc xml:space="preserve"
19762+ filename="src/adw-swipeable.c"
19763+ line="11">An interface for swipeable widgets.
19764+
19765+The `AdwSwipeable` interface is implemented by all swipeable widgets.
19766+
19767+See [class@SwipeTracker] for details about implementing it.</doc>
19768+ <source-position filename="src/adw-swipeable.h" line="52"/>
19769+ <prerequisite name="Gtk.Widget"/>
19770+ <virtual-method name="get_cancel_progress" invoker="get_cancel_progress">
19771+ <doc xml:space="preserve"
19772+ filename="src/adw-swipeable.c"
19773+ line="111">Gets the progress @self will snap back to after the gesture is canceled.</doc>
19774+ <source-position filename="src/adw-swipeable.h" line="44"/>
19775+ <return-value transfer-ownership="none">
19776+ <doc xml:space="preserve"
19777+ filename="src/adw-swipeable.c"
19778+ line="117">the cancel progress, unitless</doc>
19779+ <type name="gdouble" c:type="double"/>
19780+ </return-value>
19781+ <parameters>
19782+ <instance-parameter name="self" transfer-ownership="none">
19783+ <doc xml:space="preserve"
19784+ filename="src/adw-swipeable.c"
19785+ line="113">a swipeable</doc>
19786+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19787+ </instance-parameter>
19788+ </parameters>
19789+ </virtual-method>
19790+ <virtual-method name="get_distance" invoker="get_distance">
19791+ <doc xml:space="preserve"
19792+ filename="src/adw-swipeable.c"
19793+ line="41">Gets the swipe distance of @self.
19794+
19795+This corresponds to how many pixels 1 unit represents.</doc>
19796+ <source-position filename="src/adw-swipeable.h" line="40"/>
19797+ <return-value transfer-ownership="none">
19798+ <doc xml:space="preserve"
19799+ filename="src/adw-swipeable.c"
19800+ line="49">the swipe distance in pixels</doc>
19801+ <type name="gdouble" c:type="double"/>
19802+ </return-value>
19803+ <parameters>
19804+ <instance-parameter name="self" transfer-ownership="none">
19805+ <doc xml:space="preserve"
19806+ filename="src/adw-swipeable.c"
19807+ line="43">a swipeable</doc>
19808+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19809+ </instance-parameter>
19810+ </parameters>
19811+ </virtual-method>
19812+ <virtual-method name="get_progress" invoker="get_progress">
19813+ <doc xml:space="preserve"
19814+ filename="src/adw-swipeable.c"
19815+ line="90">Gets the current progress of @self.</doc>
19816+ <source-position filename="src/adw-swipeable.h" line="43"/>
19817+ <return-value transfer-ownership="none">
19818+ <doc xml:space="preserve"
19819+ filename="src/adw-swipeable.c"
19820+ line="96">the current progress, unitless</doc>
19821+ <type name="gdouble" c:type="double"/>
19822+ </return-value>
19823+ <parameters>
19824+ <instance-parameter name="self" transfer-ownership="none">
19825+ <doc xml:space="preserve"
19826+ filename="src/adw-swipeable.c"
19827+ line="92">a swipeable</doc>
19828+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19829+ </instance-parameter>
19830+ </parameters>
19831+ </virtual-method>
19832+ <virtual-method name="get_snap_points" invoker="get_snap_points">
19833+ <doc xml:space="preserve"
19834+ filename="src/adw-swipeable.c"
19835+ line="64">Gets the snap points of @self.
19836+
19837+Each snap point represents a progress value that is considered acceptable to
19838+end the swipe on.</doc>
19839+ <source-position filename="src/adw-swipeable.h" line="41"/>
19840+ <return-value transfer-ownership="full">
19841+ <doc xml:space="preserve"
19842+ filename="src/adw-swipeable.c"
19843+ line="74">the snap points</doc>
19844+ <array length="0" zero-terminated="0" c:type="double*">
19845+ <type name="gdouble" c:type="double"/>
19846+ </array>
19847+ </return-value>
19848+ <parameters>
19849+ <instance-parameter name="self" transfer-ownership="none">
19850+ <doc xml:space="preserve"
19851+ filename="src/adw-swipeable.c"
19852+ line="66">a swipeable</doc>
19853+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19854+ </instance-parameter>
19855+ <parameter name="n_snap_points"
19856+ direction="out"
19857+ caller-allocates="0"
19858+ transfer-ownership="full">
19859+ <doc xml:space="preserve"
19860+ filename="src/adw-swipeable.c"
19861+ line="67">location to return the number of the snap points</doc>
19862+ <type name="gint" c:type="int*"/>
19863+ </parameter>
19864+ </parameters>
19865+ </virtual-method>
19866+ <virtual-method name="get_swipe_area" invoker="get_swipe_area">
19867+ <doc xml:space="preserve"
19868+ filename="src/adw-swipeable.c"
19869+ line="132">Gets the area @self can start a swipe from for the given direction and
19870+gesture type.
19871+
19872+This can be used to restrict swipes to only be possible from a certain area,
19873+for example, to only allow edge swipes, or to have a draggable element and
19874+ignore swipes elsewhere.
19875+
19876+If not implemented, the default implementation returns the allocation of
19877+@self, allowing swipes from anywhere.</doc>
19878+ <source-position filename="src/adw-swipeable.h" line="45"/>
19879+ <return-value transfer-ownership="none">
19880+ <type name="none" c:type="void"/>
19881+ </return-value>
19882+ <parameters>
19883+ <instance-parameter name="self" transfer-ownership="none">
19884+ <doc xml:space="preserve"
19885+ filename="src/adw-swipeable.c"
19886+ line="134">a swipeable</doc>
19887+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19888+ </instance-parameter>
19889+ <parameter name="navigation_direction" transfer-ownership="none">
19890+ <doc xml:space="preserve"
19891+ filename="src/adw-swipeable.c"
19892+ line="135">the direction of the swipe</doc>
19893+ <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
19894+ </parameter>
19895+ <parameter name="is_drag" transfer-ownership="none">
19896+ <doc xml:space="preserve"
19897+ filename="src/adw-swipeable.c"
19898+ line="136">whether the swipe is caused by a dragging gesture</doc>
19899+ <type name="gboolean" c:type="gboolean"/>
19900+ </parameter>
19901+ <parameter name="rect"
19902+ direction="out"
19903+ caller-allocates="1"
19904+ transfer-ownership="none">
19905+ <doc xml:space="preserve"
19906+ filename="src/adw-swipeable.c"
19907+ line="137">a pointer to a rectangle to store the swipe area</doc>
19908+ <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
19909+ </parameter>
19910+ </parameters>
19911+ </virtual-method>
19912+ <method name="get_cancel_progress"
19913+ c:identifier="adw_swipeable_get_cancel_progress">
19914+ <doc xml:space="preserve"
19915+ filename="src/adw-swipeable.c"
19916+ line="111">Gets the progress @self will snap back to after the gesture is canceled.</doc>
19917+ <source-position filename="src/adw-swipeable.h" line="65"/>
19918+ <return-value transfer-ownership="none">
19919+ <doc xml:space="preserve"
19920+ filename="src/adw-swipeable.c"
19921+ line="117">the cancel progress, unitless</doc>
19922+ <type name="gdouble" c:type="double"/>
19923+ </return-value>
19924+ <parameters>
19925+ <instance-parameter name="self" transfer-ownership="none">
19926+ <doc xml:space="preserve"
19927+ filename="src/adw-swipeable.c"
19928+ line="113">a swipeable</doc>
19929+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19930+ </instance-parameter>
19931+ </parameters>
19932+ </method>
19933+ <method name="get_distance" c:identifier="adw_swipeable_get_distance">
19934+ <doc xml:space="preserve"
19935+ filename="src/adw-swipeable.c"
19936+ line="41">Gets the swipe distance of @self.
19937+
19938+This corresponds to how many pixels 1 unit represents.</doc>
19939+ <source-position filename="src/adw-swipeable.h" line="55"/>
19940+ <return-value transfer-ownership="none">
19941+ <doc xml:space="preserve"
19942+ filename="src/adw-swipeable.c"
19943+ line="49">the swipe distance in pixels</doc>
19944+ <type name="gdouble" c:type="double"/>
19945+ </return-value>
19946+ <parameters>
19947+ <instance-parameter name="self" transfer-ownership="none">
19948+ <doc xml:space="preserve"
19949+ filename="src/adw-swipeable.c"
19950+ line="43">a swipeable</doc>
19951+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19952+ </instance-parameter>
19953+ </parameters>
19954+ </method>
19955+ <method name="get_progress" c:identifier="adw_swipeable_get_progress">
19956+ <doc xml:space="preserve"
19957+ filename="src/adw-swipeable.c"
19958+ line="90">Gets the current progress of @self.</doc>
19959+ <source-position filename="src/adw-swipeable.h" line="62"/>
19960+ <return-value transfer-ownership="none">
19961+ <doc xml:space="preserve"
19962+ filename="src/adw-swipeable.c"
19963+ line="96">the current progress, unitless</doc>
19964+ <type name="gdouble" c:type="double"/>
19965+ </return-value>
19966+ <parameters>
19967+ <instance-parameter name="self" transfer-ownership="none">
19968+ <doc xml:space="preserve"
19969+ filename="src/adw-swipeable.c"
19970+ line="92">a swipeable</doc>
19971+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19972+ </instance-parameter>
19973+ </parameters>
19974+ </method>
19975+ <method name="get_snap_points"
19976+ c:identifier="adw_swipeable_get_snap_points">
19977+ <doc xml:space="preserve"
19978+ filename="src/adw-swipeable.c"
19979+ line="64">Gets the snap points of @self.
19980+
19981+Each snap point represents a progress value that is considered acceptable to
19982+end the swipe on.</doc>
19983+ <source-position filename="src/adw-swipeable.h" line="58"/>
19984+ <return-value transfer-ownership="full">
19985+ <doc xml:space="preserve"
19986+ filename="src/adw-swipeable.c"
19987+ line="74">the snap points</doc>
19988+ <array length="0" zero-terminated="0" c:type="double*">
19989+ <type name="gdouble" c:type="double"/>
19990+ </array>
19991+ </return-value>
19992+ <parameters>
19993+ <instance-parameter name="self" transfer-ownership="none">
19994+ <doc xml:space="preserve"
19995+ filename="src/adw-swipeable.c"
19996+ line="66">a swipeable</doc>
19997+ <type name="Swipeable" c:type="AdwSwipeable*"/>
19998+ </instance-parameter>
19999+ <parameter name="n_snap_points"
20000+ direction="out"
20001+ caller-allocates="0"
20002+ transfer-ownership="full">
20003+ <doc xml:space="preserve"
20004+ filename="src/adw-swipeable.c"
20005+ line="67">location to return the number of the snap points</doc>
20006+ <type name="gint" c:type="int*"/>
20007+ </parameter>
20008+ </parameters>
20009+ </method>
20010+ <method name="get_swipe_area"
20011+ c:identifier="adw_swipeable_get_swipe_area">
20012+ <doc xml:space="preserve"
20013+ filename="src/adw-swipeable.c"
20014+ line="132">Gets the area @self can start a swipe from for the given direction and
20015+gesture type.
20016+
20017+This can be used to restrict swipes to only be possible from a certain area,
20018+for example, to only allow edge swipes, or to have a draggable element and
20019+ignore swipes elsewhere.
20020+
20021+If not implemented, the default implementation returns the allocation of
20022+@self, allowing swipes from anywhere.</doc>
20023+ <source-position filename="src/adw-swipeable.h" line="68"/>
20024+ <return-value transfer-ownership="none">
20025+ <type name="none" c:type="void"/>
20026+ </return-value>
20027+ <parameters>
20028+ <instance-parameter name="self" transfer-ownership="none">
20029+ <doc xml:space="preserve"
20030+ filename="src/adw-swipeable.c"
20031+ line="134">a swipeable</doc>
20032+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20033+ </instance-parameter>
20034+ <parameter name="navigation_direction" transfer-ownership="none">
20035+ <doc xml:space="preserve"
20036+ filename="src/adw-swipeable.c"
20037+ line="135">the direction of the swipe</doc>
20038+ <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
20039+ </parameter>
20040+ <parameter name="is_drag" transfer-ownership="none">
20041+ <doc xml:space="preserve"
20042+ filename="src/adw-swipeable.c"
20043+ line="136">whether the swipe is caused by a dragging gesture</doc>
20044+ <type name="gboolean" c:type="gboolean"/>
20045+ </parameter>
20046+ <parameter name="rect"
20047+ direction="out"
20048+ caller-allocates="1"
20049+ transfer-ownership="none">
20050+ <doc xml:space="preserve"
20051+ filename="src/adw-swipeable.c"
20052+ line="137">a pointer to a rectangle to store the swipe area</doc>
20053+ <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
20054+ </parameter>
20055+ </parameters>
20056+ </method>
20057+ </interface>
20058+ <record name="SwipeableInterface"
20059+ c:type="AdwSwipeableInterface"
20060+ glib:is-gtype-struct-for="Swipeable">
20061+ <doc xml:space="preserve"
20062+ filename="src/adw-swipeable.h"
20063+ line="25">An interface for swipeable widgets.</doc>
20064+ <source-position filename="src/adw-swipeable.h" line="52"/>
20065+ <field name="parent">
20066+ <doc xml:space="preserve"
20067+ filename="src/adw-swipeable.h"
20068+ line="27">The parent interface.</doc>
20069+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
20070+ </field>
20071+ <field name="get_distance">
20072+ <callback name="get_distance">
20073+ <source-position filename="src/adw-swipeable.h" line="40"/>
20074+ <return-value transfer-ownership="none">
20075+ <doc xml:space="preserve"
20076+ filename="src/adw-swipeable.c"
20077+ line="49">the swipe distance in pixels</doc>
20078+ <type name="gdouble" c:type="double"/>
20079+ </return-value>
20080+ <parameters>
20081+ <parameter name="self" transfer-ownership="none">
20082+ <doc xml:space="preserve"
20083+ filename="src/adw-swipeable.c"
20084+ line="43">a swipeable</doc>
20085+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20086+ </parameter>
20087+ </parameters>
20088+ </callback>
20089+ </field>
20090+ <field name="get_snap_points">
20091+ <callback name="get_snap_points">
20092+ <source-position filename="src/adw-swipeable.h" line="41"/>
20093+ <return-value transfer-ownership="full">
20094+ <doc xml:space="preserve"
20095+ filename="src/adw-swipeable.c"
20096+ line="74">the snap points</doc>
20097+ <array length="1" zero-terminated="0" c:type="double*">
20098+ <type name="gdouble" c:type="double"/>
20099+ </array>
20100+ </return-value>
20101+ <parameters>
20102+ <parameter name="self" transfer-ownership="none">
20103+ <doc xml:space="preserve"
20104+ filename="src/adw-swipeable.c"
20105+ line="66">a swipeable</doc>
20106+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20107+ </parameter>
20108+ <parameter name="n_snap_points"
20109+ direction="out"
20110+ caller-allocates="0"
20111+ transfer-ownership="full">
20112+ <doc xml:space="preserve"
20113+ filename="src/adw-swipeable.c"
20114+ line="67">location to return the number of the snap points</doc>
20115+ <type name="gint" c:type="int*"/>
20116+ </parameter>
20117+ </parameters>
20118+ </callback>
20119+ </field>
20120+ <field name="get_progress">
20121+ <callback name="get_progress">
20122+ <source-position filename="src/adw-swipeable.h" line="43"/>
20123+ <return-value transfer-ownership="none">
20124+ <doc xml:space="preserve"
20125+ filename="src/adw-swipeable.c"
20126+ line="96">the current progress, unitless</doc>
20127+ <type name="gdouble" c:type="double"/>
20128+ </return-value>
20129+ <parameters>
20130+ <parameter name="self" transfer-ownership="none">
20131+ <doc xml:space="preserve"
20132+ filename="src/adw-swipeable.c"
20133+ line="92">a swipeable</doc>
20134+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20135+ </parameter>
20136+ </parameters>
20137+ </callback>
20138+ </field>
20139+ <field name="get_cancel_progress">
20140+ <callback name="get_cancel_progress">
20141+ <source-position filename="src/adw-swipeable.h" line="44"/>
20142+ <return-value transfer-ownership="none">
20143+ <doc xml:space="preserve"
20144+ filename="src/adw-swipeable.c"
20145+ line="117">the cancel progress, unitless</doc>
20146+ <type name="gdouble" c:type="double"/>
20147+ </return-value>
20148+ <parameters>
20149+ <parameter name="self" transfer-ownership="none">
20150+ <doc xml:space="preserve"
20151+ filename="src/adw-swipeable.c"
20152+ line="113">a swipeable</doc>
20153+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20154+ </parameter>
20155+ </parameters>
20156+ </callback>
20157+ </field>
20158+ <field name="get_swipe_area">
20159+ <callback name="get_swipe_area">
20160+ <source-position filename="src/adw-swipeable.h" line="45"/>
20161+ <return-value transfer-ownership="none">
20162+ <type name="none" c:type="void"/>
20163+ </return-value>
20164+ <parameters>
20165+ <parameter name="self" transfer-ownership="none">
20166+ <doc xml:space="preserve"
20167+ filename="src/adw-swipeable.c"
20168+ line="134">a swipeable</doc>
20169+ <type name="Swipeable" c:type="AdwSwipeable*"/>
20170+ </parameter>
20171+ <parameter name="navigation_direction" transfer-ownership="none">
20172+ <doc xml:space="preserve"
20173+ filename="src/adw-swipeable.c"
20174+ line="135">the direction of the swipe</doc>
20175+ <type name="NavigationDirection"
20176+ c:type="AdwNavigationDirection"/>
20177+ </parameter>
20178+ <parameter name="is_drag" transfer-ownership="none">
20179+ <doc xml:space="preserve"
20180+ filename="src/adw-swipeable.c"
20181+ line="136">whether the swipe is caused by a dragging gesture</doc>
20182+ <type name="gboolean" c:type="gboolean"/>
20183+ </parameter>
20184+ <parameter name="rect"
20185+ direction="out"
20186+ caller-allocates="1"
20187+ transfer-ownership="none">
20188+ <doc xml:space="preserve"
20189+ filename="src/adw-swipeable.c"
20190+ line="137">a pointer to a rectangle to store the swipe area</doc>
20191+ <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
20192+ </parameter>
20193+ </parameters>
20194+ </callback>
20195+ </field>
20196+ <field name="padding" readable="0" private="1">
20197+ <array zero-terminated="0" fixed-size="4">
20198+ <type name="gpointer" c:type="gpointer"/>
20199+ </array>
20200+ </field>
20201+ </record>
20202+ <class name="TabBar"
20203+ c:symbol-prefix="tab_bar"
20204+ c:type="AdwTabBar"
20205+ parent="Gtk.Widget"
20206+ final="1"
20207+ glib:type-name="AdwTabBar"
20208+ glib:get-type="adw_tab_bar_get_type"
20209+ glib:type-struct="TabBarClass">
20210+ <doc xml:space="preserve"
20211+ filename="src/adw-tab-bar.c"
20212+ line="17">A tab bar for [class@TabView].
20213+
20214+&lt;picture&gt;
20215+ &lt;source srcset="tab-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
20216+ &lt;img src="tab-bar.png" alt="tab-bar"&gt;
20217+&lt;/picture&gt;
20218+
20219+The `AdwTabBar` widget is a tab bar that can be used with conjunction with
20220+`AdwTabView`.
20221+
20222+`AdwTabBar` can autohide and can optionally contain action widgets on both
20223+sides of the tabs.
20224+
20225+When there's not enough space to show all the tabs, `AdwTabBar` will scroll
20226+them. Pinned tabs always stay visible and aren't a part of the scrollable
20227+area.
20228+
20229+## CSS nodes
20230+
20231+`AdwTabBar` has a single CSS node with name `tabbar`.</doc>
20232+ <source-position filename="src/adw-tab-bar.h" line="26"/>
20233+ <implements name="Gtk.Accessible"/>
20234+ <implements name="Gtk.Buildable"/>
20235+ <implements name="Gtk.ConstraintTarget"/>
20236+ <constructor name="new" c:identifier="adw_tab_bar_new">
20237+ <doc xml:space="preserve"
20238+ filename="src/adw-tab-bar.c"
20239+ line="690">Creates a new `AdwTabBar`.</doc>
20240+ <source-position filename="src/adw-tab-bar.h" line="29"/>
20241+ <return-value transfer-ownership="none">
20242+ <doc xml:space="preserve"
20243+ filename="src/adw-tab-bar.c"
20244+ line="695">the newly created `AdwTabBar`</doc>
20245+ <type name="TabBar" c:type="AdwTabBar*"/>
20246+ </return-value>
20247+ </constructor>
20248+ <method name="get_autohide"
20249+ c:identifier="adw_tab_bar_get_autohide"
20250+ glib:get-property="autohide">
20251+ <attribute name="org.gtk.Method.get_property" value="autohide"/>
20252+ <doc xml:space="preserve"
20253+ filename="src/adw-tab-bar.c"
20254+ line="881">Gets whether the tabs automatically hide.</doc>
20255+ <source-position filename="src/adw-tab-bar.h" line="50"/>
20256+ <return-value transfer-ownership="none">
20257+ <doc xml:space="preserve"
20258+ filename="src/adw-tab-bar.c"
20259+ line="887">whether the tabs automatically hide</doc>
20260+ <type name="gboolean" c:type="gboolean"/>
20261+ </return-value>
20262+ <parameters>
20263+ <instance-parameter name="self" transfer-ownership="none">
20264+ <doc xml:space="preserve"
20265+ filename="src/adw-tab-bar.c"
20266+ line="883">a tab bar</doc>
20267+ <type name="TabBar" c:type="AdwTabBar*"/>
20268+ </instance-parameter>
20269+ </parameters>
20270+ </method>
20271+ <method name="get_end_action_widget"
20272+ c:identifier="adw_tab_bar_get_end_action_widget"
20273+ glib:get-property="end-action-widget">
20274+ <attribute name="org.gtk.Method.get_property"
20275+ value="end-action-widget"/>
20276+ <doc xml:space="preserve"
20277+ filename="src/adw-tab-bar.c"
20278+ line="838">Gets the widget shown after the tabs.</doc>
20279+ <source-position filename="src/adw-tab-bar.h" line="44"/>
20280+ <return-value transfer-ownership="none" nullable="1">
20281+ <doc xml:space="preserve"
20282+ filename="src/adw-tab-bar.c"
20283+ line="844">the widget shown after the tabs</doc>
20284+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
20285+ </return-value>
20286+ <parameters>
20287+ <instance-parameter name="self" transfer-ownership="none">
20288+ <doc xml:space="preserve"
20289+ filename="src/adw-tab-bar.c"
20290+ line="840">a tab bar</doc>
20291+ <type name="TabBar" c:type="AdwTabBar*"/>
20292+ </instance-parameter>
20293+ </parameters>
20294+ </method>
20295+ <method name="get_expand_tabs"
20296+ c:identifier="adw_tab_bar_get_expand_tabs"
20297+ glib:get-property="expand-tabs">
20298+ <attribute name="org.gtk.Method.get_property" value="expand-tabs"/>
20299+ <doc xml:space="preserve"
20300+ filename="src/adw-tab-bar.c"
20301+ line="945">Gets whether tabs expand to full width.</doc>
20302+ <source-position filename="src/adw-tab-bar.h" line="59"/>
20303+ <return-value transfer-ownership="none">
20304+ <doc xml:space="preserve"
20305+ filename="src/adw-tab-bar.c"
20306+ line="951">whether tabs expand to full width.</doc>
20307+ <type name="gboolean" c:type="gboolean"/>
20308+ </return-value>
20309+ <parameters>
20310+ <instance-parameter name="self" transfer-ownership="none">
20311+ <doc xml:space="preserve"
20312+ filename="src/adw-tab-bar.c"
20313+ line="947">a tab bar</doc>
20314+ <type name="TabBar" c:type="AdwTabBar*"/>
20315+ </instance-parameter>
20316+ </parameters>
20317+ </method>
20318+ <method name="get_extra_drag_preload"
20319+ c:identifier="adw_tab_bar_get_extra_drag_preload"
20320+ glib:get-property="extra-drag-preload"
20321+ version="1.3">
20322+ <doc xml:space="preserve"
20323+ filename="src/adw-tab-bar.c"
20324+ line="1062">Gets whether drop data should be preloaded on hover.</doc>
20325+ <source-position filename="src/adw-tab-bar.h" line="77"/>
20326+ <return-value transfer-ownership="none">
20327+ <doc xml:space="preserve"
20328+ filename="src/adw-tab-bar.c"
20329+ line="1068">whether drop data should be preloaded on hover</doc>
20330+ <type name="gboolean" c:type="gboolean"/>
20331+ </return-value>
20332+ <parameters>
20333+ <instance-parameter name="self" transfer-ownership="none">
20334+ <doc xml:space="preserve"
20335+ filename="src/adw-tab-bar.c"
20336+ line="1064">a tab bar</doc>
20337+ <type name="TabBar" c:type="AdwTabBar*"/>
20338+ </instance-parameter>
20339+ </parameters>
20340+ </method>
20341+ <method name="get_inverted"
20342+ c:identifier="adw_tab_bar_get_inverted"
20343+ glib:get-property="inverted">
20344+ <attribute name="org.gtk.Method.get_property" value="inverted"/>
20345+ <doc xml:space="preserve"
20346+ filename="src/adw-tab-bar.c"
20347+ line="987">Gets whether tabs use inverted layout.</doc>
20348+ <source-position filename="src/adw-tab-bar.h" line="65"/>
20349+ <return-value transfer-ownership="none">
20350+ <doc xml:space="preserve"
20351+ filename="src/adw-tab-bar.c"
20352+ line="993">whether tabs use inverted layout</doc>
20353+ <type name="gboolean" c:type="gboolean"/>
20354+ </return-value>
20355+ <parameters>
20356+ <instance-parameter name="self" transfer-ownership="none">
20357+ <doc xml:space="preserve"
20358+ filename="src/adw-tab-bar.c"
20359+ line="989">a tab bar</doc>
20360+ <type name="TabBar" c:type="AdwTabBar*"/>
20361+ </instance-parameter>
20362+ </parameters>
20363+ </method>
20364+ <method name="get_is_overflowing"
20365+ c:identifier="adw_tab_bar_get_is_overflowing"
20366+ glib:get-property="is-overflowing">
20367+ <attribute name="org.gtk.Method.get_property" value="is-overflowing"/>
20368+ <doc xml:space="preserve"
20369+ filename="src/adw-tab-bar.c"
20370+ line="1106">Gets whether @self is overflowing.
20371+
20372+If `TRUE`, all tabs cannot be displayed at once and require scrolling.</doc>
20373+ <source-position filename="src/adw-tab-bar.h" line="83"/>
20374+ <return-value transfer-ownership="none">
20375+ <doc xml:space="preserve"
20376+ filename="src/adw-tab-bar.c"
20377+ line="1114">whether @self is overflowing</doc>
20378+ <type name="gboolean" c:type="gboolean"/>
20379+ </return-value>
20380+ <parameters>
20381+ <instance-parameter name="self" transfer-ownership="none">
20382+ <doc xml:space="preserve"
20383+ filename="src/adw-tab-bar.c"
20384+ line="1108">a tab bar</doc>
20385+ <type name="TabBar" c:type="AdwTabBar*"/>
20386+ </instance-parameter>
20387+ </parameters>
20388+ </method>
20389+ <method name="get_start_action_widget"
20390+ c:identifier="adw_tab_bar_get_start_action_widget"
20391+ glib:get-property="start-action-widget">
20392+ <attribute name="org.gtk.Method.get_property"
20393+ value="start-action-widget"/>
20394+ <doc xml:space="preserve"
20395+ filename="src/adw-tab-bar.c"
20396+ line="795">Gets the widget shown before the tabs.</doc>
20397+ <source-position filename="src/adw-tab-bar.h" line="38"/>
20398+ <return-value transfer-ownership="none" nullable="1">
20399+ <doc xml:space="preserve"
20400+ filename="src/adw-tab-bar.c"
20401+ line="801">the widget shown before the tabs</doc>
20402+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
20403+ </return-value>
20404+ <parameters>
20405+ <instance-parameter name="self" transfer-ownership="none">
20406+ <doc xml:space="preserve"
20407+ filename="src/adw-tab-bar.c"
20408+ line="797">a tab bar</doc>
20409+ <type name="TabBar" c:type="AdwTabBar*"/>
20410+ </instance-parameter>
20411+ </parameters>
20412+ </method>
20413+ <method name="get_tabs_revealed"
20414+ c:identifier="adw_tab_bar_get_tabs_revealed"
20415+ glib:get-property="tabs-revealed">
20416+ <attribute name="org.gtk.Method.get_property" value="tabs-revealed"/>
20417+ <doc xml:space="preserve"
20418+ filename="src/adw-tab-bar.c"
20419+ line="927">Gets whether the tabs are currently revealed.
20420+
20421+See [property@TabBar:autohide].</doc>
20422+ <source-position filename="src/adw-tab-bar.h" line="56"/>
20423+ <return-value transfer-ownership="none">
20424+ <doc xml:space="preserve"
20425+ filename="src/adw-tab-bar.c"
20426+ line="935">whether the tabs are currently revealed</doc>
20427+ <type name="gboolean" c:type="gboolean"/>
20428+ </return-value>
20429+ <parameters>
20430+ <instance-parameter name="self" transfer-ownership="none">
20431+ <doc xml:space="preserve"
20432+ filename="src/adw-tab-bar.c"
20433+ line="929">a tab bar</doc>
20434+ <type name="TabBar" c:type="AdwTabBar*"/>
20435+ </instance-parameter>
20436+ </parameters>
20437+ </method>
20438+ <method name="get_view"
20439+ c:identifier="adw_tab_bar_get_view"
20440+ glib:get-property="view">
20441+ <attribute name="org.gtk.Method.get_property" value="view"/>
20442+ <doc xml:space="preserve"
20443+ filename="src/adw-tab-bar.c"
20444+ line="703">Gets the tab view @self controls.</doc>
20445+ <source-position filename="src/adw-tab-bar.h" line="32"/>
20446+ <return-value transfer-ownership="none" nullable="1">
20447+ <doc xml:space="preserve"
20448+ filename="src/adw-tab-bar.c"
20449+ line="709">the view @self controls</doc>
20450+ <type name="TabView" c:type="AdwTabView*"/>
20451+ </return-value>
20452+ <parameters>
20453+ <instance-parameter name="self" transfer-ownership="none">
20454+ <doc xml:space="preserve"
20455+ filename="src/adw-tab-bar.c"
20456+ line="705">a tab bar</doc>
20457+ <type name="TabBar" c:type="AdwTabBar*"/>
20458+ </instance-parameter>
20459+ </parameters>
20460+ </method>
20461+ <method name="set_autohide"
20462+ c:identifier="adw_tab_bar_set_autohide"
20463+ glib:set-property="autohide">
20464+ <attribute name="org.gtk.Method.set_property" value="autohide"/>
20465+ <doc xml:space="preserve"
20466+ filename="src/adw-tab-bar.c"
20467+ line="897">Sets whether the tabs automatically hide.
20468+
20469+If set to `TRUE`, the tab bar disappears when [property@TabBar:view] has 0
20470+or 1 tab, no pinned tabs, and no tab is being transferred.
20471+
20472+See [property@TabBar:tabs-revealed].</doc>
20473+ <source-position filename="src/adw-tab-bar.h" line="52"/>
20474+ <return-value transfer-ownership="none">
20475+ <type name="none" c:type="void"/>
20476+ </return-value>
20477+ <parameters>
20478+ <instance-parameter name="self" transfer-ownership="none">
20479+ <doc xml:space="preserve"
20480+ filename="src/adw-tab-bar.c"
20481+ line="899">a tab bar</doc>
20482+ <type name="TabBar" c:type="AdwTabBar*"/>
20483+ </instance-parameter>
20484+ <parameter name="autohide" transfer-ownership="none">
20485+ <doc xml:space="preserve"
20486+ filename="src/adw-tab-bar.c"
20487+ line="900">whether the tabs automatically hide</doc>
20488+ <type name="gboolean" c:type="gboolean"/>
20489+ </parameter>
20490+ </parameters>
20491+ </method>
20492+ <method name="set_end_action_widget"
20493+ c:identifier="adw_tab_bar_set_end_action_widget"
20494+ glib:set-property="end-action-widget">
20495+ <attribute name="org.gtk.Method.set_property"
20496+ value="end-action-widget"/>
20497+ <doc xml:space="preserve"
20498+ filename="src/adw-tab-bar.c"
20499+ line="854">Sets the widget to show after the tabs.</doc>
20500+ <source-position filename="src/adw-tab-bar.h" line="46"/>
20501+ <return-value transfer-ownership="none">
20502+ <type name="none" c:type="void"/>
20503+ </return-value>
20504+ <parameters>
20505+ <instance-parameter name="self" transfer-ownership="none">
20506+ <doc xml:space="preserve"
20507+ filename="src/adw-tab-bar.c"
20508+ line="856">a tab bar</doc>
20509+ <type name="TabBar" c:type="AdwTabBar*"/>
20510+ </instance-parameter>
20511+ <parameter name="widget"
20512+ transfer-ownership="none"
20513+ nullable="1"
20514+ allow-none="1">
20515+ <doc xml:space="preserve"
20516+ filename="src/adw-tab-bar.c"
20517+ line="857">the widget to show after the tabs</doc>
20518+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
20519+ </parameter>
20520+ </parameters>
20521+ </method>
20522+ <method name="set_expand_tabs"
20523+ c:identifier="adw_tab_bar_set_expand_tabs"
20524+ glib:set-property="expand-tabs">
20525+ <attribute name="org.gtk.Method.set_property" value="expand-tabs"/>
20526+ <doc xml:space="preserve"
20527+ filename="src/adw-tab-bar.c"
20528+ line="961">Sets whether tabs expand to full width.
20529+
20530+If set to `TRUE`, the tabs will always vary width filling the whole width
20531+when possible, otherwise tabs will always have the minimum possible size.</doc>
20532+ <source-position filename="src/adw-tab-bar.h" line="61"/>
20533+ <return-value transfer-ownership="none">
20534+ <type name="none" c:type="void"/>
20535+ </return-value>
20536+ <parameters>
20537+ <instance-parameter name="self" transfer-ownership="none">
20538+ <doc xml:space="preserve"
20539+ filename="src/adw-tab-bar.c"
20540+ line="963">a tab bar</doc>
20541+ <type name="TabBar" c:type="AdwTabBar*"/>
20542+ </instance-parameter>
20543+ <parameter name="expand_tabs" transfer-ownership="none">
20544+ <doc xml:space="preserve"
20545+ filename="src/adw-tab-bar.c"
20546+ line="964">whether to expand tabs</doc>
20547+ <type name="gboolean" c:type="gboolean"/>
20548+ </parameter>
20549+ </parameters>
20550+ </method>
20551+ <method name="set_extra_drag_preload"
20552+ c:identifier="adw_tab_bar_set_extra_drag_preload"
20553+ glib:set-property="extra-drag-preload"
20554+ version="1.3">
20555+ <doc xml:space="preserve"
20556+ filename="src/adw-tab-bar.c"
20557+ line="1080">Sets whether drop data should be preloaded on hover.
20558+
20559+See [property@Gtk.DropTarget:preload].</doc>
20560+ <source-position filename="src/adw-tab-bar.h" line="79"/>
20561+ <return-value transfer-ownership="none">
20562+ <type name="none" c:type="void"/>
20563+ </return-value>
20564+ <parameters>
20565+ <instance-parameter name="self" transfer-ownership="none">
20566+ <doc xml:space="preserve"
20567+ filename="src/adw-tab-bar.c"
20568+ line="1082">a tab bar</doc>
20569+ <type name="TabBar" c:type="AdwTabBar*"/>
20570+ </instance-parameter>
20571+ <parameter name="preload" transfer-ownership="none">
20572+ <doc xml:space="preserve"
20573+ filename="src/adw-tab-bar.c"
20574+ line="1083">whether to preload drop data</doc>
20575+ <type name="gboolean" c:type="gboolean"/>
20576+ </parameter>
20577+ </parameters>
20578+ </method>
20579+ <method name="set_inverted"
20580+ c:identifier="adw_tab_bar_set_inverted"
20581+ glib:set-property="inverted">
20582+ <attribute name="org.gtk.Method.set_property" value="inverted"/>
20583+ <doc xml:space="preserve"
20584+ filename="src/adw-tab-bar.c"
20585+ line="1003">Sets whether tabs tabs use inverted layout.
20586+
20587+If set to `TRUE`, non-pinned tabs will have the close button at the beginning
20588+and the indicator at the end rather than the opposite.</doc>
20589+ <source-position filename="src/adw-tab-bar.h" line="67"/>
20590+ <return-value transfer-ownership="none">
20591+ <type name="none" c:type="void"/>
20592+ </return-value>
20593+ <parameters>
20594+ <instance-parameter name="self" transfer-ownership="none">
20595+ <doc xml:space="preserve"
20596+ filename="src/adw-tab-bar.c"
20597+ line="1005">a tab bar</doc>
20598+ <type name="TabBar" c:type="AdwTabBar*"/>
20599+ </instance-parameter>
20600+ <parameter name="inverted" transfer-ownership="none">
20601+ <doc xml:space="preserve"
20602+ filename="src/adw-tab-bar.c"
20603+ line="1006">whether tabs use inverted layout</doc>
20604+ <type name="gboolean" c:type="gboolean"/>
20605+ </parameter>
20606+ </parameters>
20607+ </method>
20608+ <method name="set_start_action_widget"
20609+ c:identifier="adw_tab_bar_set_start_action_widget"
20610+ glib:set-property="start-action-widget">
20611+ <attribute name="org.gtk.Method.set_property"
20612+ value="start-action-widget"/>
20613+ <doc xml:space="preserve"
20614+ filename="src/adw-tab-bar.c"
20615+ line="811">Sets the widget to show before the tabs.</doc>
20616+ <source-position filename="src/adw-tab-bar.h" line="40"/>
20617+ <return-value transfer-ownership="none">
20618+ <type name="none" c:type="void"/>
20619+ </return-value>
20620+ <parameters>
20621+ <instance-parameter name="self" transfer-ownership="none">
20622+ <doc xml:space="preserve"
20623+ filename="src/adw-tab-bar.c"
20624+ line="813">a tab bar</doc>
20625+ <type name="TabBar" c:type="AdwTabBar*"/>
20626+ </instance-parameter>
20627+ <parameter name="widget"
20628+ transfer-ownership="none"
20629+ nullable="1"
20630+ allow-none="1">
20631+ <doc xml:space="preserve"
20632+ filename="src/adw-tab-bar.c"
20633+ line="814">the widget to show before the tabs</doc>
20634+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
20635+ </parameter>
20636+ </parameters>
20637+ </method>
20638+ <method name="set_view"
20639+ c:identifier="adw_tab_bar_set_view"
20640+ glib:set-property="view">
20641+ <attribute name="org.gtk.Method.set_property" value="view"/>
20642+ <doc xml:space="preserve"
20643+ filename="src/adw-tab-bar.c"
20644+ line="719">Sets the tab view @self controls.</doc>
20645+ <source-position filename="src/adw-tab-bar.h" line="34"/>
20646+ <return-value transfer-ownership="none">
20647+ <type name="none" c:type="void"/>
20648+ </return-value>
20649+ <parameters>
20650+ <instance-parameter name="self" transfer-ownership="none">
20651+ <doc xml:space="preserve"
20652+ filename="src/adw-tab-bar.c"
20653+ line="721">a tab bar</doc>
20654+ <type name="TabBar" c:type="AdwTabBar*"/>
20655+ </instance-parameter>
20656+ <parameter name="view"
20657+ transfer-ownership="none"
20658+ nullable="1"
20659+ allow-none="1">
20660+ <doc xml:space="preserve"
20661+ filename="src/adw-tab-bar.c"
20662+ line="722">a tab view</doc>
20663+ <type name="TabView" c:type="AdwTabView*"/>
20664+ </parameter>
20665+ </parameters>
20666+ </method>
20667+ <method name="setup_extra_drop_target"
20668+ c:identifier="adw_tab_bar_setup_extra_drop_target">
20669+ <doc xml:space="preserve"
20670+ filename="src/adw-tab-bar.c"
20671+ line="1029">Sets the supported types for this drop target.
20672+
20673+Sets up an extra drop target on tabs.
20674+
20675+This allows to drag arbitrary content onto tabs, for example URLs in a web
20676+browser.
20677+
20678+If a tab is hovered for a certain period of time while dragging the content,
20679+it will be automatically selected.
20680+
20681+The [signal@TabBar::extra-drag-drop] signal can be used to handle the drop.</doc>
20682+ <source-position filename="src/adw-tab-bar.h" line="71"/>
20683+ <return-value transfer-ownership="none">
20684+ <type name="none" c:type="void"/>
20685+ </return-value>
20686+ <parameters>
20687+ <instance-parameter name="self" transfer-ownership="none">
20688+ <doc xml:space="preserve"
20689+ filename="src/adw-tab-bar.c"
20690+ line="1031">a tab bar</doc>
20691+ <type name="TabBar" c:type="AdwTabBar*"/>
20692+ </instance-parameter>
20693+ <parameter name="actions" transfer-ownership="none">
20694+ <doc xml:space="preserve"
20695+ filename="src/adw-tab-bar.c"
20696+ line="1032">the supported actions</doc>
20697+ <type name="Gdk.DragAction" c:type="GdkDragAction"/>
20698+ </parameter>
20699+ <parameter name="types"
20700+ transfer-ownership="none"
20701+ nullable="1"
20702+ allow-none="1">
20703+ <doc xml:space="preserve"
20704+ filename="src/adw-tab-bar.c"
20705+ line="1033">
20706+ all supported `GType`s that can be dropped</doc>
20707+ <array length="2" zero-terminated="0" c:type="GType*">
20708+ <type name="GType" c:type="GType"/>
20709+ </array>
20710+ </parameter>
20711+ <parameter name="n_types" transfer-ownership="none">
20712+ <doc xml:space="preserve"
20713+ filename="src/adw-tab-bar.c"
20714+ line="1035">number of @types</doc>
20715+ <type name="gsize" c:type="gsize"/>
20716+ </parameter>
20717+ </parameters>
20718+ </method>
20719+ <property name="autohide"
20720+ writable="1"
20721+ transfer-ownership="none"
20722+ setter="set_autohide"
20723+ getter="get_autohide"
20724+ default-value="TRUE">
20725+ <attribute name="org.gtk.Property.get"
20726+ value="adw_tab_bar_get_autohide"/>
20727+ <attribute name="org.gtk.Property.set"
20728+ value="adw_tab_bar_set_autohide"/>
20729+ <doc xml:space="preserve"
20730+ filename="src/adw-tab-bar.c"
20731+ line="462">Whether the tabs automatically hide.
20732+
20733+If set to `TRUE`, the tab bar disappears when [property@TabBar:view] has 0
20734+or 1 tab, no pinned tabs, and no tab is being transferred.
20735+
20736+See [property@TabBar:tabs-revealed].</doc>
20737+ <type name="gboolean" c:type="gboolean"/>
20738+ </property>
20739+ <property name="end-action-widget"
20740+ writable="1"
20741+ transfer-ownership="none"
20742+ setter="set_end_action_widget"
20743+ getter="get_end_action_widget">
20744+ <attribute name="org.gtk.Property.get"
20745+ value="adw_tab_bar_get_end_action_widget"/>
20746+ <attribute name="org.gtk.Property.set"
20747+ value="adw_tab_bar_set_end_action_widget"/>
20748+ <doc xml:space="preserve"
20749+ filename="src/adw-tab-bar.c"
20750+ line="452">The widget shown after the tabs.</doc>
20751+ <type name="Gtk.Widget"/>
20752+ </property>
20753+ <property name="expand-tabs"
20754+ writable="1"
20755+ transfer-ownership="none"
20756+ setter="set_expand_tabs"
20757+ getter="get_expand_tabs"
20758+ default-value="TRUE">
20759+ <attribute name="org.gtk.Property.get"
20760+ value="adw_tab_bar_get_expand_tabs"/>
20761+ <attribute name="org.gtk.Property.set"
20762+ value="adw_tab_bar_set_expand_tabs"/>
20763+ <doc xml:space="preserve"
20764+ filename="src/adw-tab-bar.c"
20765+ line="489">Whether tabs expand to full width.
20766+
20767+If set to `TRUE`, the tabs will always vary width filling the whole width
20768+when possible, otherwise tabs will always have the minimum possible size.</doc>
20769+ <type name="gboolean" c:type="gboolean"/>
20770+ </property>
20771+ <property name="extra-drag-preload"
20772+ version="1.3"
20773+ writable="1"
20774+ transfer-ownership="none"
20775+ setter="set_extra_drag_preload"
20776+ getter="get_extra_drag_preload"
20777+ default-value="FALSE">
20778+ <attribute name="org.gtk.Property.get"
20779+ value="adw_tab_bar_get_extra_drag_preload"/>
20780+ <attribute name="org.gtk.Property.set"
20781+ value="adw_tab_bar_set_extra_drag_preload"/>
20782+ <doc xml:space="preserve"
20783+ filename="src/adw-tab-bar.c"
20784+ line="527">Whether the drop data should be preloaded on hover.
20785+
20786+See [property@Gtk.DropTarget:preload].</doc>
20787+ <type name="gboolean" c:type="gboolean"/>
20788+ </property>
20789+ <property name="inverted"
20790+ writable="1"
20791+ transfer-ownership="none"
20792+ setter="set_inverted"
20793+ getter="get_inverted"
20794+ default-value="FALSE">
20795+ <attribute name="org.gtk.Property.get"
20796+ value="adw_tab_bar_get_inverted"/>
20797+ <attribute name="org.gtk.Property.set"
20798+ value="adw_tab_bar_set_inverted"/>
20799+ <doc xml:space="preserve"
20800+ filename="src/adw-tab-bar.c"
20801+ line="502">Whether tabs use inverted layout.
20802+
20803+If set to `TRUE`, non-pinned tabs will have the close button at the
20804+beginning and the indicator at the end rather than the opposite.</doc>
20805+ <type name="gboolean" c:type="gboolean"/>
20806+ </property>
20807+ <property name="is-overflowing"
20808+ transfer-ownership="none"
20809+ getter="get_is_overflowing"
20810+ default-value="FALSE">
20811+ <attribute name="org.gtk.Property.get"
20812+ value="adw_tab_bar_get_is_overflowing"/>
20813+ <doc xml:space="preserve"
20814+ filename="src/adw-tab-bar.c"
20815+ line="515">Whether the tab bar is overflowing.
20816+
20817+If `TRUE`, all tabs cannot be displayed at once and require scrolling.</doc>
20818+ <type name="gboolean" c:type="gboolean"/>
20819+ </property>
20820+ <property name="start-action-widget"
20821+ writable="1"
20822+ transfer-ownership="none"
20823+ setter="set_start_action_widget"
20824+ getter="get_start_action_widget">
20825+ <attribute name="org.gtk.Property.get"
20826+ value="adw_tab_bar_get_start_action_widget"/>
20827+ <attribute name="org.gtk.Property.set"
20828+ value="adw_tab_bar_set_start_action_widget"/>
20829+ <doc xml:space="preserve"
20830+ filename="src/adw-tab-bar.c"
20831+ line="442">The widget shown before the tabs.</doc>
20832+ <type name="Gtk.Widget"/>
20833+ </property>
20834+ <property name="tabs-revealed"
20835+ transfer-ownership="none"
20836+ getter="get_tabs_revealed"
20837+ default-value="FALSE">
20838+ <attribute name="org.gtk.Property.get"
20839+ value="adw_tab_bar_get_tabs_revealed"/>
20840+ <doc xml:space="preserve"
20841+ filename="src/adw-tab-bar.c"
20842+ line="477">Whether the tabs are currently revealed.
20843+
20844+See [property@TabBar:autohide].</doc>
20845+ <type name="gboolean" c:type="gboolean"/>
20846+ </property>
20847+ <property name="view"
20848+ writable="1"
20849+ transfer-ownership="none"
20850+ setter="set_view"
20851+ getter="get_view">
20852+ <attribute name="org.gtk.Property.get" value="adw_tab_bar_get_view"/>
20853+ <attribute name="org.gtk.Property.set" value="adw_tab_bar_set_view"/>
20854+ <doc xml:space="preserve"
20855+ filename="src/adw-tab-bar.c"
20856+ line="432">The tab view the tab bar controls.</doc>
20857+ <type name="TabView"/>
20858+ </property>
20859+ <glib:signal name="extra-drag-drop" when="last">
20860+ <doc xml:space="preserve"
20861+ filename="src/adw-tab-bar.c"
20862+ line="543">This signal is emitted when content is dropped onto a tab.
20863+
20864+The content must be of one of the types set up via
20865+[method@TabBar.setup_extra_drop_target].
20866+
20867+See [signal@Gtk.DropTarget::drop].</doc>
20868+ <return-value transfer-ownership="none">
20869+ <doc xml:space="preserve"
20870+ filename="src/adw-tab-bar.c"
20871+ line="556">whether the drop was accepted for @page</doc>
20872+ <type name="gboolean" c:type="gboolean"/>
20873+ </return-value>
20874+ <parameters>
20875+ <parameter name="page" transfer-ownership="none">
20876+ <doc xml:space="preserve"
20877+ filename="src/adw-tab-bar.c"
20878+ line="546">the page matching the tab the content was dropped onto</doc>
20879+ <type name="TabPage"/>
20880+ </parameter>
20881+ <parameter name="value" transfer-ownership="none">
20882+ <doc xml:space="preserve"
20883+ filename="src/adw-tab-bar.c"
20884+ line="547">the `GValue` being dropped</doc>
20885+ <type name="GObject.Value"/>
20886+ </parameter>
20887+ </parameters>
20888+ </glib:signal>
20889+ <glib:signal name="extra-drag-value" when="last" version="1.3">
20890+ <doc xml:space="preserve"
20891+ filename="src/adw-tab-bar.c"
20892+ line="570">This signal is emitted when the dropped content is preloaded.
20893+
20894+In order for data to be preloaded, [property@TabBar:extra-drag-preload]
20895+must be set to `TRUE`.
20896+
20897+The content must be of one of the types set up via
20898+[method@TabBar.setup_extra_drop_target].
20899+
20900+See [property@Gtk.DropTarget:value].</doc>
20901+ <return-value transfer-ownership="none">
20902+ <doc xml:space="preserve"
20903+ filename="src/adw-tab-bar.c"
20904+ line="586">the preferred action for the drop on @page</doc>
20905+ <type name="Gdk.DragAction"/>
20906+ </return-value>
20907+ <parameters>
20908+ <parameter name="page" transfer-ownership="none">
20909+ <doc xml:space="preserve"
20910+ filename="src/adw-tab-bar.c"
20911+ line="573">the page matching the tab the content was dropped onto</doc>
20912+ <type name="TabPage"/>
20913+ </parameter>
20914+ <parameter name="value" transfer-ownership="none">
20915+ <doc xml:space="preserve"
20916+ filename="src/adw-tab-bar.c"
20917+ line="574">the `GValue` being dropped</doc>
20918+ <type name="GObject.Value"/>
20919+ </parameter>
20920+ </parameters>
20921+ </glib:signal>
20922+ </class>
20923+ <record name="TabBarClass"
20924+ c:type="AdwTabBarClass"
20925+ glib:is-gtype-struct-for="TabBar">
20926+ <source-position filename="src/adw-tab-bar.h" line="26"/>
20927+ <field name="parent_class">
20928+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
20929+ </field>
20930+ </record>
20931+ <class name="TabButton"
20932+ c:symbol-prefix="tab_button"
20933+ c:type="AdwTabButton"
20934+ version="1.3"
20935+ parent="Gtk.Widget"
20936+ final="1"
20937+ glib:type-name="AdwTabButton"
20938+ glib:get-type="adw_tab_button_get_type"
20939+ glib:type-struct="TabButtonClass">
20940+ <doc xml:space="preserve"
20941+ filename="src/adw-tab-button.c"
20942+ line="21">A button that displays the number of [class@TabView] pages.
20943+
20944+&lt;picture&gt;
20945+ &lt;source srcset="tab-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
20946+ &lt;img src="tab-button.png" alt="tab-button"&gt;
20947+&lt;/picture&gt;
20948+
20949+`AdwTabButton` is a button that displays the number of pages in a given
20950+`AdwTabView`, as well as whether one of the inactive pages needs attention.
20951+
20952+It's intended to be used as a visible indicator when there's no visible tab
20953+bar, typically opening an [class@TabOverview] on click, e.g. via the
20954+`overview.open` action name:
20955+
20956+```xml
20957+&lt;object class="AdwTabButton"&gt;
20958+ &lt;property name="view"&gt;view&lt;/property&gt;
20959+ &lt;property name="action-name"&gt;overview.open&lt;/property&gt;
20960+&lt;/object&gt;
20961+```
20962+
20963+## CSS nodes
20964+
20965+`AdwTabButton` has a main CSS node with name `tabbutton`.
20966+
20967+# Accessibility
20968+
20969+`AdwTabButton` uses the `GTK_ACCESSIBLE_ROLE_BUTTON` role.</doc>
20970+ <source-position filename="src/adw-tab-button.h" line="25"/>
20971+ <implements name="Gtk.Accessible"/>
20972+ <implements name="Gtk.Actionable"/>
20973+ <implements name="Gtk.Buildable"/>
20974+ <implements name="Gtk.ConstraintTarget"/>
20975+ <constructor name="new" c:identifier="adw_tab_button_new" version="1.3">
20976+ <doc xml:space="preserve"
20977+ filename="src/adw-tab-button.c"
20978+ line="429">Creates a new `AdwTabButton`.</doc>
20979+ <source-position filename="src/adw-tab-button.h" line="28"/>
20980+ <return-value transfer-ownership="none">
20981+ <doc xml:space="preserve"
20982+ filename="src/adw-tab-button.c"
20983+ line="434">the newly created `AdwTabButton`</doc>
20984+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
20985+ </return-value>
20986+ </constructor>
20987+ <method name="get_view"
20988+ c:identifier="adw_tab_button_get_view"
20989+ glib:get-property="view"
20990+ version="1.3">
20991+ <attribute name="org.gtk.Method.get_property" value="view"/>
20992+ <doc xml:space="preserve"
20993+ filename="src/adw-tab-button.c"
20994+ line="444">Gets the tab view @self displays.</doc>
20995+ <source-position filename="src/adw-tab-button.h" line="31"/>
20996+ <return-value transfer-ownership="none" nullable="1">
20997+ <doc xml:space="preserve"
20998+ filename="src/adw-tab-button.c"
20999+ line="450">the tab view</doc>
21000+ <type name="TabView" c:type="AdwTabView*"/>
21001+ </return-value>
21002+ <parameters>
21003+ <instance-parameter name="self" transfer-ownership="none">
21004+ <doc xml:space="preserve"
21005+ filename="src/adw-tab-button.c"
21006+ line="446">a tab button</doc>
21007+ <type name="TabButton" c:type="AdwTabButton*"/>
21008+ </instance-parameter>
21009+ </parameters>
21010+ </method>
21011+ <method name="set_view"
21012+ c:identifier="adw_tab_button_set_view"
21013+ glib:set-property="view"
21014+ version="1.3">
21015+ <attribute name="org.gtk.Method.set_property" value="view"/>
21016+ <doc xml:space="preserve"
21017+ filename="src/adw-tab-button.c"
21018+ line="462">Sets the tab view to display.</doc>
21019+ <source-position filename="src/adw-tab-button.h" line="33"/>
21020+ <return-value transfer-ownership="none">
21021+ <type name="none" c:type="void"/>
21022+ </return-value>
21023+ <parameters>
21024+ <instance-parameter name="self" transfer-ownership="none">
21025+ <doc xml:space="preserve"
21026+ filename="src/adw-tab-button.c"
21027+ line="464">a tab button</doc>
21028+ <type name="TabButton" c:type="AdwTabButton*"/>
21029+ </instance-parameter>
21030+ <parameter name="view"
21031+ transfer-ownership="none"
21032+ nullable="1"
21033+ allow-none="1">
21034+ <doc xml:space="preserve"
21035+ filename="src/adw-tab-button.c"
21036+ line="465">a tab view</doc>
21037+ <type name="TabView" c:type="AdwTabView*"/>
21038+ </parameter>
21039+ </parameters>
21040+ </method>
21041+ <property name="view"
21042+ version="1.3"
21043+ writable="1"
21044+ transfer-ownership="none"
21045+ setter="set_view"
21046+ getter="get_view">
21047+ <attribute name="org.gtk.Property.get"
21048+ value="adw_tab_button_get_view"/>
21049+ <attribute name="org.gtk.Property.set"
21050+ value="adw_tab_button_set_view"/>
21051+ <doc xml:space="preserve"
21052+ filename="src/adw-tab-button.c"
21053+ line="283">The view the tab button displays.</doc>
21054+ <type name="TabView"/>
21055+ </property>
21056+ <glib:signal name="activate" when="first" action="1" version="1.3">
21057+ <doc xml:space="preserve"
21058+ filename="src/adw-tab-button.c"
21059+ line="321">Emitted to animate press then release.
21060+
21061+This is an action signal. Applications should never connect to this signal,
21062+but use the [signal@TabButton::clicked] signal.</doc>
21063+ <return-value transfer-ownership="none">
21064+ <type name="none" c:type="void"/>
21065+ </return-value>
21066+ </glib:signal>
21067+ <glib:signal name="clicked" when="first" action="1" version="1.3">
21068+ <doc xml:space="preserve"
21069+ filename="src/adw-tab-button.c"
21070+ line="300">Emitted when the button has been activated (pressed and released).</doc>
21071+ <return-value transfer-ownership="none">
21072+ <type name="none" c:type="void"/>
21073+ </return-value>
21074+ </glib:signal>
21075+ </class>
21076+ <record name="TabButtonClass"
21077+ c:type="AdwTabButtonClass"
21078+ glib:is-gtype-struct-for="TabButton">
21079+ <source-position filename="src/adw-tab-button.h" line="25"/>
21080+ <field name="parent_class">
21081+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
21082+ </field>
21083+ </record>
21084+ <class name="TabOverview"
21085+ c:symbol-prefix="tab_overview"
21086+ c:type="AdwTabOverview"
21087+ version="1.3"
21088+ parent="Gtk.Widget"
21089+ final="1"
21090+ glib:type-name="AdwTabOverview"
21091+ glib:get-type="adw_tab_overview_get_type"
21092+ glib:type-struct="TabOverviewClass">
21093+ <doc xml:space="preserve"
21094+ filename="src/adw-tab-overview.c"
21095+ line="31">A tab overview for [class@TabView].
21096+
21097+&lt;picture&gt;
21098+ &lt;source srcset="tab-overview-dark.png" media="(prefers-color-scheme: dark)"&gt;
21099+ &lt;img src="tab-overview.png" alt="tab-overview"&gt;
21100+&lt;/picture&gt;
21101+
21102+`AdwTabOverview` is a widget that can display tabs from an `AdwTabView` in a
21103+grid.
21104+
21105+`AdwTabOverview` shows a thumbnail for each tab. By default thumbnails are
21106+static for all pages except the selected one. They can be made always live
21107+by setting [property@TabPage:live-thumbnail] to `TRUE`, or refreshed with
21108+[method@TabPage.invalidate_thumbnail] or
21109+[method@TabView.invalidate_thumbnails] otherwise.
21110+
21111+If the pages are too tall or too wide, the thumbnails will be cropped; use
21112+[property@TabPage:thumbnail-xalign] and [property@TabPage:thumbnail-yalign] to
21113+control which part of the page should be visible in this case.
21114+
21115+Pinned tabs are shown as smaller cards without thumbnails above the other
21116+tabs. Unlike in [class@TabBar], they still have titles, as well as an unpin
21117+button.
21118+
21119+`AdwTabOverview` provides search in open tabs. It searches in tab titles and
21120+tooltips, as well as [property@TabPage:keyword].
21121+
21122+If [property@TabOverview:enable-new-tab] is set to `TRUE`, a new tab button
21123+will be shown. Connect to the [signal@TabOverview::create-tab] signal to use
21124+it.
21125+
21126+[property@TabOverview:secondary-menu] can be used to provide a secondary menu
21127+for the overview. Use it to add extra actions, e.g. to open a new window or
21128+undo closed tab.
21129+
21130+`AdwTabOverview` is intended to be used as the direct child of the window,
21131+with the rest of the window contents set as the [property@TabOverview:child].
21132+The child is expected to contain an [class@TabView].
21133+
21134+`AdwTabOverview` shows window buttons by default. They can be disabled by
21135+setting [property@TabOverview:show-start-title-buttons] and/or
21136+[property@TabOverview:show-start-title-buttons] and/or
21137+[property@TabOverview:show-end-title-buttons] to `FALSE`.
21138+
21139+If search and window buttons are disabled, and secondary menu is not set, the
21140+header bar will be hidden.
21141+
21142+## Actions
21143+
21144+`AdwTabOverview` defines the `overview.open` and `overview.close` actions for
21145+opening and closing itself. They can be convenient when used together with
21146+[class@TabButton].
21147+
21148+## CSS nodes
21149+
21150+`AdwTabOverview` has a single CSS node with name `taboverview`.</doc>
21151+ <source-position filename="src/adw-tab-overview.h" line="25"/>
21152+ <implements name="Gtk.Accessible"/>
21153+ <implements name="Gtk.Buildable"/>
21154+ <implements name="Gtk.ConstraintTarget"/>
21155+ <constructor name="new"
21156+ c:identifier="adw_tab_overview_new"
21157+ version="1.3">
21158+ <doc xml:space="preserve"
21159+ filename="src/adw-tab-overview.c"
21160+ line="1840">Creates a new `AdwTabOverview`.</doc>
21161+ <source-position filename="src/adw-tab-overview.h" line="28"/>
21162+ <return-value transfer-ownership="none">
21163+ <doc xml:space="preserve"
21164+ filename="src/adw-tab-overview.c"
21165+ line="1845">the newly created `AdwTabOverview`</doc>
21166+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
21167+ </return-value>
21168+ </constructor>
21169+ <method name="get_child"
21170+ c:identifier="adw_tab_overview_get_child"
21171+ glib:get-property="child"
21172+ version="1.3">
21173+ <attribute name="org.gtk.Method.get_property" value="child"/>
21174+ <doc xml:space="preserve"
21175+ filename="src/adw-tab-overview.c"
21176+ line="1951">Gets the child widget of @self.</doc>
21177+ <source-position filename="src/adw-tab-overview.h" line="37"/>
21178+ <return-value transfer-ownership="none" nullable="1">
21179+ <doc xml:space="preserve"
21180+ filename="src/adw-tab-overview.c"
21181+ line="1957">the child widget of @self</doc>
21182+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
21183+ </return-value>
21184+ <parameters>
21185+ <instance-parameter name="self" transfer-ownership="none">
21186+ <doc xml:space="preserve"
21187+ filename="src/adw-tab-overview.c"
21188+ line="1953">a `AdwTabOveview`</doc>
21189+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21190+ </instance-parameter>
21191+ </parameters>
21192+ </method>
21193+ <method name="get_enable_new_tab"
21194+ c:identifier="adw_tab_overview_get_enable_new_tab"
21195+ glib:get-property="enable-new-tab"
21196+ version="1.3">
21197+ <attribute name="org.gtk.Method.get_property" value="enable-new-tab"/>
21198+ <doc xml:space="preserve"
21199+ filename="src/adw-tab-overview.c"
21200+ line="2236">Gets whether to new tab button is enabled for @self.</doc>
21201+ <source-position filename="src/adw-tab-overview.h" line="64"/>
21202+ <return-value transfer-ownership="none">
21203+ <doc xml:space="preserve"
21204+ filename="src/adw-tab-overview.c"
21205+ line="2242">whether new tab button is enabled</doc>
21206+ <type name="gboolean" c:type="gboolean"/>
21207+ </return-value>
21208+ <parameters>
21209+ <instance-parameter name="self" transfer-ownership="none">
21210+ <doc xml:space="preserve"
21211+ filename="src/adw-tab-overview.c"
21212+ line="2238">a tab overview</doc>
21213+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21214+ </instance-parameter>
21215+ </parameters>
21216+ </method>
21217+ <method name="get_enable_search"
21218+ c:identifier="adw_tab_overview_get_enable_search"
21219+ glib:get-property="enable-search"
21220+ version="1.3">
21221+ <attribute name="org.gtk.Method.get_property" value="enable-search"/>
21222+ <doc xml:space="preserve"
21223+ filename="src/adw-tab-overview.c"
21224+ line="2156">Gets whether search in tabs is enabled for @self.</doc>
21225+ <source-position filename="src/adw-tab-overview.h" line="55"/>
21226+ <return-value transfer-ownership="none">
21227+ <doc xml:space="preserve"
21228+ filename="src/adw-tab-overview.c"
21229+ line="2162">whether search is enabled</doc>
21230+ <type name="gboolean" c:type="gboolean"/>
21231+ </return-value>
21232+ <parameters>
21233+ <instance-parameter name="self" transfer-ownership="none">
21234+ <doc xml:space="preserve"
21235+ filename="src/adw-tab-overview.c"
21236+ line="2158">a tab overview</doc>
21237+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21238+ </instance-parameter>
21239+ </parameters>
21240+ </method>
21241+ <method name="get_extra_drag_preload"
21242+ c:identifier="adw_tab_overview_get_extra_drag_preload"
21243+ glib:get-property="extra-drag-preload"
21244+ version="1.3">
21245+ <attribute name="org.gtk.Method.get_property"
21246+ value="extra-drag-preload"/>
21247+ <doc xml:space="preserve"
21248+ filename="src/adw-tab-overview.c"
21249+ line="2478">Gets whether drop data should be preloaded on hover.</doc>
21250+ <source-position filename="src/adw-tab-overview.h" line="94"/>
21251+ <return-value transfer-ownership="none">
21252+ <doc xml:space="preserve"
21253+ filename="src/adw-tab-overview.c"
21254+ line="2484">whether drop data should be preloaded on hover</doc>
21255+ <type name="gboolean" c:type="gboolean"/>
21256+ </return-value>
21257+ <parameters>
21258+ <instance-parameter name="self" transfer-ownership="none">
21259+ <doc xml:space="preserve"
21260+ filename="src/adw-tab-overview.c"
21261+ line="2480">a tab overview</doc>
21262+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21263+ </instance-parameter>
21264+ </parameters>
21265+ </method>
21266+ <method name="get_inverted"
21267+ c:identifier="adw_tab_overview_get_inverted"
21268+ glib:get-property="inverted"
21269+ version="1.3">
21270+ <attribute name="org.gtk.Method.get_property" value="inverted"/>
21271+ <doc xml:space="preserve"
21272+ filename="src/adw-tab-overview.c"
21273+ line="2109">Gets whether thumbnails use inverted layout.</doc>
21274+ <source-position filename="src/adw-tab-overview.h" line="49"/>
21275+ <return-value transfer-ownership="none">
21276+ <doc xml:space="preserve"
21277+ filename="src/adw-tab-overview.c"
21278+ line="2115">whether thumbnails use inverted layout</doc>
21279+ <type name="gboolean" c:type="gboolean"/>
21280+ </return-value>
21281+ <parameters>
21282+ <instance-parameter name="self" transfer-ownership="none">
21283+ <doc xml:space="preserve"
21284+ filename="src/adw-tab-overview.c"
21285+ line="2111">a tab overview</doc>
21286+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21287+ </instance-parameter>
21288+ </parameters>
21289+ </method>
21290+ <method name="get_open"
21291+ c:identifier="adw_tab_overview_get_open"
21292+ glib:get-property="open"
21293+ version="1.3">
21294+ <attribute name="org.gtk.Method.get_property" value="open"/>
21295+ <doc xml:space="preserve"
21296+ filename="src/adw-tab-overview.c"
21297+ line="1993">Gets whether @self is open.</doc>
21298+ <source-position filename="src/adw-tab-overview.h" line="43"/>
21299+ <return-value transfer-ownership="none">
21300+ <doc xml:space="preserve"
21301+ filename="src/adw-tab-overview.c"
21302+ line="1999">whether the overview is open</doc>
21303+ <type name="gboolean" c:type="gboolean"/>
21304+ </return-value>
21305+ <parameters>
21306+ <instance-parameter name="self" transfer-ownership="none">
21307+ <doc xml:space="preserve"
21308+ filename="src/adw-tab-overview.c"
21309+ line="1995">a tab overview</doc>
21310+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21311+ </instance-parameter>
21312+ </parameters>
21313+ </method>
21314+ <method name="get_search_active"
21315+ c:identifier="adw_tab_overview_get_search_active"
21316+ glib:get-property="search-active"
21317+ version="1.3">
21318+ <attribute name="org.gtk.Method.get_property" value="search-active"/>
21319+ <doc xml:space="preserve"
21320+ filename="src/adw-tab-overview.c"
21321+ line="2216">Gets whether search is currently active for @self.
21322+
21323+See [property@TabOverview:enable-search].</doc>
21324+ <source-position filename="src/adw-tab-overview.h" line="61"/>
21325+ <return-value transfer-ownership="none">
21326+ <doc xml:space="preserve"
21327+ filename="src/adw-tab-overview.c"
21328+ line="2224">whether search is active</doc>
21329+ <type name="gboolean" c:type="gboolean"/>
21330+ </return-value>
21331+ <parameters>
21332+ <instance-parameter name="self" transfer-ownership="none">
21333+ <doc xml:space="preserve"
21334+ filename="src/adw-tab-overview.c"
21335+ line="2218">a tab overview</doc>
21336+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21337+ </instance-parameter>
21338+ </parameters>
21339+ </method>
21340+ <method name="get_secondary_menu"
21341+ c:identifier="adw_tab_overview_get_secondary_menu"
21342+ glib:get-property="secondary-menu"
21343+ version="1.3">
21344+ <attribute name="org.gtk.Method.get_property" value="secondary-menu"/>
21345+ <doc xml:space="preserve"
21346+ filename="src/adw-tab-overview.c"
21347+ line="2283">Gets the secondary menu model for @self.</doc>
21348+ <source-position filename="src/adw-tab-overview.h" line="70"/>
21349+ <return-value transfer-ownership="none" nullable="1">
21350+ <doc xml:space="preserve"
21351+ filename="src/adw-tab-overview.c"
21352+ line="2289">the secondary menu model</doc>
21353+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
21354+ </return-value>
21355+ <parameters>
21356+ <instance-parameter name="self" transfer-ownership="none">
21357+ <doc xml:space="preserve"
21358+ filename="src/adw-tab-overview.c"
21359+ line="2285">a tab overview</doc>
21360+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21361+ </instance-parameter>
21362+ </parameters>
21363+ </method>
21364+ <method name="get_show_end_title_buttons"
21365+ c:identifier="adw_tab_overview_get_show_end_title_buttons"
21366+ glib:get-property="show-end-title-buttons"
21367+ version="1.3">
21368+ <attribute name="org.gtk.Method.get_property"
21369+ value="show-end-title-buttons"/>
21370+ <doc xml:space="preserve"
21371+ filename="src/adw-tab-overview.c"
21372+ line="2378">Gets whether end title buttons are shown in @self's header bar.</doc>
21373+ <source-position filename="src/adw-tab-overview.h" line="82"/>
21374+ <return-value transfer-ownership="none">
21375+ <doc xml:space="preserve"
21376+ filename="src/adw-tab-overview.c"
21377+ line="2384">whether end title buttons are shown</doc>
21378+ <type name="gboolean" c:type="gboolean"/>
21379+ </return-value>
21380+ <parameters>
21381+ <instance-parameter name="self" transfer-ownership="none">
21382+ <doc xml:space="preserve"
21383+ filename="src/adw-tab-overview.c"
21384+ line="2380">a tab overview</doc>
21385+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21386+ </instance-parameter>
21387+ </parameters>
21388+ </method>
21389+ <method name="get_show_start_title_buttons"
21390+ c:identifier="adw_tab_overview_get_show_start_title_buttons"
21391+ glib:get-property="show-start-title-buttons"
21392+ version="1.3">
21393+ <attribute name="org.gtk.Method.get_property"
21394+ value="show-start-title-buttons"/>
21395+ <doc xml:space="preserve"
21396+ filename="src/adw-tab-overview.c"
21397+ line="2330">Gets whether start title buttons are shown in @self's header bar.</doc>
21398+ <source-position filename="src/adw-tab-overview.h" line="76"/>
21399+ <return-value transfer-ownership="none">
21400+ <doc xml:space="preserve"
21401+ filename="src/adw-tab-overview.c"
21402+ line="2336">whether start title buttons are shown</doc>
21403+ <type name="gboolean" c:type="gboolean"/>
21404+ </return-value>
21405+ <parameters>
21406+ <instance-parameter name="self" transfer-ownership="none">
21407+ <doc xml:space="preserve"
21408+ filename="src/adw-tab-overview.c"
21409+ line="2332">a tab overview</doc>
21410+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21411+ </instance-parameter>
21412+ </parameters>
21413+ </method>
21414+ <method name="get_view"
21415+ c:identifier="adw_tab_overview_get_view"
21416+ glib:get-property="view"
21417+ version="1.3">
21418+ <attribute name="org.gtk.Method.get_property" value="view"/>
21419+ <doc xml:space="preserve"
21420+ filename="src/adw-tab-overview.c"
21421+ line="1855">Gets the tab view @self controls.</doc>
21422+ <source-position filename="src/adw-tab-overview.h" line="31"/>
21423+ <return-value transfer-ownership="none" nullable="1">
21424+ <doc xml:space="preserve"
21425+ filename="src/adw-tab-overview.c"
21426+ line="1861">the tab view</doc>
21427+ <type name="TabView" c:type="AdwTabView*"/>
21428+ </return-value>
21429+ <parameters>
21430+ <instance-parameter name="self" transfer-ownership="none">
21431+ <doc xml:space="preserve"
21432+ filename="src/adw-tab-overview.c"
21433+ line="1857">a tab overview</doc>
21434+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21435+ </instance-parameter>
21436+ </parameters>
21437+ </method>
21438+ <method name="set_child"
21439+ c:identifier="adw_tab_overview_set_child"
21440+ glib:set-property="child"
21441+ version="1.3">
21442+ <attribute name="org.gtk.Method.set_property" value="child"/>
21443+ <doc xml:space="preserve"
21444+ filename="src/adw-tab-overview.c"
21445+ line="1969">Sets the child widget of @self.</doc>
21446+ <source-position filename="src/adw-tab-overview.h" line="39"/>
21447+ <return-value transfer-ownership="none">
21448+ <type name="none" c:type="void"/>
21449+ </return-value>
21450+ <parameters>
21451+ <instance-parameter name="self" transfer-ownership="none">
21452+ <doc xml:space="preserve"
21453+ filename="src/adw-tab-overview.c"
21454+ line="1971">a tab overview</doc>
21455+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21456+ </instance-parameter>
21457+ <parameter name="child"
21458+ transfer-ownership="none"
21459+ nullable="1"
21460+ allow-none="1">
21461+ <doc xml:space="preserve"
21462+ filename="src/adw-tab-overview.c"
21463+ line="1972">the child widget</doc>
21464+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
21465+ </parameter>
21466+ </parameters>
21467+ </method>
21468+ <method name="set_enable_new_tab"
21469+ c:identifier="adw_tab_overview_set_enable_new_tab"
21470+ glib:set-property="enable-new-tab"
21471+ version="1.3">
21472+ <attribute name="org.gtk.Method.set_property" value="enable-new-tab"/>
21473+ <doc xml:space="preserve"
21474+ filename="src/adw-tab-overview.c"
21475+ line="2254">Sets whether to enable new tab button for @self.
21476+
21477+Connect to the [signal@TabOverview::create-tab] signal to use it.</doc>
21478+ <source-position filename="src/adw-tab-overview.h" line="66"/>
21479+ <return-value transfer-ownership="none">
21480+ <type name="none" c:type="void"/>
21481+ </return-value>
21482+ <parameters>
21483+ <instance-parameter name="self" transfer-ownership="none">
21484+ <doc xml:space="preserve"
21485+ filename="src/adw-tab-overview.c"
21486+ line="2256">a tab overview</doc>
21487+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21488+ </instance-parameter>
21489+ <parameter name="enable_new_tab" transfer-ownership="none">
21490+ <doc xml:space="preserve"
21491+ filename="src/adw-tab-overview.c"
21492+ line="2257">whether to enable new tab button</doc>
21493+ <type name="gboolean" c:type="gboolean"/>
21494+ </parameter>
21495+ </parameters>
21496+ </method>
21497+ <method name="set_enable_search"
21498+ c:identifier="adw_tab_overview_set_enable_search"
21499+ glib:set-property="enable-search"
21500+ version="1.3">
21501+ <attribute name="org.gtk.Method.set_property" value="enable-search"/>
21502+ <doc xml:space="preserve"
21503+ filename="src/adw-tab-overview.c"
21504+ line="2174">Sets whether to enable search in tabs for @self.
21505+
21506+Search matches tab titles and tooltips, as well as keywords, set via
21507+[property@TabPage:keyword]. Use keywords to search in e.g. page URLs in a web
21508+browser.
21509+
21510+During search, tab reordering and drag-n-drop are disabled.
21511+
21512+Use [property@TabOverview:search-active] to check out if search is currently
21513+active.</doc>
21514+ <source-position filename="src/adw-tab-overview.h" line="57"/>
21515+ <return-value transfer-ownership="none">
21516+ <type name="none" c:type="void"/>
21517+ </return-value>
21518+ <parameters>
21519+ <instance-parameter name="self" transfer-ownership="none">
21520+ <doc xml:space="preserve"
21521+ filename="src/adw-tab-overview.c"
21522+ line="2176">a tab overview</doc>
21523+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21524+ </instance-parameter>
21525+ <parameter name="enable_search" transfer-ownership="none">
21526+ <doc xml:space="preserve"
21527+ filename="src/adw-tab-overview.c"
21528+ line="2177">whether to enable search</doc>
21529+ <type name="gboolean" c:type="gboolean"/>
21530+ </parameter>
21531+ </parameters>
21532+ </method>
21533+ <method name="set_extra_drag_preload"
21534+ c:identifier="adw_tab_overview_set_extra_drag_preload"
21535+ glib:set-property="extra-drag-preload"
21536+ version="1.3">
21537+ <attribute name="org.gtk.Method.set_property"
21538+ value="extra-drag-preload"/>
21539+ <doc xml:space="preserve"
21540+ filename="src/adw-tab-overview.c"
21541+ line="2496">Sets whether drop data should be preloaded on hover.
21542+
21543+See [property@Gtk.DropTarget:preload].</doc>
21544+ <source-position filename="src/adw-tab-overview.h" line="96"/>
21545+ <return-value transfer-ownership="none">
21546+ <type name="none" c:type="void"/>
21547+ </return-value>
21548+ <parameters>
21549+ <instance-parameter name="self" transfer-ownership="none">
21550+ <doc xml:space="preserve"
21551+ filename="src/adw-tab-overview.c"
21552+ line="2498">a tab overview</doc>
21553+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21554+ </instance-parameter>
21555+ <parameter name="preload" transfer-ownership="none">
21556+ <doc xml:space="preserve"
21557+ filename="src/adw-tab-overview.c"
21558+ line="2499">whether to preload drop data</doc>
21559+ <type name="gboolean" c:type="gboolean"/>
21560+ </parameter>
21561+ </parameters>
21562+ </method>
21563+ <method name="set_inverted"
21564+ c:identifier="adw_tab_overview_set_inverted"
21565+ glib:set-property="inverted"
21566+ version="1.3">
21567+ <attribute name="org.gtk.Method.set_property" value="inverted"/>
21568+ <doc xml:space="preserve"
21569+ filename="src/adw-tab-overview.c"
21570+ line="2127">Sets whether thumbnails use inverted layout.
21571+
21572+If set to `TRUE`, thumbnails will have the close or unpin button at the
21573+beginning and the indicator at the end rather than the other way around.</doc>
21574+ <source-position filename="src/adw-tab-overview.h" line="51"/>
21575+ <return-value transfer-ownership="none">
21576+ <type name="none" c:type="void"/>
21577+ </return-value>
21578+ <parameters>
21579+ <instance-parameter name="self" transfer-ownership="none">
21580+ <doc xml:space="preserve"
21581+ filename="src/adw-tab-overview.c"
21582+ line="2129">a tab overview</doc>
21583+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21584+ </instance-parameter>
21585+ <parameter name="inverted" transfer-ownership="none">
21586+ <doc xml:space="preserve"
21587+ filename="src/adw-tab-overview.c"
21588+ line="2130">whether thumbnails use inverted layout</doc>
21589+ <type name="gboolean" c:type="gboolean"/>
21590+ </parameter>
21591+ </parameters>
21592+ </method>
21593+ <method name="set_open"
21594+ c:identifier="adw_tab_overview_set_open"
21595+ glib:set-property="open"
21596+ version="1.3">
21597+ <attribute name="org.gtk.Method.set_property" value="open"/>
21598+ <doc xml:space="preserve"
21599+ filename="src/adw-tab-overview.c"
21600+ line="2011">Sets whether the to open @self.</doc>
21601+ <source-position filename="src/adw-tab-overview.h" line="45"/>
21602+ <return-value transfer-ownership="none">
21603+ <type name="none" c:type="void"/>
21604+ </return-value>
21605+ <parameters>
21606+ <instance-parameter name="self" transfer-ownership="none">
21607+ <doc xml:space="preserve"
21608+ filename="src/adw-tab-overview.c"
21609+ line="2013">a tab overview</doc>
21610+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21611+ </instance-parameter>
21612+ <parameter name="open" transfer-ownership="none">
21613+ <doc xml:space="preserve"
21614+ filename="src/adw-tab-overview.c"
21615+ line="2014">whether the overview is open</doc>
21616+ <type name="gboolean" c:type="gboolean"/>
21617+ </parameter>
21618+ </parameters>
21619+ </method>
21620+ <method name="set_secondary_menu"
21621+ c:identifier="adw_tab_overview_set_secondary_menu"
21622+ glib:set-property="secondary-menu"
21623+ version="1.3">
21624+ <attribute name="org.gtk.Method.set_property" value="secondary-menu"/>
21625+ <doc xml:space="preserve"
21626+ filename="src/adw-tab-overview.c"
21627+ line="2301">Sets the secondary menu model for @self.
21628+
21629+Use it to add extra actions, e.g. to open a new window or undo closed tab.</doc>
21630+ <source-position filename="src/adw-tab-overview.h" line="72"/>
21631+ <return-value transfer-ownership="none">
21632+ <type name="none" c:type="void"/>
21633+ </return-value>
21634+ <parameters>
21635+ <instance-parameter name="self" transfer-ownership="none">
21636+ <doc xml:space="preserve"
21637+ filename="src/adw-tab-overview.c"
21638+ line="2303">a tab overview</doc>
21639+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21640+ </instance-parameter>
21641+ <parameter name="secondary_menu"
21642+ transfer-ownership="none"
21643+ nullable="1"
21644+ allow-none="1">
21645+ <doc xml:space="preserve"
21646+ filename="src/adw-tab-overview.c"
21647+ line="2304">a menu model</doc>
21648+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
21649+ </parameter>
21650+ </parameters>
21651+ </method>
21652+ <method name="set_show_end_title_buttons"
21653+ c:identifier="adw_tab_overview_set_show_end_title_buttons"
21654+ glib:set-property="show-end-title-buttons"
21655+ version="1.3">
21656+ <attribute name="org.gtk.Method.set_property"
21657+ value="show-end-title-buttons"/>
21658+ <doc xml:space="preserve"
21659+ filename="src/adw-tab-overview.c"
21660+ line="2396">Sets whether to show end title buttons in @self's header bar.
21661+
21662+See [property@HeaderBar:show-start-title-buttons] for the other side.</doc>
21663+ <source-position filename="src/adw-tab-overview.h" line="84"/>
21664+ <return-value transfer-ownership="none">
21665+ <type name="none" c:type="void"/>
21666+ </return-value>
21667+ <parameters>
21668+ <instance-parameter name="self" transfer-ownership="none">
21669+ <doc xml:space="preserve"
21670+ filename="src/adw-tab-overview.c"
21671+ line="2398">a tab overview</doc>
21672+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21673+ </instance-parameter>
21674+ <parameter name="show_end_title_buttons" transfer-ownership="none">
21675+ <doc xml:space="preserve"
21676+ filename="src/adw-tab-overview.c"
21677+ line="2399">whether to show end title buttons</doc>
21678+ <type name="gboolean" c:type="gboolean"/>
21679+ </parameter>
21680+ </parameters>
21681+ </method>
21682+ <method name="set_show_start_title_buttons"
21683+ c:identifier="adw_tab_overview_set_show_start_title_buttons"
21684+ glib:set-property="show-start-title-buttons"
21685+ version="1.3">
21686+ <attribute name="org.gtk.Method.set_property"
21687+ value="show-start-title-buttons"/>
21688+ <doc xml:space="preserve"
21689+ filename="src/adw-tab-overview.c"
21690+ line="2348">Sets whether to show start title buttons in @self's header bar.
21691+
21692+See [property@HeaderBar:show-end-title-buttons] for the other side.</doc>
21693+ <source-position filename="src/adw-tab-overview.h" line="78"/>
21694+ <return-value transfer-ownership="none">
21695+ <type name="none" c:type="void"/>
21696+ </return-value>
21697+ <parameters>
21698+ <instance-parameter name="self" transfer-ownership="none">
21699+ <doc xml:space="preserve"
21700+ filename="src/adw-tab-overview.c"
21701+ line="2350">a tab overview</doc>
21702+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21703+ </instance-parameter>
21704+ <parameter name="show_start_title_buttons" transfer-ownership="none">
21705+ <doc xml:space="preserve"
21706+ filename="src/adw-tab-overview.c"
21707+ line="2351">whether to show start title buttons</doc>
21708+ <type name="gboolean" c:type="gboolean"/>
21709+ </parameter>
21710+ </parameters>
21711+ </method>
21712+ <method name="set_view"
21713+ c:identifier="adw_tab_overview_set_view"
21714+ glib:set-property="view"
21715+ version="1.3">
21716+ <attribute name="org.gtk.Method.set_property" value="view"/>
21717+ <doc xml:space="preserve"
21718+ filename="src/adw-tab-overview.c"
21719+ line="1873">Sets the tab view to control.
21720+
21721+The view must be inside @self, see [property@TabOverview:child].</doc>
21722+ <source-position filename="src/adw-tab-overview.h" line="33"/>
21723+ <return-value transfer-ownership="none">
21724+ <type name="none" c:type="void"/>
21725+ </return-value>
21726+ <parameters>
21727+ <instance-parameter name="self" transfer-ownership="none">
21728+ <doc xml:space="preserve"
21729+ filename="src/adw-tab-overview.c"
21730+ line="1875">a tab overview</doc>
21731+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21732+ </instance-parameter>
21733+ <parameter name="view"
21734+ transfer-ownership="none"
21735+ nullable="1"
21736+ allow-none="1">
21737+ <doc xml:space="preserve"
21738+ filename="src/adw-tab-overview.c"
21739+ line="1876">a tab view</doc>
21740+ <type name="TabView" c:type="AdwTabView*"/>
21741+ </parameter>
21742+ </parameters>
21743+ </method>
21744+ <method name="setup_extra_drop_target"
21745+ c:identifier="adw_tab_overview_setup_extra_drop_target"
21746+ version="1.3">
21747+ <doc xml:space="preserve"
21748+ filename="src/adw-tab-overview.c"
21749+ line="2426">Sets the supported types for this drop target.
21750+
21751+Sets up an extra drop target on tabs.
21752+
21753+This allows to drag arbitrary content onto tabs, for example URLs in a web
21754+browser.
21755+
21756+If a tab is hovered for a certain period of time while dragging the content,
21757+it will be automatically selected.
21758+
21759+The [signal@TabOverview::extra-drag-drop] signal can be used to handle the
21760+drop.</doc>
21761+ <source-position filename="src/adw-tab-overview.h" line="88"/>
21762+ <return-value transfer-ownership="none">
21763+ <type name="none" c:type="void"/>
21764+ </return-value>
21765+ <parameters>
21766+ <instance-parameter name="self" transfer-ownership="none">
21767+ <doc xml:space="preserve"
21768+ filename="src/adw-tab-overview.c"
21769+ line="2428">a tab overview</doc>
21770+ <type name="TabOverview" c:type="AdwTabOverview*"/>
21771+ </instance-parameter>
21772+ <parameter name="actions" transfer-ownership="none">
21773+ <doc xml:space="preserve"
21774+ filename="src/adw-tab-overview.c"
21775+ line="2429">the supported actions</doc>
21776+ <type name="Gdk.DragAction" c:type="GdkDragAction"/>
21777+ </parameter>
21778+ <parameter name="types"
21779+ transfer-ownership="none"
21780+ nullable="1"
21781+ allow-none="1">
21782+ <doc xml:space="preserve"
21783+ filename="src/adw-tab-overview.c"
21784+ line="2430">
21785+ all supported `GType`s that can be dropped</doc>
21786+ <array length="2" zero-terminated="0" c:type="GType*">
21787+ <type name="GType" c:type="GType"/>
21788+ </array>
21789+ </parameter>
21790+ <parameter name="n_types" transfer-ownership="none">
21791+ <doc xml:space="preserve"
21792+ filename="src/adw-tab-overview.c"
21793+ line="2432">number of @types</doc>
21794+ <type name="gsize" c:type="gsize"/>
21795+ </parameter>
21796+ </parameters>
21797+ </method>
21798+ <property name="child"
21799+ version="1.3"
21800+ writable="1"
21801+ transfer-ownership="none"
21802+ setter="set_child"
21803+ getter="get_child">
21804+ <attribute name="org.gtk.Property.get"
21805+ value="adw_tab_overview_get_child"/>
21806+ <attribute name="org.gtk.Property.set"
21807+ value="adw_tab_overview_set_child"/>
21808+ <doc xml:space="preserve"
21809+ filename="src/adw-tab-overview.c"
21810+ line="1511">The child widget.</doc>
21811+ <type name="Gtk.Widget"/>
21812+ </property>
21813+ <property name="enable-new-tab"
21814+ version="1.3"
21815+ writable="1"
21816+ transfer-ownership="none"
21817+ setter="set_enable_new_tab"
21818+ getter="get_enable_new_tab"
21819+ default-value="FALSE">
21820+ <attribute name="org.gtk.Property.get"
21821+ value="adw_tab_overview_get_enable_new_tab"/>
21822+ <attribute name="org.gtk.Property.set"
21823+ value="adw_tab_overview_set_enable_new_tab"/>
21824+ <doc xml:space="preserve"
21825+ filename="src/adw-tab-overview.c"
21826+ line="1585">Whether to enable new tab button.
21827+
21828+Connect to the [signal@TabOverview::create-tab] signal to use it.</doc>
21829+ <type name="gboolean" c:type="gboolean"/>
21830+ </property>
21831+ <property name="enable-search"
21832+ version="1.3"
21833+ writable="1"
21834+ transfer-ownership="none"
21835+ setter="set_enable_search"
21836+ getter="get_enable_search"
21837+ default-value="TRUE">
21838+ <attribute name="org.gtk.Property.get"
21839+ value="adw_tab_overview_get_enable_search"/>
21840+ <attribute name="org.gtk.Property.set"
21841+ value="adw_tab_overview_set_enable_search"/>
21842+ <doc xml:space="preserve"
21843+ filename="src/adw-tab-overview.c"
21844+ line="1550">Whether to enable search in tabs.
21845+
21846+Search matches tab titles and tooltips, as well as keywords, set via
21847+[property@TabPage:keyword]. Use keywords to search in e.g. page URLs in a
21848+web browser.
21849+
21850+During search, tab reordering and drag-n-drop are disabled.
21851+
21852+Use [property@TabOverview:search-active] to check out if search is
21853+currently active.</doc>
21854+ <type name="gboolean" c:type="gboolean"/>
21855+ </property>
21856+ <property name="extra-drag-preload"
21857+ version="1.3"
21858+ writable="1"
21859+ transfer-ownership="none"
21860+ setter="set_extra_drag_preload"
21861+ getter="get_extra_drag_preload"
21862+ default-value="FALSE">
21863+ <attribute name="org.gtk.Property.get"
21864+ value="adw_tab_overview_get_extra_drag_preload"/>
21865+ <attribute name="org.gtk.Property.set"
21866+ value="adw_tab_overview_set_extra_drag_preload"/>
21867+ <doc xml:space="preserve"
21868+ filename="src/adw-tab-overview.c"
21869+ line="1641">Whether the drop data should be preloaded on hover.
21870+
21871+See [property@Gtk.DropTarget:preload].</doc>
21872+ <type name="gboolean" c:type="gboolean"/>
21873+ </property>
21874+ <property name="inverted"
21875+ version="1.3"
21876+ writable="1"
21877+ transfer-ownership="none"
21878+ setter="set_inverted"
21879+ getter="get_inverted"
21880+ default-value="FALSE">
21881+ <attribute name="org.gtk.Property.get"
21882+ value="adw_tab_overview_get_inverted"/>
21883+ <attribute name="org.gtk.Property.set"
21884+ value="adw_tab_overview_set_inverted"/>
21885+ <doc xml:space="preserve"
21886+ filename="src/adw-tab-overview.c"
21887+ line="1535">Whether thumbnails use inverted layout.
21888+
21889+If set to `TRUE`, thumbnails will have the close or unpin buttons at the
21890+beginning and the indicator at the end rather than the other way around.</doc>
21891+ <type name="gboolean" c:type="gboolean"/>
21892+ </property>
21893+ <property name="open"
21894+ version="1.3"
21895+ writable="1"
21896+ transfer-ownership="none"
21897+ setter="set_open"
21898+ getter="get_open"
21899+ default-value="FALSE">
21900+ <attribute name="org.gtk.Property.get"
21901+ value="adw_tab_overview_get_open"/>
21902+ <attribute name="org.gtk.Property.set"
21903+ value="adw_tab_overview_set_open"/>
21904+ <doc xml:space="preserve"
21905+ filename="src/adw-tab-overview.c"
21906+ line="1523">Whether the overview is open.</doc>
21907+ <type name="gboolean" c:type="gboolean"/>
21908+ </property>
21909+ <property name="search-active"
21910+ version="1.3"
21911+ transfer-ownership="none"
21912+ getter="get_search_active"
21913+ default-value="FALSE">
21914+ <attribute name="org.gtk.Property.get"
21915+ value="adw_tab_overview_get_search_active"/>
21916+ <doc xml:space="preserve"
21917+ filename="src/adw-tab-overview.c"
21918+ line="1571">Whether search is currently active.
21919+
21920+See [property@TabOverview:enable-search].</doc>
21921+ <type name="gboolean" c:type="gboolean"/>
21922+ </property>
21923+ <property name="secondary-menu"
21924+ version="1.3"
21925+ writable="1"
21926+ transfer-ownership="none"
21927+ setter="set_secondary_menu"
21928+ getter="get_secondary_menu">
21929+ <attribute name="org.gtk.Property.get"
21930+ value="adw_tab_overview_get_secondary_menu"/>
21931+ <attribute name="org.gtk.Property.set"
21932+ value="adw_tab_overview_set_secondary_menu"/>
21933+ <doc xml:space="preserve"
21934+ filename="src/adw-tab-overview.c"
21935+ line="1599">The secondary menu model.
21936+
21937+Use it to add extra actions, e.g. to open a new window or undo closed tab.</doc>
21938+ <type name="Gio.MenuModel"/>
21939+ </property>
21940+ <property name="show-end-title-buttons"
21941+ version="1.3"
21942+ writable="1"
21943+ transfer-ownership="none"
21944+ setter="set_show_end_title_buttons"
21945+ getter="get_show_end_title_buttons"
21946+ default-value="TRUE">
21947+ <attribute name="org.gtk.Property.get"
21948+ value="adw_tab_overview_get_show_end_title_buttons"/>
21949+ <attribute name="org.gtk.Property.set"
21950+ value="adw_tab_overview_set_show_end_title_buttons"/>
21951+ <doc xml:space="preserve"
21952+ filename="src/adw-tab-overview.c"
21953+ line="1627">Whether to show end title buttons in the overview's header bar.
21954+
21955+See [property@HeaderBar:show-start-title-buttons] for the other side.</doc>
21956+ <type name="gboolean" c:type="gboolean"/>
21957+ </property>
21958+ <property name="show-start-title-buttons"
21959+ version="1.3"
21960+ writable="1"
21961+ transfer-ownership="none"
21962+ setter="set_show_start_title_buttons"
21963+ getter="get_show_start_title_buttons"
21964+ default-value="TRUE">
21965+ <attribute name="org.gtk.Property.get"
21966+ value="adw_tab_overview_get_show_start_title_buttons"/>
21967+ <attribute name="org.gtk.Property.set"
21968+ value="adw_tab_overview_set_show_start_title_buttons"/>
21969+ <doc xml:space="preserve"
21970+ filename="src/adw-tab-overview.c"
21971+ line="1613">Whether to show start title buttons in the overview's header bar.
21972+
21973+See [property@HeaderBar:show-end-title-buttons] for the other side.</doc>
21974+ <type name="gboolean" c:type="gboolean"/>
21975+ </property>
21976+ <property name="view"
21977+ version="1.3"
21978+ writable="1"
21979+ transfer-ownership="none"
21980+ setter="set_view"
21981+ getter="get_view">
21982+ <attribute name="org.gtk.Property.get"
21983+ value="adw_tab_overview_get_view"/>
21984+ <attribute name="org.gtk.Property.set"
21985+ value="adw_tab_overview_set_view"/>
21986+ <doc xml:space="preserve"
21987+ filename="src/adw-tab-overview.c"
21988+ line="1497">The tab view the overview controls.
21989+
21990+The view must be inside the tab overview, see [property@TabOverview:child].</doc>
21991+ <type name="TabView"/>
21992+ </property>
21993+ <glib:signal name="create-tab" when="last" version="1.3">
21994+ <doc xml:space="preserve"
21995+ filename="src/adw-tab-overview.c"
21996+ line="1657">Emitted when a tab needs to be created;
21997+
21998+This can happen after the new tab button has been pressed, see
21999+[property@TabOverview:enable-new-tab].
22000+
22001+The signal handler is expected to create a new page in the corresponding
22002+[class@TabView] and return it.</doc>
22003+ <return-value transfer-ownership="none">
22004+ <doc xml:space="preserve"
22005+ filename="src/adw-tab-overview.c"
22006+ line="1669">the newly created page</doc>
22007+ <type name="TabPage"/>
22008+ </return-value>
22009+ </glib:signal>
22010+ <glib:signal name="extra-drag-drop" when="last" version="1.3">
22011+ <doc xml:space="preserve"
22012+ filename="src/adw-tab-overview.c"
22013+ line="1687">This signal is emitted when content is dropped onto a tab.
22014+
22015+The content must be of one of the types set up via
22016+[method@TabOverview.setup_extra_drop_target].
22017+
22018+See [signal@Gtk.DropTarget::drop].</doc>
22019+ <return-value transfer-ownership="none">
22020+ <doc xml:space="preserve"
22021+ filename="src/adw-tab-overview.c"
22022+ line="1700">whether the drop was accepted for @page</doc>
22023+ <type name="gboolean" c:type="gboolean"/>
22024+ </return-value>
22025+ <parameters>
22026+ <parameter name="page" transfer-ownership="none">
22027+ <doc xml:space="preserve"
22028+ filename="src/adw-tab-overview.c"
22029+ line="1690">the page matching the tab the content was dropped onto</doc>
22030+ <type name="TabPage"/>
22031+ </parameter>
22032+ <parameter name="value" transfer-ownership="none">
22033+ <doc xml:space="preserve"
22034+ filename="src/adw-tab-overview.c"
22035+ line="1691">the `GValue` being dropped</doc>
22036+ <type name="GObject.Value"/>
22037+ </parameter>
22038+ </parameters>
22039+ </glib:signal>
22040+ <glib:signal name="extra-drag-value" when="last" version="1.3">
22041+ <doc xml:space="preserve"
22042+ filename="src/adw-tab-overview.c"
22043+ line="1716">This signal is emitted when the dropped content is preloaded.
22044+
22045+In order for data to be preloaded, [property@TabOverview:extra-drag-preload]
22046+must be set to `TRUE`.
22047+
22048+The content must be of one of the types set up via
22049+[method@TabOverview.setup_extra_drop_target].
22050+
22051+See [property@Gtk.DropTarget:value].</doc>
22052+ <return-value transfer-ownership="none">
22053+ <doc xml:space="preserve"
22054+ filename="src/adw-tab-overview.c"
22055+ line="1732">the preferred action for the drop on @page</doc>
22056+ <type name="Gdk.DragAction"/>
22057+ </return-value>
22058+ <parameters>
22059+ <parameter name="page" transfer-ownership="none">
22060+ <doc xml:space="preserve"
22061+ filename="src/adw-tab-overview.c"
22062+ line="1719">the page matching the tab the content was dropped onto</doc>
22063+ <type name="TabPage"/>
22064+ </parameter>
22065+ <parameter name="value" transfer-ownership="none">
22066+ <doc xml:space="preserve"
22067+ filename="src/adw-tab-overview.c"
22068+ line="1720">the `GValue` being dropped</doc>
22069+ <type name="GObject.Value"/>
22070+ </parameter>
22071+ </parameters>
22072+ </glib:signal>
22073+ </class>
22074+ <record name="TabOverviewClass"
22075+ c:type="AdwTabOverviewClass"
22076+ glib:is-gtype-struct-for="TabOverview">
22077+ <source-position filename="src/adw-tab-overview.h" line="25"/>
22078+ <field name="parent_class">
22079+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
22080+ </field>
22081+ </record>
22082+ <class name="TabPage"
22083+ c:symbol-prefix="tab_page"
22084+ c:type="AdwTabPage"
22085+ parent="GObject.Object"
22086+ final="1"
22087+ glib:type-name="AdwTabPage"
22088+ glib:get-type="adw_tab_page_get_type"
22089+ glib:type-struct="TabPageClass">
22090+ <doc xml:space="preserve"
22091+ filename="src/adw-tab-view.c"
22092+ line="73">An auxiliary class used by [class@TabView].</doc>
22093+ <source-position filename="src/adw-tab-view.h" line="42"/>
22094+ <implements name="Gtk.Accessible"/>
22095+ <method name="get_child"
22096+ c:identifier="adw_tab_page_get_child"
22097+ glib:get-property="child">
22098+ <attribute name="org.gtk.Method.get_property" value="child"/>
22099+ <doc xml:space="preserve"
22100+ filename="src/adw-tab-view.c"
22101+ line="2650">Gets the child of @self.</doc>
22102+ <source-position filename="src/adw-tab-view.h" line="45"/>
22103+ <return-value transfer-ownership="none">
22104+ <doc xml:space="preserve"
22105+ filename="src/adw-tab-view.c"
22106+ line="2656">the child of @self</doc>
22107+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
22108+ </return-value>
22109+ <parameters>
22110+ <instance-parameter name="self" transfer-ownership="none">
22111+ <doc xml:space="preserve"
22112+ filename="src/adw-tab-view.c"
22113+ line="2652">a tab page</doc>
22114+ <type name="TabPage" c:type="AdwTabPage*"/>
22115+ </instance-parameter>
22116+ </parameters>
22117+ </method>
22118+ <method name="get_icon"
22119+ c:identifier="adw_tab_page_get_icon"
22120+ glib:get-property="icon">
22121+ <attribute name="org.gtk.Method.get_property" value="icon"/>
22122+ <doc xml:space="preserve"
22123+ filename="src/adw-tab-view.c"
22124+ line="2810">Gets the icon of @self.</doc>
22125+ <source-position filename="src/adw-tab-view.h" line="69"/>
22126+ <return-value transfer-ownership="none" nullable="1">
22127+ <doc xml:space="preserve"
22128+ filename="src/adw-tab-view.c"
22129+ line="2816">the icon of @self</doc>
22130+ <type name="Gio.Icon" c:type="GIcon*"/>
22131+ </return-value>
22132+ <parameters>
22133+ <instance-parameter name="self" transfer-ownership="none">
22134+ <doc xml:space="preserve"
22135+ filename="src/adw-tab-view.c"
22136+ line="2812">a tab page</doc>
22137+ <type name="TabPage" c:type="AdwTabPage*"/>
22138+ </instance-parameter>
22139+ </parameters>
22140+ </method>
22141+ <method name="get_indicator_activatable"
22142+ c:identifier="adw_tab_page_get_indicator_activatable"
22143+ glib:get-property="indicator-activatable">
22144+ <attribute name="org.gtk.Method.get_property"
22145+ value="indicator-activatable"/>
22146+ <doc xml:space="preserve"
22147+ filename="src/adw-tab-view.c"
22148+ line="3000">Gets whether the indicator of @self is activatable.</doc>
22149+ <source-position filename="src/adw-tab-view.h" line="93"/>
22150+ <return-value transfer-ownership="none">
22151+ <doc xml:space="preserve"
22152+ filename="src/adw-tab-view.c"
22153+ line="3007">whether the indicator is activatable</doc>
22154+ <type name="gboolean" c:type="gboolean"/>
22155+ </return-value>
22156+ <parameters>
22157+ <instance-parameter name="self" transfer-ownership="none">
22158+ <doc xml:space="preserve"
22159+ filename="src/adw-tab-view.c"
22160+ line="3002">a tab page</doc>
22161+ <type name="TabPage" c:type="AdwTabPage*"/>
22162+ </instance-parameter>
22163+ </parameters>
22164+ </method>
22165+ <method name="get_indicator_icon"
22166+ c:identifier="adw_tab_page_get_indicator_icon"
22167+ glib:get-property="indicator-icon">
22168+ <attribute name="org.gtk.Method.get_property" value="indicator-icon"/>
22169+ <doc xml:space="preserve"
22170+ filename="src/adw-tab-view.c"
22171+ line="2899">Gets the indicator icon of @self.</doc>
22172+ <source-position filename="src/adw-tab-view.h" line="81"/>
22173+ <return-value transfer-ownership="none" nullable="1">
22174+ <doc xml:space="preserve"
22175+ filename="src/adw-tab-view.c"
22176+ line="2905">the indicator icon of @self</doc>
22177+ <type name="Gio.Icon" c:type="GIcon*"/>
22178+ </return-value>
22179+ <parameters>
22180+ <instance-parameter name="self" transfer-ownership="none">
22181+ <doc xml:space="preserve"
22182+ filename="src/adw-tab-view.c"
22183+ line="2901">a tab page</doc>
22184+ <type name="TabPage" c:type="AdwTabPage*"/>
22185+ </instance-parameter>
22186+ </parameters>
22187+ </method>
22188+ <method name="get_indicator_tooltip"
22189+ c:identifier="adw_tab_page_get_indicator_tooltip"
22190+ glib:get-property="indicator-tooltip"
22191+ version="1.2">
22192+ <attribute name="org.gtk.Method.get_property"
22193+ value="indicator-tooltip"/>
22194+ <doc xml:space="preserve"
22195+ filename="src/adw-tab-view.c"
22196+ line="2953">Gets the tooltip of the indicator icon of @self.</doc>
22197+ <source-position filename="src/adw-tab-view.h" line="87"/>
22198+ <return-value transfer-ownership="none">
22199+ <doc xml:space="preserve"
22200+ filename="src/adw-tab-view.c"
22201+ line="2959">the indicator tooltip of @self</doc>
22202+ <type name="utf8" c:type="const char*"/>
22203+ </return-value>
22204+ <parameters>
22205+ <instance-parameter name="self" transfer-ownership="none">
22206+ <doc xml:space="preserve"
22207+ filename="src/adw-tab-view.c"
22208+ line="2955">a tab page</doc>
22209+ <type name="TabPage" c:type="AdwTabPage*"/>
22210+ </instance-parameter>
22211+ </parameters>
22212+ </method>
22213+ <method name="get_keyword"
22214+ c:identifier="adw_tab_page_get_keyword"
22215+ glib:get-property="keyword"
22216+ version="1.3">
22217+ <attribute name="org.gtk.Method.get_property" value="keyword"/>
22218+ <doc xml:space="preserve"
22219+ filename="src/adw-tab-view.c"
22220+ line="3094">Gets the search keyword of @self.</doc>
22221+ <source-position filename="src/adw-tab-view.h" line="105"/>
22222+ <return-value transfer-ownership="none" nullable="1">
22223+ <doc xml:space="preserve"
22224+ filename="src/adw-tab-view.c"
22225+ line="3100">the search keyword of @self</doc>
22226+ <type name="utf8" c:type="const char*"/>
22227+ </return-value>
22228+ <parameters>
22229+ <instance-parameter name="self" transfer-ownership="none">
22230+ <doc xml:space="preserve"
22231+ filename="src/adw-tab-view.c"
22232+ line="3096">a tab page</doc>
22233+ <type name="TabPage" c:type="AdwTabPage*"/>
22234+ </instance-parameter>
22235+ </parameters>
22236+ </method>
22237+ <method name="get_live_thumbnail"
22238+ c:identifier="adw_tab_page_get_live_thumbnail"
22239+ glib:get-property="live-thumbnail"
22240+ version="1.3">
22241+ <attribute name="org.gtk.Method.get_property" value="live-thumbnail"/>
22242+ <doc xml:space="preserve"
22243+ filename="src/adw-tab-view.c"
22244+ line="3245">Gets whether to live thumbnail is enabled @self.</doc>
22245+ <source-position filename="src/adw-tab-view.h" line="123"/>
22246+ <return-value transfer-ownership="none">
22247+ <doc xml:space="preserve"
22248+ filename="src/adw-tab-view.c"
22249+ line="3251">whether live thumbnail is enabled</doc>
22250+ <type name="gboolean" c:type="gboolean"/>
22251+ </return-value>
22252+ <parameters>
22253+ <instance-parameter name="self" transfer-ownership="none">
22254+ <doc xml:space="preserve"
22255+ filename="src/adw-tab-view.c"
22256+ line="3247">a tab overview</doc>
22257+ <type name="TabPage" c:type="AdwTabPage*"/>
22258+ </instance-parameter>
22259+ </parameters>
22260+ </method>
22261+ <method name="get_loading"
22262+ c:identifier="adw_tab_page_get_loading"
22263+ glib:get-property="loading">
22264+ <attribute name="org.gtk.Method.get_property" value="loading"/>
22265+ <doc xml:space="preserve"
22266+ filename="src/adw-tab-view.c"
22267+ line="2854">Gets whether @self is loading.</doc>
22268+ <source-position filename="src/adw-tab-view.h" line="75"/>
22269+ <return-value transfer-ownership="none">
22270+ <doc xml:space="preserve"
22271+ filename="src/adw-tab-view.c"
22272+ line="2860">whether @self is loading</doc>
22273+ <type name="gboolean" c:type="gboolean"/>
22274+ </return-value>
22275+ <parameters>
22276+ <instance-parameter name="self" transfer-ownership="none">
22277+ <doc xml:space="preserve"
22278+ filename="src/adw-tab-view.c"
22279+ line="2856">a tab page</doc>
22280+ <type name="TabPage" c:type="AdwTabPage*"/>
22281+ </instance-parameter>
22282+ </parameters>
22283+ </method>
22284+ <method name="get_needs_attention"
22285+ c:identifier="adw_tab_page_get_needs_attention"
22286+ glib:get-property="needs-attention">
22287+ <attribute name="org.gtk.Method.get_property" value="needs-attention"/>
22288+ <doc xml:space="preserve"
22289+ filename="src/adw-tab-view.c"
22290+ line="3045">Gets whether @self needs attention.</doc>
22291+ <source-position filename="src/adw-tab-view.h" line="99"/>
22292+ <return-value transfer-ownership="none">
22293+ <doc xml:space="preserve"
22294+ filename="src/adw-tab-view.c"
22295+ line="3051">whether @self needs attention</doc>
22296+ <type name="gboolean" c:type="gboolean"/>
22297+ </return-value>
22298+ <parameters>
22299+ <instance-parameter name="self" transfer-ownership="none">
22300+ <doc xml:space="preserve"
22301+ filename="src/adw-tab-view.c"
22302+ line="3047">a tab page</doc>
22303+ <type name="TabPage" c:type="AdwTabPage*"/>
22304+ </instance-parameter>
22305+ </parameters>
22306+ </method>
22307+ <method name="get_parent"
22308+ c:identifier="adw_tab_page_get_parent"
22309+ glib:get-property="parent">
22310+ <attribute name="org.gtk.Method.get_property" value="parent"/>
22311+ <doc xml:space="preserve"
22312+ filename="src/adw-tab-view.c"
22313+ line="2666">Gets the parent page of @self.
22314+
22315+See [method@TabView.add_page] and [method@TabView.close_page].</doc>
22316+ <source-position filename="src/adw-tab-view.h" line="48"/>
22317+ <return-value transfer-ownership="none" nullable="1">
22318+ <doc xml:space="preserve"
22319+ filename="src/adw-tab-view.c"
22320+ line="2674">the parent page</doc>
22321+ <type name="TabPage" c:type="AdwTabPage*"/>
22322+ </return-value>
22323+ <parameters>
22324+ <instance-parameter name="self" transfer-ownership="none">
22325+ <doc xml:space="preserve"
22326+ filename="src/adw-tab-view.c"
22327+ line="2668">a tab page</doc>
22328+ <type name="TabPage" c:type="AdwTabPage*"/>
22329+ </instance-parameter>
22330+ </parameters>
22331+ </method>
22332+ <method name="get_pinned"
22333+ c:identifier="adw_tab_page_get_pinned"
22334+ glib:get-property="pinned">
22335+ <attribute name="org.gtk.Method.get_property" value="pinned"/>
22336+ <doc xml:space="preserve"
22337+ filename="src/adw-tab-view.c"
22338+ line="2700">Gets whether @self is pinned.
22339+
22340+See [method@TabView.set_page_pinned].</doc>
22341+ <source-position filename="src/adw-tab-view.h" line="54"/>
22342+ <return-value transfer-ownership="none">
22343+ <doc xml:space="preserve"
22344+ filename="src/adw-tab-view.c"
22345+ line="2708">whether @self is pinned</doc>
22346+ <type name="gboolean" c:type="gboolean"/>
22347+ </return-value>
22348+ <parameters>
22349+ <instance-parameter name="self" transfer-ownership="none">
22350+ <doc xml:space="preserve"
22351+ filename="src/adw-tab-view.c"
22352+ line="2702">a tab page</doc>
22353+ <type name="TabPage" c:type="AdwTabPage*"/>
22354+ </instance-parameter>
22355+ </parameters>
22356+ </method>
22357+ <method name="get_selected"
22358+ c:identifier="adw_tab_page_get_selected"
22359+ glib:get-property="selected">
22360+ <attribute name="org.gtk.Method.get_property" value="selected"/>
22361+ <doc xml:space="preserve"
22362+ filename="src/adw-tab-view.c"
22363+ line="2684">Gets whether @self is selected.</doc>
22364+ <source-position filename="src/adw-tab-view.h" line="51"/>
22365+ <return-value transfer-ownership="none">
22366+ <doc xml:space="preserve"
22367+ filename="src/adw-tab-view.c"
22368+ line="2690">whether @self is selected</doc>
22369+ <type name="gboolean" c:type="gboolean"/>
22370+ </return-value>
22371+ <parameters>
22372+ <instance-parameter name="self" transfer-ownership="none">
22373+ <doc xml:space="preserve"
22374+ filename="src/adw-tab-view.c"
22375+ line="2686">a tab page</doc>
22376+ <type name="TabPage" c:type="AdwTabPage*"/>
22377+ </instance-parameter>
22378+ </parameters>
22379+ </method>
22380+ <method name="get_thumbnail_xalign"
22381+ c:identifier="adw_tab_page_get_thumbnail_xalign"
22382+ glib:get-property="thumbnail-xalign"
22383+ version="1.3">
22384+ <attribute name="org.gtk.Method.get_property"
22385+ value="thumbnail-xalign"/>
22386+ <doc xml:space="preserve"
22387+ filename="src/adw-tab-view.c"
22388+ line="3141">Gets the horizontal alignment of the thumbnail for @self.</doc>
22389+ <source-position filename="src/adw-tab-view.h" line="111"/>
22390+ <return-value transfer-ownership="none">
22391+ <doc xml:space="preserve"
22392+ filename="src/adw-tab-view.c"
22393+ line="3147">the horizontal alignment</doc>
22394+ <type name="gfloat" c:type="float"/>
22395+ </return-value>
22396+ <parameters>
22397+ <instance-parameter name="self" transfer-ownership="none">
22398+ <doc xml:space="preserve"
22399+ filename="src/adw-tab-view.c"
22400+ line="3143">a tab page</doc>
22401+ <type name="TabPage" c:type="AdwTabPage*"/>
22402+ </instance-parameter>
22403+ </parameters>
22404+ </method>
22405+ <method name="get_thumbnail_yalign"
22406+ c:identifier="adw_tab_page_get_thumbnail_yalign"
22407+ glib:get-property="thumbnail-yalign"
22408+ version="1.3">
22409+ <attribute name="org.gtk.Method.get_property"
22410+ value="thumbnail-yalign"/>
22411+ <doc xml:space="preserve"
22412+ filename="src/adw-tab-view.c"
22413+ line="3193">Gets the vertical alignment of the thumbnail for @self.</doc>
22414+ <source-position filename="src/adw-tab-view.h" line="117"/>
22415+ <return-value transfer-ownership="none">
22416+ <doc xml:space="preserve"
22417+ filename="src/adw-tab-view.c"
22418+ line="3199">the vertical alignment</doc>
22419+ <type name="gfloat" c:type="float"/>
22420+ </return-value>
22421+ <parameters>
22422+ <instance-parameter name="self" transfer-ownership="none">
22423+ <doc xml:space="preserve"
22424+ filename="src/adw-tab-view.c"
22425+ line="3195">a tab overview</doc>
22426+ <type name="TabPage" c:type="AdwTabPage*"/>
22427+ </instance-parameter>
22428+ </parameters>
22429+ </method>
22430+ <method name="get_title"
22431+ c:identifier="adw_tab_page_get_title"
22432+ glib:get-property="title">
22433+ <attribute name="org.gtk.Method.get_property" value="title"/>
22434+ <doc xml:space="preserve"
22435+ filename="src/adw-tab-view.c"
22436+ line="2718">Gets the title of @self.</doc>
22437+ <source-position filename="src/adw-tab-view.h" line="57"/>
22438+ <return-value transfer-ownership="none">
22439+ <doc xml:space="preserve"
22440+ filename="src/adw-tab-view.c"
22441+ line="2724">the title of @self</doc>
22442+ <type name="utf8" c:type="const char*"/>
22443+ </return-value>
22444+ <parameters>
22445+ <instance-parameter name="self" transfer-ownership="none">
22446+ <doc xml:space="preserve"
22447+ filename="src/adw-tab-view.c"
22448+ line="2720">a tab page</doc>
22449+ <type name="TabPage" c:type="AdwTabPage*"/>
22450+ </instance-parameter>
22451+ </parameters>
22452+ </method>
22453+ <method name="get_tooltip"
22454+ c:identifier="adw_tab_page_get_tooltip"
22455+ glib:get-property="tooltip">
22456+ <attribute name="org.gtk.Method.get_property" value="tooltip"/>
22457+ <doc xml:space="preserve"
22458+ filename="src/adw-tab-view.c"
22459+ line="2767">Gets the tooltip of @self.</doc>
22460+ <source-position filename="src/adw-tab-view.h" line="63"/>
22461+ <return-value transfer-ownership="none" nullable="1">
22462+ <doc xml:space="preserve"
22463+ filename="src/adw-tab-view.c"
22464+ line="2773">the tooltip of @self</doc>
22465+ <type name="utf8" c:type="const char*"/>
22466+ </return-value>
22467+ <parameters>
22468+ <instance-parameter name="self" transfer-ownership="none">
22469+ <doc xml:space="preserve"
22470+ filename="src/adw-tab-view.c"
22471+ line="2769">a tab page</doc>
22472+ <type name="TabPage" c:type="AdwTabPage*"/>
22473+ </instance-parameter>
22474+ </parameters>
22475+ </method>
22476+ <method name="invalidate_thumbnail"
22477+ c:identifier="adw_tab_page_invalidate_thumbnail"
22478+ version="1.3">
22479+ <doc xml:space="preserve"
22480+ filename="src/adw-tab-view.c"
22481+ line="3299">Invalidates thumbnail for @self.
22482+
22483+If an [class@TabOverview] is open, the thumbnail representing @self will be
22484+immediately updated. Otherwise it will be update when opening the overview.
22485+
22486+Does nothing if [property@TabPage:live-thumbnail] is set to `TRUE`.
22487+
22488+See also [method@TabView.invalidate_thumbnails].</doc>
22489+ <source-position filename="src/adw-tab-view.h" line="129"/>
22490+ <return-value transfer-ownership="none">
22491+ <type name="none" c:type="void"/>
22492+ </return-value>
22493+ <parameters>
22494+ <instance-parameter name="self" transfer-ownership="none">
22495+ <doc xml:space="preserve"
22496+ filename="src/adw-tab-view.c"
22497+ line="3301">a tab page</doc>
22498+ <type name="TabPage" c:type="AdwTabPage*"/>
22499+ </instance-parameter>
22500+ </parameters>
22501+ </method>
22502+ <method name="set_icon"
22503+ c:identifier="adw_tab_page_set_icon"
22504+ glib:set-property="icon">
22505+ <attribute name="org.gtk.Method.set_property" value="icon"/>
22506+ <doc xml:space="preserve"
22507+ filename="src/adw-tab-view.c"
22508+ line="2826">Sets the icon of @self.
22509+
22510+[class@TabBar] and [class@TabOverview] display the icon next to the title,
22511+unless [property@TabPage:loading] is set to `TRUE`.
22512+
22513+`AdwTabBar` also won't show the icon if the page is pinned and
22514+[propertyTabPage:indicator-icon] is set.</doc>
22515+ <source-position filename="src/adw-tab-view.h" line="71"/>
22516+ <return-value transfer-ownership="none">
22517+ <type name="none" c:type="void"/>
22518+ </return-value>
22519+ <parameters>
22520+ <instance-parameter name="self" transfer-ownership="none">
22521+ <doc xml:space="preserve"
22522+ filename="src/adw-tab-view.c"
22523+ line="2828">a tab page</doc>
22524+ <type name="TabPage" c:type="AdwTabPage*"/>
22525+ </instance-parameter>
22526+ <parameter name="icon"
22527+ transfer-ownership="none"
22528+ nullable="1"
22529+ allow-none="1">
22530+ <doc xml:space="preserve"
22531+ filename="src/adw-tab-view.c"
22532+ line="2829">the icon of @self</doc>
22533+ <type name="Gio.Icon" c:type="GIcon*"/>
22534+ </parameter>
22535+ </parameters>
22536+ </method>
22537+ <method name="set_indicator_activatable"
22538+ c:identifier="adw_tab_page_set_indicator_activatable"
22539+ glib:set-property="indicator-activatable">
22540+ <attribute name="org.gtk.Method.set_property"
22541+ value="indicator-activatable"/>
22542+ <doc xml:space="preserve"
22543+ filename="src/adw-tab-view.c"
22544+ line="3017">Sets whether the indicator of @self is activatable.
22545+
22546+If set to `TRUE`, [signal@TabView::indicator-activated] will be emitted
22547+when the indicator icon is clicked.
22548+
22549+If [property@TabPage:indicator-icon] is not set, does nothing.</doc>
22550+ <source-position filename="src/adw-tab-view.h" line="95"/>
22551+ <return-value transfer-ownership="none">
22552+ <type name="none" c:type="void"/>
22553+ </return-value>
22554+ <parameters>
22555+ <instance-parameter name="self" transfer-ownership="none">
22556+ <doc xml:space="preserve"
22557+ filename="src/adw-tab-view.c"
22558+ line="3019">a tab page</doc>
22559+ <type name="TabPage" c:type="AdwTabPage*"/>
22560+ </instance-parameter>
22561+ <parameter name="activatable" transfer-ownership="none">
22562+ <doc xml:space="preserve"
22563+ filename="src/adw-tab-view.c"
22564+ line="3020">whether the indicator is activatable</doc>
22565+ <type name="gboolean" c:type="gboolean"/>
22566+ </parameter>
22567+ </parameters>
22568+ </method>
22569+ <method name="set_indicator_icon"
22570+ c:identifier="adw_tab_page_set_indicator_icon"
22571+ glib:set-property="indicator-icon">
22572+ <attribute name="org.gtk.Method.set_property" value="indicator-icon"/>
22573+ <doc xml:space="preserve"
22574+ filename="src/adw-tab-view.c"
22575+ line="2915">Sets the indicator icon of @self.
22576+
22577+A common use case is an audio or camera indicator in a web browser.
22578+
22579+[class@TabBar] will show it at the beginning of the tab, alongside icon
22580+representing [property@TabPage:icon] or loading spinner.
22581+
22582+If the page is pinned, the indicator will be shown instead of icon or
22583+spinner.
22584+
22585+[class@TabOverview] will show it at the at the top part of the thumbnail.
22586+
22587+[property@TabPage:indicator-tooltip] can be used to set the tooltip on the
22588+indicator icon.
22589+
22590+If [property@TabPage:indicator-activatable] is set to `TRUE`, the
22591+indicator icon can act as a button.</doc>
22592+ <source-position filename="src/adw-tab-view.h" line="83"/>
22593+ <return-value transfer-ownership="none">
22594+ <type name="none" c:type="void"/>
22595+ </return-value>
22596+ <parameters>
22597+ <instance-parameter name="self" transfer-ownership="none">
22598+ <doc xml:space="preserve"
22599+ filename="src/adw-tab-view.c"
22600+ line="2917">a tab page</doc>
22601+ <type name="TabPage" c:type="AdwTabPage*"/>
22602+ </instance-parameter>
22603+ <parameter name="indicator_icon"
22604+ transfer-ownership="none"
22605+ nullable="1"
22606+ allow-none="1">
22607+ <doc xml:space="preserve"
22608+ filename="src/adw-tab-view.c"
22609+ line="2918">the indicator icon of @self</doc>
22610+ <type name="Gio.Icon" c:type="GIcon*"/>
22611+ </parameter>
22612+ </parameters>
22613+ </method>
22614+ <method name="set_indicator_tooltip"
22615+ c:identifier="adw_tab_page_set_indicator_tooltip"
22616+ glib:set-property="indicator-tooltip"
22617+ version="1.2">
22618+ <attribute name="org.gtk.Method.set_property"
22619+ value="indicator-tooltip"/>
22620+ <doc xml:space="preserve"
22621+ filename="src/adw-tab-view.c"
22622+ line="2971">Sets the tooltip of the indicator icon of @self.
22623+
22624+The tooltip can be marked up with the Pango text markup language.
22625+
22626+See [property@TabPage:indicator-icon].</doc>
22627+ <source-position filename="src/adw-tab-view.h" line="89"/>
22628+ <return-value transfer-ownership="none">
22629+ <type name="none" c:type="void"/>
22630+ </return-value>
22631+ <parameters>
22632+ <instance-parameter name="self" transfer-ownership="none">
22633+ <doc xml:space="preserve"
22634+ filename="src/adw-tab-view.c"
22635+ line="2973">a tab page</doc>
22636+ <type name="TabPage" c:type="AdwTabPage*"/>
22637+ </instance-parameter>
22638+ <parameter name="tooltip" transfer-ownership="none">
22639+ <doc xml:space="preserve"
22640+ filename="src/adw-tab-view.c"
22641+ line="2974">the indicator tooltip of @self</doc>
22642+ <type name="utf8" c:type="const char*"/>
22643+ </parameter>
22644+ </parameters>
22645+ </method>
22646+ <method name="set_keyword"
22647+ c:identifier="adw_tab_page_set_keyword"
22648+ glib:set-property="keyword"
22649+ version="1.3">
22650+ <attribute name="org.gtk.Method.set_property" value="keyword"/>
22651+ <doc xml:space="preserve"
22652+ filename="src/adw-tab-view.c"
22653+ line="3112">Sets the search keyword for @self.
22654+
22655+[class@TabOverview] can search pages by their keywords in addition to their
22656+titles and tooltips.
22657+
22658+Keywords allow to include e.g. page URLs into tab search in a web browser.</doc>
22659+ <source-position filename="src/adw-tab-view.h" line="107"/>
22660+ <return-value transfer-ownership="none">
22661+ <type name="none" c:type="void"/>
22662+ </return-value>
22663+ <parameters>
22664+ <instance-parameter name="self" transfer-ownership="none">
22665+ <doc xml:space="preserve"
22666+ filename="src/adw-tab-view.c"
22667+ line="3114">a tab page</doc>
22668+ <type name="TabPage" c:type="AdwTabPage*"/>
22669+ </instance-parameter>
22670+ <parameter name="keyword" transfer-ownership="none">
22671+ <doc xml:space="preserve"
22672+ filename="src/adw-tab-view.c"
22673+ line="3115">the search keyword</doc>
22674+ <type name="utf8" c:type="const char*"/>
22675+ </parameter>
22676+ </parameters>
22677+ </method>
22678+ <method name="set_live_thumbnail"
22679+ c:identifier="adw_tab_page_set_live_thumbnail"
22680+ glib:set-property="live-thumbnail"
22681+ version="1.3">
22682+ <attribute name="org.gtk.Method.set_property" value="live-thumbnail"/>
22683+ <doc xml:space="preserve"
22684+ filename="src/adw-tab-view.c"
22685+ line="3263">Sets whether to enable live thumbnail for @self.
22686+
22687+When set to `TRUE`, @self's thumbnail in [class@TabOverview] will update
22688+immediately when @self is redrawn or resized.
22689+
22690+If it's set to `FALSE`, the thumbnail will only be live when the @self is
22691+selected, and otherwise it will be static and will only update when
22692+[method@TabPage.invalidate_thumbnail] or
22693+[method@TabView.invalidate_thumbnails] is called.</doc>
22694+ <source-position filename="src/adw-tab-view.h" line="125"/>
22695+ <return-value transfer-ownership="none">
22696+ <type name="none" c:type="void"/>
22697+ </return-value>
22698+ <parameters>
22699+ <instance-parameter name="self" transfer-ownership="none">
22700+ <doc xml:space="preserve"
22701+ filename="src/adw-tab-view.c"
22702+ line="3265">a tab page</doc>
22703+ <type name="TabPage" c:type="AdwTabPage*"/>
22704+ </instance-parameter>
22705+ <parameter name="live_thumbnail" transfer-ownership="none">
22706+ <doc xml:space="preserve"
22707+ filename="src/adw-tab-view.c"
22708+ line="3266">whether to enable live thumbnail</doc>
22709+ <type name="gboolean" c:type="gboolean"/>
22710+ </parameter>
22711+ </parameters>
22712+ </method>
22713+ <method name="set_loading"
22714+ c:identifier="adw_tab_page_set_loading"
22715+ glib:set-property="loading">
22716+ <attribute name="org.gtk.Method.set_property" value="loading"/>
22717+ <doc xml:space="preserve"
22718+ filename="src/adw-tab-view.c"
22719+ line="2870">Sets whether @self is loading.
22720+
22721+If set to `TRUE`, [class@TabBar] and [class@TabOverview] will display a
22722+spinner in place of icon.
22723+
22724+If the page is pinned and [property@TabPage:indicator-icon] is set, loading
22725+status will not be visible with `AdwTabBar`.</doc>
22726+ <source-position filename="src/adw-tab-view.h" line="77"/>
22727+ <return-value transfer-ownership="none">
22728+ <type name="none" c:type="void"/>
22729+ </return-value>
22730+ <parameters>
22731+ <instance-parameter name="self" transfer-ownership="none">
22732+ <doc xml:space="preserve"
22733+ filename="src/adw-tab-view.c"
22734+ line="2872">a tab page</doc>
22735+ <type name="TabPage" c:type="AdwTabPage*"/>
22736+ </instance-parameter>
22737+ <parameter name="loading" transfer-ownership="none">
22738+ <doc xml:space="preserve"
22739+ filename="src/adw-tab-view.c"
22740+ line="2873">whether @self is loading</doc>
22741+ <type name="gboolean" c:type="gboolean"/>
22742+ </parameter>
22743+ </parameters>
22744+ </method>
22745+ <method name="set_needs_attention"
22746+ c:identifier="adw_tab_page_set_needs_attention"
22747+ glib:set-property="needs-attention">
22748+ <attribute name="org.gtk.Method.set_property" value="needs-attention"/>
22749+ <doc xml:space="preserve"
22750+ filename="src/adw-tab-view.c"
22751+ line="3061">Sets whether @self needs attention.
22752+
22753+[class@TabBar] will display a line under the tab representing the page if
22754+set to `TRUE`. If the tab is not visible, the corresponding edge of the tab
22755+bar will be highlighted.
22756+
22757+[class@TabOverview] will display a dot in the corner of the thumbnail if set
22758+to `TRUE`.
22759+
22760+[class@TabButton] will display a dot if any of the pages that aren't
22761+selected have [property@TabPage:needs-attention] set to `TRUE`.</doc>
22762+ <source-position filename="src/adw-tab-view.h" line="101"/>
22763+ <return-value transfer-ownership="none">
22764+ <type name="none" c:type="void"/>
22765+ </return-value>
22766+ <parameters>
22767+ <instance-parameter name="self" transfer-ownership="none">
22768+ <doc xml:space="preserve"
22769+ filename="src/adw-tab-view.c"
22770+ line="3063">a tab page</doc>
22771+ <type name="TabPage" c:type="AdwTabPage*"/>
22772+ </instance-parameter>
22773+ <parameter name="needs_attention" transfer-ownership="none">
22774+ <doc xml:space="preserve"
22775+ filename="src/adw-tab-view.c"
22776+ line="3064">whether @self needs attention</doc>
22777+ <type name="gboolean" c:type="gboolean"/>
22778+ </parameter>
22779+ </parameters>
22780+ </method>
22781+ <method name="set_thumbnail_xalign"
22782+ c:identifier="adw_tab_page_set_thumbnail_xalign"
22783+ glib:set-property="thumbnail-xalign"
22784+ version="1.3">
22785+ <attribute name="org.gtk.Method.set_property"
22786+ value="thumbnail-xalign"/>
22787+ <doc xml:space="preserve"
22788+ filename="src/adw-tab-view.c"
22789+ line="3159">Sets the horizontal alignment of the thumbnail for @self.
22790+
22791+If the page is so wide that [class@TabOverview] can't display it completely
22792+and has to crop it, horizontal alignment will determine which part of the
22793+page will be visible.
22794+
22795+For example, 0.5 means the center of the page will be visible, 0 means the
22796+start edge will be visible and 1 means the end edge will be visible.
22797+
22798+The default horizontal alignment is 0.</doc>
22799+ <source-position filename="src/adw-tab-view.h" line="113"/>
22800+ <return-value transfer-ownership="none">
22801+ <type name="none" c:type="void"/>
22802+ </return-value>
22803+ <parameters>
22804+ <instance-parameter name="self" transfer-ownership="none">
22805+ <doc xml:space="preserve"
22806+ filename="src/adw-tab-view.c"
22807+ line="3161">a tab page</doc>
22808+ <type name="TabPage" c:type="AdwTabPage*"/>
22809+ </instance-parameter>
22810+ <parameter name="xalign" transfer-ownership="none">
22811+ <doc xml:space="preserve"
22812+ filename="src/adw-tab-view.c"
22813+ line="3162">the new value</doc>
22814+ <type name="gfloat" c:type="float"/>
22815+ </parameter>
22816+ </parameters>
22817+ </method>
22818+ <method name="set_thumbnail_yalign"
22819+ c:identifier="adw_tab_page_set_thumbnail_yalign"
22820+ glib:set-property="thumbnail-yalign"
22821+ version="1.3">
22822+ <attribute name="org.gtk.Method.set_property"
22823+ value="thumbnail-yalign"/>
22824+ <doc xml:space="preserve"
22825+ filename="src/adw-tab-view.c"
22826+ line="3211">Sets the vertical alignment of the thumbnail for @self.
22827+
22828+If the page is so tall that [class@TabOverview] can't display it completely
22829+and has to crop it, vertical alignment will determine which part of the page
22830+will be visible.
22831+
22832+For example, 0.5 means the center of the page will be visible, 0 means the
22833+top edge will be visible and 1 means the bottom edge will be visible.
22834+
22835+The default vertical alignment is 0.</doc>
22836+ <source-position filename="src/adw-tab-view.h" line="119"/>
22837+ <return-value transfer-ownership="none">
22838+ <type name="none" c:type="void"/>
22839+ </return-value>
22840+ <parameters>
22841+ <instance-parameter name="self" transfer-ownership="none">
22842+ <doc xml:space="preserve"
22843+ filename="src/adw-tab-view.c"
22844+ line="3213">a tab page</doc>
22845+ <type name="TabPage" c:type="AdwTabPage*"/>
22846+ </instance-parameter>
22847+ <parameter name="yalign" transfer-ownership="none">
22848+ <doc xml:space="preserve"
22849+ filename="src/adw-tab-view.c"
22850+ line="3214">the new value</doc>
22851+ <type name="gfloat" c:type="float"/>
22852+ </parameter>
22853+ </parameters>
22854+ </method>
22855+ <method name="set_title"
22856+ c:identifier="adw_tab_page_set_title"
22857+ glib:set-property="title">
22858+ <attribute name="org.gtk.Method.set_property" value="title"/>
22859+ <doc xml:space="preserve"
22860+ filename="src/adw-tab-view.c"
22861+ line="2734">[class@TabBar] will display it in the center of the tab unless it's pinned,
22862+and will use it as a tooltip unless [property@TabPage:tooltip] is set.
22863+
22864+[class@TabOverview] will display it below the thumbnail unless it's pinned,
22865+or inside the card otherwise, and will use it as a tooltip unless
22866+[property@TabPage:tooltip] is set.
22867+
22868+Sets the title of @self.</doc>
22869+ <source-position filename="src/adw-tab-view.h" line="59"/>
22870+ <return-value transfer-ownership="none">
22871+ <type name="none" c:type="void"/>
22872+ </return-value>
22873+ <parameters>
22874+ <instance-parameter name="self" transfer-ownership="none">
22875+ <doc xml:space="preserve"
22876+ filename="src/adw-tab-view.c"
22877+ line="2736">a tab page</doc>
22878+ <type name="TabPage" c:type="AdwTabPage*"/>
22879+ </instance-parameter>
22880+ <parameter name="title" transfer-ownership="none">
22881+ <doc xml:space="preserve"
22882+ filename="src/adw-tab-view.c"
22883+ line="2737">the title of @self</doc>
22884+ <type name="utf8" c:type="const char*"/>
22885+ </parameter>
22886+ </parameters>
22887+ </method>
22888+ <method name="set_tooltip"
22889+ c:identifier="adw_tab_page_set_tooltip"
22890+ glib:set-property="tooltip">
22891+ <attribute name="org.gtk.Method.set_property" value="tooltip"/>
22892+ <doc xml:space="preserve"
22893+ filename="src/adw-tab-view.c"
22894+ line="2783">Sets the tooltip of @self.
22895+
22896+The tooltip can be marked up with the Pango text markup language.
22897+
22898+If not set, [class@TabBar] and [class@TabOverview] will use
22899+[property@TabPage:title] as a tooltip instead.</doc>
22900+ <source-position filename="src/adw-tab-view.h" line="65"/>
22901+ <return-value transfer-ownership="none">
22902+ <type name="none" c:type="void"/>
22903+ </return-value>
22904+ <parameters>
22905+ <instance-parameter name="self" transfer-ownership="none">
22906+ <doc xml:space="preserve"
22907+ filename="src/adw-tab-view.c"
22908+ line="2785">a tab page</doc>
22909+ <type name="TabPage" c:type="AdwTabPage*"/>
22910+ </instance-parameter>
22911+ <parameter name="tooltip" transfer-ownership="none">
22912+ <doc xml:space="preserve"
22913+ filename="src/adw-tab-view.c"
22914+ line="2786">the tooltip of @self</doc>
22915+ <type name="utf8" c:type="const char*"/>
22916+ </parameter>
22917+ </parameters>
22918+ </method>
22919+ <property name="child"
22920+ writable="1"
22921+ construct-only="1"
22922+ transfer-ownership="none"
22923+ getter="get_child">
22924+ <attribute name="org.gtk.Property.get" value="adw_tab_page_get_child"/>
22925+ <doc xml:space="preserve"
22926+ filename="src/adw-tab-view.c"
22927+ line="557">The child of the page.</doc>
22928+ <type name="Gtk.Widget"/>
22929+ </property>
22930+ <property name="icon"
22931+ writable="1"
22932+ transfer-ownership="none"
22933+ setter="set_icon"
22934+ getter="get_icon">
22935+ <attribute name="org.gtk.Property.get" value="adw_tab_page_get_icon"/>
22936+ <attribute name="org.gtk.Property.set" value="adw_tab_page_set_icon"/>
22937+ <doc xml:space="preserve"
22938+ filename="src/adw-tab-view.c"
22939+ line="633">The icon of the page.
22940+
22941+[class@TabBar] and [class@TabOverview] display the icon next to the title,
22942+unless [property@TabPage:loading] is set to `TRUE`.
22943+
22944+`AdwTabBar` also won't show the icon if the page is pinned and
22945+[propertyTabPage:indicator-icon] is set.</doc>
22946+ <type name="Gio.Icon"/>
22947+ </property>
22948+ <property name="indicator-activatable"
22949+ writable="1"
22950+ transfer-ownership="none"
22951+ setter="set_indicator_activatable"
22952+ getter="get_indicator_activatable"
22953+ default-value="FALSE">
22954+ <attribute name="org.gtk.Property.get"
22955+ value="adw_tab_page_get_indicator_activatable"/>
22956+ <attribute name="org.gtk.Property.set"
22957+ value="adw_tab_page_set_indicator_activatable"/>
22958+ <doc xml:space="preserve"
22959+ filename="src/adw-tab-view.c"
22960+ line="707">Whether the indicator icon is activatable.
22961+
22962+If set to `TRUE`, [signal@TabView::indicator-activated] will be emitted
22963+when the indicator icon is clicked.
22964+
22965+If [property@TabPage:indicator-icon] is not set, does nothing.</doc>
22966+ <type name="gboolean" c:type="gboolean"/>
22967+ </property>
22968+ <property name="indicator-icon"
22969+ writable="1"
22970+ transfer-ownership="none"
22971+ setter="set_indicator_icon"
22972+ getter="get_indicator_icon">
22973+ <attribute name="org.gtk.Property.get"
22974+ value="adw_tab_page_get_indicator_icon"/>
22975+ <attribute name="org.gtk.Property.set"
22976+ value="adw_tab_page_set_indicator_icon"/>
22977+ <doc xml:space="preserve"
22978+ filename="src/adw-tab-view.c"
22979+ line="665">An indicator icon for the page.
22980+
22981+A common use case is an audio or camera indicator in a web browser.
22982+
22983+[class@TabBar] will show it at the beginning of the tab, alongside icon
22984+representing [property@TabPage:icon] or loading spinner.
22985+
22986+If the page is pinned, the indicator will be shown instead of icon or
22987+spinner.
22988+
22989+[class@TabOverview] will show it at the at the top part of the thumbnail.
22990+
22991+[property@TabPage:indicator-tooltip] can be used to set the tooltip on the
22992+indicator icon.
22993+
22994+If [property@TabPage:indicator-activatable] is set to `TRUE`, the
22995+indicator icon can act as a button.</doc>
22996+ <type name="Gio.Icon"/>
22997+ </property>
22998+ <property name="indicator-tooltip"
22999+ version="1.2"
23000+ writable="1"
23001+ transfer-ownership="none"
23002+ setter="set_indicator_tooltip"
23003+ getter="get_indicator_tooltip">
23004+ <attribute name="org.gtk.Property.get"
23005+ value="adw_tab_page_get_indicator_tooltip"/>
23006+ <attribute name="org.gtk.Property.set"
23007+ value="adw_tab_page_set_indicator_tooltip"/>
23008+ <doc xml:space="preserve"
23009+ filename="src/adw-tab-view.c"
23010+ line="691">The tooltip of the indicator icon.
23011+
23012+The tooltip can be marked up with the Pango text markup language.
23013+
23014+See [property@TabPage:indicator-icon].</doc>
23015+ <type name="utf8" c:type="gchar*"/>
23016+ </property>
23017+ <property name="keyword"
23018+ version="1.3"
23019+ writable="1"
23020+ transfer-ownership="none"
23021+ setter="set_keyword"
23022+ getter="get_keyword">
23023+ <attribute name="org.gtk.Property.get"
23024+ value="adw_tab_page_get_keyword"/>
23025+ <attribute name="org.gtk.Property.set"
23026+ value="adw_tab_page_set_keyword"/>
23027+ <doc xml:space="preserve"
23028+ filename="src/adw-tab-view.c"
23029+ line="742">The search keyboard of the page.
23030+
23031+[class@TabOverview] can search pages by their keywords in addition to their
23032+titles and tooltips.
23033+
23034+Keywords allow to include e.g. page URLs into tab search in a web browser.</doc>
23035+ <type name="utf8" c:type="gchar*"/>
23036+ </property>
23037+ <property name="live-thumbnail"
23038+ version="1.3"
23039+ writable="1"
23040+ transfer-ownership="none"
23041+ setter="set_live_thumbnail"
23042+ getter="get_live_thumbnail"
23043+ default-value="FALSE">
23044+ <attribute name="org.gtk.Property.get"
23045+ value="adw_tab_page_get_live_thumbnail"/>
23046+ <attribute name="org.gtk.Property.set"
23047+ value="adw_tab_page_set_live_thumbnail"/>
23048+ <doc xml:space="preserve"
23049+ filename="src/adw-tab-view.c"
23050+ line="803">Whether to enable live thumbnail for this page.
23051+
23052+When set to `TRUE`, the page's thumbnail in [class@TabOverview] will update
23053+immediately when the page is redrawn or resized.
23054+
23055+If it's set to `FALSE`, the thumbnail will only be live when the page is
23056+selected, and otherwise it will be static and will only update when
23057+[method@TabPage.invalidate_thumbnail] or
23058+[method@TabView.invalidate_thumbnails] is called.</doc>
23059+ <type name="gboolean" c:type="gboolean"/>
23060+ </property>
23061+ <property name="loading"
23062+ writable="1"
23063+ transfer-ownership="none"
23064+ setter="set_loading"
23065+ getter="get_loading"
23066+ default-value="FALSE">
23067+ <attribute name="org.gtk.Property.get"
23068+ value="adw_tab_page_get_loading"/>
23069+ <attribute name="org.gtk.Property.set"
23070+ value="adw_tab_page_set_loading"/>
23071+ <doc xml:space="preserve"
23072+ filename="src/adw-tab-view.c"
23073+ line="649">Whether the page is loading.
23074+
23075+If set to `TRUE`, [class@TabBar] and [class@TabOverview] will display a
23076+spinner in place of icon.
23077+
23078+If the page is pinned and [property@TabPage:indicator-icon] is set,
23079+loading status will not be visible with `AdwTabBar`.</doc>
23080+ <type name="gboolean" c:type="gboolean"/>
23081+ </property>
23082+ <property name="needs-attention"
23083+ writable="1"
23084+ transfer-ownership="none"
23085+ setter="set_needs_attention"
23086+ getter="get_needs_attention"
23087+ default-value="FALSE">
23088+ <attribute name="org.gtk.Property.get"
23089+ value="adw_tab_page_get_needs_attention"/>
23090+ <attribute name="org.gtk.Property.set"
23091+ value="adw_tab_page_set_needs_attention"/>
23092+ <doc xml:space="preserve"
23093+ filename="src/adw-tab-view.c"
23094+ line="722">Whether the page needs attention.
23095+
23096+[class@TabBar] will display a line under the tab representing the page if
23097+set to `TRUE`. If the tab is not visible, the corresponding edge of the tab
23098+bar will be highlighted.
23099+
23100+[class@TabOverview] will display a dot in the corner of the thumbnail if set
23101+to `TRUE`.
23102+
23103+[class@TabButton] will display a dot if any of the pages that aren't
23104+selected have this property set to `TRUE`.</doc>
23105+ <type name="gboolean" c:type="gboolean"/>
23106+ </property>
23107+ <property name="parent"
23108+ writable="1"
23109+ construct-only="1"
23110+ transfer-ownership="none"
23111+ getter="get_parent">
23112+ <attribute name="org.gtk.Property.get"
23113+ value="adw_tab_page_get_parent"/>
23114+ <doc xml:space="preserve"
23115+ filename="src/adw-tab-view.c"
23116+ line="567">The parent page of the page.
23117+
23118+See [method@TabView.add_page] and [method@TabView.close_page].</doc>
23119+ <type name="TabPage"/>
23120+ </property>
23121+ <property name="pinned"
23122+ transfer-ownership="none"
23123+ getter="get_pinned"
23124+ default-value="FALSE">
23125+ <attribute name="org.gtk.Property.get"
23126+ value="adw_tab_page_get_pinned"/>
23127+ <doc xml:space="preserve"
23128+ filename="src/adw-tab-view.c"
23129+ line="589">Whether the page is pinned.
23130+
23131+See [method@TabView.set_page_pinned].</doc>
23132+ <type name="gboolean" c:type="gboolean"/>
23133+ </property>
23134+ <property name="selected"
23135+ transfer-ownership="none"
23136+ getter="get_selected"
23137+ default-value="FALSE">
23138+ <attribute name="org.gtk.Property.get"
23139+ value="adw_tab_page_get_selected"/>
23140+ <doc xml:space="preserve"
23141+ filename="src/adw-tab-view.c"
23142+ line="579">Whether the page is selected.</doc>
23143+ <type name="gboolean" c:type="gboolean"/>
23144+ </property>
23145+ <property name="thumbnail-xalign"
23146+ version="1.3"
23147+ writable="1"
23148+ transfer-ownership="none"
23149+ setter="set_thumbnail_xalign"
23150+ getter="get_thumbnail_xalign"
23151+ default-value="0.000000">
23152+ <attribute name="org.gtk.Property.get"
23153+ value="adw_tab_page_get_thumbnail_xalign"/>
23154+ <attribute name="org.gtk.Property.set"
23155+ value="adw_tab_page_set_thumbnail_xalign"/>
23156+ <doc xml:space="preserve"
23157+ filename="src/adw-tab-view.c"
23158+ line="759">The horizontal alignment of the page thumbnail.
23159+
23160+If the page is so wide that [class@TabOverview] can't display it completely
23161+and has to crop it, horizontal alignment will determine which part of the
23162+page will be visible.
23163+
23164+For example, 0.5 means the center of the page will be visible, 0 means the
23165+start edge will be visible and 1 means the end edge will be visible.
23166+
23167+The default horizontal alignment is 0.</doc>
23168+ <type name="gfloat" c:type="gfloat"/>
23169+ </property>
23170+ <property name="thumbnail-yalign"
23171+ version="1.3"
23172+ writable="1"
23173+ transfer-ownership="none"
23174+ setter="set_thumbnail_yalign"
23175+ getter="get_thumbnail_yalign"
23176+ default-value="0.000000">
23177+ <attribute name="org.gtk.Property.get"
23178+ value="adw_tab_page_get_thumbnail_yalign"/>
23179+ <attribute name="org.gtk.Property.set"
23180+ value="adw_tab_page_set_thumbnail_yalign"/>
23181+ <doc xml:space="preserve"
23182+ filename="src/adw-tab-view.c"
23183+ line="781">The vertical alignment of the page thumbnail.
23184+
23185+If the page is so tall that [class@TabOverview] can't display it completely
23186+and has to crop it, vertical alignment will determine which part of the
23187+page will be visible.
23188+
23189+For example, 0.5 means the center of the page will be visible, 0 means the
23190+top edge will be visible and 1 means the bottom edge will be visible.
23191+
23192+The default vertical alignment is 0.</doc>
23193+ <type name="gfloat" c:type="gfloat"/>
23194+ </property>
23195+ <property name="title"
23196+ writable="1"
23197+ transfer-ownership="none"
23198+ setter="set_title"
23199+ getter="get_title">
23200+ <attribute name="org.gtk.Property.get" value="adw_tab_page_get_title"/>
23201+ <attribute name="org.gtk.Property.set" value="adw_tab_page_set_title"/>
23202+ <doc xml:space="preserve"
23203+ filename="src/adw-tab-view.c"
23204+ line="601">The title of the page.
23205+
23206+[class@TabBar] will display it in the center of the tab unless it's pinned,
23207+and will use it as a tooltip unless [property@TabPage:tooltip] is set.
23208+
23209+[class@TabOverview] will display it below the thumbnail unless it's pinned,
23210+or inside the card otherwise, and will use it as a tooltip unless
23211+[property@TabPage:tooltip] is set.</doc>
23212+ <type name="utf8" c:type="gchar*"/>
23213+ </property>
23214+ <property name="tooltip"
23215+ writable="1"
23216+ transfer-ownership="none"
23217+ setter="set_tooltip"
23218+ getter="get_tooltip">
23219+ <attribute name="org.gtk.Property.get"
23220+ value="adw_tab_page_get_tooltip"/>
23221+ <attribute name="org.gtk.Property.set"
23222+ value="adw_tab_page_set_tooltip"/>
23223+ <doc xml:space="preserve"
23224+ filename="src/adw-tab-view.c"
23225+ line="618">The tooltip of the page.
23226+
23227+The tooltip can be marked up with the Pango text markup language.
23228+
23229+If not set, [class@TabBar] and [class@TabOverview] will use
23230+[property@TabPage:title] as a tooltip instead.</doc>
23231+ <type name="utf8" c:type="gchar*"/>
23232+ </property>
23233+ </class>
23234+ <record name="TabPageClass"
23235+ c:type="AdwTabPageClass"
23236+ glib:is-gtype-struct-for="TabPage">
23237+ <source-position filename="src/adw-tab-view.h" line="42"/>
23238+ <field name="parent_class">
23239+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
23240+ </field>
23241+ </record>
23242+ <class name="TabView"
23243+ c:symbol-prefix="tab_view"
23244+ c:type="AdwTabView"
23245+ parent="Gtk.Widget"
23246+ final="1"
23247+ glib:type-name="AdwTabView"
23248+ glib:get-type="adw_tab_view_get_type"
23249+ glib:type-struct="TabViewClass">
23250+ <doc xml:space="preserve"
23251+ filename="src/adw-tab-view.c"
23252+ line="27">A dynamic tabbed container.
23253+
23254+`AdwTabView` is a container which shows one child at a time. While it
23255+provides keyboard shortcuts for switching between pages, it does not provide
23256+a visible tab switcher and relies on external widgets for that, such as
23257+[class@TabBar], [class@TabOverview] and [class@TabButton].
23258+
23259+`AdwTabView` maintains a [class@TabPage] object for each page, which holds
23260+additional per-page properties. You can obtain the `AdwTabPage` for a page
23261+with [method@TabView.get_page], and as the return value for
23262+[method@TabView.append] and other functions for adding children.
23263+
23264+`AdwTabView` only aims to be useful for dynamic tabs in multi-window
23265+document-based applications, such as web browsers, file managers, text
23266+editors or terminals. It does not aim to replace [class@Gtk.Notebook] for use
23267+cases such as tabbed dialogs.
23268+
23269+As such, it does not support disabling page reordering or detaching.
23270+
23271+`AdwTabView` adds a number of global page switching and reordering shortcuts.
23272+The [property@TabView:shortcuts] property can be used to manage them.
23273+
23274+See [flags@TabViewShortcuts] for the list of the available shortcuts. All of
23275+the shortcuts are enabled by default.
23276+
23277+[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts] can be
23278+used to manage shortcuts in a convenient way, for example:
23279+
23280+```c
23281+adw_tab_view_remove_shortcuts (view, ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME |
23282+ ADW_TAB_VIEW_SHORTCUT_CONTROL_END);
23283+```
23284+
23285+## CSS nodes
23286+
23287+`AdwTabView` has a main CSS node with the name `tabview`.
23288+
23289+## Accessibility
23290+
23291+`AdwTabView` uses the `GTK_ACCESSIBLE_ROLE_TAB_PANEL` for the tab pages which
23292+are the accessible parent objects of the child widgets.</doc>
23293+ <source-position filename="src/adw-tab-view.h" line="134"/>
23294+ <implements name="Gtk.Accessible"/>
23295+ <implements name="Gtk.Buildable"/>
23296+ <implements name="Gtk.ConstraintTarget"/>
23297+ <constructor name="new" c:identifier="adw_tab_view_new">
23298+ <doc xml:space="preserve"
23299+ filename="src/adw-tab-view.c"
23300+ line="3335">Creates a new `AdwTabView`.</doc>
23301+ <source-position filename="src/adw-tab-view.h" line="137"/>
23302+ <return-value transfer-ownership="none">
23303+ <doc xml:space="preserve"
23304+ filename="src/adw-tab-view.c"
23305+ line="3340">the newly created `AdwTabView`</doc>
23306+ <type name="TabView" c:type="AdwTabView*"/>
23307+ </return-value>
23308+ </constructor>
23309+ <method name="add_page" c:identifier="adw_tab_view_add_page">
23310+ <doc xml:space="preserve"
23311+ filename="src/adw-tab-view.c"
23312+ line="3918">Adds @child to @self with @parent as the parent.
23313+
23314+This function can be used to automatically position new pages, and to select
23315+the correct page when this page is closed while being selected (see
23316+[method@TabView.close_page]).
23317+
23318+If @parent is `NULL`, this function is equivalent to [method@TabView.append].</doc>
23319+ <source-position filename="src/adw-tab-view.h" line="200"/>
23320+ <return-value transfer-ownership="none">
23321+ <doc xml:space="preserve"
23322+ filename="src/adw-tab-view.c"
23323+ line="3932">the page object representing @child</doc>
23324+ <type name="TabPage" c:type="AdwTabPage*"/>
23325+ </return-value>
23326+ <parameters>
23327+ <instance-parameter name="self" transfer-ownership="none">
23328+ <doc xml:space="preserve"
23329+ filename="src/adw-tab-view.c"
23330+ line="3920">a tab view</doc>
23331+ <type name="TabView" c:type="AdwTabView*"/>
23332+ </instance-parameter>
23333+ <parameter name="child" transfer-ownership="none">
23334+ <doc xml:space="preserve"
23335+ filename="src/adw-tab-view.c"
23336+ line="3921">a widget to add</doc>
23337+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23338+ </parameter>
23339+ <parameter name="parent"
23340+ transfer-ownership="none"
23341+ nullable="1"
23342+ allow-none="1">
23343+ <doc xml:space="preserve"
23344+ filename="src/adw-tab-view.c"
23345+ line="3922">a parent page for @child</doc>
23346+ <type name="TabPage" c:type="AdwTabPage*"/>
23347+ </parameter>
23348+ </parameters>
23349+ </method>
23350+ <method name="add_shortcuts"
23351+ c:identifier="adw_tab_view_add_shortcuts"
23352+ version="1.2">
23353+ <doc xml:space="preserve"
23354+ filename="src/adw-tab-view.c"
23355+ line="3714">Adds @shortcuts for @self.
23356+
23357+See [property@TabView:shortcuts] for details.</doc>
23358+ <source-position filename="src/adw-tab-view.h" line="176"/>
23359+ <return-value transfer-ownership="none">
23360+ <type name="none" c:type="void"/>
23361+ </return-value>
23362+ <parameters>
23363+ <instance-parameter name="self" transfer-ownership="none">
23364+ <doc xml:space="preserve"
23365+ filename="src/adw-tab-view.c"
23366+ line="3716">a tab view</doc>
23367+ <type name="TabView" c:type="AdwTabView*"/>
23368+ </instance-parameter>
23369+ <parameter name="shortcuts" transfer-ownership="none">
23370+ <doc xml:space="preserve"
23371+ filename="src/adw-tab-view.c"
23372+ line="3717">the shortcuts to add</doc>
23373+ <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
23374+ </parameter>
23375+ </parameters>
23376+ </method>
23377+ <method name="append" c:identifier="adw_tab_view_append">
23378+ <doc xml:space="preserve"
23379+ filename="src/adw-tab-view.c"
23380+ line="4015">Inserts @child as the last non-pinned page.</doc>
23381+ <source-position filename="src/adw-tab-view.h" line="212"/>
23382+ <return-value transfer-ownership="none">
23383+ <doc xml:space="preserve"
23384+ filename="src/adw-tab-view.c"
23385+ line="4022">the page object representing @child</doc>
23386+ <type name="TabPage" c:type="AdwTabPage*"/>
23387+ </return-value>
23388+ <parameters>
23389+ <instance-parameter name="self" transfer-ownership="none">
23390+ <doc xml:space="preserve"
23391+ filename="src/adw-tab-view.c"
23392+ line="4017">a tab view</doc>
23393+ <type name="TabView" c:type="AdwTabView*"/>
23394+ </instance-parameter>
23395+ <parameter name="child" transfer-ownership="none">
23396+ <doc xml:space="preserve"
23397+ filename="src/adw-tab-view.c"
23398+ line="4018">a widget to add</doc>
23399+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23400+ </parameter>
23401+ </parameters>
23402+ </method>
23403+ <method name="append_pinned" c:identifier="adw_tab_view_append_pinned">
23404+ <doc xml:space="preserve"
23405+ filename="src/adw-tab-view.c"
23406+ line="4079">Inserts @child as the last pinned page.</doc>
23407+ <source-position filename="src/adw-tab-view.h" line="223"/>
23408+ <return-value transfer-ownership="none">
23409+ <doc xml:space="preserve"
23410+ filename="src/adw-tab-view.c"
23411+ line="4086">the page object representing @child</doc>
23412+ <type name="TabPage" c:type="AdwTabPage*"/>
23413+ </return-value>
23414+ <parameters>
23415+ <instance-parameter name="self" transfer-ownership="none">
23416+ <doc xml:space="preserve"
23417+ filename="src/adw-tab-view.c"
23418+ line="4081">a tab view</doc>
23419+ <type name="TabView" c:type="AdwTabView*"/>
23420+ </instance-parameter>
23421+ <parameter name="child" transfer-ownership="none">
23422+ <doc xml:space="preserve"
23423+ filename="src/adw-tab-view.c"
23424+ line="4082">a widget to add</doc>
23425+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23426+ </parameter>
23427+ </parameters>
23428+ </method>
23429+ <method name="close_other_pages"
23430+ c:identifier="adw_tab_view_close_other_pages">
23431+ <doc xml:space="preserve"
23432+ filename="src/adw-tab-view.c"
23433+ line="4179">Requests to close all pages other than @page.</doc>
23434+ <source-position filename="src/adw-tab-view.h" line="235"/>
23435+ <return-value transfer-ownership="none">
23436+ <type name="none" c:type="void"/>
23437+ </return-value>
23438+ <parameters>
23439+ <instance-parameter name="self" transfer-ownership="none">
23440+ <doc xml:space="preserve"
23441+ filename="src/adw-tab-view.c"
23442+ line="4181">a tab view</doc>
23443+ <type name="TabView" c:type="AdwTabView*"/>
23444+ </instance-parameter>
23445+ <parameter name="page" transfer-ownership="none">
23446+ <doc xml:space="preserve"
23447+ filename="src/adw-tab-view.c"
23448+ line="4182">a page of @self</doc>
23449+ <type name="TabPage" c:type="AdwTabPage*"/>
23450+ </parameter>
23451+ </parameters>
23452+ </method>
23453+ <method name="close_page" c:identifier="adw_tab_view_close_page">
23454+ <doc xml:space="preserve"
23455+ filename="src/adw-tab-view.c"
23456+ line="4098">Requests to close @page.
23457+
23458+Calling this function will result in the [signal@TabView::close-page] signal
23459+being emitted for @page. Closing the page can then be confirmed or
23460+denied via [method@TabView.close_page_finish].
23461+
23462+If the page is waiting for a [method@TabView.close_page_finish] call, this
23463+function will do nothing.
23464+
23465+The default handler for [signal@TabView::close-page] will immediately confirm
23466+closing the page if it's non-pinned, or reject it if it's pinned. This
23467+behavior can be changed by registering your own handler for that signal.
23468+
23469+If @page was selected, another page will be selected instead:
23470+
23471+If the [property@TabPage:parent] value is `NULL`, the next page will be
23472+selected when possible, or if the page was already last, the previous page
23473+will be selected instead.
23474+
23475+If it's not `NULL`, the previous page will be selected if it's a descendant
23476+(possibly indirect) of the parent. If both the previous page and the parent
23477+are pinned, the parent will be selected instead.</doc>
23478+ <source-position filename="src/adw-tab-view.h" line="227"/>
23479+ <return-value transfer-ownership="none">
23480+ <type name="none" c:type="void"/>
23481+ </return-value>
23482+ <parameters>
23483+ <instance-parameter name="self" transfer-ownership="none">
23484+ <doc xml:space="preserve"
23485+ filename="src/adw-tab-view.c"
23486+ line="4100">a tab view</doc>
23487+ <type name="TabView" c:type="AdwTabView*"/>
23488+ </instance-parameter>
23489+ <parameter name="page" transfer-ownership="none">
23490+ <doc xml:space="preserve"
23491+ filename="src/adw-tab-view.c"
23492+ line="4101">a page of @self</doc>
23493+ <type name="TabPage" c:type="AdwTabPage*"/>
23494+ </parameter>
23495+ </parameters>
23496+ </method>
23497+ <method name="close_page_finish"
23498+ c:identifier="adw_tab_view_close_page_finish">
23499+ <doc xml:space="preserve"
23500+ filename="src/adw-tab-view.c"
23501+ line="4143">Completes a [method@TabView.close_page] call for @page.
23502+
23503+If @confirm is `TRUE`, @page will be closed. If it's `FALSE`, it will be
23504+reverted to its previous state and [method@TabView.close_page] can be called
23505+for it again.
23506+
23507+This function should not be called unless a custom handler for
23508+[signal@TabView::close-page] is used.</doc>
23509+ <source-position filename="src/adw-tab-view.h" line="230"/>
23510+ <return-value transfer-ownership="none">
23511+ <type name="none" c:type="void"/>
23512+ </return-value>
23513+ <parameters>
23514+ <instance-parameter name="self" transfer-ownership="none">
23515+ <doc xml:space="preserve"
23516+ filename="src/adw-tab-view.c"
23517+ line="4145">a tab view</doc>
23518+ <type name="TabView" c:type="AdwTabView*"/>
23519+ </instance-parameter>
23520+ <parameter name="page" transfer-ownership="none">
23521+ <doc xml:space="preserve"
23522+ filename="src/adw-tab-view.c"
23523+ line="4146">a page of @self</doc>
23524+ <type name="TabPage" c:type="AdwTabPage*"/>
23525+ </parameter>
23526+ <parameter name="confirm" transfer-ownership="none">
23527+ <doc xml:space="preserve"
23528+ filename="src/adw-tab-view.c"
23529+ line="4147">whether to confirm or deny closing @page</doc>
23530+ <type name="gboolean" c:type="gboolean"/>
23531+ </parameter>
23532+ </parameters>
23533+ </method>
23534+ <method name="close_pages_after"
23535+ c:identifier="adw_tab_view_close_pages_after">
23536+ <doc xml:space="preserve"
23537+ filename="src/adw-tab-view.c"
23538+ line="4232">Requests to close all pages after @page.</doc>
23539+ <source-position filename="src/adw-tab-view.h" line="241"/>
23540+ <return-value transfer-ownership="none">
23541+ <type name="none" c:type="void"/>
23542+ </return-value>
23543+ <parameters>
23544+ <instance-parameter name="self" transfer-ownership="none">
23545+ <doc xml:space="preserve"
23546+ filename="src/adw-tab-view.c"
23547+ line="4234">a tab view</doc>
23548+ <type name="TabView" c:type="AdwTabView*"/>
23549+ </instance-parameter>
23550+ <parameter name="page" transfer-ownership="none">
23551+ <doc xml:space="preserve"
23552+ filename="src/adw-tab-view.c"
23553+ line="4235">a page of @self</doc>
23554+ <type name="TabPage" c:type="AdwTabPage*"/>
23555+ </parameter>
23556+ </parameters>
23557+ </method>
23558+ <method name="close_pages_before"
23559+ c:identifier="adw_tab_view_close_pages_before">
23560+ <doc xml:space="preserve"
23561+ filename="src/adw-tab-view.c"
23562+ line="4206">Requests to close all pages before @page.</doc>
23563+ <source-position filename="src/adw-tab-view.h" line="238"/>
23564+ <return-value transfer-ownership="none">
23565+ <type name="none" c:type="void"/>
23566+ </return-value>
23567+ <parameters>
23568+ <instance-parameter name="self" transfer-ownership="none">
23569+ <doc xml:space="preserve"
23570+ filename="src/adw-tab-view.c"
23571+ line="4208">a tab view</doc>
23572+ <type name="TabView" c:type="AdwTabView*"/>
23573+ </instance-parameter>
23574+ <parameter name="page" transfer-ownership="none">
23575+ <doc xml:space="preserve"
23576+ filename="src/adw-tab-view.c"
23577+ line="4209">a page of @self</doc>
23578+ <type name="TabPage" c:type="AdwTabPage*"/>
23579+ </parameter>
23580+ </parameters>
23581+ </method>
23582+ <method name="get_default_icon"
23583+ c:identifier="adw_tab_view_get_default_icon"
23584+ glib:get-property="default-icon">
23585+ <attribute name="org.gtk.Method.get_property" value="default-icon"/>
23586+ <doc xml:space="preserve"
23587+ filename="src/adw-tab-view.c"
23588+ line="3567">Gets the default icon of @self.</doc>
23589+ <source-position filename="src/adw-tab-view.h" line="159"/>
23590+ <return-value transfer-ownership="none">
23591+ <doc xml:space="preserve"
23592+ filename="src/adw-tab-view.c"
23593+ line="3573">the default icon of @self.</doc>
23594+ <type name="Gio.Icon" c:type="GIcon*"/>
23595+ </return-value>
23596+ <parameters>
23597+ <instance-parameter name="self" transfer-ownership="none">
23598+ <doc xml:space="preserve"
23599+ filename="src/adw-tab-view.c"
23600+ line="3569">a tab view</doc>
23601+ <type name="TabView" c:type="AdwTabView*"/>
23602+ </instance-parameter>
23603+ </parameters>
23604+ </method>
23605+ <method name="get_is_transferring_page"
23606+ c:identifier="adw_tab_view_get_is_transferring_page"
23607+ glib:get-property="is-transferring-page">
23608+ <attribute name="org.gtk.Method.get_property"
23609+ value="is-transferring-page"/>
23610+ <doc xml:space="preserve"
23611+ filename="src/adw-tab-view.c"
23612+ line="3382">Whether a page is being transferred.
23613+
23614+The corresponding property will be set to `TRUE` when a drag-n-drop tab
23615+transfer starts on any `AdwTabView`, and to `FALSE` after it ends.
23616+
23617+During the transfer, children cannot receive pointer input and a tab can
23618+be safely dropped on the tab view.</doc>
23619+ <source-position filename="src/adw-tab-view.h" line="145"/>
23620+ <return-value transfer-ownership="none">
23621+ <doc xml:space="preserve"
23622+ filename="src/adw-tab-view.c"
23623+ line="3394">whether a page is being transferred</doc>
23624+ <type name="gboolean" c:type="gboolean"/>
23625+ </return-value>
23626+ <parameters>
23627+ <instance-parameter name="self" transfer-ownership="none">
23628+ <doc xml:space="preserve"
23629+ filename="src/adw-tab-view.c"
23630+ line="3384">a tab view</doc>
23631+ <type name="TabView" c:type="AdwTabView*"/>
23632+ </instance-parameter>
23633+ </parameters>
23634+ </method>
23635+ <method name="get_menu_model"
23636+ c:identifier="adw_tab_view_get_menu_model"
23637+ glib:get-property="menu-model">
23638+ <attribute name="org.gtk.Method.get_property" value="menu-model"/>
23639+ <doc xml:space="preserve"
23640+ filename="src/adw-tab-view.c"
23641+ line="3624">Gets the tab context menu model for @self.</doc>
23642+ <source-position filename="src/adw-tab-view.h" line="165"/>
23643+ <return-value transfer-ownership="none" nullable="1">
23644+ <doc xml:space="preserve"
23645+ filename="src/adw-tab-view.c"
23646+ line="3630">the tab context menu model for @self</doc>
23647+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
23648+ </return-value>
23649+ <parameters>
23650+ <instance-parameter name="self" transfer-ownership="none">
23651+ <doc xml:space="preserve"
23652+ filename="src/adw-tab-view.c"
23653+ line="3626">a tab view</doc>
23654+ <type name="TabView" c:type="AdwTabView*"/>
23655+ </instance-parameter>
23656+ </parameters>
23657+ </method>
23658+ <method name="get_n_pages"
23659+ c:identifier="adw_tab_view_get_n_pages"
23660+ glib:get-property="n-pages">
23661+ <attribute name="org.gtk.Method.get_property" value="n-pages"/>
23662+ <doc xml:space="preserve"
23663+ filename="src/adw-tab-view.c"
23664+ line="3348">Gets the number of pages in @self.</doc>
23665+ <source-position filename="src/adw-tab-view.h" line="140"/>
23666+ <return-value transfer-ownership="none">
23667+ <doc xml:space="preserve"
23668+ filename="src/adw-tab-view.c"
23669+ line="3354">the number of pages in @self</doc>
23670+ <type name="gint" c:type="int"/>
23671+ </return-value>
23672+ <parameters>
23673+ <instance-parameter name="self" transfer-ownership="none">
23674+ <doc xml:space="preserve"
23675+ filename="src/adw-tab-view.c"
23676+ line="3350">a tab view</doc>
23677+ <type name="TabView" c:type="AdwTabView*"/>
23678+ </instance-parameter>
23679+ </parameters>
23680+ </method>
23681+ <method name="get_n_pinned_pages"
23682+ c:identifier="adw_tab_view_get_n_pinned_pages"
23683+ glib:get-property="n-pinned-pages">
23684+ <attribute name="org.gtk.Method.get_property" value="n-pinned-pages"/>
23685+ <doc xml:space="preserve"
23686+ filename="src/adw-tab-view.c"
23687+ line="3364">Gets the number of pinned pages in @self.
23688+
23689+See [method@TabView.set_page_pinned].</doc>
23690+ <source-position filename="src/adw-tab-view.h" line="142"/>
23691+ <return-value transfer-ownership="none">
23692+ <doc xml:space="preserve"
23693+ filename="src/adw-tab-view.c"
23694+ line="3372">the number of pinned pages in @self</doc>
23695+ <type name="gint" c:type="int"/>
23696+ </return-value>
23697+ <parameters>
23698+ <instance-parameter name="self" transfer-ownership="none">
23699+ <doc xml:space="preserve"
23700+ filename="src/adw-tab-view.c"
23701+ line="3366">a tab view</doc>
23702+ <type name="TabView" c:type="AdwTabView*"/>
23703+ </instance-parameter>
23704+ </parameters>
23705+ </method>
23706+ <method name="get_nth_page" c:identifier="adw_tab_view_get_nth_page">
23707+ <doc xml:space="preserve"
23708+ filename="src/adw-tab-view.c"
23709+ line="3863">Gets the [class@TabPage] representing the child at @position.</doc>
23710+ <source-position filename="src/adw-tab-view.h" line="192"/>
23711+ <return-value transfer-ownership="none">
23712+ <doc xml:space="preserve"
23713+ filename="src/adw-tab-view.c"
23714+ line="3870">the page object at @position</doc>
23715+ <type name="TabPage" c:type="AdwTabPage*"/>
23716+ </return-value>
23717+ <parameters>
23718+ <instance-parameter name="self" transfer-ownership="none">
23719+ <doc xml:space="preserve"
23720+ filename="src/adw-tab-view.c"
23721+ line="3865">a tab view</doc>
23722+ <type name="TabView" c:type="AdwTabView*"/>
23723+ </instance-parameter>
23724+ <parameter name="position" transfer-ownership="none">
23725+ <doc xml:space="preserve"
23726+ filename="src/adw-tab-view.c"
23727+ line="3866">the index of the page in @self, starting from 0</doc>
23728+ <type name="gint" c:type="int"/>
23729+ </parameter>
23730+ </parameters>
23731+ </method>
23732+ <method name="get_page" c:identifier="adw_tab_view_get_page">
23733+ <doc xml:space="preserve"
23734+ filename="src/adw-tab-view.c"
23735+ line="3834">Gets the [class@TabPage] object representing @child.</doc>
23736+ <source-position filename="src/adw-tab-view.h" line="188"/>
23737+ <return-value transfer-ownership="none">
23738+ <doc xml:space="preserve"
23739+ filename="src/adw-tab-view.c"
23740+ line="3841">the page object for @child</doc>
23741+ <type name="TabPage" c:type="AdwTabPage*"/>
23742+ </return-value>
23743+ <parameters>
23744+ <instance-parameter name="self" transfer-ownership="none">
23745+ <doc xml:space="preserve"
23746+ filename="src/adw-tab-view.c"
23747+ line="3836">a tab view</doc>
23748+ <type name="TabView" c:type="AdwTabView*"/>
23749+ </instance-parameter>
23750+ <parameter name="child" transfer-ownership="none">
23751+ <doc xml:space="preserve"
23752+ filename="src/adw-tab-view.c"
23753+ line="3837">a child in @self</doc>
23754+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23755+ </parameter>
23756+ </parameters>
23757+ </method>
23758+ <method name="get_page_position"
23759+ c:identifier="adw_tab_view_get_page_position">
23760+ <doc xml:space="preserve"
23761+ filename="src/adw-tab-view.c"
23762+ line="3889">Finds the position of @page in @self, starting from 0.</doc>
23763+ <source-position filename="src/adw-tab-view.h" line="196"/>
23764+ <return-value transfer-ownership="none">
23765+ <doc xml:space="preserve"
23766+ filename="src/adw-tab-view.c"
23767+ line="3896">the position of @page in @self</doc>
23768+ <type name="gint" c:type="int"/>
23769+ </return-value>
23770+ <parameters>
23771+ <instance-parameter name="self" transfer-ownership="none">
23772+ <doc xml:space="preserve"
23773+ filename="src/adw-tab-view.c"
23774+ line="3891">a tab view</doc>
23775+ <type name="TabView" c:type="AdwTabView*"/>
23776+ </instance-parameter>
23777+ <parameter name="page" transfer-ownership="none">
23778+ <doc xml:space="preserve"
23779+ filename="src/adw-tab-view.c"
23780+ line="3892">a page of @self</doc>
23781+ <type name="TabPage" c:type="AdwTabPage*"/>
23782+ </parameter>
23783+ </parameters>
23784+ </method>
23785+ <method name="get_pages"
23786+ c:identifier="adw_tab_view_get_pages"
23787+ glib:get-property="pages">
23788+ <attribute name="org.gtk.Method.get_property" value="pages"/>
23789+ <doc xml:space="preserve"
23790+ filename="src/adw-tab-view.c"
23791+ line="4504">Returns a [iface@Gio.ListModel] that contains the pages of @self.
23792+
23793+This can be used to keep an up-to-date view. The model also implements
23794+[iface@Gtk.SelectionModel] and can be used to track and change the selected
23795+page.</doc>
23796+ <source-position filename="src/adw-tab-view.h" line="268"/>
23797+ <return-value transfer-ownership="full">
23798+ <doc xml:space="preserve"
23799+ filename="src/adw-tab-view.c"
23800+ line="4514">a `GtkSelectionModel` for the pages of @self</doc>
23801+ <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
23802+ </return-value>
23803+ <parameters>
23804+ <instance-parameter name="self" transfer-ownership="none">
23805+ <doc xml:space="preserve"
23806+ filename="src/adw-tab-view.c"
23807+ line="4506">a tab view</doc>
23808+ <type name="TabView" c:type="AdwTabView*"/>
23809+ </instance-parameter>
23810+ </parameters>
23811+ </method>
23812+ <method name="get_selected_page"
23813+ c:identifier="adw_tab_view_get_selected_page"
23814+ glib:get-property="selected-page">
23815+ <attribute name="org.gtk.Method.get_property" value="selected-page"/>
23816+ <doc xml:space="preserve"
23817+ filename="src/adw-tab-view.c"
23818+ line="3404">Gets the currently selected page in @self.</doc>
23819+ <source-position filename="src/adw-tab-view.h" line="148"/>
23820+ <return-value transfer-ownership="none" nullable="1">
23821+ <doc xml:space="preserve"
23822+ filename="src/adw-tab-view.c"
23823+ line="3410">the selected page</doc>
23824+ <type name="TabPage" c:type="AdwTabPage*"/>
23825+ </return-value>
23826+ <parameters>
23827+ <instance-parameter name="self" transfer-ownership="none">
23828+ <doc xml:space="preserve"
23829+ filename="src/adw-tab-view.c"
23830+ line="3406">a tab view</doc>
23831+ <type name="TabView" c:type="AdwTabView*"/>
23832+ </instance-parameter>
23833+ </parameters>
23834+ </method>
23835+ <method name="get_shortcuts"
23836+ c:identifier="adw_tab_view_get_shortcuts"
23837+ glib:get-property="shortcuts"
23838+ version="1.2">
23839+ <attribute name="org.gtk.Method.get_property" value="shortcuts"/>
23840+ <doc xml:space="preserve"
23841+ filename="src/adw-tab-view.c"
23842+ line="3666">Gets the enabled shortcuts for @self.</doc>
23843+ <source-position filename="src/adw-tab-view.h" line="171"/>
23844+ <return-value transfer-ownership="none">
23845+ <doc xml:space="preserve"
23846+ filename="src/adw-tab-view.c"
23847+ line="3672">the shortcut mask</doc>
23848+ <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
23849+ </return-value>
23850+ <parameters>
23851+ <instance-parameter name="self" transfer-ownership="none">
23852+ <doc xml:space="preserve"
23853+ filename="src/adw-tab-view.c"
23854+ line="3668">a tab view</doc>
23855+ <type name="TabView" c:type="AdwTabView*"/>
23856+ </instance-parameter>
23857+ </parameters>
23858+ </method>
23859+ <method name="insert" c:identifier="adw_tab_view_insert">
23860+ <doc xml:space="preserve"
23861+ filename="src/adw-tab-view.c"
23862+ line="3970">Inserts a non-pinned page at @position.
23863+
23864+It's an error to try to insert a page before a pinned page, in that case
23865+[method@TabView.insert_pinned] should be used instead.</doc>
23866+ <source-position filename="src/adw-tab-view.h" line="205"/>
23867+ <return-value transfer-ownership="none">
23868+ <doc xml:space="preserve"
23869+ filename="src/adw-tab-view.c"
23870+ line="3981">the page object representing @child</doc>
23871+ <type name="TabPage" c:type="AdwTabPage*"/>
23872+ </return-value>
23873+ <parameters>
23874+ <instance-parameter name="self" transfer-ownership="none">
23875+ <doc xml:space="preserve"
23876+ filename="src/adw-tab-view.c"
23877+ line="3972">a tab view</doc>
23878+ <type name="TabView" c:type="AdwTabView*"/>
23879+ </instance-parameter>
23880+ <parameter name="child" transfer-ownership="none">
23881+ <doc xml:space="preserve"
23882+ filename="src/adw-tab-view.c"
23883+ line="3973">a widget to add</doc>
23884+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23885+ </parameter>
23886+ <parameter name="position" transfer-ownership="none">
23887+ <doc xml:space="preserve"
23888+ filename="src/adw-tab-view.c"
23889+ line="3974">the position to add @child at, starting from 0</doc>
23890+ <type name="gint" c:type="int"/>
23891+ </parameter>
23892+ </parameters>
23893+ </method>
23894+ <method name="insert_pinned" c:identifier="adw_tab_view_insert_pinned">
23895+ <doc xml:space="preserve"
23896+ filename="src/adw-tab-view.c"
23897+ line="4034">Inserts a pinned page at @position.
23898+
23899+It's an error to try to insert a pinned page after a non-pinned page, in
23900+that case [method@TabView.insert] should be used instead.</doc>
23901+ <source-position filename="src/adw-tab-view.h" line="216"/>
23902+ <return-value transfer-ownership="none">
23903+ <doc xml:space="preserve"
23904+ filename="src/adw-tab-view.c"
23905+ line="4045">the page object representing @child</doc>
23906+ <type name="TabPage" c:type="AdwTabPage*"/>
23907+ </return-value>
23908+ <parameters>
23909+ <instance-parameter name="self" transfer-ownership="none">
23910+ <doc xml:space="preserve"
23911+ filename="src/adw-tab-view.c"
23912+ line="4036">a tab view</doc>
23913+ <type name="TabView" c:type="AdwTabView*"/>
23914+ </instance-parameter>
23915+ <parameter name="child" transfer-ownership="none">
23916+ <doc xml:space="preserve"
23917+ filename="src/adw-tab-view.c"
23918+ line="4037">a widget to add</doc>
23919+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23920+ </parameter>
23921+ <parameter name="position" transfer-ownership="none">
23922+ <doc xml:space="preserve"
23923+ filename="src/adw-tab-view.c"
23924+ line="4038">the position to add @child at, starting from 0</doc>
23925+ <type name="gint" c:type="int"/>
23926+ </parameter>
23927+ </parameters>
23928+ </method>
23929+ <method name="invalidate_thumbnails"
23930+ c:identifier="adw_tab_view_invalidate_thumbnails"
23931+ version="1.3">
23932+ <doc xml:space="preserve"
23933+ filename="src/adw-tab-view.c"
23934+ line="4531">Invalidates thumbnails for all pages in @self.
23935+
23936+This is a convenience method, equivalent to calling
23937+[method@TabPage.invalidate_thumbnail] on each page.</doc>
23938+ <source-position filename="src/adw-tab-view.h" line="271"/>
23939+ <return-value transfer-ownership="none">
23940+ <type name="none" c:type="void"/>
23941+ </return-value>
23942+ <parameters>
23943+ <instance-parameter name="self" transfer-ownership="none">
23944+ <doc xml:space="preserve"
23945+ filename="src/adw-tab-view.c"
23946+ line="4533">a tab view</doc>
23947+ <type name="TabView" c:type="AdwTabView*"/>
23948+ </instance-parameter>
23949+ </parameters>
23950+ </method>
23951+ <method name="prepend" c:identifier="adw_tab_view_prepend">
23952+ <doc xml:space="preserve"
23953+ filename="src/adw-tab-view.c"
23954+ line="3996">Inserts @child as the first non-pinned page.</doc>
23955+ <source-position filename="src/adw-tab-view.h" line="209"/>
23956+ <return-value transfer-ownership="none">
23957+ <doc xml:space="preserve"
23958+ filename="src/adw-tab-view.c"
23959+ line="4003">the page object representing @child</doc>
23960+ <type name="TabPage" c:type="AdwTabPage*"/>
23961+ </return-value>
23962+ <parameters>
23963+ <instance-parameter name="self" transfer-ownership="none">
23964+ <doc xml:space="preserve"
23965+ filename="src/adw-tab-view.c"
23966+ line="3998">a tab view</doc>
23967+ <type name="TabView" c:type="AdwTabView*"/>
23968+ </instance-parameter>
23969+ <parameter name="child" transfer-ownership="none">
23970+ <doc xml:space="preserve"
23971+ filename="src/adw-tab-view.c"
23972+ line="3999">a widget to add</doc>
23973+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
23974+ </parameter>
23975+ </parameters>
23976+ </method>
23977+ <method name="prepend_pinned" c:identifier="adw_tab_view_prepend_pinned">
23978+ <doc xml:space="preserve"
23979+ filename="src/adw-tab-view.c"
23980+ line="4060">Inserts @child as the first pinned page.</doc>
23981+ <source-position filename="src/adw-tab-view.h" line="220"/>
23982+ <return-value transfer-ownership="none">
23983+ <doc xml:space="preserve"
23984+ filename="src/adw-tab-view.c"
23985+ line="4067">the page object representing @child</doc>
23986+ <type name="TabPage" c:type="AdwTabPage*"/>
23987+ </return-value>
23988+ <parameters>
23989+ <instance-parameter name="self" transfer-ownership="none">
23990+ <doc xml:space="preserve"
23991+ filename="src/adw-tab-view.c"
23992+ line="4062">a tab view</doc>
23993+ <type name="TabView" c:type="AdwTabView*"/>
23994+ </instance-parameter>
23995+ <parameter name="child" transfer-ownership="none">
23996+ <doc xml:space="preserve"
23997+ filename="src/adw-tab-view.c"
23998+ line="4063">a widget to add</doc>
23999+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
24000+ </parameter>
24001+ </parameters>
24002+ </method>
24003+ <method name="remove_shortcuts"
24004+ c:identifier="adw_tab_view_remove_shortcuts"
24005+ version="1.2">
24006+ <doc xml:space="preserve"
24007+ filename="src/adw-tab-view.c"
24008+ line="3735">Removes @shortcuts from @self.
24009+
24010+See [property@TabView:shortcuts] for details.</doc>
24011+ <source-position filename="src/adw-tab-view.h" line="179"/>
24012+ <return-value transfer-ownership="none">
24013+ <type name="none" c:type="void"/>
24014+ </return-value>
24015+ <parameters>
24016+ <instance-parameter name="self" transfer-ownership="none">
24017+ <doc xml:space="preserve"
24018+ filename="src/adw-tab-view.c"
24019+ line="3737">a tab view</doc>
24020+ <type name="TabView" c:type="AdwTabView*"/>
24021+ </instance-parameter>
24022+ <parameter name="shortcuts" transfer-ownership="none">
24023+ <doc xml:space="preserve"
24024+ filename="src/adw-tab-view.c"
24025+ line="3738">the shortcuts to reomve</doc>
24026+ <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
24027+ </parameter>
24028+ </parameters>
24029+ </method>
24030+ <method name="reorder_backward"
24031+ c:identifier="adw_tab_view_reorder_backward">
24032+ <doc xml:space="preserve"
24033+ filename="src/adw-tab-view.c"
24034+ line="4314">Reorders @page to before its previous page if possible.</doc>
24035+ <source-position filename="src/adw-tab-view.h" line="249"/>
24036+ <return-value transfer-ownership="none">
24037+ <doc xml:space="preserve"
24038+ filename="src/adw-tab-view.c"
24039+ line="4321">whether @page was moved</doc>
24040+ <type name="gboolean" c:type="gboolean"/>
24041+ </return-value>
24042+ <parameters>
24043+ <instance-parameter name="self" transfer-ownership="none">
24044+ <doc xml:space="preserve"
24045+ filename="src/adw-tab-view.c"
24046+ line="4316">a tab view</doc>
24047+ <type name="TabView" c:type="AdwTabView*"/>
24048+ </instance-parameter>
24049+ <parameter name="page" transfer-ownership="none">
24050+ <doc xml:space="preserve"
24051+ filename="src/adw-tab-view.c"
24052+ line="4317">a page of @self</doc>
24053+ <type name="TabPage" c:type="AdwTabPage*"/>
24054+ </parameter>
24055+ </parameters>
24056+ </method>
24057+ <method name="reorder_first" c:identifier="adw_tab_view_reorder_first">
24058+ <doc xml:space="preserve"
24059+ filename="src/adw-tab-view.c"
24060+ line="4376">Reorders @page to the first possible position.</doc>
24061+ <source-position filename="src/adw-tab-view.h" line="255"/>
24062+ <return-value transfer-ownership="none">
24063+ <doc xml:space="preserve"
24064+ filename="src/adw-tab-view.c"
24065+ line="4383">whether @page was moved</doc>
24066+ <type name="gboolean" c:type="gboolean"/>
24067+ </return-value>
24068+ <parameters>
24069+ <instance-parameter name="self" transfer-ownership="none">
24070+ <doc xml:space="preserve"
24071+ filename="src/adw-tab-view.c"
24072+ line="4378">a tab view</doc>
24073+ <type name="TabView" c:type="AdwTabView*"/>
24074+ </instance-parameter>
24075+ <parameter name="page" transfer-ownership="none">
24076+ <doc xml:space="preserve"
24077+ filename="src/adw-tab-view.c"
24078+ line="4379">a page of @self</doc>
24079+ <type name="TabPage" c:type="AdwTabPage*"/>
24080+ </parameter>
24081+ </parameters>
24082+ </method>
24083+ <method name="reorder_forward"
24084+ c:identifier="adw_tab_view_reorder_forward">
24085+ <doc xml:space="preserve"
24086+ filename="src/adw-tab-view.c"
24087+ line="4345">Reorders @page to after its next page if possible.</doc>
24088+ <source-position filename="src/adw-tab-view.h" line="252"/>
24089+ <return-value transfer-ownership="none">
24090+ <doc xml:space="preserve"
24091+ filename="src/adw-tab-view.c"
24092+ line="4352">whether @page was moved</doc>
24093+ <type name="gboolean" c:type="gboolean"/>
24094+ </return-value>
24095+ <parameters>
24096+ <instance-parameter name="self" transfer-ownership="none">
24097+ <doc xml:space="preserve"
24098+ filename="src/adw-tab-view.c"
24099+ line="4347">a tab view</doc>
24100+ <type name="TabView" c:type="AdwTabView*"/>
24101+ </instance-parameter>
24102+ <parameter name="page" transfer-ownership="none">
24103+ <doc xml:space="preserve"
24104+ filename="src/adw-tab-view.c"
24105+ line="4348">a page of @self</doc>
24106+ <type name="TabPage" c:type="AdwTabPage*"/>
24107+ </parameter>
24108+ </parameters>
24109+ </method>
24110+ <method name="reorder_last" c:identifier="adw_tab_view_reorder_last">
24111+ <doc xml:space="preserve"
24112+ filename="src/adw-tab-view.c"
24113+ line="4402">Reorders @page to the last possible position.</doc>
24114+ <source-position filename="src/adw-tab-view.h" line="258"/>
24115+ <return-value transfer-ownership="none">
24116+ <doc xml:space="preserve"
24117+ filename="src/adw-tab-view.c"
24118+ line="4409">whether @page was moved</doc>
24119+ <type name="gboolean" c:type="gboolean"/>
24120+ </return-value>
24121+ <parameters>
24122+ <instance-parameter name="self" transfer-ownership="none">
24123+ <doc xml:space="preserve"
24124+ filename="src/adw-tab-view.c"
24125+ line="4404">a tab view</doc>
24126+ <type name="TabView" c:type="AdwTabView*"/>
24127+ </instance-parameter>
24128+ <parameter name="page" transfer-ownership="none">
24129+ <doc xml:space="preserve"
24130+ filename="src/adw-tab-view.c"
24131+ line="4405">a page of @self</doc>
24132+ <type name="TabPage" c:type="AdwTabPage*"/>
24133+ </parameter>
24134+ </parameters>
24135+ </method>
24136+ <method name="reorder_page" c:identifier="adw_tab_view_reorder_page">
24137+ <doc xml:space="preserve"
24138+ filename="src/adw-tab-view.c"
24139+ line="4258">Reorders @page to @position.
24140+
24141+It's a programmer error to try to reorder a pinned page after a non-pinned
24142+one, or a non-pinned page before a pinned one.</doc>
24143+ <source-position filename="src/adw-tab-view.h" line="245"/>
24144+ <return-value transfer-ownership="none">
24145+ <doc xml:space="preserve"
24146+ filename="src/adw-tab-view.c"
24147+ line="4269">whether @page was moved</doc>
24148+ <type name="gboolean" c:type="gboolean"/>
24149+ </return-value>
24150+ <parameters>
24151+ <instance-parameter name="self" transfer-ownership="none">
24152+ <doc xml:space="preserve"
24153+ filename="src/adw-tab-view.c"
24154+ line="4260">a tab view</doc>
24155+ <type name="TabView" c:type="AdwTabView*"/>
24156+ </instance-parameter>
24157+ <parameter name="page" transfer-ownership="none">
24158+ <doc xml:space="preserve"
24159+ filename="src/adw-tab-view.c"
24160+ line="4261">a page of @self</doc>
24161+ <type name="TabPage" c:type="AdwTabPage*"/>
24162+ </parameter>
24163+ <parameter name="position" transfer-ownership="none">
24164+ <doc xml:space="preserve"
24165+ filename="src/adw-tab-view.c"
24166+ line="4262">the position to insert the page at, starting at 0</doc>
24167+ <type name="gint" c:type="int"/>
24168+ </parameter>
24169+ </parameters>
24170+ </method>
24171+ <method name="select_next_page"
24172+ c:identifier="adw_tab_view_select_next_page">
24173+ <doc xml:space="preserve"
24174+ filename="src/adw-tab-view.c"
24175+ line="3476">Selects the page after the currently selected page.
24176+
24177+If the last page was already selected, this function does nothing.</doc>
24178+ <source-position filename="src/adw-tab-view.h" line="156"/>
24179+ <return-value transfer-ownership="none">
24180+ <doc xml:space="preserve"
24181+ filename="src/adw-tab-view.c"
24182+ line="3484">whether the selected page was changed</doc>
24183+ <type name="gboolean" c:type="gboolean"/>
24184+ </return-value>
24185+ <parameters>
24186+ <instance-parameter name="self" transfer-ownership="none">
24187+ <doc xml:space="preserve"
24188+ filename="src/adw-tab-view.c"
24189+ line="3478">a tab view</doc>
24190+ <type name="TabView" c:type="AdwTabView*"/>
24191+ </instance-parameter>
24192+ </parameters>
24193+ </method>
24194+ <method name="select_previous_page"
24195+ c:identifier="adw_tab_view_select_previous_page">
24196+ <doc xml:space="preserve"
24197+ filename="src/adw-tab-view.c"
24198+ line="3443">Selects the page before the currently selected page.
24199+
24200+If the first page was already selected, this function does nothing.</doc>
24201+ <source-position filename="src/adw-tab-view.h" line="154"/>
24202+ <return-value transfer-ownership="none">
24203+ <doc xml:space="preserve"
24204+ filename="src/adw-tab-view.c"
24205+ line="3451">whether the selected page was changed</doc>
24206+ <type name="gboolean" c:type="gboolean"/>
24207+ </return-value>
24208+ <parameters>
24209+ <instance-parameter name="self" transfer-ownership="none">
24210+ <doc xml:space="preserve"
24211+ filename="src/adw-tab-view.c"
24212+ line="3445">a tab view</doc>
24213+ <type name="TabView" c:type="AdwTabView*"/>
24214+ </instance-parameter>
24215+ </parameters>
24216+ </method>
24217+ <method name="set_default_icon"
24218+ c:identifier="adw_tab_view_set_default_icon"
24219+ glib:set-property="default-icon">
24220+ <attribute name="org.gtk.Method.set_property" value="default-icon"/>
24221+ <doc xml:space="preserve"
24222+ filename="src/adw-tab-view.c"
24223+ line="3583">Sets the default page icon for @self.
24224+
24225+If a page doesn't provide its own icon via [property@TabPage:icon], a default
24226+icon may be used instead for contexts where having an icon is necessary.
24227+
24228+[class@TabBar] will use default icon for pinned tabs in case the page is not
24229+loading, doesn't have an icon and an indicator. Default icon is never used
24230+for tabs that aren't pinned.
24231+
24232+[class@TabOverview] will use default icon for pages with missing thumbnails.
24233+
24234+By default, the `adw-tab-icon-missing-symbolic` icon is used.</doc>
24235+ <source-position filename="src/adw-tab-view.h" line="161"/>
24236+ <return-value transfer-ownership="none">
24237+ <type name="none" c:type="void"/>
24238+ </return-value>
24239+ <parameters>
24240+ <instance-parameter name="self" transfer-ownership="none">
24241+ <doc xml:space="preserve"
24242+ filename="src/adw-tab-view.c"
24243+ line="3585">a tab view</doc>
24244+ <type name="TabView" c:type="AdwTabView*"/>
24245+ </instance-parameter>
24246+ <parameter name="default_icon" transfer-ownership="none">
24247+ <doc xml:space="preserve"
24248+ filename="src/adw-tab-view.c"
24249+ line="3586">the default icon</doc>
24250+ <type name="Gio.Icon" c:type="GIcon*"/>
24251+ </parameter>
24252+ </parameters>
24253+ </method>
24254+ <method name="set_menu_model"
24255+ c:identifier="adw_tab_view_set_menu_model"
24256+ glib:set-property="menu-model">
24257+ <attribute name="org.gtk.Method.set_property" value="menu-model"/>
24258+ <doc xml:space="preserve"
24259+ filename="src/adw-tab-view.c"
24260+ line="3640">Sets the tab context menu model for @self.
24261+
24262+When a context menu is shown for a tab, it will be constructed from the
24263+provided menu model. Use the [signal@TabView::setup-menu] signal to set up
24264+the menu actions for the particular tab.</doc>
24265+ <source-position filename="src/adw-tab-view.h" line="167"/>
24266+ <return-value transfer-ownership="none">
24267+ <type name="none" c:type="void"/>
24268+ </return-value>
24269+ <parameters>
24270+ <instance-parameter name="self" transfer-ownership="none">
24271+ <doc xml:space="preserve"
24272+ filename="src/adw-tab-view.c"
24273+ line="3642">a tab view</doc>
24274+ <type name="TabView" c:type="AdwTabView*"/>
24275+ </instance-parameter>
24276+ <parameter name="menu_model"
24277+ transfer-ownership="none"
24278+ nullable="1"
24279+ allow-none="1">
24280+ <doc xml:space="preserve"
24281+ filename="src/adw-tab-view.c"
24282+ line="3643">a menu model</doc>
24283+ <type name="Gio.MenuModel" c:type="GMenuModel*"/>
24284+ </parameter>
24285+ </parameters>
24286+ </method>
24287+ <method name="set_page_pinned"
24288+ c:identifier="adw_tab_view_set_page_pinned">
24289+ <doc xml:space="preserve"
24290+ filename="src/adw-tab-view.c"
24291+ line="3756">Pins or unpins @page.
24292+
24293+Pinned pages are guaranteed to be placed before all non-pinned pages; at any
24294+given moment the first [property@TabView:n-pinned-pages] pages in @self are
24295+guaranteed to be pinned.
24296+
24297+When a page is pinned or unpinned, it's automatically reordered: pinning a
24298+page moves it after other pinned pages; unpinning a page moves it before
24299+other non-pinned pages.
24300+
24301+Pinned pages can still be reordered between each other.
24302+
24303+[class@TabBar] will display pinned pages in a compact form, never showing the
24304+title or close button, and only showing a single icon, selected in the
24305+following order:
24306+
24307+1. [property@TabPage:indicator-icon]
24308+2. A spinner if [property@TabPage:loading] is `TRUE`
24309+3. [property@TabPage:icon]
24310+4. [property@TabView:default-icon]
24311+
24312+[class@TabOverview] will not show a thumbnail for pinned pages, and replace
24313+the close button with an unpin button. Unlike `AdwTabBar`, it will still
24314+display the page's title, icon and indicator separately.
24315+
24316+Pinned pages cannot be closed by default, see [signal@TabView::close-page]
24317+for how to override that behavior.
24318+
24319+Changes the value of the [property@TabPage:pinned] property.</doc>
24320+ <source-position filename="src/adw-tab-view.h" line="183"/>
24321+ <return-value transfer-ownership="none">
24322+ <type name="none" c:type="void"/>
24323+ </return-value>
24324+ <parameters>
24325+ <instance-parameter name="self" transfer-ownership="none">
24326+ <doc xml:space="preserve"
24327+ filename="src/adw-tab-view.c"
24328+ line="3758">a tab view</doc>
24329+ <type name="TabView" c:type="AdwTabView*"/>
24330+ </instance-parameter>
24331+ <parameter name="page" transfer-ownership="none">
24332+ <doc xml:space="preserve"
24333+ filename="src/adw-tab-view.c"
24334+ line="3759">a page of @self</doc>
24335+ <type name="TabPage" c:type="AdwTabPage*"/>
24336+ </parameter>
24337+ <parameter name="pinned" transfer-ownership="none">
24338+ <doc xml:space="preserve"
24339+ filename="src/adw-tab-view.c"
24340+ line="3760">whether @page should be pinned</doc>
24341+ <type name="gboolean" c:type="gboolean"/>
24342+ </parameter>
24343+ </parameters>
24344+ </method>
24345+ <method name="set_selected_page"
24346+ c:identifier="adw_tab_view_set_selected_page"
24347+ glib:set-property="selected-page">
24348+ <attribute name="org.gtk.Method.set_property" value="selected-page"/>
24349+ <doc xml:space="preserve"
24350+ filename="src/adw-tab-view.c"
24351+ line="3420">Sets the currently selected page in @self.</doc>
24352+ <source-position filename="src/adw-tab-view.h" line="150"/>
24353+ <return-value transfer-ownership="none">
24354+ <type name="none" c:type="void"/>
24355+ </return-value>
24356+ <parameters>
24357+ <instance-parameter name="self" transfer-ownership="none">
24358+ <doc xml:space="preserve"
24359+ filename="src/adw-tab-view.c"
24360+ line="3422">a tab view</doc>
24361+ <type name="TabView" c:type="AdwTabView*"/>
24362+ </instance-parameter>
24363+ <parameter name="selected_page" transfer-ownership="none">
24364+ <doc xml:space="preserve"
24365+ filename="src/adw-tab-view.c"
24366+ line="3423">a page in @self</doc>
24367+ <type name="TabPage" c:type="AdwTabPage*"/>
24368+ </parameter>
24369+ </parameters>
24370+ </method>
24371+ <method name="set_shortcuts"
24372+ c:identifier="adw_tab_view_set_shortcuts"
24373+ glib:set-property="shortcuts"
24374+ version="1.2">
24375+ <attribute name="org.gtk.Method.set_property" value="shortcuts"/>
24376+ <doc xml:space="preserve"
24377+ filename="src/adw-tab-view.c"
24378+ line="3684">Sets the enabled shortcuts for @self.
24379+
24380+See [flags@TabViewShortcuts] for the list of the available shortcuts. All of
24381+the shortcuts are enabled by default.
24382+
24383+[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts] provide
24384+a convenient way to manage individual shortcuts.</doc>
24385+ <source-position filename="src/adw-tab-view.h" line="173"/>
24386+ <return-value transfer-ownership="none">
24387+ <type name="none" c:type="void"/>
24388+ </return-value>
24389+ <parameters>
24390+ <instance-parameter name="self" transfer-ownership="none">
24391+ <doc xml:space="preserve"
24392+ filename="src/adw-tab-view.c"
24393+ line="3686">a tab view</doc>
24394+ <type name="TabView" c:type="AdwTabView*"/>
24395+ </instance-parameter>
24396+ <parameter name="shortcuts" transfer-ownership="none">
24397+ <doc xml:space="preserve"
24398+ filename="src/adw-tab-view.c"
24399+ line="3687">the new shortcuts</doc>
24400+ <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
24401+ </parameter>
24402+ </parameters>
24403+ </method>
24404+ <method name="transfer_page" c:identifier="adw_tab_view_transfer_page">
24405+ <doc xml:space="preserve"
24406+ filename="src/adw-tab-view.c"
24407+ line="4466">Transfers @page from @self to @other_view.
24408+
24409+The @page object will be reused.
24410+
24411+It's a programmer error to try to insert a pinned page after a non-pinned
24412+one, or a non-pinned page before a pinned one.</doc>
24413+ <source-position filename="src/adw-tab-view.h" line="262"/>
24414+ <return-value transfer-ownership="none">
24415+ <type name="none" c:type="void"/>
24416+ </return-value>
24417+ <parameters>
24418+ <instance-parameter name="self" transfer-ownership="none">
24419+ <doc xml:space="preserve"
24420+ filename="src/adw-tab-view.c"
24421+ line="4468">a tab view</doc>
24422+ <type name="TabView" c:type="AdwTabView*"/>
24423+ </instance-parameter>
24424+ <parameter name="page" transfer-ownership="none">
24425+ <doc xml:space="preserve"
24426+ filename="src/adw-tab-view.c"
24427+ line="4469">a page of @self</doc>
24428+ <type name="TabPage" c:type="AdwTabPage*"/>
24429+ </parameter>
24430+ <parameter name="other_view" transfer-ownership="none">
24431+ <doc xml:space="preserve"
24432+ filename="src/adw-tab-view.c"
24433+ line="4470">the tab view to transfer the page to</doc>
24434+ <type name="TabView" c:type="AdwTabView*"/>
24435+ </parameter>
24436+ <parameter name="position" transfer-ownership="none">
24437+ <doc xml:space="preserve"
24438+ filename="src/adw-tab-view.c"
24439+ line="4471">the position to insert the page at, starting at 0</doc>
24440+ <type name="gint" c:type="int"/>
24441+ </parameter>
24442+ </parameters>
24443+ </method>
24444+ <property name="default-icon"
24445+ writable="1"
24446+ transfer-ownership="none"
24447+ setter="set_default_icon"
24448+ getter="get_default_icon">
24449+ <attribute name="org.gtk.Property.get"
24450+ value="adw_tab_view_get_default_icon"/>
24451+ <attribute name="org.gtk.Property.set"
24452+ value="adw_tab_view_set_default_icon"/>
24453+ <doc xml:space="preserve"
24454+ filename="src/adw-tab-view.c"
24455+ line="2307">Default page icon.
24456+
24457+If a page doesn't provide its own icon via [property@TabPage:icon], a
24458+default icon may be used instead for contexts where having an icon is
24459+necessary.
24460+
24461+[class@TabBar] will use default icon for pinned tabs in case the page is
24462+not loading, doesn't have an icon and an indicator. Default icon is never
24463+used for tabs that aren't pinned.
24464+
24465+[class@TabOverview] will use default icon for pages with missing
24466+thumbnails.
24467+
24468+By default, the `adw-tab-icon-missing-symbolic` icon is used.</doc>
24469+ <type name="Gio.Icon"/>
24470+ </property>
24471+ <property name="is-transferring-page"
24472+ transfer-ownership="none"
24473+ getter="get_is_transferring_page"
24474+ default-value="FALSE">
24475+ <attribute name="org.gtk.Property.get"
24476+ value="adw_tab_view_get_is_transferring_page"/>
24477+ <doc xml:space="preserve"
24478+ filename="src/adw-tab-view.c"
24479+ line="2281">Whether a page is being transferred.
24480+
24481+This property will be set to `TRUE` when a drag-n-drop tab transfer starts
24482+on any `AdwTabView`, and to `FALSE` after it ends.
24483+
24484+During the transfer, children cannot receive pointer input and a tab can
24485+be safely dropped on the tab view.</doc>
24486+ <type name="gboolean" c:type="gboolean"/>
24487+ </property>
24488+ <property name="menu-model"
24489+ writable="1"
24490+ transfer-ownership="none"
24491+ setter="set_menu_model"
24492+ getter="get_menu_model">
24493+ <attribute name="org.gtk.Property.get"
24494+ value="adw_tab_view_get_menu_model"/>
24495+ <attribute name="org.gtk.Property.set"
24496+ value="adw_tab_view_set_menu_model"/>
24497+ <doc xml:space="preserve"
24498+ filename="src/adw-tab-view.c"
24499+ line="2330">Tab context menu model.
24500+
24501+When a context menu is shown for a tab, it will be constructed from the
24502+provided menu model. Use the [signal@TabView::setup-menu] signal to set up
24503+the menu actions for the particular tab.</doc>
24504+ <type name="Gio.MenuModel"/>
24505+ </property>
24506+ <property name="n-pages"
24507+ transfer-ownership="none"
24508+ getter="get_n_pages"
24509+ default-value="0">
24510+ <attribute name="org.gtk.Property.get"
24511+ value="adw_tab_view_get_n_pages"/>
24512+ <doc xml:space="preserve"
24513+ filename="src/adw-tab-view.c"
24514+ line="2259">The number of pages in the tab view.</doc>
24515+ <type name="gint" c:type="gint"/>
24516+ </property>
24517+ <property name="n-pinned-pages"
24518+ transfer-ownership="none"
24519+ getter="get_n_pinned_pages"
24520+ default-value="0">
24521+ <attribute name="org.gtk.Property.get"
24522+ value="adw_tab_view_get_n_pinned_pages"/>
24523+ <doc xml:space="preserve"
24524+ filename="src/adw-tab-view.c"
24525+ line="2269">The number of pinned pages in the tab view.
24526+
24527+See [method@TabView.set_page_pinned].</doc>
24528+ <type name="gint" c:type="gint"/>
24529+ </property>
24530+ <property name="pages" transfer-ownership="none" getter="get_pages">
24531+ <attribute name="org.gtk.Property.get" value="adw_tab_view_get_pages"/>
24532+ <doc xml:space="preserve"
24533+ filename="src/adw-tab-view.c"
24534+ line="2363">A selection model with the tab view's pages.
24535+
24536+This can be used to keep an up-to-date view. The model also implements
24537+[iface@Gtk.SelectionModel] and can be used to track and change the selected
24538+page.</doc>
24539+ <type name="Gtk.SelectionModel"/>
24540+ </property>
24541+ <property name="selected-page"
24542+ writable="1"
24543+ transfer-ownership="none"
24544+ setter="set_selected_page"
24545+ getter="get_selected_page">
24546+ <attribute name="org.gtk.Property.get"
24547+ value="adw_tab_view_get_selected_page"/>
24548+ <attribute name="org.gtk.Property.set"
24549+ value="adw_tab_view_set_selected_page"/>
24550+ <doc xml:space="preserve"
24551+ filename="src/adw-tab-view.c"
24552+ line="2297">The currently selected page.</doc>
24553+ <type name="TabPage"/>
24554+ </property>
24555+ <property name="shortcuts"
24556+ version="1.2"
24557+ writable="1"
24558+ transfer-ownership="none"
24559+ setter="set_shortcuts"
24560+ getter="get_shortcuts"
24561+ default-value="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB | ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP | ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN | ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME | ADW_TAB_VIEW_SHORTCUT_CONTROL_END | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END | ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS | ADW_TAB_VIEW_SHORTCUT_ALT_ZERO">
24562+ <attribute name="org.gtk.Property.get"
24563+ value="adw_tab_view_get_shortcuts"/>
24564+ <attribute name="org.gtk.Property.set"
24565+ value="adw_tab_view_set_shortcuts"/>
24566+ <doc xml:space="preserve"
24567+ filename="src/adw-tab-view.c"
24568+ line="2344">The enabled shortcuts.
24569+
24570+See [flags@TabViewShortcuts] for the list of the available shortcuts. All
24571+of the shortcuts are enabled by default.
24572+
24573+[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts]
24574+provide a convenient way to manage individual shortcuts.</doc>
24575+ <type name="TabViewShortcuts"/>
24576+ </property>
24577+ <glib:signal name="close-page" when="last">
24578+ <doc xml:space="preserve"
24579+ filename="src/adw-tab-view.c"
24580+ line="2456">Emitted after [method@TabView.close_page] has been called for @page.
24581+
24582+The handler is expected to call [method@TabView.close_page_finish] to
24583+confirm or reject the closing.
24584+
24585+The default handler will immediately confirm closing for non-pinned pages,
24586+or reject it for pinned pages, equivalent to the following example:
24587+
24588+```c
24589+static gboolean
24590+close_page_cb (AdwTabView *view,
24591+ AdwTabPage *page,
24592+ gpointer user_data)
24593+{
24594+ adw_tab_view_close_page_finish (view, page, !adw_tab_page_get_pinned (page));
24595+
24596+ return GDK_EVENT_STOP;
24597+}
24598+```
24599+
24600+The [method@TabView.close_page_finish] call doesn't have to happen inside
24601+the handler, so can be used to do asynchronous checks before confirming the
24602+closing.
24603+
24604+A typical reason to connect to this signal is to show a confirmation dialog
24605+for closing a tab.</doc>
24606+ <return-value transfer-ownership="none">
24607+ <type name="gboolean" c:type="gboolean"/>
24608+ </return-value>
24609+ <parameters>
24610+ <parameter name="page" transfer-ownership="none">
24611+ <doc xml:space="preserve"
24612+ filename="src/adw-tab-view.c"
24613+ line="2459">a page of @self</doc>
24614+ <type name="TabPage"/>
24615+ </parameter>
24616+ </parameters>
24617+ </glib:signal>
24618+ <glib:signal name="create-window" when="last">
24619+ <doc xml:space="preserve"
24620+ filename="src/adw-tab-view.c"
24621+ line="2529">Emitted when a tab should be transferred into a new window.
24622+
24623+This can happen after a tab has been dropped on desktop.
24624+
24625+The signal handler is expected to create a new window, position it as
24626+needed and return its `AdwTabView` that the page will be transferred into.</doc>
24627+ <return-value transfer-ownership="none" nullable="1">
24628+ <doc xml:space="preserve"
24629+ filename="src/adw-tab-view.c"
24630+ line="2540">the `AdwTabView` from the new window</doc>
24631+ <type name="TabView"/>
24632+ </return-value>
24633+ </glib:signal>
24634+ <glib:signal name="indicator-activated" when="last">
24635+ <doc xml:space="preserve"
24636+ filename="src/adw-tab-view.c"
24637+ line="2556">Emitted after the indicator icon on @page has been activated.
24638+
24639+See [property@TabPage:indicator-icon] and
24640+[property@TabPage:indicator-activatable].</doc>
24641+ <return-value transfer-ownership="none">
24642+ <type name="none" c:type="void"/>
24643+ </return-value>
24644+ <parameters>
24645+ <parameter name="page" transfer-ownership="none">
24646+ <doc xml:space="preserve"
24647+ filename="src/adw-tab-view.c"
24648+ line="2559">a page of @self</doc>
24649+ <type name="TabPage"/>
24650+ </parameter>
24651+ </parameters>
24652+ </glib:signal>
24653+ <glib:signal name="page-attached" when="last">
24654+ <doc xml:space="preserve"
24655+ filename="src/adw-tab-view.c"
24656+ line="2379">Emitted when a page has been created or transferred to @self.
24657+
24658+A typical reason to connect to this signal would be to connect to page
24659+signals for things such as updating window title.</doc>
24660+ <return-value transfer-ownership="none">
24661+ <type name="none" c:type="void"/>
24662+ </return-value>
24663+ <parameters>
24664+ <parameter name="page" transfer-ownership="none">
24665+ <doc xml:space="preserve"
24666+ filename="src/adw-tab-view.c"
24667+ line="2382">a page of @self</doc>
24668+ <type name="TabPage"/>
24669+ </parameter>
24670+ <parameter name="position" transfer-ownership="none">
24671+ <doc xml:space="preserve"
24672+ filename="src/adw-tab-view.c"
24673+ line="2383">the position of the page, starting from 0</doc>
24674+ <type name="gint" c:type="gint"/>
24675+ </parameter>
24676+ </parameters>
24677+ </glib:signal>
24678+ <glib:signal name="page-detached" when="last">
24679+ <doc xml:space="preserve"
24680+ filename="src/adw-tab-view.c"
24681+ line="2404">Emitted when a page has been removed or transferred to another view.
24682+
24683+A typical reason to connect to this signal would be to disconnect signal
24684+handlers connected in the [signal@TabView::page-attached] handler.
24685+
24686+It is important not to try and destroy the page child in the handler of
24687+this function as the child might merely be moved to another window; use
24688+child dispose handler for that or do it in sync with your
24689+[method@TabView.close_page_finish] calls.</doc>
24690+ <return-value transfer-ownership="none">
24691+ <type name="none" c:type="void"/>
24692+ </return-value>
24693+ <parameters>
24694+ <parameter name="page" transfer-ownership="none">
24695+ <doc xml:space="preserve"
24696+ filename="src/adw-tab-view.c"
24697+ line="2407">a page of @self</doc>
24698+ <type name="TabPage"/>
24699+ </parameter>
24700+ <parameter name="position" transfer-ownership="none">
24701+ <doc xml:space="preserve"
24702+ filename="src/adw-tab-view.c"
24703+ line="2408">the position of the removed page, starting from 0</doc>
24704+ <type name="gint" c:type="gint"/>
24705+ </parameter>
24706+ </parameters>
24707+ </glib:signal>
24708+ <glib:signal name="page-reordered" when="last">
24709+ <doc xml:space="preserve"
24710+ filename="src/adw-tab-view.c"
24711+ line="2434">Emitted after @page has been reordered to @position.</doc>
24712+ <return-value transfer-ownership="none">
24713+ <type name="none" c:type="void"/>
24714+ </return-value>
24715+ <parameters>
24716+ <parameter name="page" transfer-ownership="none">
24717+ <doc xml:space="preserve"
24718+ filename="src/adw-tab-view.c"
24719+ line="2437">a page of @self</doc>
24720+ <type name="TabPage"/>
24721+ </parameter>
24722+ <parameter name="position" transfer-ownership="none">
24723+ <doc xml:space="preserve"
24724+ filename="src/adw-tab-view.c"
24725+ line="2438">the position @page was moved to, starting at 0</doc>
24726+ <type name="gint" c:type="gint"/>
24727+ </parameter>
24728+ </parameters>
24729+ </glib:signal>
24730+ <glib:signal name="setup-menu" when="last">
24731+ <doc xml:space="preserve"
24732+ filename="src/adw-tab-view.c"
24733+ line="2503">Emitted when a context menu is opened or closed for @page.
24734+
24735+If the menu has been closed, @page will be set to `NULL`.
24736+
24737+It can be used to set up menu actions before showing the menu, for example
24738+disable actions not applicable to @page.</doc>
24739+ <return-value transfer-ownership="none">
24740+ <type name="none" c:type="void"/>
24741+ </return-value>
24742+ <parameters>
24743+ <parameter name="page"
24744+ transfer-ownership="none"
24745+ nullable="1"
24746+ allow-none="1">
24747+ <doc xml:space="preserve"
24748+ filename="src/adw-tab-view.c"
24749+ line="2506">a page of @self</doc>
24750+ <type name="TabPage"/>
24751+ </parameter>
24752+ </parameters>
24753+ </glib:signal>
24754+ </class>
24755+ <record name="TabViewClass"
24756+ c:type="AdwTabViewClass"
24757+ glib:is-gtype-struct-for="TabView">
24758+ <source-position filename="src/adw-tab-view.h" line="134"/>
24759+ <field name="parent_class">
24760+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
24761+ </field>
24762+ </record>
24763+ <bitfield name="TabViewShortcuts"
24764+ version="1.2"
24765+ glib:type-name="AdwTabViewShortcuts"
24766+ glib:get-type="adw_tab_view_shortcuts_get_type"
24767+ c:type="AdwTabViewShortcuts">
24768+ <doc xml:space="preserve"
24769+ filename="src/adw-tab-view.c"
24770+ line="79">Describes available shortcuts in an [class@TabView].
24771+
24772+Shortcuts can be set with [property@TabView:shortcuts], or added/removed
24773+individually with [method@TabView.add_shortcuts] and
24774+[method@TabView.remove_shortcuts].
24775+
24776+New values may be added to this enumeration over time.</doc>
24777+ <member name="none"
24778+ value="0"
24779+ c:identifier="ADW_TAB_VIEW_SHORTCUT_NONE"
24780+ glib:nick="none"
24781+ glib:name="ADW_TAB_VIEW_SHORTCUT_NONE">
24782+ <doc xml:space="preserve"
24783+ filename="src/adw-tab-view.c"
24784+ line="81">No shortcuts</doc>
24785+ </member>
24786+ <member name="control_tab"
24787+ value="1"
24788+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB"
24789+ glib:nick="control-tab"
24790+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB">
24791+ <doc xml:space="preserve"
24792+ filename="src/adw-tab-view.c"
24793+ line="82">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Tab&lt;/kbd&gt; - switch to the next page, with looping</doc>
24794+ </member>
24795+ <member name="control_shift_tab"
24796+ value="2"
24797+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB"
24798+ glib:nick="control-shift-tab"
24799+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB">
24800+ <doc xml:space="preserve"
24801+ filename="src/adw-tab-view.c"
24802+ line="84">&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Tab&lt;/kbd&gt; - switch to the previous
24803+ page, with looping</doc>
24804+ </member>
24805+ <member name="control_page_up"
24806+ value="4"
24807+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP"
24808+ glib:nick="control-page-up"
24809+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP">
24810+ <doc xml:space="preserve"
24811+ filename="src/adw-tab-view.c"
24812+ line="87">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Page Up&lt;/kbd&gt; - switch to the previous page</doc>
24813+ </member>
24814+ <member name="control_page_down"
24815+ value="8"
24816+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN"
24817+ glib:nick="control-page-down"
24818+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN">
24819+ <doc xml:space="preserve"
24820+ filename="src/adw-tab-view.c"
24821+ line="89">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Page Down&lt;/kbd&gt; - switch to the next page</doc>
24822+ </member>
24823+ <member name="control_home"
24824+ value="16"
24825+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME"
24826+ glib:nick="control-home"
24827+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME">
24828+ <doc xml:space="preserve"
24829+ filename="src/adw-tab-view.c"
24830+ line="91">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Home&lt;/kbd&gt; - switch to the first page</doc>
24831+ </member>
24832+ <member name="control_end"
24833+ value="32"
24834+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_END"
24835+ glib:nick="control-end"
24836+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_END">
24837+ <doc xml:space="preserve"
24838+ filename="src/adw-tab-view.c"
24839+ line="93">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;End&lt;/kbd&gt; - switch to the last page</doc>
24840+ </member>
24841+ <member name="control_shift_page_up"
24842+ value="64"
24843+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP"
24844+ glib:nick="control-shift-page-up"
24845+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP">
24846+ <doc xml:space="preserve"
24847+ filename="src/adw-tab-view.c"
24848+ line="95">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Page Up&lt;/kbd&gt; - move the selected
24849+ page backward</doc>
24850+ </member>
24851+ <member name="control_shift_page_down"
24852+ value="128"
24853+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN"
24854+ glib:nick="control-shift-page-down"
24855+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN">
24856+ <doc xml:space="preserve"
24857+ filename="src/adw-tab-view.c"
24858+ line="98">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Page Down&lt;/kbd&gt; - move the selected
24859+ page forward</doc>
24860+ </member>
24861+ <member name="control_shift_home"
24862+ value="256"
24863+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME"
24864+ glib:nick="control-shift-home"
24865+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME">
24866+ <doc xml:space="preserve"
24867+ filename="src/adw-tab-view.c"
24868+ line="101">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Home&lt;/kbd&gt; - move the selected page
24869+ at the start</doc>
24870+ </member>
24871+ <member name="control_shift_end"
24872+ value="512"
24873+ c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END"
24874+ glib:nick="control-shift-end"
24875+ glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END">
24876+ <doc xml:space="preserve"
24877+ filename="src/adw-tab-view.c"
24878+ line="104">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;End&lt;/kbd&gt; - move the current page at
24879+ the end</doc>
24880+ </member>
24881+ <member name="alt_digits"
24882+ value="1024"
24883+ c:identifier="ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS"
24884+ glib:nick="alt-digits"
24885+ glib:name="ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS">
24886+ <doc xml:space="preserve"
24887+ filename="src/adw-tab-view.c"
24888+ line="107">&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;1&lt;/kbd&gt;⋯&lt;kbd&gt;9&lt;/kbd&gt; - switch to pages 1-9</doc>
24889+ </member>
24890+ <member name="alt_zero"
24891+ value="2048"
24892+ c:identifier="ADW_TAB_VIEW_SHORTCUT_ALT_ZERO"
24893+ glib:nick="alt-zero"
24894+ glib:name="ADW_TAB_VIEW_SHORTCUT_ALT_ZERO">
24895+ <doc xml:space="preserve"
24896+ filename="src/adw-tab-view.c"
24897+ line="109">&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;0&lt;/kbd&gt; - switch to page 10</doc>
24898+ </member>
24899+ <member name="all_shortcuts"
24900+ value="4095"
24901+ c:identifier="ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS"
24902+ glib:nick="all-shortcuts"
24903+ glib:name="ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS">
24904+ <doc xml:space="preserve"
24905+ filename="src/adw-tab-view.c"
24906+ line="111">All of the shortcuts</doc>
24907+ </member>
24908+ </bitfield>
24909+ <class name="TimedAnimation"
24910+ c:symbol-prefix="timed_animation"
24911+ c:type="AdwTimedAnimation"
24912+ parent="Animation"
24913+ final="1"
24914+ glib:type-name="AdwTimedAnimation"
24915+ glib:get-type="adw_timed_animation_get_type"
24916+ glib:type-struct="TimedAnimationClass">
24917+ <doc xml:space="preserve"
24918+ filename="src/adw-timed-animation.c"
24919+ line="14">A time-based [class@Animation].
24920+
24921+`AdwTimedAnimation` implements a simple animation interpolating the given
24922+value from [property@TimedAnimation:value-from] to
24923+[property@TimedAnimation:value-to] over
24924+[property@TimedAnimation:duration] milliseconds using the curve described by
24925+[property@TimedAnimation:easing].
24926+
24927+If [property@TimedAnimation:reverse] is set to `TRUE`, `AdwTimedAnimation`
24928+will instead animate from [property@TimedAnimation:value-to] to
24929+[property@TimedAnimation:value-from], and the easing curve will be inverted.
24930+
24931+The animation can repeat a certain amount of times, or endlessly, depending
24932+on the [property@TimedAnimation:repeat-count] value. If
24933+[property@TimedAnimation:alternate] is set to `TRUE`, it will also change the
24934+direction every other iteration.</doc>
24935+ <source-position filename="src/adw-timed-animation.h" line="25"/>
24936+ <constructor name="new" c:identifier="adw_timed_animation_new">
24937+ <doc xml:space="preserve"
24938+ filename="src/adw-timed-animation.c"
24939+ line="320">Creates a new `AdwTimedAnimation` on @widget to animate @target from @from
24940+to @to.</doc>
24941+ <source-position filename="src/adw-timed-animation.h" line="28"/>
24942+ <return-value transfer-ownership="none">
24943+ <doc xml:space="preserve"
24944+ filename="src/adw-timed-animation.c"
24945+ line="331">the newly created animation</doc>
24946+ <type name="Animation" c:type="AdwAnimation*"/>
24947+ </return-value>
24948+ <parameters>
24949+ <parameter name="widget" transfer-ownership="none">
24950+ <doc xml:space="preserve"
24951+ filename="src/adw-timed-animation.c"
24952+ line="322">a widget to create animation on</doc>
24953+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
24954+ </parameter>
24955+ <parameter name="from" transfer-ownership="none">
24956+ <doc xml:space="preserve"
24957+ filename="src/adw-timed-animation.c"
24958+ line="323">a value to animate from</doc>
24959+ <type name="gdouble" c:type="double"/>
24960+ </parameter>
24961+ <parameter name="to" transfer-ownership="none">
24962+ <doc xml:space="preserve"
24963+ filename="src/adw-timed-animation.c"
24964+ line="324">a value to animate to</doc>
24965+ <type name="gdouble" c:type="double"/>
24966+ </parameter>
24967+ <parameter name="duration" transfer-ownership="none">
24968+ <doc xml:space="preserve"
24969+ filename="src/adw-timed-animation.c"
24970+ line="325">a duration for the animation</doc>
24971+ <type name="guint" c:type="guint"/>
24972+ </parameter>
24973+ <parameter name="target" transfer-ownership="full">
24974+ <doc xml:space="preserve"
24975+ filename="src/adw-timed-animation.c"
24976+ line="326">a target value to animate</doc>
24977+ <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
24978+ </parameter>
24979+ </parameters>
24980+ </constructor>
24981+ <method name="get_alternate"
24982+ c:identifier="adw_timed_animation_get_alternate"
24983+ glib:get-property="alternate">
24984+ <attribute name="org.gtk.Method.get_property" value="alternate"/>
24985+ <doc xml:space="preserve"
24986+ filename="src/adw-timed-animation.c"
24987+ line="600">Gets whether @self changes direction on every iteration.</doc>
24988+ <source-position filename="src/adw-timed-animation.h" line="71"/>
24989+ <return-value transfer-ownership="none">
24990+ <doc xml:space="preserve"
24991+ filename="src/adw-timed-animation.c"
24992+ line="606">whether @self alternates</doc>
24993+ <type name="gboolean" c:type="gboolean"/>
24994+ </return-value>
24995+ <parameters>
24996+ <instance-parameter name="self" transfer-ownership="none">
24997+ <doc xml:space="preserve"
24998+ filename="src/adw-timed-animation.c"
24999+ line="602">a timed animation</doc>
25000+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25001+ </instance-parameter>
25002+ </parameters>
25003+ </method>
25004+ <method name="get_duration"
25005+ c:identifier="adw_timed_animation_get_duration"
25006+ glib:get-property="duration">
25007+ <attribute name="org.gtk.Method.get_property" value="duration"/>
25008+ <doc xml:space="preserve"
25009+ filename="src/adw-timed-animation.c"
25010+ line="444">Gets the duration of @self.</doc>
25011+ <source-position filename="src/adw-timed-animation.h" line="47"/>
25012+ <return-value transfer-ownership="none">
25013+ <doc xml:space="preserve"
25014+ filename="src/adw-timed-animation.c"
25015+ line="450">the duration of @self, in milliseconds</doc>
25016+ <type name="guint" c:type="guint"/>
25017+ </return-value>
25018+ <parameters>
25019+ <instance-parameter name="self" transfer-ownership="none">
25020+ <doc xml:space="preserve"
25021+ filename="src/adw-timed-animation.c"
25022+ line="446">a timed animation</doc>
25023+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25024+ </instance-parameter>
25025+ </parameters>
25026+ </method>
25027+ <method name="get_easing"
25028+ c:identifier="adw_timed_animation_get_easing"
25029+ glib:get-property="easing">
25030+ <attribute name="org.gtk.Method.get_property" value="easing"/>
25031+ <doc xml:space="preserve"
25032+ filename="src/adw-timed-animation.c"
25033+ line="483">Gets the easing function @self uses.</doc>
25034+ <source-position filename="src/adw-timed-animation.h" line="53"/>
25035+ <return-value transfer-ownership="none">
25036+ <doc xml:space="preserve"
25037+ filename="src/adw-timed-animation.c"
25038+ line="489">the easing function @self uses</doc>
25039+ <type name="Easing" c:type="AdwEasing"/>
25040+ </return-value>
25041+ <parameters>
25042+ <instance-parameter name="self" transfer-ownership="none">
25043+ <doc xml:space="preserve"
25044+ filename="src/adw-timed-animation.c"
25045+ line="485">a timed animation</doc>
25046+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25047+ </instance-parameter>
25048+ </parameters>
25049+ </method>
25050+ <method name="get_repeat_count"
25051+ c:identifier="adw_timed_animation_get_repeat_count"
25052+ glib:get-property="repeat-count">
25053+ <attribute name="org.gtk.Method.get_property" value="repeat-count"/>
25054+ <doc xml:space="preserve"
25055+ filename="src/adw-timed-animation.c"
25056+ line="524">Gets the number of times @self will play.</doc>
25057+ <source-position filename="src/adw-timed-animation.h" line="59"/>
25058+ <return-value transfer-ownership="none">
25059+ <doc xml:space="preserve"
25060+ filename="src/adw-timed-animation.c"
25061+ line="530">the number of times @self will play</doc>
25062+ <type name="guint" c:type="guint"/>
25063+ </return-value>
25064+ <parameters>
25065+ <instance-parameter name="self" transfer-ownership="none">
25066+ <doc xml:space="preserve"
25067+ filename="src/adw-timed-animation.c"
25068+ line="526">a timed animation</doc>
25069+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25070+ </instance-parameter>
25071+ </parameters>
25072+ </method>
25073+ <method name="get_reverse"
25074+ c:identifier="adw_timed_animation_get_reverse"
25075+ glib:get-property="reverse">
25076+ <attribute name="org.gtk.Method.get_property" value="reverse"/>
25077+ <doc xml:space="preserve"
25078+ filename="src/adw-timed-animation.c"
25079+ line="563">Gets whether @self plays backwards.</doc>
25080+ <source-position filename="src/adw-timed-animation.h" line="65"/>
25081+ <return-value transfer-ownership="none">
25082+ <doc xml:space="preserve"
25083+ filename="src/adw-timed-animation.c"
25084+ line="569">whether @self plays backwards</doc>
25085+ <type name="gboolean" c:type="gboolean"/>
25086+ </return-value>
25087+ <parameters>
25088+ <instance-parameter name="self" transfer-ownership="none">
25089+ <doc xml:space="preserve"
25090+ filename="src/adw-timed-animation.c"
25091+ line="565">a timed animation</doc>
25092+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25093+ </instance-parameter>
25094+ </parameters>
25095+ </method>
25096+ <method name="get_value_from"
25097+ c:identifier="adw_timed_animation_get_value_from"
25098+ glib:get-property="value-from">
25099+ <attribute name="org.gtk.Method.get_property" value="value-from"/>
25100+ <doc xml:space="preserve"
25101+ filename="src/adw-timed-animation.c"
25102+ line="358">Gets the value @self will animate from.</doc>
25103+ <source-position filename="src/adw-timed-animation.h" line="35"/>
25104+ <return-value transfer-ownership="none">
25105+ <doc xml:space="preserve"
25106+ filename="src/adw-timed-animation.c"
25107+ line="364">the value to animate from</doc>
25108+ <type name="gdouble" c:type="double"/>
25109+ </return-value>
25110+ <parameters>
25111+ <instance-parameter name="self" transfer-ownership="none">
25112+ <doc xml:space="preserve"
25113+ filename="src/adw-timed-animation.c"
25114+ line="360">a timed animation</doc>
25115+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25116+ </instance-parameter>
25117+ </parameters>
25118+ </method>
25119+ <method name="get_value_to"
25120+ c:identifier="adw_timed_animation_get_value_to"
25121+ glib:get-property="value-to">
25122+ <attribute name="org.gtk.Method.get_property" value="value-to"/>
25123+ <doc xml:space="preserve"
25124+ filename="src/adw-timed-animation.c"
25125+ line="401">Gets the value @self will animate to.</doc>
25126+ <source-position filename="src/adw-timed-animation.h" line="41"/>
25127+ <return-value transfer-ownership="none">
25128+ <doc xml:space="preserve"
25129+ filename="src/adw-timed-animation.c"
25130+ line="407">the value to animate to</doc>
25131+ <type name="gdouble" c:type="double"/>
25132+ </return-value>
25133+ <parameters>
25134+ <instance-parameter name="self" transfer-ownership="none">
25135+ <doc xml:space="preserve"
25136+ filename="src/adw-timed-animation.c"
25137+ line="403">a timed animation</doc>
25138+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25139+ </instance-parameter>
25140+ </parameters>
25141+ </method>
25142+ <method name="set_alternate"
25143+ c:identifier="adw_timed_animation_set_alternate"
25144+ glib:set-property="alternate">
25145+ <attribute name="org.gtk.Method.set_property" value="alternate"/>
25146+ <doc xml:space="preserve"
25147+ filename="src/adw-timed-animation.c"
25148+ line="616">Sets whether @self changes direction on every iteration.</doc>
25149+ <source-position filename="src/adw-timed-animation.h" line="73"/>
25150+ <return-value transfer-ownership="none">
25151+ <type name="none" c:type="void"/>
25152+ </return-value>
25153+ <parameters>
25154+ <instance-parameter name="self" transfer-ownership="none">
25155+ <doc xml:space="preserve"
25156+ filename="src/adw-timed-animation.c"
25157+ line="618">a timed animation</doc>
25158+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25159+ </instance-parameter>
25160+ <parameter name="alternate" transfer-ownership="none">
25161+ <doc xml:space="preserve"
25162+ filename="src/adw-timed-animation.c"
25163+ line="619">whether @self alternates</doc>
25164+ <type name="gboolean" c:type="gboolean"/>
25165+ </parameter>
25166+ </parameters>
25167+ </method>
25168+ <method name="set_duration"
25169+ c:identifier="adw_timed_animation_set_duration"
25170+ glib:set-property="duration">
25171+ <attribute name="org.gtk.Method.set_property" value="duration"/>
25172+ <doc xml:space="preserve"
25173+ filename="src/adw-timed-animation.c"
25174+ line="460">Sets the duration of @self.
25175+
25176+If the animation repeats more than once, sets the duration of one iteration.</doc>
25177+ <source-position filename="src/adw-timed-animation.h" line="49"/>
25178+ <return-value transfer-ownership="none">
25179+ <type name="none" c:type="void"/>
25180+ </return-value>
25181+ <parameters>
25182+ <instance-parameter name="self" transfer-ownership="none">
25183+ <doc xml:space="preserve"
25184+ filename="src/adw-timed-animation.c"
25185+ line="462">a timed animation</doc>
25186+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25187+ </instance-parameter>
25188+ <parameter name="duration" transfer-ownership="none">
25189+ <doc xml:space="preserve"
25190+ filename="src/adw-timed-animation.c"
25191+ line="463">the duration to use, in milliseconds</doc>
25192+ <type name="guint" c:type="guint"/>
25193+ </parameter>
25194+ </parameters>
25195+ </method>
25196+ <method name="set_easing"
25197+ c:identifier="adw_timed_animation_set_easing"
25198+ glib:set-property="easing">
25199+ <attribute name="org.gtk.Method.set_property" value="easing"/>
25200+ <doc xml:space="preserve"
25201+ filename="src/adw-timed-animation.c"
25202+ line="500">Sets the easing function @self will use.
25203+
25204+See [enum@Easing] for the description of specific easing functions.</doc>
25205+ <source-position filename="src/adw-timed-animation.h" line="55"/>
25206+ <return-value transfer-ownership="none">
25207+ <type name="none" c:type="void"/>
25208+ </return-value>
25209+ <parameters>
25210+ <instance-parameter name="self" transfer-ownership="none">
25211+ <doc xml:space="preserve"
25212+ filename="src/adw-timed-animation.c"
25213+ line="502">a timed animation</doc>
25214+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25215+ </instance-parameter>
25216+ <parameter name="easing" transfer-ownership="none">
25217+ <doc xml:space="preserve"
25218+ filename="src/adw-timed-animation.c"
25219+ line="503">the easing function to use</doc>
25220+ <type name="Easing" c:type="AdwEasing"/>
25221+ </parameter>
25222+ </parameters>
25223+ </method>
25224+ <method name="set_repeat_count"
25225+ c:identifier="adw_timed_animation_set_repeat_count"
25226+ glib:set-property="repeat-count">
25227+ <attribute name="org.gtk.Method.set_property" value="repeat-count"/>
25228+ <doc xml:space="preserve"
25229+ filename="src/adw-timed-animation.c"
25230+ line="540">Sets the number of times @self will play.
25231+
25232+If set to 0, @self will repeat endlessly.</doc>
25233+ <source-position filename="src/adw-timed-animation.h" line="61"/>
25234+ <return-value transfer-ownership="none">
25235+ <type name="none" c:type="void"/>
25236+ </return-value>
25237+ <parameters>
25238+ <instance-parameter name="self" transfer-ownership="none">
25239+ <doc xml:space="preserve"
25240+ filename="src/adw-timed-animation.c"
25241+ line="542">a timed animation</doc>
25242+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25243+ </instance-parameter>
25244+ <parameter name="repeat_count" transfer-ownership="none">
25245+ <doc xml:space="preserve"
25246+ filename="src/adw-timed-animation.c"
25247+ line="543">the number of times @self will play</doc>
25248+ <type name="guint" c:type="guint"/>
25249+ </parameter>
25250+ </parameters>
25251+ </method>
25252+ <method name="set_reverse"
25253+ c:identifier="adw_timed_animation_set_reverse"
25254+ glib:set-property="reverse">
25255+ <attribute name="org.gtk.Method.set_property" value="reverse"/>
25256+ <doc xml:space="preserve"
25257+ filename="src/adw-timed-animation.c"
25258+ line="579">Sets whether @self plays backwards.</doc>
25259+ <source-position filename="src/adw-timed-animation.h" line="67"/>
25260+ <return-value transfer-ownership="none">
25261+ <type name="none" c:type="void"/>
25262+ </return-value>
25263+ <parameters>
25264+ <instance-parameter name="self" transfer-ownership="none">
25265+ <doc xml:space="preserve"
25266+ filename="src/adw-timed-animation.c"
25267+ line="581">a timed animation</doc>
25268+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25269+ </instance-parameter>
25270+ <parameter name="reverse" transfer-ownership="none">
25271+ <doc xml:space="preserve"
25272+ filename="src/adw-timed-animation.c"
25273+ line="582">whether @self plays backwards</doc>
25274+ <type name="gboolean" c:type="gboolean"/>
25275+ </parameter>
25276+ </parameters>
25277+ </method>
25278+ <method name="set_value_from"
25279+ c:identifier="adw_timed_animation_set_value_from"
25280+ glib:set-property="value-from">
25281+ <attribute name="org.gtk.Method.set_property" value="value-from"/>
25282+ <doc xml:space="preserve"
25283+ filename="src/adw-timed-animation.c"
25284+ line="374">Sets the value @self will animate from.
25285+
25286+The animation will start at this value and end at
25287+[property@TimedAnimation:value-to].
25288+
25289+If [property@TimedAnimation:reverse] is `TRUE`, the animation will end at
25290+this value instead.</doc>
25291+ <source-position filename="src/adw-timed-animation.h" line="37"/>
25292+ <return-value transfer-ownership="none">
25293+ <type name="none" c:type="void"/>
25294+ </return-value>
25295+ <parameters>
25296+ <instance-parameter name="self" transfer-ownership="none">
25297+ <doc xml:space="preserve"
25298+ filename="src/adw-timed-animation.c"
25299+ line="376">a timed animation</doc>
25300+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25301+ </instance-parameter>
25302+ <parameter name="value" transfer-ownership="none">
25303+ <doc xml:space="preserve"
25304+ filename="src/adw-timed-animation.c"
25305+ line="377">the value to animate from</doc>
25306+ <type name="gdouble" c:type="double"/>
25307+ </parameter>
25308+ </parameters>
25309+ </method>
25310+ <method name="set_value_to"
25311+ c:identifier="adw_timed_animation_set_value_to"
25312+ glib:set-property="value-to">
25313+ <attribute name="org.gtk.Method.set_property" value="value-to"/>
25314+ <doc xml:space="preserve"
25315+ filename="src/adw-timed-animation.c"
25316+ line="417">Sets the value @self will animate to.
25317+
25318+The animation will start at [property@TimedAnimation:value-from] and end at
25319+this value.
25320+
25321+If [property@TimedAnimation:reverse] is `TRUE`, the animation will start
25322+at this value instead.</doc>
25323+ <source-position filename="src/adw-timed-animation.h" line="43"/>
25324+ <return-value transfer-ownership="none">
25325+ <type name="none" c:type="void"/>
25326+ </return-value>
25327+ <parameters>
25328+ <instance-parameter name="self" transfer-ownership="none">
25329+ <doc xml:space="preserve"
25330+ filename="src/adw-timed-animation.c"
25331+ line="419">a timed animation</doc>
25332+ <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
25333+ </instance-parameter>
25334+ <parameter name="value" transfer-ownership="none">
25335+ <doc xml:space="preserve"
25336+ filename="src/adw-timed-animation.c"
25337+ line="420">the value to animate to</doc>
25338+ <type name="gdouble" c:type="double"/>
25339+ </parameter>
25340+ </parameters>
25341+ </method>
25342+ <property name="alternate"
25343+ writable="1"
25344+ construct="1"
25345+ transfer-ownership="none"
25346+ setter="set_alternate"
25347+ getter="get_alternate"
25348+ default-value="FALSE">
25349+ <attribute name="org.gtk.Property.get"
25350+ value="adw_timed_animation_get_alternate"/>
25351+ <attribute name="org.gtk.Property.set"
25352+ value="adw_timed_animation_set_alternate"/>
25353+ <doc xml:space="preserve"
25354+ filename="src/adw-timed-animation.c"
25355+ line="302">Whether the animation changes direction on every iteration.</doc>
25356+ <type name="gboolean" c:type="gboolean"/>
25357+ </property>
25358+ <property name="duration"
25359+ writable="1"
25360+ construct="1"
25361+ transfer-ownership="none"
25362+ setter="set_duration"
25363+ getter="get_duration"
25364+ default-value="0">
25365+ <attribute name="org.gtk.Property.get"
25366+ value="adw_timed_animation_get_duration"/>
25367+ <attribute name="org.gtk.Property.set"
25368+ value="adw_timed_animation_set_duration"/>
25369+ <doc xml:space="preserve"
25370+ filename="src/adw-timed-animation.c"
25371+ line="246">Duration of the animation, in milliseconds.
25372+
25373+Describes how much time the animation will take.
25374+
25375+If the animation repeats more than once, describes the duration of one
25376+iteration.</doc>
25377+ <type name="guint" c:type="guint"/>
25378+ </property>
25379+ <property name="easing"
25380+ writable="1"
25381+ construct="1"
25382+ transfer-ownership="none"
25383+ setter="set_easing"
25384+ getter="get_easing"
25385+ default-value="ADW_EASE_OUT_CUBIC">
25386+ <attribute name="org.gtk.Property.get"
25387+ value="adw_timed_animation_get_easing"/>
25388+ <attribute name="org.gtk.Property.set"
25389+ value="adw_timed_animation_set_easing"/>
25390+ <doc xml:space="preserve"
25391+ filename="src/adw-timed-animation.c"
25392+ line="263">Easing function used in the animation.
25393+
25394+Describes the curve the value is interpolated on.
25395+
25396+See [enum@Easing] for the description of specific easing functions.</doc>
25397+ <type name="Easing"/>
25398+ </property>
25399+ <property name="repeat-count"
25400+ writable="1"
25401+ construct="1"
25402+ transfer-ownership="none"
25403+ setter="set_repeat_count"
25404+ getter="get_repeat_count"
25405+ default-value="1">
25406+ <attribute name="org.gtk.Property.get"
25407+ value="adw_timed_animation_get_repeat_count"/>
25408+ <attribute name="org.gtk.Property.set"
25409+ value="adw_timed_animation_set_repeat_count"/>
25410+ <doc xml:space="preserve"
25411+ filename="src/adw-timed-animation.c"
25412+ line="278">Number of times the animation will play.
25413+
25414+If set to 0, the animation will repeat endlessly.</doc>
25415+ <type name="guint" c:type="guint"/>
25416+ </property>
25417+ <property name="reverse"
25418+ writable="1"
25419+ construct="1"
25420+ transfer-ownership="none"
25421+ setter="set_reverse"
25422+ getter="get_reverse"
25423+ default-value="FALSE">
25424+ <attribute name="org.gtk.Property.get"
25425+ value="adw_timed_animation_get_reverse"/>
25426+ <attribute name="org.gtk.Property.set"
25427+ value="adw_timed_animation_set_reverse"/>
25428+ <doc xml:space="preserve"
25429+ filename="src/adw-timed-animation.c"
25430+ line="292">Whether the animation plays backwards.</doc>
25431+ <type name="gboolean" c:type="gboolean"/>
25432+ </property>
25433+ <property name="value-from"
25434+ writable="1"
25435+ construct="1"
25436+ transfer-ownership="none"
25437+ setter="set_value_from"
25438+ getter="get_value_from"
25439+ default-value="0.000000">
25440+ <attribute name="org.gtk.Property.get"
25441+ value="adw_timed_animation_get_value_from"/>
25442+ <attribute name="org.gtk.Property.set"
25443+ value="adw_timed_animation_set_value_from"/>
25444+ <doc xml:space="preserve"
25445+ filename="src/adw-timed-animation.c"
25446+ line="210">The value to animate from.
25447+
25448+The animation will start at this value and end at
25449+[property@TimedAnimation:value-to].
25450+
25451+If [property@TimedAnimation:reverse] is `TRUE`, the animation will end at
25452+this value instead.</doc>
25453+ <type name="gdouble" c:type="gdouble"/>
25454+ </property>
25455+ <property name="value-to"
25456+ writable="1"
25457+ construct="1"
25458+ transfer-ownership="none"
25459+ setter="set_value_to"
25460+ getter="get_value_to"
25461+ default-value="0.000000">
25462+ <attribute name="org.gtk.Property.get"
25463+ value="adw_timed_animation_get_value_to"/>
25464+ <attribute name="org.gtk.Property.set"
25465+ value="adw_timed_animation_set_value_to"/>
25466+ <doc xml:space="preserve"
25467+ filename="src/adw-timed-animation.c"
25468+ line="228">The value to animate to.
25469+
25470+The animation will start at [property@TimedAnimation:value-from] and end at
25471+this value.
25472+
25473+If [property@TimedAnimation:reverse] is `TRUE`, the animation will start
25474+at this value instead.</doc>
25475+ <type name="gdouble" c:type="gdouble"/>
25476+ </property>
25477+ </class>
25478+ <record name="TimedAnimationClass"
25479+ c:type="AdwTimedAnimationClass"
25480+ disguised="1"
25481+ opaque="1"
25482+ glib:is-gtype-struct-for="TimedAnimation">
25483+ <source-position filename="src/adw-timed-animation.h" line="25"/>
25484+ </record>
25485+ <class name="Toast"
25486+ c:symbol-prefix="toast"
25487+ c:type="AdwToast"
25488+ parent="GObject.Object"
25489+ final="1"
25490+ glib:type-name="AdwToast"
25491+ glib:get-type="adw_toast_get_type"
25492+ glib:type-struct="ToastClass">
25493+ <doc xml:space="preserve"
25494+ filename="src/adw-toast.c"
25495+ line="24">A helper object for [class@ToastOverlay].
25496+
25497+Toasts are meant to be passed into [method@ToastOverlay.add_toast] as
25498+follows:
25499+
25500+```c
25501+adw_toast_overlay_add_toast (overlay, adw_toast_new (_("Simple Toast")));
25502+```
25503+
25504+&lt;picture&gt;
25505+ &lt;source srcset="toast-simple-dark.png" media="(prefers-color-scheme: dark)"&gt;
25506+ &lt;img src="toast-simple.png" alt="toast-simple"&gt;
25507+&lt;/picture&gt;
25508+
25509+Toasts always have a close button. They emit the [signal@Toast::dismissed]
25510+signal when disappearing.
25511+
25512+[property@Toast:timeout] determines how long the toast stays on screen, while
25513+[property@Toast:priority] determines how it behaves if another toast is
25514+already being displayed.
25515+
25516+[property@Toast:custom-title] can be used to replace the title label with a
25517+custom widget.
25518+
25519+## Actions
25520+
25521+Toasts can have one button on them, with a label and an attached
25522+[iface@Gio.Action].
25523+
25524+```c
25525+AdwToast *toast = adw_toast_new (_("Toast with Action"));
25526+
25527+adw_toast_set_button_label (toast, _("_Example"));
25528+adw_toast_set_action_name (toast, "win.example");
25529+
25530+adw_toast_overlay_add_toast (overlay, toast);
25531+```
25532+
25533+&lt;picture&gt;
25534+ &lt;source srcset="toast-action-dark.png" media="(prefers-color-scheme: dark)"&gt;
25535+ &lt;img src="toast-action.png" alt="toast-action"&gt;
25536+&lt;/picture&gt;
25537+
25538+## Modifying toasts
25539+
25540+Toasts can be modified after they have been shown. For this, an `AdwToast`
25541+reference must be kept around while the toast is visible.
25542+
25543+A common use case for this is using toasts as undo prompts that stack with
25544+each other, allowing to batch undo the last deleted items:
25545+
25546+```c
25547+
25548+static void
25549+toast_undo_cb (GtkWidget *sender,
25550+ const char *action,
25551+ GVariant *param)
25552+{
25553+ // Undo the deletion
25554+}
25555+
25556+static void
25557+dismissed_cb (MyWindow *self)
25558+{
25559+ self-&gt;undo_toast = NULL;
25560+
25561+ // Permanently delete the items
25562+}
25563+
25564+static void
25565+delete_item (MyWindow *self,
25566+ MyItem *item)
25567+{
25568+ g_autofree char *title = NULL;
25569+ int n_items;
25570+
25571+ // Mark the item as waiting for deletion
25572+ n_items = ... // The number of waiting items
25573+
25574+ if (!self-&gt;undo_toast) {
25575+ self-&gt;undo_toast = adw_toast_new_format (_("‘%s’ deleted"), ...);
25576+
25577+ adw_toast_set_priority (self-&gt;undo_toast, ADW_TOAST_PRIORITY_HIGH);
25578+ adw_toast_set_button_label (self-&gt;undo_toast, _("_Undo"));
25579+ adw_toast_set_action_name (self-&gt;undo_toast, "toast.undo");
25580+
25581+ g_signal_connect_swapped (self-&gt;undo_toast, "dismissed",
25582+ G_CALLBACK (dismissed_cb), self);
25583+
25584+ adw_toast_overlay_add_toast (self-&gt;toast_overlay, self-&gt;undo_toast);
25585+
25586+ return;
25587+ }
25588+
25589+ title =
25590+ g_strdup_printf (ngettext ("&lt;span font_features='tnum=1'&gt;%d&lt;/span&gt; item deleted",
25591+ "&lt;span font_features='tnum=1'&gt;%d&lt;/span&gt; items deleted",
25592+ n_items), n_items);
25593+
25594+ adw_toast_set_title (self-&gt;undo_toast, title);
25595+
25596+ // Bump the toast timeout
25597+ adw_toast_overlay_add_toast (self-&gt;toast_overlay, g_object_ref (self-&gt;undo_toast));
25598+}
25599+
25600+static void
25601+my_window_class_init (MyWindowClass *klass)
25602+{
25603+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
25604+
25605+ gtk_widget_class_install_action (widget_class, "toast.undo", NULL, toast_undo_cb);
25606+}
25607+```
25608+
25609+&lt;picture&gt;
25610+ &lt;source srcset="toast-undo-dark.png" media="(prefers-color-scheme: dark)"&gt;
25611+ &lt;img src="toast-undo.png" alt="toast-undo"&gt;
25612+&lt;/picture&gt;</doc>
25613+ <source-position filename="src/adw-toast.h" line="28"/>
25614+ <constructor name="new" c:identifier="adw_toast_new">
25615+ <doc xml:space="preserve"
25616+ filename="src/adw-toast.c"
25617+ line="455">Creates a new `AdwToast`.
25618+
25619+The toast will use @title as its title.
25620+
25621+@title can be marked up with the Pango text markup language.</doc>
25622+ <source-position filename="src/adw-toast.h" line="31"/>
25623+ <return-value transfer-ownership="full">
25624+ <doc xml:space="preserve"
25625+ filename="src/adw-toast.c"
25626+ line="465">the new created `AdwToast`</doc>
25627+ <type name="Toast" c:type="AdwToast*"/>
25628+ </return-value>
25629+ <parameters>
25630+ <parameter name="title" transfer-ownership="none">
25631+ <doc xml:space="preserve"
25632+ filename="src/adw-toast.c"
25633+ line="457">the title to be displayed</doc>
25634+ <type name="utf8" c:type="const char*"/>
25635+ </parameter>
25636+ </parameters>
25637+ </constructor>
25638+ <constructor name="new_format"
25639+ c:identifier="adw_toast_new_format"
25640+ version="1.2"
25641+ introspectable="0">
25642+ <doc xml:space="preserve"
25643+ filename="src/adw-toast.c"
25644+ line="477">Creates a new `AdwToast`.
25645+
25646+The toast will use the format string as its title.
25647+
25648+See also: [ctor@Toast.new]</doc>
25649+ <source-position filename="src/adw-toast.h" line="33"/>
25650+ <return-value transfer-ownership="full">
25651+ <doc xml:space="preserve"
25652+ filename="src/adw-toast.c"
25653+ line="488">the newly created toast object</doc>
25654+ <type name="Toast" c:type="AdwToast*"/>
25655+ </return-value>
25656+ <parameters>
25657+ <parameter name="format" transfer-ownership="none">
25658+ <doc xml:space="preserve"
25659+ filename="src/adw-toast.c"
25660+ line="479">the formatted string for the toast title</doc>
25661+ <type name="utf8" c:type="const char*"/>
25662+ </parameter>
25663+ <parameter name="..." transfer-ownership="none">
25664+ <doc xml:space="preserve"
25665+ filename="src/adw-toast.c"
25666+ line="480">the parameters to insert into the format string</doc>
25667+ <varargs/>
25668+ </parameter>
25669+ </parameters>
25670+ </constructor>
25671+ <method name="dismiss" c:identifier="adw_toast_dismiss">
25672+ <doc xml:space="preserve"
25673+ filename="src/adw-toast.c"
25674+ line="914">Dismisses @self.
25675+
25676+Does nothing if @self has already been dismissed, or hasn't been added to an
25677+[class@ToastOverlay].</doc>
25678+ <source-position filename="src/adw-toast.h" line="86"/>
25679+ <return-value transfer-ownership="none">
25680+ <type name="none" c:type="void"/>
25681+ </return-value>
25682+ <parameters>
25683+ <instance-parameter name="self" transfer-ownership="none">
25684+ <doc xml:space="preserve"
25685+ filename="src/adw-toast.c"
25686+ line="916">a toast</doc>
25687+ <type name="Toast" c:type="AdwToast*"/>
25688+ </instance-parameter>
25689+ </parameters>
25690+ </method>
25691+ <method name="get_action_name"
25692+ c:identifier="adw_toast_get_action_name"
25693+ glib:get-property="action-name">
25694+ <attribute name="org.gtk.Method.get_property" value="action-name"/>
25695+ <doc xml:space="preserve"
25696+ filename="src/adw-toast.c"
25697+ line="614">Gets the name of the associated action.</doc>
25698+ <source-position filename="src/adw-toast.h" line="49"/>
25699+ <return-value transfer-ownership="none" nullable="1">
25700+ <doc xml:space="preserve"
25701+ filename="src/adw-toast.c"
25702+ line="620">the action name</doc>
25703+ <type name="utf8" c:type="const char*"/>
25704+ </return-value>
25705+ <parameters>
25706+ <instance-parameter name="self" transfer-ownership="none">
25707+ <doc xml:space="preserve"
25708+ filename="src/adw-toast.c"
25709+ line="616">a toast</doc>
25710+ <type name="Toast" c:type="AdwToast*"/>
25711+ </instance-parameter>
25712+ </parameters>
25713+ </method>
25714+ <method name="get_action_target_value"
25715+ c:identifier="adw_toast_get_action_target_value">
25716+ <attribute name="org.gtk.Method.get_property" value="action-target"/>
25717+ <doc xml:space="preserve"
25718+ filename="src/adw-toast.c"
25719+ line="656">Gets the parameter for action invocations.</doc>
25720+ <source-position filename="src/adw-toast.h" line="55"/>
25721+ <return-value transfer-ownership="none" nullable="1">
25722+ <doc xml:space="preserve"
25723+ filename="src/adw-toast.c"
25724+ line="662">the action target</doc>
25725+ <type name="GLib.Variant" c:type="GVariant*"/>
25726+ </return-value>
25727+ <parameters>
25728+ <instance-parameter name="self" transfer-ownership="none">
25729+ <doc xml:space="preserve"
25730+ filename="src/adw-toast.c"
25731+ line="658">a toast</doc>
25732+ <type name="Toast" c:type="AdwToast*"/>
25733+ </instance-parameter>
25734+ </parameters>
25735+ </method>
25736+ <method name="get_button_label"
25737+ c:identifier="adw_toast_get_button_label"
25738+ glib:get-property="button-label">
25739+ <attribute name="org.gtk.Method.get_property" value="button-label"/>
25740+ <doc xml:space="preserve"
25741+ filename="src/adw-toast.c"
25742+ line="570">Gets the label to show on the button.</doc>
25743+ <source-position filename="src/adw-toast.h" line="43"/>
25744+ <return-value transfer-ownership="none" nullable="1">
25745+ <doc xml:space="preserve"
25746+ filename="src/adw-toast.c"
25747+ line="576">the button label</doc>
25748+ <type name="utf8" c:type="const char*"/>
25749+ </return-value>
25750+ <parameters>
25751+ <instance-parameter name="self" transfer-ownership="none">
25752+ <doc xml:space="preserve"
25753+ filename="src/adw-toast.c"
25754+ line="572">a toast</doc>
25755+ <type name="Toast" c:type="AdwToast*"/>
25756+ </instance-parameter>
25757+ </parameters>
25758+ </method>
25759+ <method name="get_custom_title"
25760+ c:identifier="adw_toast_get_custom_title"
25761+ glib:get-property="custom-title"
25762+ version="1.2">
25763+ <attribute name="org.gtk.Method.get_property" value="custom-title"/>
25764+ <doc xml:space="preserve"
25765+ filename="src/adw-toast.c"
25766+ line="861">Gets the custom title widget of @self.</doc>
25767+ <source-position filename="src/adw-toast.h" line="80"/>
25768+ <return-value transfer-ownership="none" nullable="1">
25769+ <doc xml:space="preserve"
25770+ filename="src/adw-toast.c"
25771+ line="867">the custom title widget</doc>
25772+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
25773+ </return-value>
25774+ <parameters>
25775+ <instance-parameter name="self" transfer-ownership="none">
25776+ <doc xml:space="preserve"
25777+ filename="src/adw-toast.c"
25778+ line="863">a toast</doc>
25779+ <type name="Toast" c:type="AdwToast*"/>
25780+ </instance-parameter>
25781+ </parameters>
25782+ </method>
25783+ <method name="get_priority"
25784+ c:identifier="adw_toast_get_priority"
25785+ glib:get-property="priority">
25786+ <attribute name="org.gtk.Method.get_property" value="priority"/>
25787+ <doc xml:space="preserve"
25788+ filename="src/adw-toast.c"
25789+ line="771">Gets priority for @self.</doc>
25790+ <source-position filename="src/adw-toast.h" line="68"/>
25791+ <return-value transfer-ownership="none">
25792+ <doc xml:space="preserve"
25793+ filename="src/adw-toast.c"
25794+ line="777">the priority</doc>
25795+ <type name="ToastPriority" c:type="AdwToastPriority"/>
25796+ </return-value>
25797+ <parameters>
25798+ <instance-parameter name="self" transfer-ownership="none">
25799+ <doc xml:space="preserve"
25800+ filename="src/adw-toast.c"
25801+ line="773">a toast</doc>
25802+ <type name="Toast" c:type="AdwToast*"/>
25803+ </instance-parameter>
25804+ </parameters>
25805+ </method>
25806+ <method name="get_timeout"
25807+ c:identifier="adw_toast_get_timeout"
25808+ glib:get-property="timeout">
25809+ <attribute name="org.gtk.Method.get_property" value="timeout"/>
25810+ <doc xml:space="preserve"
25811+ filename="src/adw-toast.c"
25812+ line="818">Gets timeout for @self.</doc>
25813+ <source-position filename="src/adw-toast.h" line="74"/>
25814+ <return-value transfer-ownership="none">
25815+ <doc xml:space="preserve"
25816+ filename="src/adw-toast.c"
25817+ line="824">the timeout</doc>
25818+ <type name="guint" c:type="guint"/>
25819+ </return-value>
25820+ <parameters>
25821+ <instance-parameter name="self" transfer-ownership="none">
25822+ <doc xml:space="preserve"
25823+ filename="src/adw-toast.c"
25824+ line="820">a toast</doc>
25825+ <type name="Toast" c:type="AdwToast*"/>
25826+ </instance-parameter>
25827+ </parameters>
25828+ </method>
25829+ <method name="get_title"
25830+ c:identifier="adw_toast_get_title"
25831+ glib:get-property="title">
25832+ <attribute name="org.gtk.Method.get_property" value="title"/>
25833+ <doc xml:space="preserve"
25834+ filename="src/adw-toast.c"
25835+ line="513">Gets the title that will be displayed on the toast.
25836+
25837+If a custom title has been set with [method@Adw.Toast.set_custom_title]
25838+the return value will be %NULL.</doc>
25839+ <source-position filename="src/adw-toast.h" line="37"/>
25840+ <return-value transfer-ownership="none" nullable="1">
25841+ <doc xml:space="preserve"
25842+ filename="src/adw-toast.c"
25843+ line="522">the title</doc>
25844+ <type name="utf8" c:type="const char*"/>
25845+ </return-value>
25846+ <parameters>
25847+ <instance-parameter name="self" transfer-ownership="none">
25848+ <doc xml:space="preserve"
25849+ filename="src/adw-toast.c"
25850+ line="515">a toast</doc>
25851+ <type name="Toast" c:type="AdwToast*"/>
25852+ </instance-parameter>
25853+ </parameters>
25854+ </method>
25855+ <method name="set_action_name"
25856+ c:identifier="adw_toast_set_action_name"
25857+ glib:set-property="action-name">
25858+ <attribute name="org.gtk.Method.set_property" value="action-name"/>
25859+ <doc xml:space="preserve"
25860+ filename="src/adw-toast.c"
25861+ line="630">Sets the name of the associated action.
25862+
25863+It will be activated when clicking the button.
25864+
25865+See [property@Toast:action-target].</doc>
25866+ <source-position filename="src/adw-toast.h" line="51"/>
25867+ <return-value transfer-ownership="none">
25868+ <type name="none" c:type="void"/>
25869+ </return-value>
25870+ <parameters>
25871+ <instance-parameter name="self" transfer-ownership="none">
25872+ <doc xml:space="preserve"
25873+ filename="src/adw-toast.c"
25874+ line="632">a toast</doc>
25875+ <type name="Toast" c:type="AdwToast*"/>
25876+ </instance-parameter>
25877+ <parameter name="action_name"
25878+ transfer-ownership="none"
25879+ nullable="1"
25880+ allow-none="1">
25881+ <doc xml:space="preserve"
25882+ filename="src/adw-toast.c"
25883+ line="633">the action name</doc>
25884+ <type name="utf8" c:type="const char*"/>
25885+ </parameter>
25886+ </parameters>
25887+ </method>
25888+ <method name="set_action_target"
25889+ c:identifier="adw_toast_set_action_target"
25890+ glib:set-property="action-target"
25891+ introspectable="0">
25892+ <doc xml:space="preserve"
25893+ filename="src/adw-toast.c"
25894+ line="702">Sets the parameter for action invocations.
25895+
25896+This is a convenience function that calls [ctor@GLib.Variant.new] for
25897+@format_string and uses the result to call
25898+[method@Toast.set_action_target_value].
25899+
25900+If you are setting a string-valued target and want to set
25901+the action name at the same time, you can use
25902+[method@Toast.set_detailed_action_name].</doc>
25903+ <source-position filename="src/adw-toast.h" line="60"/>
25904+ <return-value transfer-ownership="none">
25905+ <type name="none" c:type="void"/>
25906+ </return-value>
25907+ <parameters>
25908+ <instance-parameter name="self" transfer-ownership="none">
25909+ <doc xml:space="preserve"
25910+ filename="src/adw-toast.c"
25911+ line="704">a toast</doc>
25912+ <type name="Toast" c:type="AdwToast*"/>
25913+ </instance-parameter>
25914+ <parameter name="format_string"
25915+ transfer-ownership="none"
25916+ nullable="1"
25917+ allow-none="1">
25918+ <doc xml:space="preserve"
25919+ filename="src/adw-toast.c"
25920+ line="705">a variant format string</doc>
25921+ <type name="utf8" c:type="const char*"/>
25922+ </parameter>
25923+ <parameter name="..." transfer-ownership="none">
25924+ <doc xml:space="preserve"
25925+ filename="src/adw-toast.c"
25926+ line="706">arguments appropriate for @target_format</doc>
25927+ <varargs/>
25928+ </parameter>
25929+ </parameters>
25930+ </method>
25931+ <method name="set_action_target_value"
25932+ c:identifier="adw_toast_set_action_target_value">
25933+ <attribute name="org.gtk.Method.set_property" value="action-target"/>
25934+ <doc xml:space="preserve"
25935+ filename="src/adw-toast.c"
25936+ line="672">Sets the parameter for action invocations.
25937+
25938+If the @action_target variant has a floating reference this function
25939+will sink it.</doc>
25940+ <source-position filename="src/adw-toast.h" line="57"/>
25941+ <return-value transfer-ownership="none">
25942+ <type name="none" c:type="void"/>
25943+ </return-value>
25944+ <parameters>
25945+ <instance-parameter name="self" transfer-ownership="none">
25946+ <doc xml:space="preserve"
25947+ filename="src/adw-toast.c"
25948+ line="674">a toast</doc>
25949+ <type name="Toast" c:type="AdwToast*"/>
25950+ </instance-parameter>
25951+ <parameter name="action_target"
25952+ transfer-ownership="none"
25953+ nullable="1"
25954+ allow-none="1">
25955+ <doc xml:space="preserve"
25956+ filename="src/adw-toast.c"
25957+ line="675">the action target</doc>
25958+ <type name="GLib.Variant" c:type="GVariant*"/>
25959+ </parameter>
25960+ </parameters>
25961+ </method>
25962+ <method name="set_button_label"
25963+ c:identifier="adw_toast_set_button_label"
25964+ glib:set-property="button-label">
25965+ <attribute name="org.gtk.Method.set_property" value="button-label"/>
25966+ <doc xml:space="preserve"
25967+ filename="src/adw-toast.c"
25968+ line="586">Sets the label to show on the button.
25969+
25970+Underlines in the button text can be used to indicate a mnemonic.
25971+
25972+If set to `NULL`, the button won't be shown.
25973+
25974+See [property@Toast:action-name].</doc>
25975+ <source-position filename="src/adw-toast.h" line="45"/>
25976+ <return-value transfer-ownership="none">
25977+ <type name="none" c:type="void"/>
25978+ </return-value>
25979+ <parameters>
25980+ <instance-parameter name="self" transfer-ownership="none">
25981+ <doc xml:space="preserve"
25982+ filename="src/adw-toast.c"
25983+ line="588">a toast</doc>
25984+ <type name="Toast" c:type="AdwToast*"/>
25985+ </instance-parameter>
25986+ <parameter name="button_label"
25987+ transfer-ownership="none"
25988+ nullable="1"
25989+ allow-none="1">
25990+ <doc xml:space="preserve"
25991+ filename="src/adw-toast.c"
25992+ line="589">a button label</doc>
25993+ <type name="utf8" c:type="const char*"/>
25994+ </parameter>
25995+ </parameters>
25996+ </method>
25997+ <method name="set_custom_title"
25998+ c:identifier="adw_toast_set_custom_title"
25999+ glib:set-property="custom-title"
26000+ version="1.2">
26001+ <attribute name="org.gtk.Method.set_property" value="custom-title"/>
26002+ <doc xml:space="preserve"
26003+ filename="src/adw-toast.c"
26004+ line="879">Sets the custom title widget of @self.
26005+
26006+It will be displayed instead of the title if set. In this case,
26007+[property@Toast:title] is ignored.
26008+
26009+Setting a custom title will unset [property@Toast:title].</doc>
26010+ <source-position filename="src/adw-toast.h" line="82"/>
26011+ <return-value transfer-ownership="none">
26012+ <type name="none" c:type="void"/>
26013+ </return-value>
26014+ <parameters>
26015+ <instance-parameter name="self" transfer-ownership="none">
26016+ <doc xml:space="preserve"
26017+ filename="src/adw-toast.c"
26018+ line="881">a toast</doc>
26019+ <type name="Toast" c:type="AdwToast*"/>
26020+ </instance-parameter>
26021+ <parameter name="widget"
26022+ transfer-ownership="none"
26023+ nullable="1"
26024+ allow-none="1">
26025+ <doc xml:space="preserve"
26026+ filename="src/adw-toast.c"
26027+ line="882">the custom title widget</doc>
26028+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26029+ </parameter>
26030+ </parameters>
26031+ </method>
26032+ <method name="set_detailed_action_name"
26033+ c:identifier="adw_toast_set_detailed_action_name">
26034+ <doc xml:space="preserve"
26035+ filename="src/adw-toast.c"
26036+ line="732">Sets the action name and its parameter.
26037+
26038+@detailed_action_name is a string in the format accepted by
26039+[func@Gio.Action.parse_detailed_name].</doc>
26040+ <source-position filename="src/adw-toast.h" line="64"/>
26041+ <return-value transfer-ownership="none">
26042+ <type name="none" c:type="void"/>
26043+ </return-value>
26044+ <parameters>
26045+ <instance-parameter name="self" transfer-ownership="none">
26046+ <doc xml:space="preserve"
26047+ filename="src/adw-toast.c"
26048+ line="734">a toast</doc>
26049+ <type name="Toast" c:type="AdwToast*"/>
26050+ </instance-parameter>
26051+ <parameter name="detailed_action_name"
26052+ transfer-ownership="none"
26053+ nullable="1"
26054+ allow-none="1">
26055+ <doc xml:space="preserve"
26056+ filename="src/adw-toast.c"
26057+ line="735">the detailed action name</doc>
26058+ <type name="utf8" c:type="const char*"/>
26059+ </parameter>
26060+ </parameters>
26061+ </method>
26062+ <method name="set_priority"
26063+ c:identifier="adw_toast_set_priority"
26064+ glib:set-property="priority">
26065+ <attribute name="org.gtk.Method.set_property" value="priority"/>
26066+ <doc xml:space="preserve"
26067+ filename="src/adw-toast.c"
26068+ line="787">Sets priority for @self.
26069+
26070+Priority controls how the toast behaves when another toast is already
26071+being displayed.
26072+
26073+If @priority is `ADW_TOAST_PRIORITY_NORMAL`, the toast will be queued.
26074+
26075+If @priority is `ADW_TOAST_PRIORITY_HIGH`, the toast will be displayed
26076+immediately, pushing the previous toast into the queue instead.</doc>
26077+ <source-position filename="src/adw-toast.h" line="70"/>
26078+ <return-value transfer-ownership="none">
26079+ <type name="none" c:type="void"/>
26080+ </return-value>
26081+ <parameters>
26082+ <instance-parameter name="self" transfer-ownership="none">
26083+ <doc xml:space="preserve"
26084+ filename="src/adw-toast.c"
26085+ line="789">a toast</doc>
26086+ <type name="Toast" c:type="AdwToast*"/>
26087+ </instance-parameter>
26088+ <parameter name="priority" transfer-ownership="none">
26089+ <doc xml:space="preserve"
26090+ filename="src/adw-toast.c"
26091+ line="790">the priority</doc>
26092+ <type name="ToastPriority" c:type="AdwToastPriority"/>
26093+ </parameter>
26094+ </parameters>
26095+ </method>
26096+ <method name="set_timeout"
26097+ c:identifier="adw_toast_set_timeout"
26098+ glib:set-property="timeout">
26099+ <attribute name="org.gtk.Method.set_property" value="timeout"/>
26100+ <doc xml:space="preserve"
26101+ filename="src/adw-toast.c"
26102+ line="834">Sets timeout for @self.
26103+
26104+If @timeout is 0, the toast is displayed indefinitely until manually
26105+dismissed.
26106+
26107+Toasts cannot disappear while being hovered, pressed (on touchscreen), or
26108+have keyboard focus inside them.</doc>
26109+ <source-position filename="src/adw-toast.h" line="76"/>
26110+ <return-value transfer-ownership="none">
26111+ <type name="none" c:type="void"/>
26112+ </return-value>
26113+ <parameters>
26114+ <instance-parameter name="self" transfer-ownership="none">
26115+ <doc xml:space="preserve"
26116+ filename="src/adw-toast.c"
26117+ line="836">a toast</doc>
26118+ <type name="Toast" c:type="AdwToast*"/>
26119+ </instance-parameter>
26120+ <parameter name="timeout" transfer-ownership="none">
26121+ <doc xml:space="preserve"
26122+ filename="src/adw-toast.c"
26123+ line="837">the timeout</doc>
26124+ <type name="guint" c:type="guint"/>
26125+ </parameter>
26126+ </parameters>
26127+ </method>
26128+ <method name="set_title"
26129+ c:identifier="adw_toast_set_title"
26130+ glib:set-property="title">
26131+ <attribute name="org.gtk.Method.set_property" value="title"/>
26132+ <doc xml:space="preserve"
26133+ filename="src/adw-toast.c"
26134+ line="535">Sets the title that will be displayed on the toast.
26135+
26136+The title can be marked up with the Pango text markup language.
26137+
26138+Setting a title will unset [property@Toast:custom-title].
26139+
26140+If [property@Toast:custom-title] is set, it will be used instead.</doc>
26141+ <source-position filename="src/adw-toast.h" line="39"/>
26142+ <return-value transfer-ownership="none">
26143+ <type name="none" c:type="void"/>
26144+ </return-value>
26145+ <parameters>
26146+ <instance-parameter name="self" transfer-ownership="none">
26147+ <doc xml:space="preserve"
26148+ filename="src/adw-toast.c"
26149+ line="537">a toast</doc>
26150+ <type name="Toast" c:type="AdwToast*"/>
26151+ </instance-parameter>
26152+ <parameter name="title" transfer-ownership="none">
26153+ <doc xml:space="preserve"
26154+ filename="src/adw-toast.c"
26155+ line="538">a title</doc>
26156+ <type name="utf8" c:type="const char*"/>
26157+ </parameter>
26158+ </parameters>
26159+ </method>
26160+ <property name="action-name"
26161+ writable="1"
26162+ transfer-ownership="none"
26163+ setter="set_action_name"
26164+ getter="get_action_name"
26165+ default-value="NULL">
26166+ <attribute name="org.gtk.Property.get"
26167+ value="adw_toast_get_action_name"/>
26168+ <attribute name="org.gtk.Property.set"
26169+ value="adw_toast_set_action_name"/>
26170+ <doc xml:space="preserve"
26171+ filename="src/adw-toast.c"
26172+ line="326">The name of the associated action.
26173+
26174+It will be activated when clicking the button.
26175+
26176+See [property@Toast:action-target].</doc>
26177+ <type name="utf8" c:type="gchar*"/>
26178+ </property>
26179+ <property name="action-target"
26180+ writable="1"
26181+ transfer-ownership="none"
26182+ setter="set_action_target">
26183+ <attribute name="org.gtk.Property.get"
26184+ value="adw_toast_get_action_target_value"/>
26185+ <attribute name="org.gtk.Property.set"
26186+ value="adw_toast_set_action_target_value"/>
26187+ <doc xml:space="preserve"
26188+ filename="src/adw-toast.c"
26189+ line="340">The parameter for action invocations.</doc>
26190+ <type name="GLib.Variant"/>
26191+ </property>
26192+ <property name="button-label"
26193+ writable="1"
26194+ transfer-ownership="none"
26195+ setter="set_button_label"
26196+ getter="get_button_label"
26197+ default-value="NULL">
26198+ <attribute name="org.gtk.Property.get"
26199+ value="adw_toast_get_button_label"/>
26200+ <attribute name="org.gtk.Property.set"
26201+ value="adw_toast_set_button_label"/>
26202+ <doc xml:space="preserve"
26203+ filename="src/adw-toast.c"
26204+ line="310">The label to show on the button.
26205+
26206+Underlines in the button text can be used to indicate a mnemonic.
26207+
26208+If set to `NULL`, the button won't be shown.
26209+
26210+See [property@Toast:action-name].</doc>
26211+ <type name="utf8" c:type="gchar*"/>
26212+ </property>
26213+ <property name="custom-title"
26214+ version="1.2"
26215+ writable="1"
26216+ transfer-ownership="none"
26217+ setter="set_custom_title"
26218+ getter="get_custom_title">
26219+ <attribute name="org.gtk.Property.get"
26220+ value="adw_toast_get_custom_title"/>
26221+ <attribute name="org.gtk.Property.set"
26222+ value="adw_toast_set_custom_title"/>
26223+ <doc xml:space="preserve"
26224+ filename="src/adw-toast.c"
26225+ line="386">The custom title widget.
26226+
26227+It will be displayed instead of the title if set. In this case,
26228+[property@Toast:title] is ignored.
26229+
26230+Setting a custom title will unset [property@Toast:title].</doc>
26231+ <type name="Gtk.Widget"/>
26232+ </property>
26233+ <property name="priority"
26234+ writable="1"
26235+ transfer-ownership="none"
26236+ setter="set_priority"
26237+ getter="get_priority"
26238+ default-value="ADW_TOAST_PRIORITY_NORMAL">
26239+ <attribute name="org.gtk.Property.get" value="adw_toast_get_priority"/>
26240+ <attribute name="org.gtk.Property.set" value="adw_toast_set_priority"/>
26241+ <doc xml:space="preserve"
26242+ filename="src/adw-toast.c"
26243+ line="351">The priority of the toast.
26244+
26245+Priority controls how the toast behaves when another toast is already
26246+being displayed.
26247+
26248+If the priority is `ADW_TOAST_PRIORITY_NORMAL`, the toast will be queued.
26249+
26250+If the priority is `ADW_TOAST_PRIORITY_HIGH`, the toast will be displayed
26251+immediately, pushing the previous toast into the queue instead.</doc>
26252+ <type name="ToastPriority"/>
26253+ </property>
26254+ <property name="timeout"
26255+ writable="1"
26256+ transfer-ownership="none"
26257+ setter="set_timeout"
26258+ getter="get_timeout"
26259+ default-value="5">
26260+ <attribute name="org.gtk.Property.get" value="adw_toast_get_timeout"/>
26261+ <attribute name="org.gtk.Property.set" value="adw_toast_set_timeout"/>
26262+ <doc xml:space="preserve"
26263+ filename="src/adw-toast.c"
26264+ line="370">The timeout of the toast, in seconds.
26265+
26266+If timeout is 0, the toast is displayed indefinitely until manually
26267+dismissed.
26268+
26269+Toasts cannot disappear while being hovered, pressed (on touchscreen), or
26270+have keyboard focus inside them.</doc>
26271+ <type name="guint" c:type="guint"/>
26272+ </property>
26273+ <property name="title"
26274+ writable="1"
26275+ transfer-ownership="none"
26276+ setter="set_title"
26277+ getter="get_title">
26278+ <attribute name="org.gtk.Property.get" value="adw_toast_get_title"/>
26279+ <attribute name="org.gtk.Property.set" value="adw_toast_set_title"/>
26280+ <doc xml:space="preserve"
26281+ filename="src/adw-toast.c"
26282+ line="294">The title of the toast.
26283+
26284+The title can be marked up with the Pango text markup language.
26285+
26286+Setting a title will unset [property@Toast:custom-title].
26287+
26288+If [property@Toast:custom-title] is set, it will be used instead.</doc>
26289+ <type name="utf8" c:type="gchar*"/>
26290+ </property>
26291+ <glib:signal name="button-clicked" when="last" version="1.2">
26292+ <doc xml:space="preserve"
26293+ filename="src/adw-toast.c"
26294+ line="422">Emitted after the button has been clicked.
26295+
26296+It can be used as an alternative to setting an action.</doc>
26297+ <return-value transfer-ownership="none">
26298+ <type name="none" c:type="void"/>
26299+ </return-value>
26300+ </glib:signal>
26301+ <glib:signal name="dismissed" when="first">
26302+ <doc xml:space="preserve"
26303+ filename="src/adw-toast.c"
26304+ line="405">Emitted when the toast has been dismissed.</doc>
26305+ <return-value transfer-ownership="none">
26306+ <type name="none" c:type="void"/>
26307+ </return-value>
26308+ </glib:signal>
26309+ </class>
26310+ <record name="ToastClass"
26311+ c:type="AdwToastClass"
26312+ glib:is-gtype-struct-for="Toast">
26313+ <source-position filename="src/adw-toast.h" line="28"/>
26314+ <field name="parent_class">
26315+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
26316+ </field>
26317+ </record>
26318+ <class name="ToastOverlay"
26319+ c:symbol-prefix="toast_overlay"
26320+ c:type="AdwToastOverlay"
26321+ parent="Gtk.Widget"
26322+ final="1"
26323+ glib:type-name="AdwToastOverlay"
26324+ glib:get-type="adw_toast_overlay_get_type"
26325+ glib:type-struct="ToastOverlayClass">
26326+ <doc xml:space="preserve"
26327+ filename="src/adw-toast-overlay.c"
26328+ line="24">A widget showing toasts above its content.
26329+
26330+&lt;picture&gt;
26331+ &lt;source srcset="toast-overlay-dark.png" media="(prefers-color-scheme: dark)"&gt;
26332+ &lt;img src="toast-overlay.png" alt="toast-overlay"&gt;
26333+&lt;/picture&gt;
26334+
26335+Much like [class@Gtk.Overlay], `AdwToastOverlay` is a container with a single
26336+main child, on top of which it can display a [class@Toast], overlaid.
26337+Toasts can be shown with [method@ToastOverlay.add_toast].
26338+
26339+See [class@Toast] for details.
26340+
26341+## CSS nodes
26342+
26343+```
26344+toastoverlay
26345+├── [child]
26346+├── toast
26347+┊ ├── widget
26348+┊ │ ├── [label.heading]
26349+ │ ╰── [custom title]
26350+ ├── [button]
26351+ ╰── button.circular.flat
26352+```
26353+
26354+`AdwToastOverlay`'s CSS node is called `toastoverlay`. It contains the child,
26355+as well as zero or more `toast` subnodes.
26356+
26357+Each of the `toast` nodes contains a `widget` subnode, optionally a `button`
26358+subnode, and another `button` subnode with `.circular` and `.flat` style
26359+classes.
26360+
26361+The `widget` subnode contains a `label` subnode with the `.heading` style
26362+class, or a custom widget provided by the application.
26363+
26364+## Accessibility
26365+
26366+`AdwToastOverlay` uses the `GTK_ACCESSIBLE_ROLE_TAB_GROUP` role.</doc>
26367+ <source-position filename="src/adw-toast-overlay.h" line="23"/>
26368+ <implements name="Gtk.Accessible"/>
26369+ <implements name="Gtk.Buildable"/>
26370+ <implements name="Gtk.ConstraintTarget"/>
26371+ <constructor name="new" c:identifier="adw_toast_overlay_new">
26372+ <doc xml:space="preserve"
26373+ filename="src/adw-toast-overlay.c"
26374+ line="549">Creates a new `AdwToastOverlay`.</doc>
26375+ <source-position filename="src/adw-toast-overlay.h" line="26"/>
26376+ <return-value transfer-ownership="none">
26377+ <doc xml:space="preserve"
26378+ filename="src/adw-toast-overlay.c"
26379+ line="554">the new created `AdwToastOverlay`</doc>
26380+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26381+ </return-value>
26382+ </constructor>
26383+ <method name="add_toast" c:identifier="adw_toast_overlay_add_toast">
26384+ <doc xml:space="preserve"
26385+ filename="src/adw-toast-overlay.c"
26386+ line="606">Displays @toast.
26387+
26388+Only one toast can be shown at a time; if a toast is already being displayed,
26389+either @toast or the original toast will be placed in a queue, depending on
26390+the priority of @toast. See [property@Toast:priority].
26391+
26392+If called on a toast that's already displayed, its timeout will be reset.
26393+
26394+If called on a toast currently in the queue, the toast will be bumped
26395+forward to be shown as soon as possible.</doc>
26396+ <source-position filename="src/adw-toast-overlay.h" line="35"/>
26397+ <return-value transfer-ownership="none">
26398+ <type name="none" c:type="void"/>
26399+ </return-value>
26400+ <parameters>
26401+ <instance-parameter name="self" transfer-ownership="none">
26402+ <doc xml:space="preserve"
26403+ filename="src/adw-toast-overlay.c"
26404+ line="608">a toast overlay</doc>
26405+ <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
26406+ </instance-parameter>
26407+ <parameter name="toast" transfer-ownership="full">
26408+ <doc xml:space="preserve"
26409+ filename="src/adw-toast-overlay.c"
26410+ line="609">a toast</doc>
26411+ <type name="Toast" c:type="AdwToast*"/>
26412+ </parameter>
26413+ </parameters>
26414+ </method>
26415+ <method name="get_child"
26416+ c:identifier="adw_toast_overlay_get_child"
26417+ glib:get-property="child">
26418+ <attribute name="org.gtk.Method.get_property" value="child"/>
26419+ <doc xml:space="preserve"
26420+ filename="src/adw-toast-overlay.c"
26421+ line="562">Gets the child widget of @self.</doc>
26422+ <source-position filename="src/adw-toast-overlay.h" line="29"/>
26423+ <return-value transfer-ownership="none" nullable="1">
26424+ <doc xml:space="preserve"
26425+ filename="src/adw-toast-overlay.c"
26426+ line="568">the child widget of @self</doc>
26427+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26428+ </return-value>
26429+ <parameters>
26430+ <instance-parameter name="self" transfer-ownership="none">
26431+ <doc xml:space="preserve"
26432+ filename="src/adw-toast-overlay.c"
26433+ line="564">a toast overlay</doc>
26434+ <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
26435+ </instance-parameter>
26436+ </parameters>
26437+ </method>
26438+ <method name="set_child"
26439+ c:identifier="adw_toast_overlay_set_child"
26440+ glib:set-property="child">
26441+ <attribute name="org.gtk.Method.set_property" value="child"/>
26442+ <doc xml:space="preserve"
26443+ filename="src/adw-toast-overlay.c"
26444+ line="578">Sets the child widget of @self.</doc>
26445+ <source-position filename="src/adw-toast-overlay.h" line="31"/>
26446+ <return-value transfer-ownership="none">
26447+ <type name="none" c:type="void"/>
26448+ </return-value>
26449+ <parameters>
26450+ <instance-parameter name="self" transfer-ownership="none">
26451+ <doc xml:space="preserve"
26452+ filename="src/adw-toast-overlay.c"
26453+ line="580">a toast overlay</doc>
26454+ <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
26455+ </instance-parameter>
26456+ <parameter name="child"
26457+ transfer-ownership="none"
26458+ nullable="1"
26459+ allow-none="1">
26460+ <doc xml:space="preserve"
26461+ filename="src/adw-toast-overlay.c"
26462+ line="581">the child widget</doc>
26463+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26464+ </parameter>
26465+ </parameters>
26466+ </method>
26467+ <property name="child"
26468+ writable="1"
26469+ transfer-ownership="none"
26470+ setter="set_child"
26471+ getter="get_child">
26472+ <attribute name="org.gtk.Property.get"
26473+ value="adw_toast_overlay_get_child"/>
26474+ <attribute name="org.gtk.Property.set"
26475+ value="adw_toast_overlay_set_child"/>
26476+ <doc xml:space="preserve"
26477+ filename="src/adw-toast-overlay.c"
26478+ line="499">The child widget.</doc>
26479+ <type name="Gtk.Widget"/>
26480+ </property>
26481+ </class>
26482+ <record name="ToastOverlayClass"
26483+ c:type="AdwToastOverlayClass"
26484+ glib:is-gtype-struct-for="ToastOverlay">
26485+ <source-position filename="src/adw-toast-overlay.h" line="23"/>
26486+ <field name="parent_class">
26487+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
26488+ </field>
26489+ </record>
26490+ <enumeration name="ToastPriority"
26491+ glib:type-name="AdwToastPriority"
26492+ glib:get-type="adw_toast_priority_get_type"
26493+ c:type="AdwToastPriority">
26494+ <doc xml:space="preserve"
26495+ filename="src/adw-toast.c"
26496+ line="14">[class@Toast] behavior when another toast is already displayed.</doc>
26497+ <member name="normal"
26498+ value="0"
26499+ c:identifier="ADW_TOAST_PRIORITY_NORMAL"
26500+ glib:nick="normal"
26501+ glib:name="ADW_TOAST_PRIORITY_NORMAL">
26502+ <doc xml:space="preserve"
26503+ filename="src/adw-toast.c"
26504+ line="16">the toast will be queued if another toast is
26505+ already displayed.</doc>
26506+ </member>
26507+ <member name="high"
26508+ value="1"
26509+ c:identifier="ADW_TOAST_PRIORITY_HIGH"
26510+ glib:nick="high"
26511+ glib:name="ADW_TOAST_PRIORITY_HIGH">
26512+ <doc xml:space="preserve"
26513+ filename="src/adw-toast.c"
26514+ line="18">the toast will be displayed immediately, pushing
26515+ the previous toast into the queue instead.</doc>
26516+ </member>
26517+ </enumeration>
26518+ <function-macro name="UNAVAILABLE"
26519+ c:identifier="ADW_UNAVAILABLE"
26520+ introspectable="0">
26521+ <source-position filename="src/adw-version.h" line="187"/>
26522+ <parameters>
26523+ <parameter name="major">
26524+ </parameter>
26525+ <parameter name="minor">
26526+ </parameter>
26527+ </parameters>
26528+ </function-macro>
26529+ <constant name="VERSION_S" value="1.3.3" c:type="ADW_VERSION_S">
26530+ <doc xml:space="preserve"
26531+ filename="src/adw-version.h"
26532+ line="45">Adwaita version, encoded as a string, useful for printing and
26533+concatenation.</doc>
26534+ <source-position filename="src/adw-version.h" line="51"/>
26535+ <type name="utf8" c:type="gchar*"/>
26536+ </constant>
26537+ <class name="ViewStack"
26538+ c:symbol-prefix="view_stack"
26539+ c:type="AdwViewStack"
26540+ parent="Gtk.Widget"
26541+ final="1"
26542+ glib:type-name="AdwViewStack"
26543+ glib:get-type="adw_view_stack_get_type"
26544+ glib:type-struct="ViewStackClass">
26545+ <doc xml:space="preserve"
26546+ filename="src/adw-view-stack.c"
26547+ line="21">A view container for [class@ViewSwitcher].
26548+
26549+`AdwViewStack` is a container which only shows one page at a time.
26550+It is typically used to hold an application's main views.
26551+
26552+It doesn't provide a way to transition between pages.
26553+Instead, a separate widget such as [class@ViewSwitcher] can be used with
26554+`AdwViewStack` to provide this functionality.
26555+
26556+`AdwViewStack` pages can have a title, an icon, an attention request, and a
26557+numbered badge that [class@ViewSwitcher] will use to let users identify which
26558+page is which. Set them using the [property@ViewStackPage:title],
26559+[property@ViewStackPage:icon-name],
26560+[property@ViewStackPage:needs-attention], and
26561+[property@ViewStackPage:badge-number] properties.
26562+
26563+Unlike [class@Gtk.Stack], transitions between views are not animated.
26564+
26565+`AdwViewStack` maintains a [class@ViewStackPage] object for each added child,
26566+which holds additional per-child properties. You obtain the
26567+[class@ViewStackPage] for a child with [method@ViewStack.get_page] and you
26568+can obtain a [iface@Gtk.SelectionModel] containing all the pages with
26569+[method@ViewStack.get_pages].
26570+
26571+## AdwViewStack as GtkBuildable
26572+
26573+To set child-specific properties in a .ui file, create
26574+[class@ViewStackPage] objects explicitly, and set the child widget as a
26575+property on it:
26576+
26577+```xml
26578+ &lt;object class="AdwViewStack" id="stack"&gt;
26579+ &lt;child&gt;
26580+ &lt;object class="AdwViewStackPage"&gt;
26581+ &lt;property name="name"&gt;overview&lt;/property&gt;
26582+ &lt;property name="title"&gt;Overview&lt;/property&gt;
26583+ &lt;property name="child"&gt;
26584+ &lt;object class="AdwStatusPage"&gt;
26585+ &lt;property name="title"&gt;Welcome!&lt;/property&gt;
26586+ &lt;/object&gt;
26587+ &lt;/property&gt;
26588+ &lt;/object&gt;
26589+ &lt;/child&gt;
26590+ &lt;/object&gt;
26591+```
26592+
26593+## CSS nodes
26594+
26595+`AdwViewStack` has a single CSS node named `stack`.
26596+
26597+## Accessibility
26598+
26599+`AdwViewStack` uses the `GTK_ACCESSIBLE_ROLE_TAB_PANEL` for the stack pages
26600+which are the accessible parent objects of the child widgets.</doc>
26601+ <source-position filename="src/adw-view-stack.h" line="78"/>
26602+ <implements name="Gtk.Accessible"/>
26603+ <implements name="Gtk.Buildable"/>
26604+ <implements name="Gtk.ConstraintTarget"/>
26605+ <constructor name="new" c:identifier="adw_view_stack_new">
26606+ <doc xml:space="preserve"
26607+ filename="src/adw-view-stack.c"
26608+ line="1490">Creates a new `AdwViewStack`.</doc>
26609+ <source-position filename="src/adw-view-stack.h" line="81"/>
26610+ <return-value transfer-ownership="none">
26611+ <doc xml:space="preserve"
26612+ filename="src/adw-view-stack.c"
26613+ line="1495">the newly created `AdwViewStack`</doc>
26614+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26615+ </return-value>
26616+ </constructor>
26617+ <method name="add" c:identifier="adw_view_stack_add">
26618+ <doc xml:space="preserve"
26619+ filename="src/adw-view-stack.c"
26620+ line="1503">Adds a child to @self.</doc>
26621+ <source-position filename="src/adw-view-stack.h" line="84"/>
26622+ <return-value transfer-ownership="none">
26623+ <doc xml:space="preserve"
26624+ filename="src/adw-view-stack.c"
26625+ line="1510">the [class@ViewStackPage] for @child</doc>
26626+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
26627+ </return-value>
26628+ <parameters>
26629+ <instance-parameter name="self" transfer-ownership="none">
26630+ <doc xml:space="preserve"
26631+ filename="src/adw-view-stack.c"
26632+ line="1505">a view stack</doc>
26633+ <type name="ViewStack" c:type="AdwViewStack*"/>
26634+ </instance-parameter>
26635+ <parameter name="child" transfer-ownership="none">
26636+ <doc xml:space="preserve"
26637+ filename="src/adw-view-stack.c"
26638+ line="1506">the widget to add</doc>
26639+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26640+ </parameter>
26641+ </parameters>
26642+ </method>
26643+ <method name="add_named" c:identifier="adw_view_stack_add_named">
26644+ <doc xml:space="preserve"
26645+ filename="src/adw-view-stack.c"
26646+ line="1522">Adds a child to @self.
26647+
26648+The child is identified by the @name.</doc>
26649+ <source-position filename="src/adw-view-stack.h" line="87"/>
26650+ <return-value transfer-ownership="none">
26651+ <doc xml:space="preserve"
26652+ filename="src/adw-view-stack.c"
26653+ line="1532">the `AdwViewStackPage` for @child</doc>
26654+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
26655+ </return-value>
26656+ <parameters>
26657+ <instance-parameter name="self" transfer-ownership="none">
26658+ <doc xml:space="preserve"
26659+ filename="src/adw-view-stack.c"
26660+ line="1524">a view stack</doc>
26661+ <type name="ViewStack" c:type="AdwViewStack*"/>
26662+ </instance-parameter>
26663+ <parameter name="child" transfer-ownership="none">
26664+ <doc xml:space="preserve"
26665+ filename="src/adw-view-stack.c"
26666+ line="1525">the widget to add</doc>
26667+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26668+ </parameter>
26669+ <parameter name="name"
26670+ transfer-ownership="none"
26671+ nullable="1"
26672+ allow-none="1">
26673+ <doc xml:space="preserve"
26674+ filename="src/adw-view-stack.c"
26675+ line="1526">the name for @child</doc>
26676+ <type name="utf8" c:type="const char*"/>
26677+ </parameter>
26678+ </parameters>
26679+ </method>
26680+ <method name="add_titled" c:identifier="adw_view_stack_add_titled">
26681+ <doc xml:space="preserve"
26682+ filename="src/adw-view-stack.c"
26683+ line="1545">Adds a child to @self.
26684+
26685+The child is identified by the @name. The @title will be used by
26686+[class@ViewSwitcher] to represent @child, so it should be short.</doc>
26687+ <source-position filename="src/adw-view-stack.h" line="91"/>
26688+ <return-value transfer-ownership="none">
26689+ <doc xml:space="preserve"
26690+ filename="src/adw-view-stack.c"
26691+ line="1557">the `AdwViewStackPage` for @child</doc>
26692+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
26693+ </return-value>
26694+ <parameters>
26695+ <instance-parameter name="self" transfer-ownership="none">
26696+ <doc xml:space="preserve"
26697+ filename="src/adw-view-stack.c"
26698+ line="1547">a view stack</doc>
26699+ <type name="ViewStack" c:type="AdwViewStack*"/>
26700+ </instance-parameter>
26701+ <parameter name="child" transfer-ownership="none">
26702+ <doc xml:space="preserve"
26703+ filename="src/adw-view-stack.c"
26704+ line="1548">the widget to add</doc>
26705+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26706+ </parameter>
26707+ <parameter name="name"
26708+ transfer-ownership="none"
26709+ nullable="1"
26710+ allow-none="1">
26711+ <doc xml:space="preserve"
26712+ filename="src/adw-view-stack.c"
26713+ line="1549">the name for @child</doc>
26714+ <type name="utf8" c:type="const char*"/>
26715+ </parameter>
26716+ <parameter name="title" transfer-ownership="none">
26717+ <doc xml:space="preserve"
26718+ filename="src/adw-view-stack.c"
26719+ line="1550">a human-readable title for @child</doc>
26720+ <type name="utf8" c:type="const char*"/>
26721+ </parameter>
26722+ </parameters>
26723+ </method>
26724+ <method name="add_titled_with_icon"
26725+ c:identifier="adw_view_stack_add_titled_with_icon"
26726+ version="1.2">
26727+ <doc xml:space="preserve"
26728+ filename="src/adw-view-stack.c"
26729+ line="1571">Adds a child to @self.
26730+
26731+The child is identified by the @name. The @title and @icon_name will be used
26732+by [class@ViewSwitcher] to represent @child.</doc>
26733+ <source-position filename="src/adw-view-stack.h" line="96"/>
26734+ <return-value transfer-ownership="none">
26735+ <doc xml:space="preserve"
26736+ filename="src/adw-view-stack.c"
26737+ line="1584">the `AdwViewStackPage` for @child</doc>
26738+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
26739+ </return-value>
26740+ <parameters>
26741+ <instance-parameter name="self" transfer-ownership="none">
26742+ <doc xml:space="preserve"
26743+ filename="src/adw-view-stack.c"
26744+ line="1573">a view stack</doc>
26745+ <type name="ViewStack" c:type="AdwViewStack*"/>
26746+ </instance-parameter>
26747+ <parameter name="child" transfer-ownership="none">
26748+ <doc xml:space="preserve"
26749+ filename="src/adw-view-stack.c"
26750+ line="1574">the widget to add</doc>
26751+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26752+ </parameter>
26753+ <parameter name="name"
26754+ transfer-ownership="none"
26755+ nullable="1"
26756+ allow-none="1">
26757+ <doc xml:space="preserve"
26758+ filename="src/adw-view-stack.c"
26759+ line="1575">the name for @child</doc>
26760+ <type name="utf8" c:type="const char*"/>
26761+ </parameter>
26762+ <parameter name="title" transfer-ownership="none">
26763+ <doc xml:space="preserve"
26764+ filename="src/adw-view-stack.c"
26765+ line="1576">a human-readable title for @child</doc>
26766+ <type name="utf8" c:type="const char*"/>
26767+ </parameter>
26768+ <parameter name="icon_name" transfer-ownership="none">
26769+ <doc xml:space="preserve"
26770+ filename="src/adw-view-stack.c"
26771+ line="1577">an icon name for @child</doc>
26772+ <type name="utf8" c:type="const char*"/>
26773+ </parameter>
26774+ </parameters>
26775+ </method>
26776+ <method name="get_child_by_name"
26777+ c:identifier="adw_view_stack_get_child_by_name">
26778+ <doc xml:space="preserve"
26779+ filename="src/adw-view-stack.c"
26780+ line="1651">Finds the child with @name in @self.</doc>
26781+ <source-position filename="src/adw-view-stack.h" line="111"/>
26782+ <return-value transfer-ownership="none" nullable="1">
26783+ <doc xml:space="preserve"
26784+ filename="src/adw-view-stack.c"
26785+ line="1658">the requested child</doc>
26786+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26787+ </return-value>
26788+ <parameters>
26789+ <instance-parameter name="self" transfer-ownership="none">
26790+ <doc xml:space="preserve"
26791+ filename="src/adw-view-stack.c"
26792+ line="1653">a view stack</doc>
26793+ <type name="ViewStack" c:type="AdwViewStack*"/>
26794+ </instance-parameter>
26795+ <parameter name="name" transfer-ownership="none">
26796+ <doc xml:space="preserve"
26797+ filename="src/adw-view-stack.c"
26798+ line="1654">the name of the child to find</doc>
26799+ <type name="utf8" c:type="const char*"/>
26800+ </parameter>
26801+ </parameters>
26802+ </method>
26803+ <method name="get_hhomogeneous"
26804+ c:identifier="adw_view_stack_get_hhomogeneous"
26805+ glib:get-property="hhomogeneous">
26806+ <attribute name="org.gtk.Method.get_property" value="hhomogeneous"/>
26807+ <doc xml:space="preserve"
26808+ filename="src/adw-view-stack.c"
26809+ line="1766">Gets whether @self is horizontally homogeneous.</doc>
26810+ <source-position filename="src/adw-view-stack.h" line="127"/>
26811+ <return-value transfer-ownership="none">
26812+ <doc xml:space="preserve"
26813+ filename="src/adw-view-stack.c"
26814+ line="1772">whether @self is horizontally homogeneous</doc>
26815+ <type name="gboolean" c:type="gboolean"/>
26816+ </return-value>
26817+ <parameters>
26818+ <instance-parameter name="self" transfer-ownership="none">
26819+ <doc xml:space="preserve"
26820+ filename="src/adw-view-stack.c"
26821+ line="1768">a view stack</doc>
26822+ <type name="ViewStack" c:type="AdwViewStack*"/>
26823+ </instance-parameter>
26824+ </parameters>
26825+ </method>
26826+ <method name="get_page" c:identifier="adw_view_stack_get_page">
26827+ <doc xml:space="preserve"
26828+ filename="src/adw-view-stack.c"
26829+ line="1632">Gets the [class@ViewStackPage] object for @child.</doc>
26830+ <source-position filename="src/adw-view-stack.h" line="107"/>
26831+ <return-value transfer-ownership="none">
26832+ <doc xml:space="preserve"
26833+ filename="src/adw-view-stack.c"
26834+ line="1639">the page object for @child</doc>
26835+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
26836+ </return-value>
26837+ <parameters>
26838+ <instance-parameter name="self" transfer-ownership="none">
26839+ <doc xml:space="preserve"
26840+ filename="src/adw-view-stack.c"
26841+ line="1634">a view stack</doc>
26842+ <type name="ViewStack" c:type="AdwViewStack*"/>
26843+ </instance-parameter>
26844+ <parameter name="child" transfer-ownership="none">
26845+ <doc xml:space="preserve"
26846+ filename="src/adw-view-stack.c"
26847+ line="1635">a child of @self</doc>
26848+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26849+ </parameter>
26850+ </parameters>
26851+ </method>
26852+ <method name="get_pages"
26853+ c:identifier="adw_view_stack_get_pages"
26854+ glib:get-property="pages">
26855+ <attribute name="org.gtk.Method.get_property" value="pages"/>
26856+ <doc xml:space="preserve"
26857+ filename="src/adw-view-stack.c"
26858+ line="1862">Returns a [iface@Gio.ListModel] that contains the pages of the stack.
26859+
26860+This can be used to keep an up-to-date view. The model also implements
26861+[iface@Gtk.SelectionModel] and can be used to track and change the visible
26862+page.</doc>
26863+ <source-position filename="src/adw-view-stack.h" line="139"/>
26864+ <return-value transfer-ownership="full">
26865+ <doc xml:space="preserve"
26866+ filename="src/adw-view-stack.c"
26867+ line="1872">a `GtkSelectionModel` for the stack's children</doc>
26868+ <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
26869+ </return-value>
26870+ <parameters>
26871+ <instance-parameter name="self" transfer-ownership="none">
26872+ <doc xml:space="preserve"
26873+ filename="src/adw-view-stack.c"
26874+ line="1864">a view stack</doc>
26875+ <type name="ViewStack" c:type="AdwViewStack*"/>
26876+ </instance-parameter>
26877+ </parameters>
26878+ </method>
26879+ <method name="get_vhomogeneous"
26880+ c:identifier="adw_view_stack_get_vhomogeneous"
26881+ glib:get-property="vhomogeneous">
26882+ <attribute name="org.gtk.Method.get_property" value="vhomogeneous"/>
26883+ <doc xml:space="preserve"
26884+ filename="src/adw-view-stack.c"
26885+ line="1814">Gets whether @self is vertically homogeneous.</doc>
26886+ <source-position filename="src/adw-view-stack.h" line="133"/>
26887+ <return-value transfer-ownership="none">
26888+ <doc xml:space="preserve"
26889+ filename="src/adw-view-stack.c"
26890+ line="1820">whether @self is vertically homogeneous</doc>
26891+ <type name="gboolean" c:type="gboolean"/>
26892+ </return-value>
26893+ <parameters>
26894+ <instance-parameter name="self" transfer-ownership="none">
26895+ <doc xml:space="preserve"
26896+ filename="src/adw-view-stack.c"
26897+ line="1816">a view stack</doc>
26898+ <type name="ViewStack" c:type="AdwViewStack*"/>
26899+ </instance-parameter>
26900+ </parameters>
26901+ </method>
26902+ <method name="get_visible_child"
26903+ c:identifier="adw_view_stack_get_visible_child"
26904+ glib:get-property="visible-child">
26905+ <attribute name="org.gtk.Method.get_property" value="visible-child"/>
26906+ <doc xml:space="preserve"
26907+ filename="src/adw-view-stack.c"
26908+ line="1674">Gets the currently visible child of @self, .</doc>
26909+ <source-position filename="src/adw-view-stack.h" line="115"/>
26910+ <return-value transfer-ownership="none" nullable="1">
26911+ <doc xml:space="preserve"
26912+ filename="src/adw-view-stack.c"
26913+ line="1680">the visible child</doc>
26914+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26915+ </return-value>
26916+ <parameters>
26917+ <instance-parameter name="self" transfer-ownership="none">
26918+ <doc xml:space="preserve"
26919+ filename="src/adw-view-stack.c"
26920+ line="1676">a view stack</doc>
26921+ <type name="ViewStack" c:type="AdwViewStack*"/>
26922+ </instance-parameter>
26923+ </parameters>
26924+ </method>
26925+ <method name="get_visible_child_name"
26926+ c:identifier="adw_view_stack_get_visible_child_name"
26927+ glib:get-property="visible-child-name">
26928+ <attribute name="org.gtk.Method.get_property"
26929+ value="visible-child-name"/>
26930+ <doc xml:space="preserve"
26931+ filename="src/adw-view-stack.c"
26932+ line="1718">Returns the name of the currently visible child of @self.</doc>
26933+ <source-position filename="src/adw-view-stack.h" line="121"/>
26934+ <return-value transfer-ownership="none" nullable="1">
26935+ <doc xml:space="preserve"
26936+ filename="src/adw-view-stack.c"
26937+ line="1724">the name of the visible child</doc>
26938+ <type name="utf8" c:type="const char*"/>
26939+ </return-value>
26940+ <parameters>
26941+ <instance-parameter name="self" transfer-ownership="none">
26942+ <doc xml:space="preserve"
26943+ filename="src/adw-view-stack.c"
26944+ line="1720">a view stack</doc>
26945+ <type name="ViewStack" c:type="AdwViewStack*"/>
26946+ </instance-parameter>
26947+ </parameters>
26948+ </method>
26949+ <method name="remove" c:identifier="adw_view_stack_remove">
26950+ <doc xml:space="preserve"
26951+ filename="src/adw-view-stack.c"
26952+ line="1601">Removes a child widget from @self.</doc>
26953+ <source-position filename="src/adw-view-stack.h" line="103"/>
26954+ <return-value transfer-ownership="none">
26955+ <type name="none" c:type="void"/>
26956+ </return-value>
26957+ <parameters>
26958+ <instance-parameter name="self" transfer-ownership="none">
26959+ <doc xml:space="preserve"
26960+ filename="src/adw-view-stack.c"
26961+ line="1603">a view stack</doc>
26962+ <type name="ViewStack" c:type="AdwViewStack*"/>
26963+ </instance-parameter>
26964+ <parameter name="child" transfer-ownership="none">
26965+ <doc xml:space="preserve"
26966+ filename="src/adw-view-stack.c"
26967+ line="1604">the child to remove</doc>
26968+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
26969+ </parameter>
26970+ </parameters>
26971+ </method>
26972+ <method name="set_hhomogeneous"
26973+ c:identifier="adw_view_stack_set_hhomogeneous"
26974+ glib:set-property="hhomogeneous">
26975+ <attribute name="org.gtk.Method.set_property" value="hhomogeneous"/>
26976+ <doc xml:space="preserve"
26977+ filename="src/adw-view-stack.c"
26978+ line="1782">Sets @self to be horizontally homogeneous or not.
26979+
26980+If the stack is horizontally homogeneous, it allocates the same width for
26981+all children.
26982+
26983+If it's `FALSE`, the stack may change width when a different child becomes
26984+visible.</doc>
26985+ <source-position filename="src/adw-view-stack.h" line="129"/>
26986+ <return-value transfer-ownership="none">
26987+ <type name="none" c:type="void"/>
26988+ </return-value>
26989+ <parameters>
26990+ <instance-parameter name="self" transfer-ownership="none">
26991+ <doc xml:space="preserve"
26992+ filename="src/adw-view-stack.c"
26993+ line="1784">a view stack</doc>
26994+ <type name="ViewStack" c:type="AdwViewStack*"/>
26995+ </instance-parameter>
26996+ <parameter name="hhomogeneous" transfer-ownership="none">
26997+ <doc xml:space="preserve"
26998+ filename="src/adw-view-stack.c"
26999+ line="1785">whether to make @self horizontally homogeneous</doc>
27000+ <type name="gboolean" c:type="gboolean"/>
27001+ </parameter>
27002+ </parameters>
27003+ </method>
27004+ <method name="set_vhomogeneous"
27005+ c:identifier="adw_view_stack_set_vhomogeneous"
27006+ glib:set-property="vhomogeneous">
27007+ <attribute name="org.gtk.Method.set_property" value="vhomogeneous"/>
27008+ <doc xml:space="preserve"
27009+ filename="src/adw-view-stack.c"
27010+ line="1830">Sets @self to be vertically homogeneous or not.
27011+
27012+If the stack is vertically homogeneous, it allocates the same height for
27013+all children.
27014+
27015+If it's `FALSE`, the stack may change height when a different child becomes
27016+visible.</doc>
27017+ <source-position filename="src/adw-view-stack.h" line="135"/>
27018+ <return-value transfer-ownership="none">
27019+ <type name="none" c:type="void"/>
27020+ </return-value>
27021+ <parameters>
27022+ <instance-parameter name="self" transfer-ownership="none">
27023+ <doc xml:space="preserve"
27024+ filename="src/adw-view-stack.c"
27025+ line="1832">a view stack</doc>
27026+ <type name="ViewStack" c:type="AdwViewStack*"/>
27027+ </instance-parameter>
27028+ <parameter name="vhomogeneous" transfer-ownership="none">
27029+ <doc xml:space="preserve"
27030+ filename="src/adw-view-stack.c"
27031+ line="1833">whether to make @self vertically homogeneous</doc>
27032+ <type name="gboolean" c:type="gboolean"/>
27033+ </parameter>
27034+ </parameters>
27035+ </method>
27036+ <method name="set_visible_child"
27037+ c:identifier="adw_view_stack_set_visible_child"
27038+ glib:set-property="visible-child">
27039+ <attribute name="org.gtk.Method.set_property" value="visible-child"/>
27040+ <doc xml:space="preserve"
27041+ filename="src/adw-view-stack.c"
27042+ line="1690">Makes @child the visible child of @self.</doc>
27043+ <source-position filename="src/adw-view-stack.h" line="117"/>
27044+ <return-value transfer-ownership="none">
27045+ <type name="none" c:type="void"/>
27046+ </return-value>
27047+ <parameters>
27048+ <instance-parameter name="self" transfer-ownership="none">
27049+ <doc xml:space="preserve"
27050+ filename="src/adw-view-stack.c"
27051+ line="1692">a view stack</doc>
27052+ <type name="ViewStack" c:type="AdwViewStack*"/>
27053+ </instance-parameter>
27054+ <parameter name="child" transfer-ownership="none">
27055+ <doc xml:space="preserve"
27056+ filename="src/adw-view-stack.c"
27057+ line="1693">a child of @self</doc>
27058+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
27059+ </parameter>
27060+ </parameters>
27061+ </method>
27062+ <method name="set_visible_child_name"
27063+ c:identifier="adw_view_stack_set_visible_child_name"
27064+ glib:set-property="visible-child-name">
27065+ <attribute name="org.gtk.Method.set_property"
27066+ value="visible-child-name"/>
27067+ <doc xml:space="preserve"
27068+ filename="src/adw-view-stack.c"
27069+ line="1734">Makes the child with @name visible.
27070+
27071+See [property@ViewStack:visible-child].</doc>
27072+ <source-position filename="src/adw-view-stack.h" line="123"/>
27073+ <return-value transfer-ownership="none">
27074+ <type name="none" c:type="void"/>
27075+ </return-value>
27076+ <parameters>
27077+ <instance-parameter name="self" transfer-ownership="none">
27078+ <doc xml:space="preserve"
27079+ filename="src/adw-view-stack.c"
27080+ line="1736">a view stack</doc>
27081+ <type name="ViewStack" c:type="AdwViewStack*"/>
27082+ </instance-parameter>
27083+ <parameter name="name" transfer-ownership="none">
27084+ <doc xml:space="preserve"
27085+ filename="src/adw-view-stack.c"
27086+ line="1737">the name of the child</doc>
27087+ <type name="utf8" c:type="const char*"/>
27088+ </parameter>
27089+ </parameters>
27090+ </method>
27091+ <property name="hhomogeneous"
27092+ writable="1"
27093+ transfer-ownership="none"
27094+ setter="set_hhomogeneous"
27095+ getter="get_hhomogeneous"
27096+ default-value="TRUE">
27097+ <attribute name="org.gtk.Property.get"
27098+ value="adw_view_stack_get_hhomogeneous"/>
27099+ <attribute name="org.gtk.Property.set"
27100+ value="adw_view_stack_set_hhomogeneous"/>
27101+ <doc xml:space="preserve"
27102+ filename="src/adw-view-stack.c"
27103+ line="1042">Whether the stack is horizontally homogeneous.
27104+
27105+If the stack is horizontally homogeneous, it allocates the same width for
27106+all children.
27107+
27108+If it's `FALSE`, the stack may change width when a different child becomes
27109+visible.</doc>
27110+ <type name="gboolean" c:type="gboolean"/>
27111+ </property>
27112+ <property name="pages" transfer-ownership="none" getter="get_pages">
27113+ <attribute name="org.gtk.Property.get"
27114+ value="adw_view_stack_get_pages"/>
27115+ <doc xml:space="preserve"
27116+ filename="src/adw-view-stack.c"
27117+ line="1096">A selection model with the stack's pages.
27118+
27119+This can be used to keep an up-to-date view. The model also implements
27120+[iface@Gtk.SelectionModel] and can be used to track and change the visible
27121+page.</doc>
27122+ <type name="Gtk.SelectionModel"/>
27123+ </property>
27124+ <property name="vhomogeneous"
27125+ writable="1"
27126+ transfer-ownership="none"
27127+ setter="set_vhomogeneous"
27128+ getter="get_vhomogeneous"
27129+ default-value="TRUE">
27130+ <attribute name="org.gtk.Property.get"
27131+ value="adw_view_stack_get_vhomogeneous"/>
27132+ <attribute name="org.gtk.Property.set"
27133+ value="adw_view_stack_set_vhomogeneous"/>
27134+ <doc xml:space="preserve"
27135+ filename="src/adw-view-stack.c"
27136+ line="1058">Whether the stack is vertically homogeneous.
27137+
27138+If the stack is vertically homogeneous, it allocates the same height for
27139+all children.
27140+
27141+If it's `FALSE`, the stack may change height when a different child becomes
27142+visible.</doc>
27143+ <type name="gboolean" c:type="gboolean"/>
27144+ </property>
27145+ <property name="visible-child"
27146+ writable="1"
27147+ transfer-ownership="none"
27148+ setter="set_visible_child"
27149+ getter="get_visible_child">
27150+ <attribute name="org.gtk.Property.get"
27151+ value="adw_view_stack_get_visible_child"/>
27152+ <attribute name="org.gtk.Property.set"
27153+ value="adw_view_stack_set_visible_child"/>
27154+ <doc xml:space="preserve"
27155+ filename="src/adw-view-stack.c"
27156+ line="1074">The widget currently visible in the stack.</doc>
27157+ <type name="Gtk.Widget"/>
27158+ </property>
27159+ <property name="visible-child-name"
27160+ writable="1"
27161+ transfer-ownership="none"
27162+ setter="set_visible_child_name"
27163+ getter="get_visible_child_name"
27164+ default-value="NULL">
27165+ <attribute name="org.gtk.Property.get"
27166+ value="adw_view_stack_get_visible_child_name"/>
27167+ <attribute name="org.gtk.Property.set"
27168+ value="adw_view_stack_set_visible_child_name"/>
27169+ <doc xml:space="preserve"
27170+ filename="src/adw-view-stack.c"
27171+ line="1084">The name of the widget currently visible in the stack.
27172+
27173+See [property@ViewStack:visible-child].</doc>
27174+ <type name="utf8" c:type="gchar*"/>
27175+ </property>
27176+ </class>
27177+ <record name="ViewStackClass"
27178+ c:type="AdwViewStackClass"
27179+ glib:is-gtype-struct-for="ViewStack">
27180+ <source-position filename="src/adw-view-stack.h" line="78"/>
27181+ <field name="parent_class">
27182+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
27183+ </field>
27184+ </record>
27185+ <class name="ViewStackPage"
27186+ c:symbol-prefix="view_stack_page"
27187+ c:type="AdwViewStackPage"
27188+ parent="GObject.Object"
27189+ final="1"
27190+ glib:type-name="AdwViewStackPage"
27191+ glib:get-type="adw_view_stack_page_get_type"
27192+ glib:type-struct="ViewStackPageClass">
27193+ <doc xml:space="preserve"
27194+ filename="src/adw-view-stack.c"
27195+ line="80">An auxiliary class used by [class@ViewStack].</doc>
27196+ <source-position filename="src/adw-view-stack.h" line="28"/>
27197+ <implements name="Gtk.Accessible"/>
27198+ <method name="get_badge_number"
27199+ c:identifier="adw_view_stack_page_get_badge_number"
27200+ glib:get-property="badge-number">
27201+ <attribute name="org.gtk.Method.get_property" value="badge-number"/>
27202+ <doc xml:space="preserve"
27203+ filename="src/adw-view-stack.c"
27204+ line="1400">Gets the badge number for this page.</doc>
27205+ <source-position filename="src/adw-view-stack.h" line="64"/>
27206+ <return-value transfer-ownership="none">
27207+ <doc xml:space="preserve"
27208+ filename="src/adw-view-stack.c"
27209+ line="1406">the badge number for this page</doc>
27210+ <type name="guint" c:type="guint"/>
27211+ </return-value>
27212+ <parameters>
27213+ <instance-parameter name="self" transfer-ownership="none">
27214+ <doc xml:space="preserve"
27215+ filename="src/adw-view-stack.c"
27216+ line="1402">a view stack page</doc>
27217+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27218+ </instance-parameter>
27219+ </parameters>
27220+ </method>
27221+ <method name="get_child"
27222+ c:identifier="adw_view_stack_page_get_child"
27223+ glib:get-property="child">
27224+ <attribute name="org.gtk.Method.get_property" value="child"/>
27225+ <doc xml:space="preserve"
27226+ filename="src/adw-view-stack.c"
27227+ line="1164">Gets the stack child to which @self belongs.</doc>
27228+ <source-position filename="src/adw-view-stack.h" line="31"/>
27229+ <return-value transfer-ownership="none">
27230+ <doc xml:space="preserve"
27231+ filename="src/adw-view-stack.c"
27232+ line="1170">the child to which @self belongs</doc>
27233+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
27234+ </return-value>
27235+ <parameters>
27236+ <instance-parameter name="self" transfer-ownership="none">
27237+ <doc xml:space="preserve"
27238+ filename="src/adw-view-stack.c"
27239+ line="1166">a view stack page</doc>
27240+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27241+ </instance-parameter>
27242+ </parameters>
27243+ </method>
27244+ <method name="get_icon_name"
27245+ c:identifier="adw_view_stack_page_get_icon_name"
27246+ glib:get-property="icon-name">
27247+ <attribute name="org.gtk.Method.get_property" value="icon-name"/>
27248+ <doc xml:space="preserve"
27249+ filename="src/adw-view-stack.c"
27250+ line="1321">Gets the icon name of the page.</doc>
27251+ <source-position filename="src/adw-view-stack.h" line="52"/>
27252+ <return-value transfer-ownership="none" nullable="1">
27253+ <doc xml:space="preserve"
27254+ filename="src/adw-view-stack.c"
27255+ line="1327">the icon name of the page</doc>
27256+ <type name="utf8" c:type="const char*"/>
27257+ </return-value>
27258+ <parameters>
27259+ <instance-parameter name="self" transfer-ownership="none">
27260+ <doc xml:space="preserve"
27261+ filename="src/adw-view-stack.c"
27262+ line="1323">a view stack page</doc>
27263+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27264+ </instance-parameter>
27265+ </parameters>
27266+ </method>
27267+ <method name="get_name"
27268+ c:identifier="adw_view_stack_page_get_name"
27269+ glib:get-property="name">
27270+ <attribute name="org.gtk.Method.get_property" value="name"/>
27271+ <doc xml:space="preserve"
27272+ filename="src/adw-view-stack.c"
27273+ line="1180">Gets the name of the page.</doc>
27274+ <source-position filename="src/adw-view-stack.h" line="34"/>
27275+ <return-value transfer-ownership="none" nullable="1">
27276+ <doc xml:space="preserve"
27277+ filename="src/adw-view-stack.c"
27278+ line="1186">the name of the page</doc>
27279+ <type name="utf8" c:type="const char*"/>
27280+ </return-value>
27281+ <parameters>
27282+ <instance-parameter name="self" transfer-ownership="none">
27283+ <doc xml:space="preserve"
27284+ filename="src/adw-view-stack.c"
27285+ line="1182">a view stack page</doc>
27286+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27287+ </instance-parameter>
27288+ </parameters>
27289+ </method>
27290+ <method name="get_needs_attention"
27291+ c:identifier="adw_view_stack_page_get_needs_attention"
27292+ glib:get-property="needs-attention">
27293+ <attribute name="org.gtk.Method.get_property" value="needs-attention"/>
27294+ <doc xml:space="preserve"
27295+ filename="src/adw-view-stack.c"
27296+ line="1359">Gets whether the page requires the user attention.</doc>
27297+ <source-position filename="src/adw-view-stack.h" line="58"/>
27298+ <return-value transfer-ownership="none">
27299+ <doc xml:space="preserve"
27300+ filename="src/adw-view-stack.c"
27301+ line="1365">whether the page needs attention</doc>
27302+ <type name="gboolean" c:type="gboolean"/>
27303+ </return-value>
27304+ <parameters>
27305+ <instance-parameter name="self" transfer-ownership="none">
27306+ <doc xml:space="preserve"
27307+ filename="src/adw-view-stack.c"
27308+ line="1361">a view stack page</doc>
27309+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27310+ </instance-parameter>
27311+ </parameters>
27312+ </method>
27313+ <method name="get_title"
27314+ c:identifier="adw_view_stack_page_get_title"
27315+ glib:get-property="title">
27316+ <attribute name="org.gtk.Method.get_property" value="title"/>
27317+ <doc xml:space="preserve"
27318+ filename="src/adw-view-stack.c"
27319+ line="1244">Gets the page title.</doc>
27320+ <source-position filename="src/adw-view-stack.h" line="40"/>
27321+ <return-value transfer-ownership="none" nullable="1">
27322+ <doc xml:space="preserve"
27323+ filename="src/adw-view-stack.c"
27324+ line="1250">the page title</doc>
27325+ <type name="utf8" c:type="const char*"/>
27326+ </return-value>
27327+ <parameters>
27328+ <instance-parameter name="self" transfer-ownership="none">
27329+ <doc xml:space="preserve"
27330+ filename="src/adw-view-stack.c"
27331+ line="1246">a view stack page</doc>
27332+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27333+ </instance-parameter>
27334+ </parameters>
27335+ </method>
27336+ <method name="get_use_underline"
27337+ c:identifier="adw_view_stack_page_get_use_underline"
27338+ glib:get-property="use-underline">
27339+ <attribute name="org.gtk.Method.get_property" value="use-underline"/>
27340+ <doc xml:space="preserve"
27341+ filename="src/adw-view-stack.c"
27342+ line="1286">Gets whether underlines in the page title indicate mnemonics.</doc>
27343+ <source-position filename="src/adw-view-stack.h" line="46"/>
27344+ <return-value transfer-ownership="none">
27345+ <doc xml:space="preserve"
27346+ filename="src/adw-view-stack.c"
27347+ line="1292">whether underlines in the page title indicate mnemonics</doc>
27348+ <type name="gboolean" c:type="gboolean"/>
27349+ </return-value>
27350+ <parameters>
27351+ <instance-parameter name="self" transfer-ownership="none">
27352+ <doc xml:space="preserve"
27353+ filename="src/adw-view-stack.c"
27354+ line="1288">a view stack page</doc>
27355+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27356+ </instance-parameter>
27357+ </parameters>
27358+ </method>
27359+ <method name="get_visible"
27360+ c:identifier="adw_view_stack_page_get_visible"
27361+ glib:get-property="visible">
27362+ <attribute name="org.gtk.Method.get_property" value="visible"/>
27363+ <doc xml:space="preserve"
27364+ filename="src/adw-view-stack.c"
27365+ line="1442">Gets whether @self is visible in its `AdwViewStack`.
27366+
27367+This is independent from the [property@Gtk.Widget:visible]
27368+property of its widget.</doc>
27369+ <source-position filename="src/adw-view-stack.h" line="70"/>
27370+ <return-value transfer-ownership="none">
27371+ <doc xml:space="preserve"
27372+ filename="src/adw-view-stack.c"
27373+ line="1451">whether @self is visible</doc>
27374+ <type name="gboolean" c:type="gboolean"/>
27375+ </return-value>
27376+ <parameters>
27377+ <instance-parameter name="self" transfer-ownership="none">
27378+ <doc xml:space="preserve"
27379+ filename="src/adw-view-stack.c"
27380+ line="1444">a view stack page</doc>
27381+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27382+ </instance-parameter>
27383+ </parameters>
27384+ </method>
27385+ <method name="set_badge_number"
27386+ c:identifier="adw_view_stack_page_set_badge_number"
27387+ glib:set-property="badge-number">
27388+ <attribute name="org.gtk.Method.set_property" value="badge-number"/>
27389+ <doc xml:space="preserve"
27390+ filename="src/adw-view-stack.c"
27391+ line="1416">Sets the badge number for this page.
27392+
27393+[class@ViewSwitcher] can display it as a badge next to the page icon. It is
27394+commonly used to display a number of unread items within the page.
27395+
27396+It can be used together with [property@ViewStack{age}:needs-attention].</doc>
27397+ <source-position filename="src/adw-view-stack.h" line="66"/>
27398+ <return-value transfer-ownership="none">
27399+ <type name="none" c:type="void"/>
27400+ </return-value>
27401+ <parameters>
27402+ <instance-parameter name="self" transfer-ownership="none">
27403+ <doc xml:space="preserve"
27404+ filename="src/adw-view-stack.c"
27405+ line="1418">a view stack page</doc>
27406+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27407+ </instance-parameter>
27408+ <parameter name="badge_number" transfer-ownership="none">
27409+ <doc xml:space="preserve"
27410+ filename="src/adw-view-stack.c"
27411+ line="1419">the new value to set</doc>
27412+ <type name="guint" c:type="guint"/>
27413+ </parameter>
27414+ </parameters>
27415+ </method>
27416+ <method name="set_icon_name"
27417+ c:identifier="adw_view_stack_page_set_icon_name"
27418+ glib:set-property="icon-name">
27419+ <attribute name="org.gtk.Method.set_property" value="icon-name"/>
27420+ <doc xml:space="preserve"
27421+ filename="src/adw-view-stack.c"
27422+ line="1337">Sets the icon name of the page.</doc>
27423+ <source-position filename="src/adw-view-stack.h" line="54"/>
27424+ <return-value transfer-ownership="none">
27425+ <type name="none" c:type="void"/>
27426+ </return-value>
27427+ <parameters>
27428+ <instance-parameter name="self" transfer-ownership="none">
27429+ <doc xml:space="preserve"
27430+ filename="src/adw-view-stack.c"
27431+ line="1339">a view stack page</doc>
27432+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27433+ </instance-parameter>
27434+ <parameter name="icon_name"
27435+ transfer-ownership="none"
27436+ nullable="1"
27437+ allow-none="1">
27438+ <doc xml:space="preserve"
27439+ filename="src/adw-view-stack.c"
27440+ line="1340">the icon name</doc>
27441+ <type name="utf8" c:type="const char*"/>
27442+ </parameter>
27443+ </parameters>
27444+ </method>
27445+ <method name="set_name"
27446+ c:identifier="adw_view_stack_page_set_name"
27447+ glib:set-property="name">
27448+ <attribute name="org.gtk.Method.set_property" value="name"/>
27449+ <doc xml:space="preserve"
27450+ filename="src/adw-view-stack.c"
27451+ line="1196">Sets the name of the page.</doc>
27452+ <source-position filename="src/adw-view-stack.h" line="36"/>
27453+ <return-value transfer-ownership="none">
27454+ <type name="none" c:type="void"/>
27455+ </return-value>
27456+ <parameters>
27457+ <instance-parameter name="self" transfer-ownership="none">
27458+ <doc xml:space="preserve"
27459+ filename="src/adw-view-stack.c"
27460+ line="1198">a view stack page</doc>
27461+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27462+ </instance-parameter>
27463+ <parameter name="name"
27464+ transfer-ownership="none"
27465+ nullable="1"
27466+ allow-none="1">
27467+ <doc xml:space="preserve"
27468+ filename="src/adw-view-stack.c"
27469+ line="1199">the page name</doc>
27470+ <type name="utf8" c:type="const char*"/>
27471+ </parameter>
27472+ </parameters>
27473+ </method>
27474+ <method name="set_needs_attention"
27475+ c:identifier="adw_view_stack_page_set_needs_attention"
27476+ glib:set-property="needs-attention">
27477+ <attribute name="org.gtk.Method.set_property" value="needs-attention"/>
27478+ <doc xml:space="preserve"
27479+ filename="src/adw-view-stack.c"
27480+ line="1375">Sets whether the page requires the user attention.
27481+
27482+[class@ViewSwitcher] will display it as a dot next to the page icon.</doc>
27483+ <source-position filename="src/adw-view-stack.h" line="60"/>
27484+ <return-value transfer-ownership="none">
27485+ <type name="none" c:type="void"/>
27486+ </return-value>
27487+ <parameters>
27488+ <instance-parameter name="self" transfer-ownership="none">
27489+ <doc xml:space="preserve"
27490+ filename="src/adw-view-stack.c"
27491+ line="1377">a view stack page</doc>
27492+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27493+ </instance-parameter>
27494+ <parameter name="needs_attention" transfer-ownership="none">
27495+ <doc xml:space="preserve"
27496+ filename="src/adw-view-stack.c"
27497+ line="1378">the new value to set</doc>
27498+ <type name="gboolean" c:type="gboolean"/>
27499+ </parameter>
27500+ </parameters>
27501+ </method>
27502+ <method name="set_title"
27503+ c:identifier="adw_view_stack_page_set_title"
27504+ glib:set-property="title">
27505+ <attribute name="org.gtk.Method.set_property" value="title"/>
27506+ <doc xml:space="preserve"
27507+ filename="src/adw-view-stack.c"
27508+ line="1260">Sets the page title.</doc>
27509+ <source-position filename="src/adw-view-stack.h" line="42"/>
27510+ <return-value transfer-ownership="none">
27511+ <type name="none" c:type="void"/>
27512+ </return-value>
27513+ <parameters>
27514+ <instance-parameter name="self" transfer-ownership="none">
27515+ <doc xml:space="preserve"
27516+ filename="src/adw-view-stack.c"
27517+ line="1262">a view stack page</doc>
27518+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27519+ </instance-parameter>
27520+ <parameter name="title"
27521+ transfer-ownership="none"
27522+ nullable="1"
27523+ allow-none="1">
27524+ <doc xml:space="preserve"
27525+ filename="src/adw-view-stack.c"
27526+ line="1263">the page title</doc>
27527+ <type name="utf8" c:type="const char*"/>
27528+ </parameter>
27529+ </parameters>
27530+ </method>
27531+ <method name="set_use_underline"
27532+ c:identifier="adw_view_stack_page_set_use_underline"
27533+ glib:set-property="use-underline">
27534+ <attribute name="org.gtk.Method.set_property" value="use-underline"/>
27535+ <doc xml:space="preserve"
27536+ filename="src/adw-view-stack.c"
27537+ line="1300">Sets whether underlines in the page title indicate mnemonics.</doc>
27538+ <source-position filename="src/adw-view-stack.h" line="48"/>
27539+ <return-value transfer-ownership="none">
27540+ <type name="none" c:type="void"/>
27541+ </return-value>
27542+ <parameters>
27543+ <instance-parameter name="self" transfer-ownership="none">
27544+ <doc xml:space="preserve"
27545+ filename="src/adw-view-stack.c"
27546+ line="1302">a view stack page</doc>
27547+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27548+ </instance-parameter>
27549+ <parameter name="use_underline" transfer-ownership="none">
27550+ <doc xml:space="preserve"
27551+ filename="src/adw-view-stack.c"
27552+ line="1303">the new value to set</doc>
27553+ <type name="gboolean" c:type="gboolean"/>
27554+ </parameter>
27555+ </parameters>
27556+ </method>
27557+ <method name="set_visible"
27558+ c:identifier="adw_view_stack_page_set_visible"
27559+ glib:set-property="visible">
27560+ <attribute name="org.gtk.Method.set_property" value="visible"/>
27561+ <doc xml:space="preserve"
27562+ filename="src/adw-view-stack.c"
27563+ line="1461">Sets whether @page is visible in its `AdwViewStack`.
27564+
27565+This is independent from the [property@Gtk.Widget:visible] property of
27566+[property@ViewStackPage:child].</doc>
27567+ <source-position filename="src/adw-view-stack.h" line="72"/>
27568+ <return-value transfer-ownership="none">
27569+ <type name="none" c:type="void"/>
27570+ </return-value>
27571+ <parameters>
27572+ <instance-parameter name="self" transfer-ownership="none">
27573+ <doc xml:space="preserve"
27574+ filename="src/adw-view-stack.c"
27575+ line="1463">a view stack page</doc>
27576+ <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
27577+ </instance-parameter>
27578+ <parameter name="visible" transfer-ownership="none">
27579+ <doc xml:space="preserve"
27580+ filename="src/adw-view-stack.c"
27581+ line="1464">whether @self is visible</doc>
27582+ <type name="gboolean" c:type="gboolean"/>
27583+ </parameter>
27584+ </parameters>
27585+ </method>
27586+ <property name="badge-number"
27587+ writable="1"
27588+ transfer-ownership="none"
27589+ setter="set_badge_number"
27590+ getter="get_badge_number"
27591+ default-value="0">
27592+ <attribute name="org.gtk.Property.get"
27593+ value="adw_view_stack_page_get_badge_number"/>
27594+ <attribute name="org.gtk.Property.set"
27595+ value="adw_view_stack_page_set_badge_number"/>
27596+ <doc xml:space="preserve"
27597+ filename="src/adw-view-stack.c"
27598+ line="345">The badge number for this page.
27599+
27600+[class@ViewSwitcher] can display it as a badge next to the page icon. It is
27601+commonly used to display a number of unread items within the page.
27602+
27603+It can be used together with [property@ViewStack{age}:needs-attention].</doc>
27604+ <type name="guint" c:type="guint"/>
27605+ </property>
27606+ <property name="child"
27607+ writable="1"
27608+ construct-only="1"
27609+ transfer-ownership="none"
27610+ getter="get_child">
27611+ <attribute name="org.gtk.Property.get"
27612+ value="adw_view_stack_page_get_child"/>
27613+ <doc xml:space="preserve"
27614+ filename="src/adw-view-stack.c"
27615+ line="283">The stack child to which the page belongs.</doc>
27616+ <type name="Gtk.Widget"/>
27617+ </property>
27618+ <property name="icon-name"
27619+ writable="1"
27620+ transfer-ownership="none"
27621+ setter="set_icon_name"
27622+ getter="get_icon_name"
27623+ default-value="NULL">
27624+ <attribute name="org.gtk.Property.get"
27625+ value="adw_view_stack_page_get_icon_name"/>
27626+ <attribute name="org.gtk.Property.set"
27627+ value="adw_view_stack_page_set_icon_name"/>
27628+ <doc xml:space="preserve"
27629+ filename="src/adw-view-stack.c"
27630+ line="323">The icon name of the child page.</doc>
27631+ <type name="utf8" c:type="gchar*"/>
27632+ </property>
27633+ <property name="name"
27634+ writable="1"
27635+ transfer-ownership="none"
27636+ setter="set_name"
27637+ getter="get_name"
27638+ default-value="NULL">
27639+ <attribute name="org.gtk.Property.get"
27640+ value="adw_view_stack_page_get_name"/>
27641+ <attribute name="org.gtk.Property.set"
27642+ value="adw_view_stack_page_set_name"/>
27643+ <doc xml:space="preserve"
27644+ filename="src/adw-view-stack.c"
27645+ line="293">The name of the child page.</doc>
27646+ <type name="utf8" c:type="gchar*"/>
27647+ </property>
27648+ <property name="needs-attention"
27649+ writable="1"
27650+ transfer-ownership="none"
27651+ setter="set_needs_attention"
27652+ getter="get_needs_attention"
27653+ default-value="FALSE">
27654+ <attribute name="org.gtk.Property.get"
27655+ value="adw_view_stack_page_get_needs_attention"/>
27656+ <attribute name="org.gtk.Property.set"
27657+ value="adw_view_stack_page_set_needs_attention"/>
27658+ <doc xml:space="preserve"
27659+ filename="src/adw-view-stack.c"
27660+ line="333">Whether the page requires the user attention.
27661+
27662+[class@ViewSwitcher] will display it as a dot next to the page icon.</doc>
27663+ <type name="gboolean" c:type="gboolean"/>
27664+ </property>
27665+ <property name="title"
27666+ writable="1"
27667+ transfer-ownership="none"
27668+ setter="set_title"
27669+ getter="get_title"
27670+ default-value="NULL">
27671+ <attribute name="org.gtk.Property.get"
27672+ value="adw_view_stack_page_get_title"/>
27673+ <attribute name="org.gtk.Property.set"
27674+ value="adw_view_stack_page_set_title"/>
27675+ <doc xml:space="preserve"
27676+ filename="src/adw-view-stack.c"
27677+ line="303">The title of the child page.</doc>
27678+ <type name="utf8" c:type="gchar*"/>
27679+ </property>
27680+ <property name="use-underline"
27681+ writable="1"
27682+ transfer-ownership="none"
27683+ setter="set_use_underline"
27684+ getter="get_use_underline"
27685+ default-value="FALSE">
27686+ <attribute name="org.gtk.Property.get"
27687+ value="adw_view_stack_page_get_use_underline"/>
27688+ <attribute name="org.gtk.Property.set"
27689+ value="adw_view_stack_page_set_use_underline"/>
27690+ <doc xml:space="preserve"
27691+ filename="src/adw-view-stack.c"
27692+ line="313">Whether an embedded underline in the title indicates a mnemonic.</doc>
27693+ <type name="gboolean" c:type="gboolean"/>
27694+ </property>
27695+ <property name="visible"
27696+ writable="1"
27697+ transfer-ownership="none"
27698+ setter="set_visible"
27699+ getter="get_visible"
27700+ default-value="TRUE">
27701+ <attribute name="org.gtk.Property.get"
27702+ value="adw_view_stack_page_get_visible"/>
27703+ <attribute name="org.gtk.Property.set"
27704+ value="adw_view_stack_page_set_visible"/>
27705+ <doc xml:space="preserve"
27706+ filename="src/adw-view-stack.c"
27707+ line="360">Whether this page is visible.
27708+
27709+This is independent from the [property@Gtk.Widget:visible] property of
27710+[property@ViewStackPage:child].</doc>
27711+ <type name="gboolean" c:type="gboolean"/>
27712+ </property>
27713+ </class>
27714+ <record name="ViewStackPageClass"
27715+ c:type="AdwViewStackPageClass"
27716+ glib:is-gtype-struct-for="ViewStackPage">
27717+ <source-position filename="src/adw-view-stack.h" line="28"/>
27718+ <field name="parent_class">
27719+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
27720+ </field>
27721+ </record>
27722+ <class name="ViewSwitcher"
27723+ c:symbol-prefix="view_switcher"
27724+ c:type="AdwViewSwitcher"
27725+ parent="Gtk.Widget"
27726+ final="1"
27727+ glib:type-name="AdwViewSwitcher"
27728+ glib:get-type="adw_view_switcher_get_type"
27729+ glib:type-struct="ViewSwitcherClass">
27730+ <doc xml:space="preserve"
27731+ filename="src/adw-view-switcher.c"
27732+ line="17">An adaptive view switcher.
27733+
27734+&lt;picture&gt;
27735+ &lt;source srcset="view-switcher-dark.png" media="(prefers-color-scheme: dark)"&gt;
27736+ &lt;img src="view-switcher.png" alt="view-switcher"&gt;
27737+&lt;/picture&gt;
27738+
27739+An adaptive view switcher designed to switch between multiple views
27740+contained in a [class@ViewStack] in a similar fashion to
27741+[class@Gtk.StackSwitcher].
27742+
27743+`AdwViewSwitcher` buttons always have an icon and a label. They can be
27744+displayed side by side, or icon on top of the label. This can be controlled
27745+via the [property@ViewSwitcher:policy] property.
27746+
27747+Most applications should be using [class@ViewSwitcherBar] and
27748+[class@ViewSwitcherTitle].
27749+
27750+## CSS nodes
27751+
27752+`AdwViewSwitcher` has a single CSS node with name `viewswitcher`. It can have
27753+the style classes `.wide` and `.narrow`, matching its policy.
27754+
27755+## Accessibility
27756+
27757+`AdwViewSwitcher` uses the `GTK_ACCESSIBLE_ROLE_TAB_LIST` role and uses the
27758+`GTK_ACCESSIBLE_ROLE_TAB` for its buttons.</doc>
27759+ <source-position filename="src/adw-view-switcher.h" line="25"/>
27760+ <implements name="Gtk.Accessible"/>
27761+ <implements name="Gtk.Buildable"/>
27762+ <implements name="Gtk.ConstraintTarget"/>
27763+ <constructor name="new" c:identifier="adw_view_switcher_new">
27764+ <doc xml:space="preserve"
27765+ filename="src/adw-view-switcher.c"
27766+ line="389">Creates a new `AdwViewSwitcher`.</doc>
27767+ <source-position filename="src/adw-view-switcher.h" line="33"/>
27768+ <return-value transfer-ownership="none">
27769+ <doc xml:space="preserve"
27770+ filename="src/adw-view-switcher.c"
27771+ line="394">the newly created `AdwViewSwitcher`</doc>
27772+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
27773+ </return-value>
27774+ </constructor>
27775+ <method name="get_policy"
27776+ c:identifier="adw_view_switcher_get_policy"
27777+ glib:get-property="policy">
27778+ <attribute name="org.gtk.Method.get_property" value="policy"/>
27779+ <doc xml:space="preserve"
27780+ filename="src/adw-view-switcher.c"
27781+ line="402">Gets the policy of @self.</doc>
27782+ <source-position filename="src/adw-view-switcher.h" line="36"/>
27783+ <return-value transfer-ownership="none">
27784+ <doc xml:space="preserve"
27785+ filename="src/adw-view-switcher.c"
27786+ line="408">the policy of @self</doc>
27787+ <type name="ViewSwitcherPolicy" c:type="AdwViewSwitcherPolicy"/>
27788+ </return-value>
27789+ <parameters>
27790+ <instance-parameter name="self" transfer-ownership="none">
27791+ <doc xml:space="preserve"
27792+ filename="src/adw-view-switcher.c"
27793+ line="404">a view switcher</doc>
27794+ <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
27795+ </instance-parameter>
27796+ </parameters>
27797+ </method>
27798+ <method name="get_stack"
27799+ c:identifier="adw_view_switcher_get_stack"
27800+ glib:get-property="stack">
27801+ <attribute name="org.gtk.Method.get_property" value="stack"/>
27802+ <doc xml:space="preserve"
27803+ filename="src/adw-view-switcher.c"
27804+ line="457">Gets the stack controlled by @self.</doc>
27805+ <source-position filename="src/adw-view-switcher.h" line="42"/>
27806+ <return-value transfer-ownership="none" nullable="1">
27807+ <doc xml:space="preserve"
27808+ filename="src/adw-view-switcher.c"
27809+ line="463">the stack</doc>
27810+ <type name="ViewStack" c:type="AdwViewStack*"/>
27811+ </return-value>
27812+ <parameters>
27813+ <instance-parameter name="self" transfer-ownership="none">
27814+ <doc xml:space="preserve"
27815+ filename="src/adw-view-switcher.c"
27816+ line="459">a view switcher</doc>
27817+ <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
27818+ </instance-parameter>
27819+ </parameters>
27820+ </method>
27821+ <method name="set_policy"
27822+ c:identifier="adw_view_switcher_set_policy"
27823+ glib:set-property="policy">
27824+ <attribute name="org.gtk.Method.set_property" value="policy"/>
27825+ <doc xml:space="preserve"
27826+ filename="src/adw-view-switcher.c"
27827+ line="418">Sets the policy of @self.</doc>
27828+ <source-position filename="src/adw-view-switcher.h" line="38"/>
27829+ <return-value transfer-ownership="none">
27830+ <type name="none" c:type="void"/>
27831+ </return-value>
27832+ <parameters>
27833+ <instance-parameter name="self" transfer-ownership="none">
27834+ <doc xml:space="preserve"
27835+ filename="src/adw-view-switcher.c"
27836+ line="420">a view switcher</doc>
27837+ <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
27838+ </instance-parameter>
27839+ <parameter name="policy" transfer-ownership="none">
27840+ <doc xml:space="preserve"
27841+ filename="src/adw-view-switcher.c"
27842+ line="421">the new policy</doc>
27843+ <type name="ViewSwitcherPolicy" c:type="AdwViewSwitcherPolicy"/>
27844+ </parameter>
27845+ </parameters>
27846+ </method>
27847+ <method name="set_stack"
27848+ c:identifier="adw_view_switcher_set_stack"
27849+ glib:set-property="stack">
27850+ <attribute name="org.gtk.Method.set_property" value="stack"/>
27851+ <doc xml:space="preserve"
27852+ filename="src/adw-view-switcher.c"
27853+ line="473">Sets the stack controlled by @self.</doc>
27854+ <source-position filename="src/adw-view-switcher.h" line="44"/>
27855+ <return-value transfer-ownership="none">
27856+ <type name="none" c:type="void"/>
27857+ </return-value>
27858+ <parameters>
27859+ <instance-parameter name="self" transfer-ownership="none">
27860+ <doc xml:space="preserve"
27861+ filename="src/adw-view-switcher.c"
27862+ line="475">a view switcher</doc>
27863+ <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
27864+ </instance-parameter>
27865+ <parameter name="stack"
27866+ transfer-ownership="none"
27867+ nullable="1"
27868+ allow-none="1">
27869+ <doc xml:space="preserve"
27870+ filename="src/adw-view-switcher.c"
27871+ line="476">a stack</doc>
27872+ <type name="ViewStack" c:type="AdwViewStack*"/>
27873+ </parameter>
27874+ </parameters>
27875+ </method>
27876+ <property name="policy"
27877+ writable="1"
27878+ transfer-ownership="none"
27879+ setter="set_policy"
27880+ getter="get_policy"
27881+ default-value="ADW_VIEW_SWITCHER_POLICY_NARROW">
27882+ <attribute name="org.gtk.Property.get"
27883+ value="adw_view_switcher_get_policy"/>
27884+ <attribute name="org.gtk.Property.set"
27885+ value="adw_view_switcher_set_policy"/>
27886+ <doc xml:space="preserve"
27887+ filename="src/adw-view-switcher.c"
27888+ line="349">The policy to determine which mode to use.</doc>
27889+ <type name="ViewSwitcherPolicy"/>
27890+ </property>
27891+ <property name="stack"
27892+ writable="1"
27893+ transfer-ownership="none"
27894+ setter="set_stack"
27895+ getter="get_stack">
27896+ <attribute name="org.gtk.Property.get"
27897+ value="adw_view_switcher_get_stack"/>
27898+ <attribute name="org.gtk.Property.set"
27899+ value="adw_view_switcher_set_stack"/>
27900+ <doc xml:space="preserve"
27901+ filename="src/adw-view-switcher.c"
27902+ line="360">The stack the view switcher controls.</doc>
27903+ <type name="ViewStack"/>
27904+ </property>
27905+ </class>
27906+ <class name="ViewSwitcherBar"
27907+ c:symbol-prefix="view_switcher_bar"
27908+ c:type="AdwViewSwitcherBar"
27909+ parent="Gtk.Widget"
27910+ final="1"
27911+ glib:type-name="AdwViewSwitcherBar"
27912+ glib:get-type="adw_view_switcher_bar_get_type"
27913+ glib:type-struct="ViewSwitcherBarClass">
27914+ <doc xml:space="preserve"
27915+ filename="src/adw-view-switcher-bar.c"
27916+ line="13">A view switcher action bar.
27917+
27918+&lt;picture&gt;
27919+ &lt;source srcset="view-switcher-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
27920+ &lt;img src="view-switcher-bar.png" alt="view-switcher-bar"&gt;
27921+&lt;/picture&gt;
27922+
27923+An action bar letting you switch between multiple views contained in a
27924+[class@ViewStack], via an [class@ViewSwitcher]. It is designed to be put at
27925+the bottom of a window and to be revealed only on really narrow windows, e.g.
27926+on mobile phones. It can't be revealed if there are less than two pages.
27927+
27928+`AdwViewSwitcherBar` is intended to be used together with
27929+[class@ViewSwitcherTitle].
27930+
27931+A common use case is to bind the [property@ViewSwitcherBar:reveal] property
27932+to [property@ViewSwitcherTitle:title-visible] to automatically reveal the
27933+view switcher bar when the title label is displayed in place of the view
27934+switcher, as follows:
27935+
27936+```xml
27937+&lt;object class="GtkWindow"&gt;
27938+ &lt;property name="titlebar"&gt;
27939+ &lt;object class="AdwHeaderBar"&gt;
27940+ &lt;property name="centering-policy"&gt;strict&lt;/property&gt;
27941+ &lt;property name="title-widget"&gt;
27942+ &lt;object class="AdwViewSwitcherTitle" id="title"&gt;
27943+ &lt;property name="stack"&gt;stack&lt;/property&gt;
27944+ &lt;/object&gt;
27945+ &lt;/property&gt;
27946+ &lt;/object&gt;
27947+ &lt;/property&gt;
27948+ &lt;property name="child"&gt;
27949+ &lt;object class="GtkBox"&gt;
27950+ &lt;property name="orientation"&gt;vertical&lt;/property&gt;
27951+ &lt;child&gt;
27952+ &lt;object class="AdwViewStack" id="stack"/&gt;
27953+ &lt;/child&gt;
27954+ &lt;child&gt;
27955+ &lt;object class="AdwViewSwitcherBar"&gt;
27956+ &lt;property name="stack"&gt;stack&lt;/property&gt;
27957+ &lt;binding name="reveal"&gt;
27958+ &lt;lookup name="title-visible"&gt;title&lt;/lookup&gt;
27959+ &lt;/binding&gt;
27960+ &lt;/object&gt;
27961+ &lt;/child&gt;
27962+ &lt;/object&gt;
27963+ &lt;/property&gt;
27964+&lt;/object&gt;
27965+```
27966+
27967+## CSS nodes
27968+
27969+`AdwViewSwitcherBar` has a single CSS node with name` viewswitcherbar`.</doc>
27970+ <source-position filename="src/adw-view-switcher-bar.h" line="25"/>
27971+ <implements name="Gtk.Accessible"/>
27972+ <implements name="Gtk.Buildable"/>
27973+ <implements name="Gtk.ConstraintTarget"/>
27974+ <constructor name="new" c:identifier="adw_view_switcher_bar_new">
27975+ <doc xml:space="preserve"
27976+ filename="src/adw-view-switcher-bar.c"
27977+ line="225">Creates a new `AdwViewSwitcherBar`.</doc>
27978+ <source-position filename="src/adw-view-switcher-bar.h" line="28"/>
27979+ <return-value transfer-ownership="none">
27980+ <doc xml:space="preserve"
27981+ filename="src/adw-view-switcher-bar.c"
27982+ line="230">the newly created `AdwViewSwitcherBar`</doc>
27983+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
27984+ </return-value>
27985+ </constructor>
27986+ <method name="get_reveal"
27987+ c:identifier="adw_view_switcher_bar_get_reveal"
27988+ glib:get-property="reveal">
27989+ <attribute name="org.gtk.Method.get_property" value="reveal"/>
27990+ <doc xml:space="preserve"
27991+ filename="src/adw-view-switcher-bar.c"
27992+ line="293">Gets whether @self should be revealed or hidden.</doc>
27993+ <source-position filename="src/adw-view-switcher-bar.h" line="37"/>
27994+ <return-value transfer-ownership="none">
27995+ <doc xml:space="preserve"
27996+ filename="src/adw-view-switcher-bar.c"
27997+ line="299">whether @self is revealed</doc>
27998+ <type name="gboolean" c:type="gboolean"/>
27999+ </return-value>
28000+ <parameters>
28001+ <instance-parameter name="self" transfer-ownership="none">
28002+ <doc xml:space="preserve"
28003+ filename="src/adw-view-switcher-bar.c"
28004+ line="295">a view switcher bar</doc>
28005+ <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
28006+ </instance-parameter>
28007+ </parameters>
28008+ </method>
28009+ <method name="get_stack"
28010+ c:identifier="adw_view_switcher_bar_get_stack"
28011+ glib:get-property="stack">
28012+ <attribute name="org.gtk.Method.get_property" value="stack"/>
28013+ <doc xml:space="preserve"
28014+ filename="src/adw-view-switcher-bar.c"
28015+ line="238">Gets the stack controlled by @self.</doc>
28016+ <source-position filename="src/adw-view-switcher-bar.h" line="31"/>
28017+ <return-value transfer-ownership="none" nullable="1">
28018+ <doc xml:space="preserve"
28019+ filename="src/adw-view-switcher-bar.c"
28020+ line="244">the stack</doc>
28021+ <type name="ViewStack" c:type="AdwViewStack*"/>
28022+ </return-value>
28023+ <parameters>
28024+ <instance-parameter name="self" transfer-ownership="none">
28025+ <doc xml:space="preserve"
28026+ filename="src/adw-view-switcher-bar.c"
28027+ line="240">a view switcher bar</doc>
28028+ <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
28029+ </instance-parameter>
28030+ </parameters>
28031+ </method>
28032+ <method name="set_reveal"
28033+ c:identifier="adw_view_switcher_bar_set_reveal"
28034+ glib:set-property="reveal">
28035+ <attribute name="org.gtk.Method.set_property" value="reveal"/>
28036+ <doc xml:space="preserve"
28037+ filename="src/adw-view-switcher-bar.c"
28038+ line="309">Sets whether @self should be revealed or hidden.</doc>
28039+ <source-position filename="src/adw-view-switcher-bar.h" line="39"/>
28040+ <return-value transfer-ownership="none">
28041+ <type name="none" c:type="void"/>
28042+ </return-value>
28043+ <parameters>
28044+ <instance-parameter name="self" transfer-ownership="none">
28045+ <doc xml:space="preserve"
28046+ filename="src/adw-view-switcher-bar.c"
28047+ line="311">a view switcher bar</doc>
28048+ <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
28049+ </instance-parameter>
28050+ <parameter name="reveal" transfer-ownership="none">
28051+ <doc xml:space="preserve"
28052+ filename="src/adw-view-switcher-bar.c"
28053+ line="312">whether to reveal @self</doc>
28054+ <type name="gboolean" c:type="gboolean"/>
28055+ </parameter>
28056+ </parameters>
28057+ </method>
28058+ <method name="set_stack"
28059+ c:identifier="adw_view_switcher_bar_set_stack"
28060+ glib:set-property="stack">
28061+ <attribute name="org.gtk.Method.set_property" value="stack"/>
28062+ <doc xml:space="preserve"
28063+ filename="src/adw-view-switcher-bar.c"
28064+ line="254">Sets the stack controlled by @self.</doc>
28065+ <source-position filename="src/adw-view-switcher-bar.h" line="33"/>
28066+ <return-value transfer-ownership="none">
28067+ <type name="none" c:type="void"/>
28068+ </return-value>
28069+ <parameters>
28070+ <instance-parameter name="self" transfer-ownership="none">
28071+ <doc xml:space="preserve"
28072+ filename="src/adw-view-switcher-bar.c"
28073+ line="256">a view switcher bar</doc>
28074+ <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
28075+ </instance-parameter>
28076+ <parameter name="stack"
28077+ transfer-ownership="none"
28078+ nullable="1"
28079+ allow-none="1">
28080+ <doc xml:space="preserve"
28081+ filename="src/adw-view-switcher-bar.c"
28082+ line="257">a stack</doc>
28083+ <type name="ViewStack" c:type="AdwViewStack*"/>
28084+ </parameter>
28085+ </parameters>
28086+ </method>
28087+ <property name="reveal"
28088+ writable="1"
28089+ transfer-ownership="none"
28090+ setter="set_reveal"
28091+ getter="get_reveal"
28092+ default-value="FALSE">
28093+ <attribute name="org.gtk.Property.get"
28094+ value="adw_view_switcher_bar_get_reveal"/>
28095+ <attribute name="org.gtk.Property.set"
28096+ value="adw_view_switcher_bar_set_reveal"/>
28097+ <doc xml:space="preserve"
28098+ filename="src/adw-view-switcher-bar.c"
28099+ line="196">Whether the bar should be revealed or hidden.</doc>
28100+ <type name="gboolean" c:type="gboolean"/>
28101+ </property>
28102+ <property name="stack"
28103+ writable="1"
28104+ transfer-ownership="none"
28105+ setter="set_stack"
28106+ getter="get_stack">
28107+ <attribute name="org.gtk.Property.get"
28108+ value="adw_view_switcher_bar_get_stack"/>
28109+ <attribute name="org.gtk.Property.set"
28110+ value="adw_view_switcher_bar_set_stack"/>
28111+ <doc xml:space="preserve"
28112+ filename="src/adw-view-switcher-bar.c"
28113+ line="186">The stack the view switcher controls.</doc>
28114+ <type name="ViewStack"/>
28115+ </property>
28116+ </class>
28117+ <record name="ViewSwitcherBarClass"
28118+ c:type="AdwViewSwitcherBarClass"
28119+ glib:is-gtype-struct-for="ViewSwitcherBar">
28120+ <source-position filename="src/adw-view-switcher-bar.h" line="25"/>
28121+ <field name="parent_class">
28122+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
28123+ </field>
28124+ </record>
28125+ <record name="ViewSwitcherClass"
28126+ c:type="AdwViewSwitcherClass"
28127+ glib:is-gtype-struct-for="ViewSwitcher">
28128+ <source-position filename="src/adw-view-switcher.h" line="25"/>
28129+ <field name="parent_class">
28130+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
28131+ </field>
28132+ </record>
28133+ <enumeration name="ViewSwitcherPolicy"
28134+ glib:type-name="AdwViewSwitcherPolicy"
28135+ glib:get-type="adw_view_switcher_policy_get_type"
28136+ c:type="AdwViewSwitcherPolicy">
28137+ <doc xml:space="preserve"
28138+ filename="src/adw-view-switcher.c"
28139+ line="49">Describes the adaptive modes of [class@ViewSwitcher].</doc>
28140+ <member name="narrow"
28141+ value="0"
28142+ c:identifier="ADW_VIEW_SWITCHER_POLICY_NARROW"
28143+ glib:nick="narrow"
28144+ glib:name="ADW_VIEW_SWITCHER_POLICY_NARROW">
28145+ <doc xml:space="preserve"
28146+ filename="src/adw-view-switcher.c"
28147+ line="51">Force the narrow mode</doc>
28148+ </member>
28149+ <member name="wide"
28150+ value="1"
28151+ c:identifier="ADW_VIEW_SWITCHER_POLICY_WIDE"
28152+ glib:nick="wide"
28153+ glib:name="ADW_VIEW_SWITCHER_POLICY_WIDE">
28154+ <doc xml:space="preserve"
28155+ filename="src/adw-view-switcher.c"
28156+ line="52">Force the wide mode</doc>
28157+ </member>
28158+ </enumeration>
28159+ <class name="ViewSwitcherTitle"
28160+ c:symbol-prefix="view_switcher_title"
28161+ c:type="AdwViewSwitcherTitle"
28162+ parent="Gtk.Widget"
28163+ final="1"
28164+ glib:type-name="AdwViewSwitcherTitle"
28165+ glib:get-type="adw_view_switcher_title_get_type"
28166+ glib:type-struct="ViewSwitcherTitleClass">
28167+ <doc xml:space="preserve"
28168+ filename="src/adw-view-switcher-title.c"
28169+ line="15">A view switcher title.
28170+
28171+&lt;picture&gt;
28172+ &lt;source srcset="view-switcher-title-dark.png" media="(prefers-color-scheme: dark)"&gt;
28173+ &lt;img src="view-switcher-title.png" alt="view-switcher-title"&gt;
28174+&lt;/picture&gt;
28175+
28176+A widget letting you switch between multiple views contained by a
28177+[class@ViewStack] via an [class@ViewSwitcher].
28178+
28179+It is designed to be used as the title widget of a [class@HeaderBar], and
28180+will display the window's title when the window is too narrow to fit the view
28181+switcher e.g. on mobile phones, or if there are less than two views.
28182+
28183+In order to center the title in narrow windows, the header bar should have
28184+[property@HeaderBar:centering-policy] set to
28185+`ADW_CENTERING_POLICY_STRICT`.
28186+
28187+`AdwViewSwitcherTitle` is intended to be used together with
28188+[class@ViewSwitcherBar].
28189+
28190+A common use case is to bind the [property@ViewSwitcherBar:reveal] property
28191+to [property@ViewSwitcherTitle:title-visible] to automatically reveal the
28192+view switcher bar when the title label is displayed in place of the view
28193+switcher, as follows:
28194+
28195+```xml
28196+&lt;object class="GtkWindow"&gt;
28197+ &lt;property name="titlebar"&gt;
28198+ &lt;object class="AdwHeaderBar"&gt;
28199+ &lt;property name="centering-policy"&gt;strict&lt;/property&gt;
28200+ &lt;property name="title-widget"&gt;
28201+ &lt;object class="AdwViewSwitcherTitle" id="title"&gt;
28202+ &lt;property name="stack"&gt;stack&lt;/property&gt;
28203+ &lt;/object&gt;
28204+ &lt;/property&gt;
28205+ &lt;/object&gt;
28206+ &lt;/property&gt;
28207+ &lt;property name="child"&gt;
28208+ &lt;object class="GtkBox"&gt;
28209+ &lt;property name="orientation"&gt;vertical&lt;/property&gt;
28210+ &lt;child&gt;
28211+ &lt;object class="AdwViewStack" id="stack"/&gt;
28212+ &lt;/child&gt;
28213+ &lt;child&gt;
28214+ &lt;object class="AdwViewSwitcherBar"&gt;
28215+ &lt;property name="stack"&gt;stack&lt;/property&gt;
28216+ &lt;binding name="reveal"&gt;
28217+ &lt;lookup name="title-visible"&gt;title&lt;/lookup&gt;
28218+ &lt;/binding&gt;
28219+ &lt;/object&gt;
28220+ &lt;/child&gt;
28221+ &lt;/object&gt;
28222+ &lt;/property&gt;
28223+&lt;/object&gt;
28224+```
28225+
28226+## CSS nodes
28227+
28228+`AdwViewSwitcherTitle` has a single CSS node with name `viewswitchertitle`.</doc>
28229+ <source-position filename="src/adw-view-switcher-title.h" line="25"/>
28230+ <implements name="Gtk.Accessible"/>
28231+ <implements name="Gtk.Buildable"/>
28232+ <implements name="Gtk.ConstraintTarget"/>
28233+ <constructor name="new" c:identifier="adw_view_switcher_title_new">
28234+ <doc xml:space="preserve"
28235+ filename="src/adw-view-switcher-title.c"
28236+ line="374">Creates a new `AdwViewSwitcherTitle`.</doc>
28237+ <source-position filename="src/adw-view-switcher-title.h" line="28"/>
28238+ <return-value transfer-ownership="none">
28239+ <doc xml:space="preserve"
28240+ filename="src/adw-view-switcher-title.c"
28241+ line="379">the newly created `AdwViewSwitcherTitle`</doc>
28242+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28243+ </return-value>
28244+ </constructor>
28245+ <method name="get_stack"
28246+ c:identifier="adw_view_switcher_title_get_stack"
28247+ glib:get-property="stack">
28248+ <attribute name="org.gtk.Method.get_property" value="stack"/>
28249+ <doc xml:space="preserve"
28250+ filename="src/adw-view-switcher-title.c"
28251+ line="387">Gets the stack controlled by @self.</doc>
28252+ <source-position filename="src/adw-view-switcher-title.h" line="31"/>
28253+ <return-value transfer-ownership="none" nullable="1">
28254+ <doc xml:space="preserve"
28255+ filename="src/adw-view-switcher-title.c"
28256+ line="393">the stack</doc>
28257+ <type name="ViewStack" c:type="AdwViewStack*"/>
28258+ </return-value>
28259+ <parameters>
28260+ <instance-parameter name="self" transfer-ownership="none">
28261+ <doc xml:space="preserve"
28262+ filename="src/adw-view-switcher-title.c"
28263+ line="389">a view switcher title</doc>
28264+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28265+ </instance-parameter>
28266+ </parameters>
28267+ </method>
28268+ <method name="get_subtitle"
28269+ c:identifier="adw_view_switcher_title_get_subtitle"
28270+ glib:get-property="subtitle">
28271+ <attribute name="org.gtk.Method.get_property" value="subtitle"/>
28272+ <doc xml:space="preserve"
28273+ filename="src/adw-view-switcher-title.c"
28274+ line="483">Gets the subtitle of @self.</doc>
28275+ <source-position filename="src/adw-view-switcher-title.h" line="43"/>
28276+ <return-value transfer-ownership="none">
28277+ <doc xml:space="preserve"
28278+ filename="src/adw-view-switcher-title.c"
28279+ line="489">the subtitle</doc>
28280+ <type name="utf8" c:type="const char*"/>
28281+ </return-value>
28282+ <parameters>
28283+ <instance-parameter name="self" transfer-ownership="none">
28284+ <doc xml:space="preserve"
28285+ filename="src/adw-view-switcher-title.c"
28286+ line="485">a view switcher title</doc>
28287+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28288+ </instance-parameter>
28289+ </parameters>
28290+ </method>
28291+ <method name="get_title"
28292+ c:identifier="adw_view_switcher_title_get_title"
28293+ glib:get-property="title">
28294+ <attribute name="org.gtk.Method.get_property" value="title"/>
28295+ <doc xml:space="preserve"
28296+ filename="src/adw-view-switcher-title.c"
28297+ line="443">Gets the title of @self.</doc>
28298+ <source-position filename="src/adw-view-switcher-title.h" line="37"/>
28299+ <return-value transfer-ownership="none">
28300+ <doc xml:space="preserve"
28301+ filename="src/adw-view-switcher-title.c"
28302+ line="449">the title</doc>
28303+ <type name="utf8" c:type="const char*"/>
28304+ </return-value>
28305+ <parameters>
28306+ <instance-parameter name="self" transfer-ownership="none">
28307+ <doc xml:space="preserve"
28308+ filename="src/adw-view-switcher-title.c"
28309+ line="445">a view switcher title</doc>
28310+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28311+ </instance-parameter>
28312+ </parameters>
28313+ </method>
28314+ <method name="get_title_visible"
28315+ c:identifier="adw_view_switcher_title_get_title_visible"
28316+ glib:get-property="title-visible">
28317+ <attribute name="org.gtk.Method.get_property" value="title-visible"/>
28318+ <doc xml:space="preserve"
28319+ filename="src/adw-view-switcher-title.c"
28320+ line="569">Gets whether the title of @self is currently visible.
28321+
28322+If the title is visible, it means the view switcher is hidden an it may be
28323+wanted to show an alternative switcher, e.g. a [class@ViewSwitcherBar].</doc>
28324+ <source-position filename="src/adw-view-switcher-title.h" line="55"/>
28325+ <return-value transfer-ownership="none">
28326+ <doc xml:space="preserve"
28327+ filename="src/adw-view-switcher-title.c"
28328+ line="578">whether the title of @self is currently visible</doc>
28329+ <type name="gboolean" c:type="gboolean"/>
28330+ </return-value>
28331+ <parameters>
28332+ <instance-parameter name="self" transfer-ownership="none">
28333+ <doc xml:space="preserve"
28334+ filename="src/adw-view-switcher-title.c"
28335+ line="571">a view switcher title</doc>
28336+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28337+ </instance-parameter>
28338+ </parameters>
28339+ </method>
28340+ <method name="get_view_switcher_enabled"
28341+ c:identifier="adw_view_switcher_title_get_view_switcher_enabled"
28342+ glib:get-property="view-switcher-enabled">
28343+ <attribute name="org.gtk.Method.get_property"
28344+ value="view-switcher-enabled"/>
28345+ <doc xml:space="preserve"
28346+ filename="src/adw-view-switcher-title.c"
28347+ line="522">Gets whether @self's view switcher is enabled.</doc>
28348+ <source-position filename="src/adw-view-switcher-title.h" line="49"/>
28349+ <return-value transfer-ownership="none">
28350+ <doc xml:space="preserve"
28351+ filename="src/adw-view-switcher-title.c"
28352+ line="528">whether the view switcher is enabled</doc>
28353+ <type name="gboolean" c:type="gboolean"/>
28354+ </return-value>
28355+ <parameters>
28356+ <instance-parameter name="self" transfer-ownership="none">
28357+ <doc xml:space="preserve"
28358+ filename="src/adw-view-switcher-title.c"
28359+ line="524">a view switcher title</doc>
28360+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28361+ </instance-parameter>
28362+ </parameters>
28363+ </method>
28364+ <method name="set_stack"
28365+ c:identifier="adw_view_switcher_title_set_stack"
28366+ glib:set-property="stack">
28367+ <attribute name="org.gtk.Method.set_property" value="stack"/>
28368+ <doc xml:space="preserve"
28369+ filename="src/adw-view-switcher-title.c"
28370+ line="403">Sets the stack controlled by @self.</doc>
28371+ <source-position filename="src/adw-view-switcher-title.h" line="33"/>
28372+ <return-value transfer-ownership="none">
28373+ <type name="none" c:type="void"/>
28374+ </return-value>
28375+ <parameters>
28376+ <instance-parameter name="self" transfer-ownership="none">
28377+ <doc xml:space="preserve"
28378+ filename="src/adw-view-switcher-title.c"
28379+ line="405">a view switcher title</doc>
28380+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28381+ </instance-parameter>
28382+ <parameter name="stack"
28383+ transfer-ownership="none"
28384+ nullable="1"
28385+ allow-none="1">
28386+ <doc xml:space="preserve"
28387+ filename="src/adw-view-switcher-title.c"
28388+ line="406">a stack</doc>
28389+ <type name="ViewStack" c:type="AdwViewStack*"/>
28390+ </parameter>
28391+ </parameters>
28392+ </method>
28393+ <method name="set_subtitle"
28394+ c:identifier="adw_view_switcher_title_set_subtitle"
28395+ glib:set-property="subtitle">
28396+ <attribute name="org.gtk.Method.set_property" value="subtitle"/>
28397+ <doc xml:space="preserve"
28398+ filename="src/adw-view-switcher-title.c"
28399+ line="499">Sets the subtitle of @self.
28400+
28401+The subtitle should give the user additional details.</doc>
28402+ <source-position filename="src/adw-view-switcher-title.h" line="45"/>
28403+ <return-value transfer-ownership="none">
28404+ <type name="none" c:type="void"/>
28405+ </return-value>
28406+ <parameters>
28407+ <instance-parameter name="self" transfer-ownership="none">
28408+ <doc xml:space="preserve"
28409+ filename="src/adw-view-switcher-title.c"
28410+ line="501">a view switcher title</doc>
28411+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28412+ </instance-parameter>
28413+ <parameter name="subtitle" transfer-ownership="none">
28414+ <doc xml:space="preserve"
28415+ filename="src/adw-view-switcher-title.c"
28416+ line="502">a subtitle</doc>
28417+ <type name="utf8" c:type="const char*"/>
28418+ </parameter>
28419+ </parameters>
28420+ </method>
28421+ <method name="set_title"
28422+ c:identifier="adw_view_switcher_title_set_title"
28423+ glib:set-property="title">
28424+ <attribute name="org.gtk.Method.set_property" value="title"/>
28425+ <doc xml:space="preserve"
28426+ filename="src/adw-view-switcher-title.c"
28427+ line="459">Sets the title of @self.
28428+
28429+The title typically identifies the current view or content item, and
28430+generally does not use the application name.</doc>
28431+ <source-position filename="src/adw-view-switcher-title.h" line="39"/>
28432+ <return-value transfer-ownership="none">
28433+ <type name="none" c:type="void"/>
28434+ </return-value>
28435+ <parameters>
28436+ <instance-parameter name="self" transfer-ownership="none">
28437+ <doc xml:space="preserve"
28438+ filename="src/adw-view-switcher-title.c"
28439+ line="461">a view switcher title</doc>
28440+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28441+ </instance-parameter>
28442+ <parameter name="title" transfer-ownership="none">
28443+ <doc xml:space="preserve"
28444+ filename="src/adw-view-switcher-title.c"
28445+ line="462">a title</doc>
28446+ <type name="utf8" c:type="const char*"/>
28447+ </parameter>
28448+ </parameters>
28449+ </method>
28450+ <method name="set_view_switcher_enabled"
28451+ c:identifier="adw_view_switcher_title_set_view_switcher_enabled"
28452+ glib:set-property="view-switcher-enabled">
28453+ <attribute name="org.gtk.Method.set_property"
28454+ value="view-switcher-enabled"/>
28455+ <doc xml:space="preserve"
28456+ filename="src/adw-view-switcher-title.c"
28457+ line="538">Sets whether @self's view switcher is enabled.
28458+
28459+If it is disabled, the title will be displayed instead. This allows to
28460+programmatically hide the view switcher even if it fits in the available
28461+space.
28462+
28463+This can be used e.g. to ensure the view switcher is hidden below a certain
28464+window width, or any other constraint you find suitable.</doc>
28465+ <source-position filename="src/adw-view-switcher-title.h" line="51"/>
28466+ <return-value transfer-ownership="none">
28467+ <type name="none" c:type="void"/>
28468+ </return-value>
28469+ <parameters>
28470+ <instance-parameter name="self" transfer-ownership="none">
28471+ <doc xml:space="preserve"
28472+ filename="src/adw-view-switcher-title.c"
28473+ line="540">a view switcher title</doc>
28474+ <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
28475+ </instance-parameter>
28476+ <parameter name="enabled" transfer-ownership="none">
28477+ <doc xml:space="preserve"
28478+ filename="src/adw-view-switcher-title.c"
28479+ line="541">whether the view switcher is enabled</doc>
28480+ <type name="gboolean" c:type="gboolean"/>
28481+ </parameter>
28482+ </parameters>
28483+ </method>
28484+ <property name="stack"
28485+ writable="1"
28486+ transfer-ownership="none"
28487+ setter="set_stack"
28488+ getter="get_stack">
28489+ <attribute name="org.gtk.Property.get"
28490+ value="adw_view_switcher_title_get_stack"/>
28491+ <attribute name="org.gtk.Property.set"
28492+ value="adw_view_switcher_title_set_stack"/>
28493+ <doc xml:space="preserve"
28494+ filename="src/adw-view-switcher-title.c"
28495+ line="282">The stack the view switcher controls.</doc>
28496+ <type name="ViewStack"/>
28497+ </property>
28498+ <property name="subtitle"
28499+ writable="1"
28500+ transfer-ownership="none"
28501+ setter="set_subtitle"
28502+ getter="get_subtitle">
28503+ <attribute name="org.gtk.Property.get"
28504+ value="adw_view_switcher_title_get_subtitle"/>
28505+ <attribute name="org.gtk.Property.set"
28506+ value="adw_view_switcher_title_set_subtitle"/>
28507+ <doc xml:space="preserve"
28508+ filename="src/adw-view-switcher-title.c"
28509+ line="305">The subtitle to display.
28510+
28511+The subtitle should give the user additional details.</doc>
28512+ <type name="utf8" c:type="gchar*"/>
28513+ </property>
28514+ <property name="title"
28515+ writable="1"
28516+ transfer-ownership="none"
28517+ setter="set_title"
28518+ getter="get_title">
28519+ <attribute name="org.gtk.Property.get"
28520+ value="adw_view_switcher_title_get_title"/>
28521+ <attribute name="org.gtk.Property.set"
28522+ value="adw_view_switcher_title_set_title"/>
28523+ <doc xml:space="preserve"
28524+ filename="src/adw-view-switcher-title.c"
28525+ line="292">The title to display.
28526+
28527+The title typically identifies the current view or content item, and
28528+generally does not use the application name.</doc>
28529+ <type name="utf8" c:type="gchar*"/>
28530+ </property>
28531+ <property name="title-visible"
28532+ transfer-ownership="none"
28533+ getter="get_title_visible"
28534+ default-value="TRUE">
28535+ <attribute name="org.gtk.Property.get"
28536+ value="adw_view_switcher_title_get_title_visible"/>
28537+ <doc xml:space="preserve"
28538+ filename="src/adw-view-switcher-title.c"
28539+ line="334">Whether the title is currently visible.
28540+
28541+If the title is visible, it means the view switcher is hidden an it may be
28542+wanted to show an alternative switcher, e.g. a [class@ViewSwitcherBar].</doc>
28543+ <type name="gboolean" c:type="gboolean"/>
28544+ </property>
28545+ <property name="view-switcher-enabled"
28546+ writable="1"
28547+ transfer-ownership="none"
28548+ setter="set_view_switcher_enabled"
28549+ getter="get_view_switcher_enabled"
28550+ default-value="TRUE">
28551+ <attribute name="org.gtk.Property.get"
28552+ value="adw_view_switcher_title_get_view_switcher_enabled"/>
28553+ <attribute name="org.gtk.Property.set"
28554+ value="adw_view_switcher_title_set_view_switcher_enabled"/>
28555+ <doc xml:space="preserve"
28556+ filename="src/adw-view-switcher-title.c"
28557+ line="317">Whether the view switcher is enabled.
28558+
28559+If it is disabled, the title will be displayed instead. This allows to
28560+programmatically hide the view switcher even if it fits in the available
28561+space.
28562+
28563+This can be used e.g. to ensure the view switcher is hidden below a certain
28564+window width, or any other constraint you find suitable.</doc>
28565+ <type name="gboolean" c:type="gboolean"/>
28566+ </property>
28567+ </class>
28568+ <record name="ViewSwitcherTitleClass"
28569+ c:type="AdwViewSwitcherTitleClass"
28570+ glib:is-gtype-struct-for="ViewSwitcherTitle">
28571+ <source-position filename="src/adw-view-switcher-title.h" line="25"/>
28572+ <field name="parent_class">
28573+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
28574+ </field>
28575+ </record>
28576+ <class name="Window"
28577+ c:symbol-prefix="window"
28578+ c:type="AdwWindow"
28579+ parent="Gtk.Window"
28580+ glib:type-name="AdwWindow"
28581+ glib:get-type="adw_window_get_type"
28582+ glib:type-struct="WindowClass">
28583+ <doc xml:space="preserve"
28584+ filename="src/adw-window.c"
28585+ line="12">A freeform window.
28586+
28587+&lt;picture&gt;
28588+ &lt;source srcset="window-dark.png" media="(prefers-color-scheme: dark)"&gt;
28589+ &lt;img src="window.png" alt="window"&gt;
28590+&lt;/picture&gt;
28591+
28592+The `AdwWindow` widget is a subclass of [class@Gtk.Window] which has no
28593+titlebar area. It means [class@Gtk.HeaderBar] can be used as follows:
28594+
28595+```xml
28596+&lt;object class="AdwWindow"&gt;
28597+ &lt;property name="content"&gt;
28598+ &lt;object class="GtkBox"&gt;
28599+ &lt;property name="orientation"&gt;vertical&lt;/property&gt;
28600+ &lt;child&gt;
28601+ &lt;object class="GtkHeaderBar"/&gt;
28602+ &lt;/child&gt;
28603+ &lt;child&gt;
28604+ &lt;!-- ... --&gt;
28605+ &lt;/child&gt;
28606+ &lt;/object&gt;
28607+ &lt;/property&gt;
28608+&lt;/object&gt;
28609+```
28610+
28611+Using [property@Gtk.Window:titlebar] or [property@Gtk.Window:child]
28612+is not supported and will result in a crash. Use [property@Window:content]
28613+instead.</doc>
28614+ <source-position filename="src/adw-window.h" line="30"/>
28615+ <implements name="Gtk.Accessible"/>
28616+ <implements name="Gtk.Buildable"/>
28617+ <implements name="Gtk.ConstraintTarget"/>
28618+ <implements name="Gtk.Native"/>
28619+ <implements name="Gtk.Root"/>
28620+ <implements name="Gtk.ShortcutManager"/>
28621+ <constructor name="new" c:identifier="adw_window_new">
28622+ <doc xml:space="preserve"
28623+ filename="src/adw-window.c"
28624+ line="183">Creates a new `AdwWindow`.</doc>
28625+ <source-position filename="src/adw-window.h" line="33"/>
28626+ <return-value transfer-ownership="none">
28627+ <doc xml:space="preserve"
28628+ filename="src/adw-window.c"
28629+ line="188">the newly created `AdwWindow`</doc>
28630+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28631+ </return-value>
28632+ </constructor>
28633+ <method name="get_content"
28634+ c:identifier="adw_window_get_content"
28635+ glib:get-property="content">
28636+ <attribute name="org.gtk.Method.get_property" value="content"/>
28637+ <doc xml:space="preserve"
28638+ filename="src/adw-window.c"
28639+ line="220">Gets the content widget of @self.
28640+
28641+This method should always be used instead of [method@Gtk.Window.get_child].</doc>
28642+ <source-position filename="src/adw-window.h" line="36"/>
28643+ <return-value transfer-ownership="none" nullable="1">
28644+ <doc xml:space="preserve"
28645+ filename="src/adw-window.c"
28646+ line="228">the content widget of @self</doc>
28647+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28648+ </return-value>
28649+ <parameters>
28650+ <instance-parameter name="self" transfer-ownership="none">
28651+ <doc xml:space="preserve"
28652+ filename="src/adw-window.c"
28653+ line="222">a window</doc>
28654+ <type name="Window" c:type="AdwWindow*"/>
28655+ </instance-parameter>
28656+ </parameters>
28657+ </method>
28658+ <method name="set_content"
28659+ c:identifier="adw_window_set_content"
28660+ glib:set-property="content">
28661+ <attribute name="org.gtk.Method.set_property" value="content"/>
28662+ <doc xml:space="preserve"
28663+ filename="src/adw-window.c"
28664+ line="196">Sets the content widget of @self.
28665+
28666+This method should always be used instead of [method@Gtk.Window.set_child].</doc>
28667+ <source-position filename="src/adw-window.h" line="38"/>
28668+ <return-value transfer-ownership="none">
28669+ <type name="none" c:type="void"/>
28670+ </return-value>
28671+ <parameters>
28672+ <instance-parameter name="self" transfer-ownership="none">
28673+ <doc xml:space="preserve"
28674+ filename="src/adw-window.c"
28675+ line="198">a window</doc>
28676+ <type name="Window" c:type="AdwWindow*"/>
28677+ </instance-parameter>
28678+ <parameter name="content"
28679+ transfer-ownership="none"
28680+ nullable="1"
28681+ allow-none="1">
28682+ <doc xml:space="preserve"
28683+ filename="src/adw-window.c"
28684+ line="199">the content widget</doc>
28685+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28686+ </parameter>
28687+ </parameters>
28688+ </method>
28689+ <property name="content"
28690+ writable="1"
28691+ transfer-ownership="none"
28692+ setter="set_content"
28693+ getter="get_content">
28694+ <attribute name="org.gtk.Property.get" value="adw_window_get_content"/>
28695+ <attribute name="org.gtk.Property.set" value="adw_window_set_content"/>
28696+ <doc xml:space="preserve"
28697+ filename="src/adw-window.c"
28698+ line="137">The content widget.
28699+
28700+This property should always be used instead of [property@Gtk.Window:child].</doc>
28701+ <type name="Gtk.Widget"/>
28702+ </property>
28703+ <field name="parent_instance">
28704+ <type name="Gtk.Window" c:type="GtkWindow"/>
28705+ </field>
28706+ </class>
28707+ <record name="WindowClass"
28708+ c:type="AdwWindowClass"
28709+ glib:is-gtype-struct-for="Window">
28710+ <source-position filename="src/adw-window.h" line="30"/>
28711+ <field name="parent_class">
28712+ <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
28713+ </field>
28714+ <field name="padding" readable="0" private="1">
28715+ <array zero-terminated="0" fixed-size="4">
28716+ <type name="gpointer" c:type="gpointer"/>
28717+ </array>
28718+ </field>
28719+ </record>
28720+ <class name="WindowTitle"
28721+ c:symbol-prefix="window_title"
28722+ c:type="AdwWindowTitle"
28723+ parent="Gtk.Widget"
28724+ final="1"
28725+ glib:type-name="AdwWindowTitle"
28726+ glib:get-type="adw_window_title_get_type"
28727+ glib:type-struct="WindowTitleClass">
28728+ <doc xml:space="preserve"
28729+ filename="src/adw-window-title.c"
28730+ line="11">A helper widget for setting a window's title and subtitle.
28731+
28732+&lt;picture&gt;
28733+ &lt;source srcset="window-title-dark.png" media="(prefers-color-scheme: dark)"&gt;
28734+ &lt;img src="window-title.png" alt="window-title"&gt;
28735+&lt;/picture&gt;
28736+
28737+`AdwWindowTitle` shows a title and subtitle. It's intended to be used as the
28738+title child of [class@Gtk.HeaderBar] or [class@HeaderBar].
28739+
28740+## CSS nodes
28741+
28742+`AdwWindowTitle` has a single CSS node with name `windowtitle`.</doc>
28743+ <source-position filename="src/adw-window-title.h" line="22"/>
28744+ <implements name="Gtk.Accessible"/>
28745+ <implements name="Gtk.Buildable"/>
28746+ <implements name="Gtk.ConstraintTarget"/>
28747+ <constructor name="new" c:identifier="adw_window_title_new">
28748+ <doc xml:space="preserve"
28749+ filename="src/adw-window-title.c"
28750+ line="152">Creates a new `AdwWindowTitle`.</doc>
28751+ <source-position filename="src/adw-window-title.h" line="25"/>
28752+ <return-value transfer-ownership="none">
28753+ <doc xml:space="preserve"
28754+ filename="src/adw-window-title.c"
28755+ line="159">the newly created `AdwWindowTitle`</doc>
28756+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28757+ </return-value>
28758+ <parameters>
28759+ <parameter name="title" transfer-ownership="none">
28760+ <doc xml:space="preserve"
28761+ filename="src/adw-window-title.c"
28762+ line="154">a title</doc>
28763+ <type name="utf8" c:type="const char*"/>
28764+ </parameter>
28765+ <parameter name="subtitle" transfer-ownership="none">
28766+ <doc xml:space="preserve"
28767+ filename="src/adw-window-title.c"
28768+ line="155">a subtitle</doc>
28769+ <type name="utf8" c:type="const char*"/>
28770+ </parameter>
28771+ </parameters>
28772+ </constructor>
28773+ <method name="get_subtitle"
28774+ c:identifier="adw_window_title_get_subtitle"
28775+ glib:get-property="subtitle">
28776+ <attribute name="org.gtk.Method.get_property" value="subtitle"/>
28777+ <doc xml:space="preserve"
28778+ filename="src/adw-window-title.c"
28779+ line="213">Gets the subtitle of @self.</doc>
28780+ <source-position filename="src/adw-window-title.h" line="35"/>
28781+ <return-value transfer-ownership="none">
28782+ <doc xml:space="preserve"
28783+ filename="src/adw-window-title.c"
28784+ line="219">the subtitle</doc>
28785+ <type name="utf8" c:type="const char*"/>
28786+ </return-value>
28787+ <parameters>
28788+ <instance-parameter name="self" transfer-ownership="none">
28789+ <doc xml:space="preserve"
28790+ filename="src/adw-window-title.c"
28791+ line="215">a window title</doc>
28792+ <type name="WindowTitle" c:type="AdwWindowTitle*"/>
28793+ </instance-parameter>
28794+ </parameters>
28795+ </method>
28796+ <method name="get_title"
28797+ c:identifier="adw_window_title_get_title"
28798+ glib:get-property="title">
28799+ <attribute name="org.gtk.Method.get_property" value="title"/>
28800+ <doc xml:space="preserve"
28801+ filename="src/adw-window-title.c"
28802+ line="171">Gets the title of @self.</doc>
28803+ <source-position filename="src/adw-window-title.h" line="29"/>
28804+ <return-value transfer-ownership="none">
28805+ <doc xml:space="preserve"
28806+ filename="src/adw-window-title.c"
28807+ line="177">the title</doc>
28808+ <type name="utf8" c:type="const char*"/>
28809+ </return-value>
28810+ <parameters>
28811+ <instance-parameter name="self" transfer-ownership="none">
28812+ <doc xml:space="preserve"
28813+ filename="src/adw-window-title.c"
28814+ line="173">a window title</doc>
28815+ <type name="WindowTitle" c:type="AdwWindowTitle*"/>
28816+ </instance-parameter>
28817+ </parameters>
28818+ </method>
28819+ <method name="set_subtitle"
28820+ c:identifier="adw_window_title_set_subtitle"
28821+ glib:set-property="subtitle">
28822+ <attribute name="org.gtk.Method.set_property" value="subtitle"/>
28823+ <doc xml:space="preserve"
28824+ filename="src/adw-window-title.c"
28825+ line="229">Sets the subtitle of @self.
28826+
28827+The subtitle should give the user additional details.</doc>
28828+ <source-position filename="src/adw-window-title.h" line="37"/>
28829+ <return-value transfer-ownership="none">
28830+ <type name="none" c:type="void"/>
28831+ </return-value>
28832+ <parameters>
28833+ <instance-parameter name="self" transfer-ownership="none">
28834+ <doc xml:space="preserve"
28835+ filename="src/adw-window-title.c"
28836+ line="231">a window title</doc>
28837+ <type name="WindowTitle" c:type="AdwWindowTitle*"/>
28838+ </instance-parameter>
28839+ <parameter name="subtitle" transfer-ownership="none">
28840+ <doc xml:space="preserve"
28841+ filename="src/adw-window-title.c"
28842+ line="232">a subtitle</doc>
28843+ <type name="utf8" c:type="const char*"/>
28844+ </parameter>
28845+ </parameters>
28846+ </method>
28847+ <method name="set_title"
28848+ c:identifier="adw_window_title_set_title"
28849+ glib:set-property="title">
28850+ <attribute name="org.gtk.Method.set_property" value="title"/>
28851+ <doc xml:space="preserve"
28852+ filename="src/adw-window-title.c"
28853+ line="187">Sets the title of @self.
28854+
28855+The title typically identifies the current view or content item, and
28856+generally does not use the application name.</doc>
28857+ <source-position filename="src/adw-window-title.h" line="31"/>
28858+ <return-value transfer-ownership="none">
28859+ <type name="none" c:type="void"/>
28860+ </return-value>
28861+ <parameters>
28862+ <instance-parameter name="self" transfer-ownership="none">
28863+ <doc xml:space="preserve"
28864+ filename="src/adw-window-title.c"
28865+ line="189">a window title</doc>
28866+ <type name="WindowTitle" c:type="AdwWindowTitle*"/>
28867+ </instance-parameter>
28868+ <parameter name="title" transfer-ownership="none">
28869+ <doc xml:space="preserve"
28870+ filename="src/adw-window-title.c"
28871+ line="190">a title</doc>
28872+ <type name="utf8" c:type="const char*"/>
28873+ </parameter>
28874+ </parameters>
28875+ </method>
28876+ <property name="subtitle"
28877+ writable="1"
28878+ transfer-ownership="none"
28879+ setter="set_subtitle"
28880+ getter="get_subtitle">
28881+ <attribute name="org.gtk.Property.get"
28882+ value="adw_window_title_get_subtitle"/>
28883+ <attribute name="org.gtk.Property.set"
28884+ value="adw_window_title_set_subtitle"/>
28885+ <doc xml:space="preserve"
28886+ filename="src/adw-window-title.c"
28887+ line="128">The subtitle to display.
28888+
28889+The subtitle should give the user additional details.</doc>
28890+ <type name="utf8" c:type="gchar*"/>
28891+ </property>
28892+ <property name="title"
28893+ writable="1"
28894+ transfer-ownership="none"
28895+ setter="set_title"
28896+ getter="get_title">
28897+ <attribute name="org.gtk.Property.get"
28898+ value="adw_window_title_get_title"/>
28899+ <attribute name="org.gtk.Property.set"
28900+ value="adw_window_title_set_title"/>
28901+ <doc xml:space="preserve"
28902+ filename="src/adw-window-title.c"
28903+ line="115">The title to display.
28904+
28905+The title typically identifies the current view or content item, and
28906+generally does not use the application name.</doc>
28907+ <type name="utf8" c:type="gchar*"/>
28908+ </property>
28909+ </class>
28910+ <record name="WindowTitleClass"
28911+ c:type="AdwWindowTitleClass"
28912+ glib:is-gtype-struct-for="WindowTitle">
28913+ <source-position filename="src/adw-window-title.h" line="22"/>
28914+ <field name="parent_class">
28915+ <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
28916+ </field>
28917+ </record>
28918+ <function name="easing_ease"
28919+ c:identifier="adw_easing_ease"
28920+ moved-to="Easing.ease">
28921+ <doc xml:space="preserve"
28922+ filename="src/adw-easing.c"
28923+ line="428">Computes easing with @easing for @value.
28924+
28925+@value should generally be in the [0, 1] range.</doc>
28926+ <source-position filename="src/adw-easing.h" line="57"/>
28927+ <return-value transfer-ownership="none">
28928+ <doc xml:space="preserve"
28929+ filename="src/adw-easing.c"
28930+ line="437">the easing for @value</doc>
28931+ <type name="gdouble" c:type="double"/>
28932+ </return-value>
28933+ <parameters>
28934+ <parameter name="self" transfer-ownership="none">
28935+ <doc xml:space="preserve"
28936+ filename="src/adw-easing.c"
28937+ line="430">an easing value</doc>
28938+ <type name="Easing" c:type="AdwEasing"/>
28939+ </parameter>
28940+ <parameter name="value" transfer-ownership="none">
28941+ <doc xml:space="preserve"
28942+ filename="src/adw-easing.c"
28943+ line="431">a value to ease</doc>
28944+ <type name="gdouble" c:type="double"/>
28945+ </parameter>
28946+ </parameters>
28947+ </function>
28948+ <function name="get_enable_animations"
28949+ c:identifier="adw_get_enable_animations">
28950+ <doc xml:space="preserve"
28951+ filename="src/adw-animation-util.c"
28952+ line="28">Checks whether animations are enabled for @widget.
28953+
28954+This should be used when implementing an animated widget to know whether to
28955+animate it or not.</doc>
28956+ <source-position filename="src/adw-animation-util.h" line="26"/>
28957+ <return-value transfer-ownership="none">
28958+ <doc xml:space="preserve"
28959+ filename="src/adw-animation-util.c"
28960+ line="37">whether animations are enabled for @widget</doc>
28961+ <type name="gboolean" c:type="gboolean"/>
28962+ </return-value>
28963+ <parameters>
28964+ <parameter name="widget" transfer-ownership="none">
28965+ <doc xml:space="preserve"
28966+ filename="src/adw-animation-util.c"
28967+ line="30">a `GtkWidget`</doc>
28968+ <type name="Gtk.Widget" c:type="GtkWidget*"/>
28969+ </parameter>
28970+ </parameters>
28971+ </function>
28972+ <function name="get_major_version" c:identifier="adw_get_major_version">
28973+ <doc xml:space="preserve"
28974+ filename="src/adw-version.c"
28975+ line="13">Returns the major version number of the Adwaita library.
28976+
28977+For example, in libadwaita version 1.2.3 this is 1.
28978+
28979+This function is in the library, so it represents the libadwaita library your
28980+code is running against. Contrast with the [const@MAJOR_VERSION] constant,
28981+which represents the major version of the libadwaita headers you have
28982+included when compiling your code.</doc>
28983+ <source-position filename="src/adw-version.h" line="193"/>
28984+ <return-value transfer-ownership="none">
28985+ <doc xml:space="preserve"
28986+ filename="src/adw-version.c"
28987+ line="25">the major version number of the Adwaita library</doc>
28988+ <type name="guint" c:type="guint"/>
28989+ </return-value>
28990+ </function>
28991+ <function name="get_micro_version" c:identifier="adw_get_micro_version">
28992+ <doc xml:space="preserve"
28993+ filename="src/adw-version.c"
28994+ line="53">Returns the micro version number of the Adwaita library.
28995+
28996+For example, in libadwaita version 1.2.3 this is 3.
28997+
28998+This function is in the library, so it represents the libadwaita library your
28999+code is running against. Contrast with the [const@MAJOR_VERSION] constant,
29000+which represents the micro version of the libadwaita headers you have
29001+included when compiling your code.</doc>
29002+ <source-position filename="src/adw-version.h" line="197"/>
29003+ <return-value transfer-ownership="none">
29004+ <doc xml:space="preserve"
29005+ filename="src/adw-version.c"
29006+ line="65">the micro version number of the Adwaita library</doc>
29007+ <type name="guint" c:type="guint"/>
29008+ </return-value>
29009+ </function>
29010+ <function name="get_minor_version" c:identifier="adw_get_minor_version">
29011+ <doc xml:space="preserve"
29012+ filename="src/adw-version.c"
29013+ line="33">Returns the minor version number of the Adwaita library.
29014+
29015+For example, in libadwaita version 1.2.3 this is 2.
29016+
29017+This function is in the library, so it represents the libadwaita library your
29018+code is running against. Contrast with the [const@MAJOR_VERSION] constant,
29019+which represents the minor version of the libadwaita headers you have
29020+included when compiling your code.</doc>
29021+ <source-position filename="src/adw-version.h" line="195"/>
29022+ <return-value transfer-ownership="none">
29023+ <doc xml:space="preserve"
29024+ filename="src/adw-version.c"
29025+ line="45">the minor version number of the Adwaita library</doc>
29026+ <type name="guint" c:type="guint"/>
29027+ </return-value>
29028+ </function>
29029+ <function name="init" c:identifier="adw_init">
29030+ <doc xml:space="preserve"
29031+ filename="src/adw-main.c"
29032+ line="17">Initializes Libadwaita.
29033+
29034+This function can be used instead of [func@Gtk.init] as it initializes GTK
29035+implicitly.
29036+
29037+There's no need to call this function if you're using [class@Application].
29038+
29039+If Libadwaita has already been initialized, the function will simply return.
29040+
29041+This makes sure translations, types, themes, and icons for the Adwaita
29042+library are set up properly.</doc>
29043+ <source-position filename="src/adw-main.h" line="19"/>
29044+ <return-value transfer-ownership="none">
29045+ <type name="none" c:type="void"/>
29046+ </return-value>
29047+ </function>
29048+ <function name="is_initialized" c:identifier="adw_is_initialized">
29049+ <doc xml:space="preserve"
29050+ filename="src/adw-main.c"
29051+ line="60">Use this function to check if libadwaita has been initialized with
29052+[func@init].</doc>
29053+ <source-position filename="src/adw-main.h" line="22"/>
29054+ <return-value transfer-ownership="none">
29055+ <doc xml:space="preserve"
29056+ filename="src/adw-main.c"
29057+ line="66">the initialization status</doc>
29058+ <type name="gboolean" c:type="gboolean"/>
29059+ </return-value>
29060+ </function>
29061+ <function name="lerp" c:identifier="adw_lerp">
29062+ <doc xml:space="preserve"
29063+ filename="src/adw-animation-util.c"
29064+ line="12">Computes the linear interpolation between @a and @b for @t.</doc>
29065+ <source-position filename="src/adw-animation-util.h" line="21"/>
29066+ <return-value transfer-ownership="none">
29067+ <doc xml:space="preserve"
29068+ filename="src/adw-animation-util.c"
29069+ line="20">the computed value</doc>
29070+ <type name="gdouble" c:type="double"/>
29071+ </return-value>
29072+ <parameters>
29073+ <parameter name="a" transfer-ownership="none">
29074+ <doc xml:space="preserve"
29075+ filename="src/adw-animation-util.c"
29076+ line="14">the start</doc>
29077+ <type name="gdouble" c:type="double"/>
29078+ </parameter>
29079+ <parameter name="b" transfer-ownership="none">
29080+ <doc xml:space="preserve"
29081+ filename="src/adw-animation-util.c"
29082+ line="15">the end</doc>
29083+ <type name="gdouble" c:type="double"/>
29084+ </parameter>
29085+ <parameter name="t" transfer-ownership="none">
29086+ <doc xml:space="preserve"
29087+ filename="src/adw-animation-util.c"
29088+ line="16">the interpolation rate</doc>
29089+ <type name="gdouble" c:type="double"/>
29090+ </parameter>
29091+ </parameters>
29092+ </function>
29093+ <function name="show_about_window"
29094+ c:identifier="adw_show_about_window"
29095+ version="1.2"
29096+ introspectable="0">
29097+ <doc xml:space="preserve"
29098+ filename="src/adw-about-window.c"
29099+ line="3264">A convenience function for showing an application’s about window.</doc>
29100+ <source-position filename="src/adw-about-window.h" line="171"/>
29101+ <return-value transfer-ownership="none">
29102+ <type name="none" c:type="void"/>
29103+ </return-value>
29104+ <parameters>
29105+ <parameter name="parent"
29106+ transfer-ownership="none"
29107+ nullable="1"
29108+ allow-none="1">
29109+ <doc xml:space="preserve"
29110+ filename="src/adw-about-window.c"
29111+ line="3266">the parent top-level window</doc>
29112+ <type name="Gtk.Window" c:type="GtkWindow*"/>
29113+ </parameter>
29114+ <parameter name="first_property_name" transfer-ownership="none">
29115+ <doc xml:space="preserve"
29116+ filename="src/adw-about-window.c"
29117+ line="3267">the name of the first property</doc>
29118+ <type name="utf8" c:type="const char*"/>
29119+ </parameter>
29120+ <parameter name="..." transfer-ownership="none">
29121+ <doc xml:space="preserve"
29122+ filename="src/adw-about-window.c"
29123+ line="3268">value of first property, followed by more pairs of property name and
29124+ value, `NULL`-terminated</doc>
29125+ <varargs/>
29126+ </parameter>
29127+ </parameters>
29128+ </function>
29129+ </namespace>
29130+</repository>
A internal/gir/spec/GLib-2.0.gir +83214 -0 large diff (83214 lines changed): collapsed
A internal/gir/spec/GModule-2.0.gir +522 -0
@@ -0,0 +1,522 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="GLib" version="2.0"/>
10+ <package name="gmodule-2.0"/>
11+ <c:include name="gmodule.h"/>
12+ <namespace name="GModule"
13+ version="2.0"
14+ shared-library="libgmodule-2.0.so.0"
15+ c:identifier-prefixes="G"
16+ c:symbol-prefixes="g">
17+ <record name="Module" c:type="GModule" disguised="1">
18+ <doc xml:space="preserve"
19+ filename="gmodule-2.0.c"
20+ line="5">The #GModule struct is an opaque data structure to represent a
21+[dynamically-loaded module][glib-Dynamic-Loading-of-Modules].
22+It should only be accessed via the following functions.</doc>
23+ <source-position filename="gmodule.h" line="65"/>
24+ <method name="close" c:identifier="g_module_close">
25+ <doc xml:space="preserve"
26+ filename="gmodule-2.0.c"
27+ line="185">Closes a module.</doc>
28+ <source-position filename="gmodule.h" line="105"/>
29+ <return-value transfer-ownership="none">
30+ <doc xml:space="preserve"
31+ filename="gmodule-2.0.c"
32+ line="191">%TRUE on success</doc>
33+ <type name="gboolean" c:type="gboolean"/>
34+ </return-value>
35+ <parameters>
36+ <instance-parameter name="module" transfer-ownership="none">
37+ <doc xml:space="preserve"
38+ filename="gmodule-2.0.c"
39+ line="187">a #GModule to close</doc>
40+ <type name="Module" c:type="GModule*"/>
41+ </instance-parameter>
42+ </parameters>
43+ </method>
44+ <method name="make_resident" c:identifier="g_module_make_resident">
45+ <doc xml:space="preserve"
46+ filename="gmodule-2.0.c"
47+ line="204">Ensures that a module will never be unloaded.
48+Any future g_module_close() calls on the module will be ignored.</doc>
49+ <source-position filename="gmodule.h" line="109"/>
50+ <return-value transfer-ownership="none">
51+ <type name="none" c:type="void"/>
52+ </return-value>
53+ <parameters>
54+ <instance-parameter name="module" transfer-ownership="none">
55+ <doc xml:space="preserve"
56+ filename="gmodule-2.0.c"
57+ line="206">a #GModule to make permanently resident</doc>
58+ <type name="Module" c:type="GModule*"/>
59+ </instance-parameter>
60+ </parameters>
61+ </method>
62+ <method name="name" c:identifier="g_module_name">
63+ <doc xml:space="preserve"
64+ filename="gmodule-2.0.c"
65+ line="213">Returns the filename that the module was opened with.
66+
67+If @module refers to the application itself, "main" is returned.</doc>
68+ <source-position filename="gmodule.h" line="123"/>
69+ <return-value transfer-ownership="none">
70+ <doc xml:space="preserve"
71+ filename="gmodule-2.0.c"
72+ line="221">the filename of the module</doc>
73+ <type name="utf8" c:type="const gchar*"/>
74+ </return-value>
75+ <parameters>
76+ <instance-parameter name="module" transfer-ownership="none">
77+ <doc xml:space="preserve"
78+ filename="gmodule-2.0.c"
79+ line="215">a #GModule</doc>
80+ <type name="Module" c:type="GModule*"/>
81+ </instance-parameter>
82+ </parameters>
83+ </method>
84+ <method name="symbol" c:identifier="g_module_symbol">
85+ <doc xml:space="preserve"
86+ filename="gmodule-2.0.c"
87+ line="273">Gets a symbol pointer from a module, such as one exported
88+by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL.</doc>
89+ <source-position filename="gmodule.h" line="117"/>
90+ <return-value transfer-ownership="none">
91+ <doc xml:space="preserve"
92+ filename="gmodule-2.0.c"
93+ line="282">%TRUE on success</doc>
94+ <type name="gboolean" c:type="gboolean"/>
95+ </return-value>
96+ <parameters>
97+ <instance-parameter name="module" transfer-ownership="none">
98+ <doc xml:space="preserve"
99+ filename="gmodule-2.0.c"
100+ line="275">a #GModule</doc>
101+ <type name="Module" c:type="GModule*"/>
102+ </instance-parameter>
103+ <parameter name="symbol_name" transfer-ownership="none">
104+ <doc xml:space="preserve"
105+ filename="gmodule-2.0.c"
106+ line="276">the name of the symbol to find</doc>
107+ <type name="utf8" c:type="const gchar*"/>
108+ </parameter>
109+ <parameter name="symbol"
110+ direction="out"
111+ caller-allocates="0"
112+ transfer-ownership="full"
113+ nullable="1">
114+ <doc xml:space="preserve"
115+ filename="gmodule-2.0.c"
116+ line="277">returns the pointer to the symbol value</doc>
117+ <type name="gpointer" c:type="gpointer*"/>
118+ </parameter>
119+ </parameters>
120+ </method>
121+ <function name="build_path" c:identifier="g_module_build_path">
122+ <doc xml:space="preserve"
123+ filename="gmodule-2.0.c"
124+ line="159">A portable way to build the filename of a module. The platform-specific
125+prefix and suffix are added to the filename, if needed, and the result
126+is added to the directory, using the correct separator character.
127+
128+The directory should specify the directory where the module can be found.
129+It can be %NULL or an empty string to indicate that the module is in a
130+standard platform-specific directory, though this is not recommended
131+since the wrong module may be found.
132+
133+For example, calling g_module_build_path() on a Linux system with a
134+@directory of `/lib` and a @module_name of "mylibrary" will return
135+`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
136+directory it will return `\Windows\mylibrary.dll`.</doc>
137+ <source-position filename="gmodule.h" line="137"/>
138+ <return-value transfer-ownership="full">
139+ <doc xml:space="preserve"
140+ filename="gmodule-2.0.c"
141+ line="180">the complete path of the module, including the standard library
142+ prefix and suffix. This should be freed when no longer needed</doc>
143+ <type name="utf8" c:type="gchar*"/>
144+ </return-value>
145+ <parameters>
146+ <parameter name="directory"
147+ transfer-ownership="none"
148+ nullable="1"
149+ allow-none="1">
150+ <doc xml:space="preserve"
151+ filename="gmodule-2.0.c"
152+ line="161">the directory where the module is. This can be
153+ %NULL or the empty string to indicate that the standard platform-specific
154+ directories will be used, though that is not recommended</doc>
155+ <type name="utf8" c:type="const gchar*"/>
156+ </parameter>
157+ <parameter name="module_name" transfer-ownership="none">
158+ <doc xml:space="preserve"
159+ filename="gmodule-2.0.c"
160+ line="164">the name of the module</doc>
161+ <type name="utf8" c:type="const gchar*"/>
162+ </parameter>
163+ </parameters>
164+ </function>
165+ <function name="error" c:identifier="g_module_error">
166+ <doc xml:space="preserve"
167+ filename="gmodule-2.0.c"
168+ line="195">Gets a string describing the last module error.</doc>
169+ <source-position filename="gmodule.h" line="113"/>
170+ <return-value transfer-ownership="none">
171+ <doc xml:space="preserve"
172+ filename="gmodule-2.0.c"
173+ line="200">a string describing the last module error</doc>
174+ <type name="utf8" c:type="const gchar*"/>
175+ </return-value>
176+ </function>
177+ <function name="error_quark" c:identifier="g_module_error_quark">
178+ <return-value transfer-ownership="none">
179+ <type name="GLib.Quark" c:type="GQuark"/>
180+ </return-value>
181+ </function>
182+ <function name="open" c:identifier="g_module_open" introspectable="0">
183+ <doc xml:space="preserve"
184+ filename="gmodule-2.0.c"
185+ line="225">A thin wrapper function around g_module_open_full()</doc>
186+ <source-position filename="gmodule.h" line="95"/>
187+ <return-value>
188+ <doc xml:space="preserve"
189+ filename="gmodule-2.0.c"
190+ line="234">a #GModule on success, or %NULL on failure</doc>
191+ <type name="Module" c:type="GModule*"/>
192+ </return-value>
193+ <parameters>
194+ <parameter name="file_name"
195+ transfer-ownership="none"
196+ nullable="1"
197+ allow-none="1">
198+ <doc xml:space="preserve"
199+ filename="gmodule-2.0.c"
200+ line="227">the name of the file containing the module, or %NULL
201+ to obtain a #GModule representing the main program itself</doc>
202+ <type name="utf8" c:type="const gchar*"/>
203+ </parameter>
204+ <parameter name="flags" transfer-ownership="none">
205+ <doc xml:space="preserve"
206+ filename="gmodule-2.0.c"
207+ line="229">the flags used for opening the module. This can be the
208+ logical OR of any of the #GModuleFlags.</doc>
209+ <type name="ModuleFlags" c:type="GModuleFlags"/>
210+ </parameter>
211+ </parameters>
212+ </function>
213+ <function name="open_full"
214+ c:identifier="g_module_open_full"
215+ version="2.70"
216+ introspectable="0"
217+ throws="1">
218+ <doc xml:space="preserve"
219+ filename="gmodule-2.0.c"
220+ line="238">Opens a module. If the module has already been opened,
221+its reference count is incremented.
222+
223+First of all g_module_open_full() tries to open @file_name as a module.
224+If that fails and @file_name has the ".la"-suffix (and is a libtool
225+archive) it tries to open the corresponding module. If that fails
226+and it doesn't have the proper module suffix for the platform
227+(%G_MODULE_SUFFIX), this suffix will be appended and the corresponding
228+module will be opened. If that fails and @file_name doesn't have the
229+".la"-suffix, this suffix is appended and g_module_open_full() tries to open
230+the corresponding module. If eventually that fails as well, %NULL is
231+returned.</doc>
232+ <source-position filename="gmodule.h" line="99"/>
233+ <return-value>
234+ <doc xml:space="preserve"
235+ filename="gmodule-2.0.c"
236+ line="259">a #GModule on success, or %NULL on failure</doc>
237+ <type name="Module" c:type="GModule*"/>
238+ </return-value>
239+ <parameters>
240+ <parameter name="file_name"
241+ transfer-ownership="none"
242+ nullable="1"
243+ allow-none="1">
244+ <doc xml:space="preserve"
245+ filename="gmodule-2.0.c"
246+ line="240">the name of the file containing the module, or %NULL
247+ to obtain a #GModule representing the main program itself</doc>
248+ <type name="utf8" c:type="const gchar*"/>
249+ </parameter>
250+ <parameter name="flags" transfer-ownership="none">
251+ <doc xml:space="preserve"
252+ filename="gmodule-2.0.c"
253+ line="242">the flags used for opening the module. This can be the
254+ logical OR of any of the #GModuleFlags</doc>
255+ <type name="ModuleFlags" c:type="GModuleFlags"/>
256+ </parameter>
257+ </parameters>
258+ </function>
259+ <function name="supported" c:identifier="g_module_supported">
260+ <doc xml:space="preserve"
261+ filename="gmodule-2.0.c"
262+ line="264">Checks if modules are supported on the current platform.</doc>
263+ <source-position filename="gmodule.h" line="91"/>
264+ <return-value transfer-ownership="none">
265+ <doc xml:space="preserve"
266+ filename="gmodule-2.0.c"
267+ line="269">%TRUE if modules are supported</doc>
268+ <type name="gboolean" c:type="gboolean"/>
269+ </return-value>
270+ </function>
271+ </record>
272+ <callback name="ModuleCheckInit" c:type="GModuleCheckInit">
273+ <doc xml:space="preserve"
274+ filename="gmodule-2.0.c"
275+ line="14">Specifies the type of the module initialization function.
276+If a module contains a function named g_module_check_init() it is called
277+automatically when the module is loaded. It is passed the #GModule structure
278+and should return %NULL on success or a string describing the initialization
279+error.</doc>
280+ <source-position filename="gmodule.h" line="66"/>
281+ <return-value transfer-ownership="none">
282+ <doc xml:space="preserve"
283+ filename="gmodule-2.0.c"
284+ line="24">%NULL on success, or a string describing the initialization error</doc>
285+ <type name="utf8" c:type="const gchar*"/>
286+ </return-value>
287+ <parameters>
288+ <parameter name="module" transfer-ownership="none">
289+ <doc xml:space="preserve"
290+ filename="gmodule-2.0.c"
291+ line="16">the #GModule corresponding to the module which has just been loaded</doc>
292+ <type name="Module" c:type="GModule*"/>
293+ </parameter>
294+ </parameters>
295+ </callback>
296+ <enumeration name="ModuleError"
297+ version="2.70"
298+ c:type="GModuleError"
299+ glib:error-domain="g-module-error-quark">
300+ <doc xml:space="preserve"
301+ filename="gmodule.h"
302+ line="73">Errors returned by g_module_open_full().</doc>
303+ <source-position filename="gmodule.h" line="86"/>
304+ <member name="failed" value="0" c:identifier="G_MODULE_ERROR_FAILED">
305+ <doc xml:space="preserve"
306+ filename="gmodule.h"
307+ line="75">there was an error loading or opening a module file</doc>
308+ </member>
309+ <member name="check_failed"
310+ value="1"
311+ c:identifier="G_MODULE_ERROR_CHECK_FAILED">
312+ <doc xml:space="preserve"
313+ filename="gmodule.h"
314+ line="76">a module returned an error from its `g_module_check_init()` function</doc>
315+ </member>
316+ </enumeration>
317+ <bitfield name="ModuleFlags" c:type="GModuleFlags">
318+ <doc xml:space="preserve"
319+ filename="gmodule.h"
320+ line="44">Flags passed to g_module_open().
321+Note that these flags are not supported on all platforms.</doc>
322+ <source-position filename="gmodule.h" line="63"/>
323+ <member name="lazy" value="1" c:identifier="G_MODULE_BIND_LAZY">
324+ <doc xml:space="preserve"
325+ filename="gmodule.h"
326+ line="46">specifies that symbols are only resolved when
327+ needed. The default action is to bind all symbols when the module
328+ is loaded.</doc>
329+ </member>
330+ <member name="local" value="2" c:identifier="G_MODULE_BIND_LOCAL">
331+ <doc xml:space="preserve"
332+ filename="gmodule.h"
333+ line="49">specifies that symbols in the module should
334+ not be added to the global name space. The default action on most
335+ platforms is to place symbols in the module in the global name space,
336+ which may cause conflicts with existing symbols.</doc>
337+ </member>
338+ <member name="mask" value="3" c:identifier="G_MODULE_BIND_MASK">
339+ <doc xml:space="preserve"
340+ filename="gmodule.h"
341+ line="53">mask for all flags.</doc>
342+ </member>
343+ </bitfield>
344+ <callback name="ModuleUnload" c:type="GModuleUnload">
345+ <doc xml:space="preserve"
346+ filename="gmodule-2.0.c"
347+ line="28">Specifies the type of the module function called when it is unloaded.
348+If a module contains a function named g_module_unload() it is called
349+automatically when the module is unloaded.
350+It is passed the #GModule structure.</doc>
351+ <source-position filename="gmodule.h" line="67"/>
352+ <return-value transfer-ownership="none">
353+ <type name="none" c:type="void"/>
354+ </return-value>
355+ <parameters>
356+ <parameter name="module" transfer-ownership="none">
357+ <doc xml:space="preserve"
358+ filename="gmodule-2.0.c"
359+ line="30">the #GModule about to be unloaded</doc>
360+ <type name="Module" c:type="GModule*"/>
361+ </parameter>
362+ </parameters>
363+ </callback>
364+ <function name="module_build_path"
365+ c:identifier="g_module_build_path"
366+ moved-to="Module.build_path">
367+ <doc xml:space="preserve"
368+ filename="gmodule-2.0.c"
369+ line="159">A portable way to build the filename of a module. The platform-specific
370+prefix and suffix are added to the filename, if needed, and the result
371+is added to the directory, using the correct separator character.
372+
373+The directory should specify the directory where the module can be found.
374+It can be %NULL or an empty string to indicate that the module is in a
375+standard platform-specific directory, though this is not recommended
376+since the wrong module may be found.
377+
378+For example, calling g_module_build_path() on a Linux system with a
379+@directory of `/lib` and a @module_name of "mylibrary" will return
380+`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
381+directory it will return `\Windows\mylibrary.dll`.</doc>
382+ <source-position filename="gmodule.h" line="137"/>
383+ <return-value transfer-ownership="full">
384+ <doc xml:space="preserve"
385+ filename="gmodule-2.0.c"
386+ line="180">the complete path of the module, including the standard library
387+ prefix and suffix. This should be freed when no longer needed</doc>
388+ <type name="utf8" c:type="gchar*"/>
389+ </return-value>
390+ <parameters>
391+ <parameter name="directory"
392+ transfer-ownership="none"
393+ nullable="1"
394+ allow-none="1">
395+ <doc xml:space="preserve"
396+ filename="gmodule-2.0.c"
397+ line="161">the directory where the module is. This can be
398+ %NULL or the empty string to indicate that the standard platform-specific
399+ directories will be used, though that is not recommended</doc>
400+ <type name="utf8" c:type="const gchar*"/>
401+ </parameter>
402+ <parameter name="module_name" transfer-ownership="none">
403+ <doc xml:space="preserve"
404+ filename="gmodule-2.0.c"
405+ line="164">the name of the module</doc>
406+ <type name="utf8" c:type="const gchar*"/>
407+ </parameter>
408+ </parameters>
409+ </function>
410+ <function name="module_error"
411+ c:identifier="g_module_error"
412+ moved-to="Module.error">
413+ <doc xml:space="preserve"
414+ filename="gmodule-2.0.c"
415+ line="195">Gets a string describing the last module error.</doc>
416+ <source-position filename="gmodule.h" line="113"/>
417+ <return-value transfer-ownership="none">
418+ <doc xml:space="preserve"
419+ filename="gmodule-2.0.c"
420+ line="200">a string describing the last module error</doc>
421+ <type name="utf8" c:type="const gchar*"/>
422+ </return-value>
423+ </function>
424+ <function name="module_error_quark"
425+ c:identifier="g_module_error_quark"
426+ moved-to="Module.error_quark">
427+ <return-value transfer-ownership="none">
428+ <type name="GLib.Quark" c:type="GQuark"/>
429+ </return-value>
430+ </function>
431+ <function name="module_supported"
432+ c:identifier="g_module_supported"
433+ moved-to="Module.supported">
434+ <doc xml:space="preserve"
435+ filename="gmodule-2.0.c"
436+ line="264">Checks if modules are supported on the current platform.</doc>
437+ <source-position filename="gmodule.h" line="91"/>
438+ <return-value transfer-ownership="none">
439+ <doc xml:space="preserve"
440+ filename="gmodule-2.0.c"
441+ line="269">%TRUE if modules are supported</doc>
442+ <type name="gboolean" c:type="gboolean"/>
443+ </return-value>
444+ </function>
445+ <docsection name="modules">
446+ <doc xml:space="preserve"
447+ filename="gmodule-2.0.c"
448+ line="79">These functions provide a portable way to dynamically load object files
449+(commonly known as 'plug-ins'). The current implementation supports all
450+systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
451+well as Windows platforms via DLLs.
452+
453+A program which wants to use these functions must be linked to the
454+libraries output by the command `pkg-config --libs gmodule-2.0`.
455+
456+To use them you must first determine whether dynamic loading
457+is supported on the platform by calling g_module_supported().
458+If it is, you can open a module with g_module_open(),
459+find the module's symbols (e.g. function names) with g_module_symbol(),
460+and later close the module with g_module_close().
461+g_module_name() will return the file name of a currently opened module.
462+
463+If any of the above functions fail, the error status can be found with
464+g_module_error().
465+
466+The #GModule implementation features reference counting for opened modules,
467+and supports hook functions within a module which are called when the
468+module is loaded and unloaded (see #GModuleCheckInit and #GModuleUnload).
469+
470+If your module introduces static data to common subsystems in the running
471+program, e.g. through calling
472+`g_quark_from_static_string ("my-module-stuff")`,
473+it must ensure that it is never unloaded, by calling g_module_make_resident().
474+
475+Example: Calling a function defined in a GModule
476+|[&lt;!-- language="C" --&gt;
477+// the function signature for 'say_hello'
478+typedef void (* SayHelloFunc) (const char *message);
479+
480+gboolean
481+just_say_hello (const char *filename, GError **error)
482+{
483+ SayHelloFunc say_hello;
484+ GModule *module;
485+
486+ module = g_module_open (filename, G_MODULE_BIND_LAZY);
487+ if (!module)
488+ {
489+ g_set_error (error, FOO_ERROR, FOO_ERROR_BLAH,
490+ "%s", g_module_error ());
491+ return FALSE;
492+ }
493+
494+ if (!g_module_symbol (module, "say_hello", (gpointer *)&amp;say_hello))
495+ {
496+ g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
497+ "%s: %s", filename, g_module_error ());
498+ if (!g_module_close (module))
499+ g_warning ("%s: %s", filename, g_module_error ());
500+ return FALSE;
501+ }
502+
503+ if (say_hello == NULL)
504+ {
505+ g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
506+ "symbol say_hello is NULL");
507+ if (!g_module_close (module))
508+ g_warning ("%s: %s", filename, g_module_error ());
509+ return FALSE;
510+ }
511+
512+ // call our function in the module
513+ say_hello ("Hello world!");
514+
515+ if (!g_module_close (module))
516+ g_warning ("%s: %s", filename, g_module_error ());
517+ return TRUE;
518+ }
519+]|</doc>
520+ </docsection>
521+ </namespace>
522+</repository>
A internal/gir/spec/GObject-2.0.gir +27133 -0 large diff (27133 lines changed): collapsed
A internal/gir/spec/Gdk-4.0.gir +31079 -0 large diff (31079 lines changed): collapsed
A internal/gir/spec/GdkPixbuf-2.0.gir +7353 -0 large diff (7353 lines changed): collapsed
A internal/gir/spec/Gio-2.0.gir +134893 -0 large diff (134893 lines changed): collapsed
A internal/gir/spec/Graphene-1.0.gir +13375 -0 large diff (13375 lines changed): collapsed
A internal/gir/spec/Gsk-4.0.gir +7181 -0 large diff (7181 lines changed): collapsed
A internal/gir/spec/Gtk-4.0.gir +167916 -0 large diff (167916 lines changed): collapsed
A internal/gir/spec/Pango-1.0.gir +22709 -0 large diff (22709 lines changed): collapsed
A internal/gir/spec/PangoCairo-1.0.gir +1136 -0
@@ -0,0 +1,1136 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="GObject" version="2.0"/>
10+ <include name="Pango" version="1.0"/>
11+ <include name="cairo" version="1.0"/>
12+ <package name="pangocairo"/>
13+ <c:include name="pango/pangocairo.h"/>
14+ <namespace name="PangoCairo"
15+ version="1.0"
16+ shared-library="libpangocairo-1.0.so.0"
17+ c:identifier-prefixes="PangoCairo"
18+ c:symbol-prefixes="pango_cairo">
19+ <function-macro name="FONT"
20+ c:identifier="PANGO_CAIRO_FONT"
21+ introspectable="0">
22+ <source-position filename="../pango/pangocairo.h" line="49"/>
23+ <parameters>
24+ <parameter name="obj">
25+ </parameter>
26+ </parameters>
27+ </function-macro>
28+ <function-macro name="FONT_MAP"
29+ c:identifier="PANGO_CAIRO_FONT_MAP"
30+ introspectable="0">
31+ <source-position filename="../pango/pangocairo.h" line="72"/>
32+ <parameters>
33+ <parameter name="obj">
34+ </parameter>
35+ </parameters>
36+ </function-macro>
37+ <interface name="Font"
38+ c:symbol-prefix="font"
39+ c:type="PangoCairoFont"
40+ version="1.18"
41+ glib:type-name="PangoCairoFont"
42+ glib:get-type="pango_cairo_font_get_type">
43+ <doc xml:space="preserve"
44+ filename="../pango/pangocairo.h"
45+ line="30">`PangoCairoFont` is an interface exported by fonts for
46+use with Cairo.
47+
48+The actual type of the font will depend on the particular
49+font technology Cairo was compiled to use.</doc>
50+ <prerequisite name="Pango.Font"/>
51+ <method name="get_scaled_font"
52+ c:identifier="pango_cairo_font_get_scaled_font"
53+ version="1.18">
54+ <doc xml:space="preserve"
55+ filename="../pango/pangocairo-font.c"
56+ line="138">Gets the `cairo_scaled_font_t` used by @font.
57+The scaled font can be referenced and kept using
58+cairo_scaled_font_reference().</doc>
59+ <source-position filename="../pango/pangocairo.h" line="133"/>
60+ <return-value transfer-ownership="none" nullable="1">
61+ <doc xml:space="preserve"
62+ filename="../pango/pangocairo-font.c"
63+ line="146">the `cairo_scaled_font_t`
64+ used by @font</doc>
65+ <type name="cairo.ScaledFont" c:type="cairo_scaled_font_t*"/>
66+ </return-value>
67+ <parameters>
68+ <instance-parameter name="font"
69+ transfer-ownership="none"
70+ nullable="1"
71+ allow-none="1">
72+ <doc xml:space="preserve"
73+ filename="../pango/pangocairo-font.c"
74+ line="140">a `PangoFont` from a `PangoCairoFontMap`</doc>
75+ <type name="Font" c:type="PangoCairoFont*"/>
76+ </instance-parameter>
77+ </parameters>
78+ </method>
79+ </interface>
80+ <interface name="FontMap"
81+ c:symbol-prefix="font_map"
82+ c:type="PangoCairoFontMap"
83+ version="1.10"
84+ glib:type-name="PangoCairoFontMap"
85+ glib:get-type="pango_cairo_font_map_get_type">
86+ <doc xml:space="preserve"
87+ filename="../pango/pangocairo.h"
88+ line="57">`PangoCairoFontMap` is an interface exported by font maps for
89+use with Cairo.
90+
91+The actual type of the font map will depend on the particular
92+font technology Cairo was compiled to use.</doc>
93+ <prerequisite name="Pango.FontMap"/>
94+ <function name="get_default"
95+ c:identifier="pango_cairo_font_map_get_default"
96+ version="1.10">
97+ <doc xml:space="preserve"
98+ filename="../pango/pangocairo-fontmap.c"
99+ line="151">Gets a default `PangoCairoFontMap` to use with Cairo.
100+
101+Note that the type of the returned object will depend on the
102+particular font backend Cairo was compiled to use; you generally
103+should only use the `PangoFontMap` and `PangoCairoFontMap`
104+interfaces on the returned object.
105+
106+The default Cairo fontmap can be changed by using
107+[method@PangoCairo.FontMap.set_default]. This can be used to
108+change the Cairo font backend that the default fontmap uses
109+for example.
110+
111+Note that since Pango 1.32.6, the default fontmap is per-thread.
112+Each thread gets its own default fontmap. In this way, PangoCairo
113+can be used safely from multiple threads.</doc>
114+ <source-position filename="../pango/pangocairo.h" line="110"/>
115+ <return-value transfer-ownership="none">
116+ <doc xml:space="preserve"
117+ filename="../pango/pangocairo-fontmap.c"
118+ line="170">the default PangoCairo fontmap
119+ for the current thread. This object is owned by Pango and must
120+ not be freed.</doc>
121+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
122+ </return-value>
123+ </function>
124+ <function name="new"
125+ c:identifier="pango_cairo_font_map_new"
126+ version="1.10">
127+ <doc xml:space="preserve"
128+ filename="../pango/pangocairo-fontmap.c"
129+ line="47">Creates a new `PangoCairoFontMap` object.
130+
131+A fontmap is used to cache information about available fonts,
132+and holds certain global parameters such as the resolution.
133+In most cases, you can use `func@PangoCairo.font_map_get_default]
134+instead.
135+
136+Note that the type of the returned object will depend
137+on the particular font backend Cairo was compiled to use;
138+You generally should only use the `PangoFontMap` and
139+`PangoCairoFontMap` interfaces on the returned object.
140+
141+You can override the type of backend returned by using an
142+environment variable %PANGOCAIRO_BACKEND. Supported types,
143+based on your build, are fc (fontconfig), win32, and coretext.
144+If requested type is not available, NULL is returned. Ie.
145+this is only useful for testing, when at least two backends
146+are compiled in.</doc>
147+ <source-position filename="../pango/pangocairo.h" line="106"/>
148+ <return-value transfer-ownership="full">
149+ <doc xml:space="preserve"
150+ filename="../pango/pangocairo-fontmap.c"
151+ line="69">the newly allocated `PangoFontMap`,
152+ which should be freed with g_object_unref().</doc>
153+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
154+ </return-value>
155+ </function>
156+ <function name="new_for_font_type"
157+ c:identifier="pango_cairo_font_map_new_for_font_type"
158+ version="1.18">
159+ <doc xml:space="preserve"
160+ filename="../pango/pangocairo-fontmap.c"
161+ line="110">Creates a new `PangoCairoFontMap` object of the type suitable
162+to be used with cairo font backend of type @fonttype.
163+
164+In most cases one should simply use [func@PangoCairo.FontMap.new], or
165+in fact in most of those cases, just use [func@PangoCairo.FontMap.get_default].</doc>
166+ <source-position filename="../pango/pangocairo.h" line="108"/>
167+ <return-value transfer-ownership="full" nullable="1">
168+ <doc xml:space="preserve"
169+ filename="../pango/pangocairo-fontmap.c"
170+ line="120">the newly allocated
171+ `PangoFontMap` of suitable type which should be freed with
172+ g_object_unref(), or %NULL if the requested cairo font backend
173+ is not supported / compiled in.</doc>
174+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
175+ </return-value>
176+ <parameters>
177+ <parameter name="fonttype" transfer-ownership="none">
178+ <doc xml:space="preserve"
179+ filename="../pango/pangocairo-fontmap.c"
180+ line="112">desired #cairo_font_type_t</doc>
181+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
182+ </parameter>
183+ </parameters>
184+ </function>
185+ <method name="create_context"
186+ c:identifier="pango_cairo_font_map_create_context"
187+ version="1.10"
188+ introspectable="0"
189+ deprecated="1"
190+ deprecated-version="1.22">
191+ <doc xml:space="preserve"
192+ filename="../pango/pangocairo-fontmap.c"
193+ line="267">Create a `PangoContext` for the given fontmap.</doc>
194+ <doc-deprecated xml:space="preserve">Use pango_font_map_create_context() instead.</doc-deprecated>
195+ <source-position filename="../pango/pangocairo.h" line="123"/>
196+ <return-value>
197+ <doc xml:space="preserve"
198+ filename="../pango/pangocairo-fontmap.c"
199+ line="273">the newly created context; free with g_object_unref().</doc>
200+ <type name="Pango.Context" c:type="PangoContext*"/>
201+ </return-value>
202+ <parameters>
203+ <instance-parameter name="fontmap" transfer-ownership="none">
204+ <doc xml:space="preserve"
205+ filename="../pango/pangocairo-fontmap.c"
206+ line="269">a `PangoCairoFontMap`</doc>
207+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
208+ </instance-parameter>
209+ </parameters>
210+ </method>
211+ <method name="get_font_type"
212+ c:identifier="pango_cairo_font_map_get_font_type"
213+ version="1.18">
214+ <doc xml:space="preserve"
215+ filename="../pango/pangocairo-fontmap.c"
216+ line="287">Gets the type of Cairo font backend that @fontmap uses.</doc>
217+ <source-position filename="../pango/pangocairo.h" line="114"/>
218+ <return-value transfer-ownership="none">
219+ <doc xml:space="preserve"
220+ filename="../pango/pangocairo-fontmap.c"
221+ line="293">the `cairo_font_type_t` cairo font backend type</doc>
222+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
223+ </return-value>
224+ <parameters>
225+ <instance-parameter name="fontmap" transfer-ownership="none">
226+ <doc xml:space="preserve"
227+ filename="../pango/pangocairo-fontmap.c"
228+ line="289">a `PangoCairoFontMap`</doc>
229+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
230+ </instance-parameter>
231+ </parameters>
232+ </method>
233+ <method name="get_resolution"
234+ c:identifier="pango_cairo_font_map_get_resolution"
235+ version="1.10">
236+ <doc xml:space="preserve"
237+ filename="../pango/pangocairo-fontmap.c"
238+ line="247">Gets the resolution for the fontmap.
239+
240+See [method@PangoCairo.FontMap.set_resolution].</doc>
241+ <source-position filename="../pango/pangocairo.h" line="120"/>
242+ <return-value transfer-ownership="none">
243+ <doc xml:space="preserve"
244+ filename="../pango/pangocairo-fontmap.c"
245+ line="255">the resolution in "dots per inch"</doc>
246+ <type name="gdouble" c:type="double"/>
247+ </return-value>
248+ <parameters>
249+ <instance-parameter name="fontmap" transfer-ownership="none">
250+ <doc xml:space="preserve"
251+ filename="../pango/pangocairo-fontmap.c"
252+ line="249">a `PangoCairoFontMap`</doc>
253+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
254+ </instance-parameter>
255+ </parameters>
256+ </method>
257+ <method name="set_default"
258+ c:identifier="pango_cairo_font_map_set_default"
259+ version="1.22">
260+ <doc xml:space="preserve"
261+ filename="../pango/pangocairo-fontmap.c"
262+ line="190">Sets a default `PangoCairoFontMap` to use with Cairo.
263+
264+This can be used to change the Cairo font backend that the
265+default fontmap uses for example. The old default font map
266+is unreffed and the new font map referenced.
267+
268+Note that since Pango 1.32.6, the default fontmap is per-thread.
269+This function only changes the default fontmap for
270+the current thread. Default fontmaps of existing threads
271+are not changed. Default fontmaps of any new threads will
272+still be created using [func@PangoCairo.FontMap.new].
273+
274+A value of %NULL for @fontmap will cause the current default
275+font map to be released and a new default font map to be created
276+on demand, using [func@PangoCairo.FontMap.new].</doc>
277+ <source-position filename="../pango/pangocairo.h" line="112"/>
278+ <return-value transfer-ownership="none">
279+ <type name="none" c:type="void"/>
280+ </return-value>
281+ <parameters>
282+ <instance-parameter name="fontmap"
283+ transfer-ownership="none"
284+ nullable="1"
285+ allow-none="1">
286+ <doc xml:space="preserve"
287+ filename="../pango/pangocairo-fontmap.c"
288+ line="192">The new default font map</doc>
289+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
290+ </instance-parameter>
291+ </parameters>
292+ </method>
293+ <method name="set_resolution"
294+ c:identifier="pango_cairo_font_map_set_resolution"
295+ version="1.10">
296+ <doc xml:space="preserve"
297+ filename="../pango/pangocairo-fontmap.c"
298+ line="223">Sets the resolution for the fontmap.
299+
300+This is a scale factor between
301+points specified in a `PangoFontDescription` and Cairo units. The
302+default value is 96, meaning that a 10 point font will be 13
303+units high. (10 * 96. / 72. = 13.3).</doc>
304+ <source-position filename="../pango/pangocairo.h" line="117"/>
305+ <return-value transfer-ownership="none">
306+ <type name="none" c:type="void"/>
307+ </return-value>
308+ <parameters>
309+ <instance-parameter name="fontmap" transfer-ownership="none">
310+ <doc xml:space="preserve"
311+ filename="../pango/pangocairo-fontmap.c"
312+ line="225">a `PangoCairoFontMap`</doc>
313+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
314+ </instance-parameter>
315+ <parameter name="dpi" transfer-ownership="none">
316+ <doc xml:space="preserve"
317+ filename="../pango/pangocairo-fontmap.c"
318+ line="226">the resolution in "dots per inch". (Physical inches aren't actually
319+ involved; the terminology is conventional.)</doc>
320+ <type name="gdouble" c:type="double"/>
321+ </parameter>
322+ </parameters>
323+ </method>
324+ </interface>
325+ <function-macro name="IS_FONT"
326+ c:identifier="PANGO_CAIRO_IS_FONT"
327+ introspectable="0">
328+ <source-position filename="../pango/pangocairo.h" line="50"/>
329+ <parameters>
330+ <parameter name="obj">
331+ </parameter>
332+ </parameters>
333+ </function-macro>
334+ <function-macro name="IS_FONT_MAP"
335+ c:identifier="PANGO_CAIRO_IS_FONT_MAP"
336+ introspectable="0">
337+ <source-position filename="../pango/pangocairo.h" line="73"/>
338+ <parameters>
339+ <parameter name="obj">
340+ </parameter>
341+ </parameters>
342+ </function-macro>
343+ <callback name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc">
344+ <doc xml:space="preserve"
345+ filename="../pango/pangocairo.h"
346+ line="80">Function type for rendering attributes of type %PANGO_ATTR_SHAPE
347+with Pango's Cairo renderer.</doc>
348+ <source-position filename="../pango/pangocairo.h" line="94"/>
349+ <return-value transfer-ownership="none">
350+ <type name="none" c:type="void"/>
351+ </return-value>
352+ <parameters>
353+ <parameter name="cr" transfer-ownership="none">
354+ <doc xml:space="preserve"
355+ filename="../pango/pangocairo.h"
356+ line="82">a Cairo context with current point set to where the shape should
357+be rendered</doc>
358+ <type name="cairo.Context" c:type="cairo_t*"/>
359+ </parameter>
360+ <parameter name="attr" transfer-ownership="none">
361+ <doc xml:space="preserve"
362+ filename="../pango/pangocairo.h"
363+ line="84">the %PANGO_ATTR_SHAPE to render</doc>
364+ <type name="Pango.AttrShape" c:type="PangoAttrShape*"/>
365+ </parameter>
366+ <parameter name="do_path" transfer-ownership="none">
367+ <doc xml:space="preserve"
368+ filename="../pango/pangocairo.h"
369+ line="85">whether only the shape path should be appended to current
370+path of @cr and no filling/stroking done. This will be set
371+to %TRUE when called from pango_cairo_layout_path() and
372+pango_cairo_layout_line_path() rendering functions.</doc>
373+ <type name="gboolean" c:type="gboolean"/>
374+ </parameter>
375+ <parameter name="data"
376+ transfer-ownership="none"
377+ nullable="1"
378+ allow-none="1"
379+ closure="3">
380+ <doc xml:space="preserve"
381+ filename="../pango/pangocairo.h"
382+ line="89">user data passed to pango_cairo_context_set_shape_renderer()</doc>
383+ <type name="gpointer" c:type="gpointer"/>
384+ </parameter>
385+ </parameters>
386+ </callback>
387+ <function name="context_get_font_options"
388+ c:identifier="pango_cairo_context_get_font_options"
389+ version="1.10">
390+ <doc xml:space="preserve"
391+ filename="../pango/pangocairo-context.c"
392+ line="284">Retrieves any font rendering options previously set with
393+[func@PangoCairo.context_set_font_options].
394+
395+This function does not report options that are derived from
396+the target surface by [func@update_context].</doc>
397+ <source-position filename="../pango/pangocairo.h" line="145"/>
398+ <return-value transfer-ownership="none" nullable="1">
399+ <doc xml:space="preserve"
400+ filename="../pango/pangocairo-context.c"
401+ line="294">the font options previously set on the
402+ context, or %NULL if no options have been set. This value is
403+ owned by the context and must not be modified or freed.</doc>
404+ <type name="cairo.FontOptions" c:type="const cairo_font_options_t*"/>
405+ </return-value>
406+ <parameters>
407+ <parameter name="context" transfer-ownership="none">
408+ <doc xml:space="preserve"
409+ filename="../pango/pangocairo-context.c"
410+ line="286">a `PangoContext`, from a pangocairo font map</doc>
411+ <type name="Pango.Context" c:type="PangoContext*"/>
412+ </parameter>
413+ </parameters>
414+ </function>
415+ <function name="context_get_resolution"
416+ c:identifier="pango_cairo_context_get_resolution"
417+ version="1.10">
418+ <doc xml:space="preserve"
419+ filename="../pango/pangocairo-context.c"
420+ line="205">Gets the resolution for the context.
421+
422+See [func@PangoCairo.context_set_resolution]</doc>
423+ <source-position filename="../pango/pangocairo.h" line="151"/>
424+ <return-value transfer-ownership="none">
425+ <doc xml:space="preserve"
426+ filename="../pango/pangocairo-context.c"
427+ line="213">the resolution in "dots per inch". A negative value will
428+ be returned if no resolution has previously been set.</doc>
429+ <type name="gdouble" c:type="double"/>
430+ </return-value>
431+ <parameters>
432+ <parameter name="context" transfer-ownership="none">
433+ <doc xml:space="preserve"
434+ filename="../pango/pangocairo-context.c"
435+ line="207">a `PangoContext`, from a pangocairo font map</doc>
436+ <type name="Pango.Context" c:type="PangoContext*"/>
437+ </parameter>
438+ </parameters>
439+ </function>
440+ <function name="context_get_shape_renderer"
441+ c:identifier="pango_cairo_context_get_shape_renderer"
442+ version="1.18"
443+ introspectable="0">
444+ <doc xml:space="preserve"
445+ filename="../pango/pangocairo-context.c"
446+ line="380">Sets callback function for context to use for rendering attributes
447+of type %PANGO_ATTR_SHAPE.
448+
449+See `PangoCairoShapeRendererFunc` for details.
450+
451+Retrieves callback function and associated user data for rendering
452+attributes of type %PANGO_ATTR_SHAPE as set by
453+[func@PangoCairo.context_set_shape_renderer], if any.</doc>
454+ <source-position filename="../pango/pangocairo.h" line="159"/>
455+ <return-value transfer-ownership="none" nullable="1">
456+ <doc xml:space="preserve"
457+ filename="../pango/pangocairo-context.c"
458+ line="394">the shape rendering callback
459+ previously set on the context, or %NULL if no shape rendering callback
460+ have been set.</doc>
461+ <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
462+ </return-value>
463+ <parameters>
464+ <parameter name="context" transfer-ownership="none">
465+ <doc xml:space="preserve"
466+ filename="../pango/pangocairo-context.c"
467+ line="382">a `PangoContext`, from a pangocairo font map</doc>
468+ <type name="Pango.Context" c:type="PangoContext*"/>
469+ </parameter>
470+ <parameter name="data"
471+ transfer-ownership="none"
472+ nullable="1"
473+ allow-none="1">
474+ <doc xml:space="preserve"
475+ filename="../pango/pangocairo-context.c"
476+ line="383">Pointer to `gpointer` to return user data</doc>
477+ <type name="gpointer" c:type="gpointer*"/>
478+ </parameter>
479+ </parameters>
480+ </function>
481+ <function name="context_set_font_options"
482+ c:identifier="pango_cairo_context_set_font_options"
483+ version="1.10">
484+ <doc xml:space="preserve"
485+ filename="../pango/pangocairo-context.c"
486+ line="229">Sets the font options used when rendering text with this context.
487+
488+These options override any options that [func@update_context]
489+derives from the target surface.</doc>
490+ <source-position filename="../pango/pangocairo.h" line="142"/>
491+ <return-value transfer-ownership="none">
492+ <type name="none" c:type="void"/>
493+ </return-value>
494+ <parameters>
495+ <parameter name="context" transfer-ownership="none">
496+ <doc xml:space="preserve"
497+ filename="../pango/pangocairo-context.c"
498+ line="231">a `PangoContext`, from a pangocairo font map</doc>
499+ <type name="Pango.Context" c:type="PangoContext*"/>
500+ </parameter>
501+ <parameter name="options"
502+ transfer-ownership="none"
503+ nullable="1"
504+ allow-none="1">
505+ <doc xml:space="preserve"
506+ filename="../pango/pangocairo-context.c"
507+ line="232">a `cairo_font_options_t`, or %NULL to unset
508+ any previously set options. A copy is made.</doc>
509+ <type name="cairo.FontOptions" c:type="const cairo_font_options_t*"/>
510+ </parameter>
511+ </parameters>
512+ </function>
513+ <function name="context_set_resolution"
514+ c:identifier="pango_cairo_context_set_resolution"
515+ version="1.10">
516+ <doc xml:space="preserve"
517+ filename="../pango/pangocairo-context.c"
518+ line="182">Sets the resolution for the context.
519+
520+This is a scale factor between points specified in a `PangoFontDescription`
521+and Cairo units. The default value is 96, meaning that a 10 point font will
522+be 13 units high. (10 * 96. / 72. = 13.3).</doc>
523+ <source-position filename="../pango/pangocairo.h" line="148"/>
524+ <return-value transfer-ownership="none">
525+ <type name="none" c:type="void"/>
526+ </return-value>
527+ <parameters>
528+ <parameter name="context" transfer-ownership="none">
529+ <doc xml:space="preserve"
530+ filename="../pango/pangocairo-context.c"
531+ line="184">a `PangoContext`, from a pangocairo font map</doc>
532+ <type name="Pango.Context" c:type="PangoContext*"/>
533+ </parameter>
534+ <parameter name="dpi" transfer-ownership="none">
535+ <doc xml:space="preserve"
536+ filename="../pango/pangocairo-context.c"
537+ line="185">the resolution in "dots per inch". (Physical inches aren't actually
538+ involved; the terminology is conventional.) A 0 or negative value
539+ means to use the resolution from the font map.</doc>
540+ <type name="gdouble" c:type="double"/>
541+ </parameter>
542+ </parameters>
543+ </function>
544+ <function name="context_set_shape_renderer"
545+ c:identifier="pango_cairo_context_set_shape_renderer"
546+ version="1.18">
547+ <doc xml:space="preserve"
548+ filename="../pango/pangocairo-context.c"
549+ line="344">Sets callback function for context to use for rendering attributes
550+of type %PANGO_ATTR_SHAPE.
551+
552+See `PangoCairoShapeRendererFunc` for details.</doc>
553+ <source-position filename="../pango/pangocairo.h" line="154"/>
554+ <return-value transfer-ownership="none">
555+ <type name="none" c:type="void"/>
556+ </return-value>
557+ <parameters>
558+ <parameter name="context" transfer-ownership="none">
559+ <doc xml:space="preserve"
560+ filename="../pango/pangocairo-context.c"
561+ line="346">a `PangoContext`, from a pangocairo font map</doc>
562+ <type name="Pango.Context" c:type="PangoContext*"/>
563+ </parameter>
564+ <parameter name="func"
565+ transfer-ownership="none"
566+ nullable="1"
567+ allow-none="1"
568+ scope="notified"
569+ closure="2"
570+ destroy="3">
571+ <doc xml:space="preserve"
572+ filename="../pango/pangocairo-context.c"
573+ line="347">Callback function for rendering attributes of
574+ type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.</doc>
575+ <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
576+ </parameter>
577+ <parameter name="data"
578+ transfer-ownership="none"
579+ nullable="1"
580+ allow-none="1">
581+ <doc xml:space="preserve"
582+ filename="../pango/pangocairo-context.c"
583+ line="349">User data that will be passed to @func.</doc>
584+ <type name="gpointer" c:type="gpointer"/>
585+ </parameter>
586+ <parameter name="dnotify"
587+ transfer-ownership="none"
588+ nullable="1"
589+ allow-none="1"
590+ scope="async">
591+ <doc xml:space="preserve"
592+ filename="../pango/pangocairo-context.c"
593+ line="350">Callback that will be called when the
594+ context is freed to release @data</doc>
595+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
596+ </parameter>
597+ </parameters>
598+ </function>
599+ <function name="create_context"
600+ c:identifier="pango_cairo_create_context"
601+ version="1.22">
602+ <doc xml:space="preserve"
603+ filename="../pango/pangocairo-context.c"
604+ line="424">Creates a context object set up to match the current transformation
605+and target surface of the Cairo context.
606+
607+This context can then be
608+used to create a layout using [ctor@Pango.Layout.new].
609+
610+This function is a convenience function that creates a context using
611+the default font map, then updates it to @cr. If you just need to
612+create a layout for use with @cr and do not need to access `PangoContext`
613+directly, you can use [func@create_layout] instead.</doc>
614+ <source-position filename="../pango/pangocairo.h" line="165"/>
615+ <return-value transfer-ownership="full">
616+ <doc xml:space="preserve"
617+ filename="../pango/pangocairo-context.c"
618+ line="439">the newly created `PangoContext`</doc>
619+ <type name="Pango.Context" c:type="PangoContext*"/>
620+ </return-value>
621+ <parameters>
622+ <parameter name="cr" transfer-ownership="none">
623+ <doc xml:space="preserve"
624+ filename="../pango/pangocairo-context.c"
625+ line="426">a Cairo context</doc>
626+ <type name="cairo.Context" c:type="cairo_t*"/>
627+ </parameter>
628+ </parameters>
629+ </function>
630+ <function name="create_layout"
631+ c:identifier="pango_cairo_create_layout"
632+ version="1.10">
633+ <doc xml:space="preserve"
634+ filename="../pango/pangocairo-context.c"
635+ line="458">Creates a layout object set up to match the current transformation
636+and target surface of the Cairo context.
637+
638+This layout can then be used for text measurement with functions
639+like [method@Pango.Layout.get_size] or drawing with functions like
640+[func@show_layout]. If you change the transformation or target
641+surface for @cr, you need to call [func@update_layout].
642+
643+This function is the most convenient way to use Cairo with Pango,
644+however it is slightly inefficient since it creates a separate
645+`PangoContext` object for each layout. This might matter in an
646+application that was laying out large amounts of text.</doc>
647+ <source-position filename="../pango/pangocairo.h" line="167"/>
648+ <return-value transfer-ownership="full">
649+ <doc xml:space="preserve"
650+ filename="../pango/pangocairo-context.c"
651+ line="475">the newly created `PangoLayout`</doc>
652+ <type name="Pango.Layout" c:type="PangoLayout*"/>
653+ </return-value>
654+ <parameters>
655+ <parameter name="cr" transfer-ownership="none">
656+ <doc xml:space="preserve"
657+ filename="../pango/pangocairo-context.c"
658+ line="460">a Cairo context</doc>
659+ <type name="cairo.Context" c:type="cairo_t*"/>
660+ </parameter>
661+ </parameters>
662+ </function>
663+ <function name="error_underline_path"
664+ c:identifier="pango_cairo_error_underline_path"
665+ version="1.14">
666+ <doc xml:space="preserve"
667+ filename="../pango/pangocairo-render.c"
668+ line="1244">Add a squiggly line to the current path in the specified cairo context that
669+approximately covers the given rectangle in the style of an underline used
670+to indicate a spelling error.
671+
672+The width of the underline is rounded to an integer number of up/down
673+segments and the resulting rectangle is centered in the original rectangle.</doc>
674+ <source-position filename="../pango/pangocairo.h" line="212"/>
675+ <return-value transfer-ownership="none">
676+ <type name="none" c:type="void"/>
677+ </return-value>
678+ <parameters>
679+ <parameter name="cr" transfer-ownership="none">
680+ <doc xml:space="preserve"
681+ filename="../pango/pangocairo-render.c"
682+ line="1246">a Cairo context</doc>
683+ <type name="cairo.Context" c:type="cairo_t*"/>
684+ </parameter>
685+ <parameter name="x" transfer-ownership="none">
686+ <doc xml:space="preserve"
687+ filename="../pango/pangocairo-render.c"
688+ line="1247">The X coordinate of one corner of the rectangle</doc>
689+ <type name="gdouble" c:type="double"/>
690+ </parameter>
691+ <parameter name="y" transfer-ownership="none">
692+ <doc xml:space="preserve"
693+ filename="../pango/pangocairo-render.c"
694+ line="1248">The Y coordinate of one corner of the rectangle</doc>
695+ <type name="gdouble" c:type="double"/>
696+ </parameter>
697+ <parameter name="width" transfer-ownership="none">
698+ <doc xml:space="preserve"
699+ filename="../pango/pangocairo-render.c"
700+ line="1249">Non-negative width of the rectangle</doc>
701+ <type name="gdouble" c:type="double"/>
702+ </parameter>
703+ <parameter name="height" transfer-ownership="none">
704+ <doc xml:space="preserve"
705+ filename="../pango/pangocairo-render.c"
706+ line="1250">Non-negative height of the rectangle</doc>
707+ <type name="gdouble" c:type="double"/>
708+ </parameter>
709+ </parameters>
710+ </function>
711+ <function name="font_map_get_default"
712+ c:identifier="pango_cairo_font_map_get_default"
713+ moved-to="FontMap.get_default"
714+ version="1.10">
715+ <doc xml:space="preserve"
716+ filename="../pango/pangocairo-fontmap.c"
717+ line="151">Gets a default `PangoCairoFontMap` to use with Cairo.
718+
719+Note that the type of the returned object will depend on the
720+particular font backend Cairo was compiled to use; you generally
721+should only use the `PangoFontMap` and `PangoCairoFontMap`
722+interfaces on the returned object.
723+
724+The default Cairo fontmap can be changed by using
725+[method@PangoCairo.FontMap.set_default]. This can be used to
726+change the Cairo font backend that the default fontmap uses
727+for example.
728+
729+Note that since Pango 1.32.6, the default fontmap is per-thread.
730+Each thread gets its own default fontmap. In this way, PangoCairo
731+can be used safely from multiple threads.</doc>
732+ <source-position filename="../pango/pangocairo.h" line="110"/>
733+ <return-value transfer-ownership="none">
734+ <doc xml:space="preserve"
735+ filename="../pango/pangocairo-fontmap.c"
736+ line="170">the default PangoCairo fontmap
737+ for the current thread. This object is owned by Pango and must
738+ not be freed.</doc>
739+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
740+ </return-value>
741+ </function>
742+ <function name="font_map_new"
743+ c:identifier="pango_cairo_font_map_new"
744+ moved-to="FontMap.new"
745+ version="1.10">
746+ <doc xml:space="preserve"
747+ filename="../pango/pangocairo-fontmap.c"
748+ line="47">Creates a new `PangoCairoFontMap` object.
749+
750+A fontmap is used to cache information about available fonts,
751+and holds certain global parameters such as the resolution.
752+In most cases, you can use `func@PangoCairo.font_map_get_default]
753+instead.
754+
755+Note that the type of the returned object will depend
756+on the particular font backend Cairo was compiled to use;
757+You generally should only use the `PangoFontMap` and
758+`PangoCairoFontMap` interfaces on the returned object.
759+
760+You can override the type of backend returned by using an
761+environment variable %PANGOCAIRO_BACKEND. Supported types,
762+based on your build, are fc (fontconfig), win32, and coretext.
763+If requested type is not available, NULL is returned. Ie.
764+this is only useful for testing, when at least two backends
765+are compiled in.</doc>
766+ <source-position filename="../pango/pangocairo.h" line="106"/>
767+ <return-value transfer-ownership="full">
768+ <doc xml:space="preserve"
769+ filename="../pango/pangocairo-fontmap.c"
770+ line="69">the newly allocated `PangoFontMap`,
771+ which should be freed with g_object_unref().</doc>
772+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
773+ </return-value>
774+ </function>
775+ <function name="font_map_new_for_font_type"
776+ c:identifier="pango_cairo_font_map_new_for_font_type"
777+ moved-to="FontMap.new_for_font_type"
778+ version="1.18">
779+ <doc xml:space="preserve"
780+ filename="../pango/pangocairo-fontmap.c"
781+ line="110">Creates a new `PangoCairoFontMap` object of the type suitable
782+to be used with cairo font backend of type @fonttype.
783+
784+In most cases one should simply use [func@PangoCairo.FontMap.new], or
785+in fact in most of those cases, just use [func@PangoCairo.FontMap.get_default].</doc>
786+ <source-position filename="../pango/pangocairo.h" line="108"/>
787+ <return-value transfer-ownership="full" nullable="1">
788+ <doc xml:space="preserve"
789+ filename="../pango/pangocairo-fontmap.c"
790+ line="120">the newly allocated
791+ `PangoFontMap` of suitable type which should be freed with
792+ g_object_unref(), or %NULL if the requested cairo font backend
793+ is not supported / compiled in.</doc>
794+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
795+ </return-value>
796+ <parameters>
797+ <parameter name="fonttype" transfer-ownership="none">
798+ <doc xml:space="preserve"
799+ filename="../pango/pangocairo-fontmap.c"
800+ line="112">desired #cairo_font_type_t</doc>
801+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
802+ </parameter>
803+ </parameters>
804+ </function>
805+ <function name="glyph_string_path"
806+ c:identifier="pango_cairo_glyph_string_path"
807+ version="1.10">
808+ <doc xml:space="preserve"
809+ filename="../pango/pangocairo-render.c"
810+ line="1173">Adds the glyphs in @glyphs to the current path in the specified
811+cairo context.
812+
813+The origin of the glyphs (the left edge of the baseline)
814+will be at the current point of the cairo context.</doc>
815+ <source-position filename="../pango/pangocairo.h" line="201"/>
816+ <return-value transfer-ownership="none">
817+ <type name="none" c:type="void"/>
818+ </return-value>
819+ <parameters>
820+ <parameter name="cr" transfer-ownership="none">
821+ <doc xml:space="preserve"
822+ filename="../pango/pangocairo-render.c"
823+ line="1175">a Cairo context</doc>
824+ <type name="cairo.Context" c:type="cairo_t*"/>
825+ </parameter>
826+ <parameter name="font" transfer-ownership="none">
827+ <doc xml:space="preserve"
828+ filename="../pango/pangocairo-render.c"
829+ line="1176">a `PangoFont` from a `PangoCairoFontMap`</doc>
830+ <type name="Pango.Font" c:type="PangoFont*"/>
831+ </parameter>
832+ <parameter name="glyphs" transfer-ownership="none">
833+ <doc xml:space="preserve"
834+ filename="../pango/pangocairo-render.c"
835+ line="1177">a `PangoGlyphString`</doc>
836+ <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
837+ </parameter>
838+ </parameters>
839+ </function>
840+ <function name="layout_line_path"
841+ c:identifier="pango_cairo_layout_line_path"
842+ version="1.10">
843+ <doc xml:space="preserve"
844+ filename="../pango/pangocairo-render.c"
845+ line="1198">Adds the text in `PangoLayoutLine` to the current path in the
846+specified cairo context.
847+
848+The origin of the glyphs (the left edge of the line) will be
849+at the current point of the cairo context.</doc>
850+ <source-position filename="../pango/pangocairo.h" line="205"/>
851+ <return-value transfer-ownership="none">
852+ <type name="none" c:type="void"/>
853+ </return-value>
854+ <parameters>
855+ <parameter name="cr" transfer-ownership="none">
856+ <doc xml:space="preserve"
857+ filename="../pango/pangocairo-render.c"
858+ line="1200">a Cairo context</doc>
859+ <type name="cairo.Context" c:type="cairo_t*"/>
860+ </parameter>
861+ <parameter name="line" transfer-ownership="none">
862+ <doc xml:space="preserve"
863+ filename="../pango/pangocairo-render.c"
864+ line="1201">a `PangoLayoutLine`</doc>
865+ <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
866+ </parameter>
867+ </parameters>
868+ </function>
869+ <function name="layout_path"
870+ c:identifier="pango_cairo_layout_path"
871+ version="1.10">
872+ <doc xml:space="preserve"
873+ filename="../pango/pangocairo-render.c"
874+ line="1221">Adds the text in a `PangoLayout` to the current path in the
875+specified cairo context.
876+
877+The top-left corner of the `PangoLayout` will be at the
878+current point of the cairo context.</doc>
879+ <source-position filename="../pango/pangocairo.h" line="208"/>
880+ <return-value transfer-ownership="none">
881+ <type name="none" c:type="void"/>
882+ </return-value>
883+ <parameters>
884+ <parameter name="cr" transfer-ownership="none">
885+ <doc xml:space="preserve"
886+ filename="../pango/pangocairo-render.c"
887+ line="1223">a Cairo context</doc>
888+ <type name="cairo.Context" c:type="cairo_t*"/>
889+ </parameter>
890+ <parameter name="layout" transfer-ownership="none">
891+ <doc xml:space="preserve"
892+ filename="../pango/pangocairo-render.c"
893+ line="1224">a Pango layout</doc>
894+ <type name="Pango.Layout" c:type="PangoLayout*"/>
895+ </parameter>
896+ </parameters>
897+ </function>
898+ <function name="show_error_underline"
899+ c:identifier="pango_cairo_show_error_underline"
900+ version="1.14">
901+ <doc xml:space="preserve"
902+ filename="../pango/pangocairo-render.c"
903+ line="1142">Draw a squiggly line in the specified cairo context that approximately
904+covers the given rectangle in the style of an underline used to indicate a
905+spelling error.
906+
907+The width of the underline is rounded to an integer
908+number of up/down segments and the resulting rectangle is centered in the
909+original rectangle.</doc>
910+ <source-position filename="../pango/pangocairo.h" line="191"/>
911+ <return-value transfer-ownership="none">
912+ <type name="none" c:type="void"/>
913+ </return-value>
914+ <parameters>
915+ <parameter name="cr" transfer-ownership="none">
916+ <doc xml:space="preserve"
917+ filename="../pango/pangocairo-render.c"
918+ line="1144">a Cairo context</doc>
919+ <type name="cairo.Context" c:type="cairo_t*"/>
920+ </parameter>
921+ <parameter name="x" transfer-ownership="none">
922+ <doc xml:space="preserve"
923+ filename="../pango/pangocairo-render.c"
924+ line="1145">The X coordinate of one corner of the rectangle</doc>
925+ <type name="gdouble" c:type="double"/>
926+ </parameter>
927+ <parameter name="y" transfer-ownership="none">
928+ <doc xml:space="preserve"
929+ filename="../pango/pangocairo-render.c"
930+ line="1146">The Y coordinate of one corner of the rectangle</doc>
931+ <type name="gdouble" c:type="double"/>
932+ </parameter>
933+ <parameter name="width" transfer-ownership="none">
934+ <doc xml:space="preserve"
935+ filename="../pango/pangocairo-render.c"
936+ line="1147">Non-negative width of the rectangle</doc>
937+ <type name="gdouble" c:type="double"/>
938+ </parameter>
939+ <parameter name="height" transfer-ownership="none">
940+ <doc xml:space="preserve"
941+ filename="../pango/pangocairo-render.c"
942+ line="1148">Non-negative height of the rectangle</doc>
943+ <type name="gdouble" c:type="double"/>
944+ </parameter>
945+ </parameters>
946+ </function>
947+ <function name="show_glyph_item"
948+ c:identifier="pango_cairo_show_glyph_item"
949+ version="1.22">
950+ <doc xml:space="preserve"
951+ filename="../pango/pangocairo-render.c"
952+ line="1066">Draws the glyphs in @glyph_item in the specified cairo context,
953+
954+embedding the text associated with the glyphs in the output if the
955+output format supports it (PDF for example), otherwise it acts
956+similar to [func@show_glyph_string].
957+
958+The origin of the glyphs (the left edge of the baseline) will
959+be drawn at the current point of the cairo context.
960+
961+Note that @text is the start of the text for layout, which is then
962+indexed by `glyph_item-&gt;item-&gt;offset`.</doc>
963+ <source-position filename="../pango/pangocairo.h" line="180"/>
964+ <return-value transfer-ownership="none">
965+ <type name="none" c:type="void"/>
966+ </return-value>
967+ <parameters>
968+ <parameter name="cr" transfer-ownership="none">
969+ <doc xml:space="preserve"
970+ filename="../pango/pangocairo-render.c"
971+ line="1068">a Cairo context</doc>
972+ <type name="cairo.Context" c:type="cairo_t*"/>
973+ </parameter>
974+ <parameter name="text" transfer-ownership="none">
975+ <doc xml:space="preserve"
976+ filename="../pango/pangocairo-render.c"
977+ line="1069">the UTF-8 text that @glyph_item refers to</doc>
978+ <type name="utf8" c:type="const char*"/>
979+ </parameter>
980+ <parameter name="glyph_item" transfer-ownership="none">
981+ <doc xml:space="preserve"
982+ filename="../pango/pangocairo-render.c"
983+ line="1070">a `PangoGlyphItem`</doc>
984+ <type name="Pango.GlyphItem" c:type="PangoGlyphItem*"/>
985+ </parameter>
986+ </parameters>
987+ </function>
988+ <function name="show_glyph_string"
989+ c:identifier="pango_cairo_show_glyph_string"
990+ version="1.10">
991+ <doc xml:space="preserve"
992+ filename="../pango/pangocairo-render.c"
993+ line="1041">Draws the glyphs in @glyphs in the specified cairo context.
994+
995+The origin of the glyphs (the left edge of the baseline) will
996+be drawn at the current point of the cairo context.</doc>
997+ <source-position filename="../pango/pangocairo.h" line="176"/>
998+ <return-value transfer-ownership="none">
999+ <type name="none" c:type="void"/>
1000+ </return-value>
1001+ <parameters>
1002+ <parameter name="cr" transfer-ownership="none">
1003+ <doc xml:space="preserve"
1004+ filename="../pango/pangocairo-render.c"
1005+ line="1043">a Cairo context</doc>
1006+ <type name="cairo.Context" c:type="cairo_t*"/>
1007+ </parameter>
1008+ <parameter name="font" transfer-ownership="none">
1009+ <doc xml:space="preserve"
1010+ filename="../pango/pangocairo-render.c"
1011+ line="1044">a `PangoFont` from a `PangoCairoFontMap`</doc>
1012+ <type name="Pango.Font" c:type="PangoFont*"/>
1013+ </parameter>
1014+ <parameter name="glyphs" transfer-ownership="none">
1015+ <doc xml:space="preserve"
1016+ filename="../pango/pangocairo-render.c"
1017+ line="1045">a `PangoGlyphString`</doc>
1018+ <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
1019+ </parameter>
1020+ </parameters>
1021+ </function>
1022+ <function name="show_layout"
1023+ c:identifier="pango_cairo_show_layout"
1024+ version="1.10">
1025+ <doc xml:space="preserve"
1026+ filename="../pango/pangocairo-render.c"
1027+ line="1120">Draws a `PangoLayout` in the specified cairo context.
1028+
1029+The top-left corner of the `PangoLayout` will be drawn
1030+at the current point of the cairo context.</doc>
1031+ <source-position filename="../pango/pangocairo.h" line="187"/>
1032+ <return-value transfer-ownership="none">
1033+ <type name="none" c:type="void"/>
1034+ </return-value>
1035+ <parameters>
1036+ <parameter name="cr" transfer-ownership="none">
1037+ <doc xml:space="preserve"
1038+ filename="../pango/pangocairo-render.c"
1039+ line="1122">a Cairo context</doc>
1040+ <type name="cairo.Context" c:type="cairo_t*"/>
1041+ </parameter>
1042+ <parameter name="layout" transfer-ownership="none">
1043+ <doc xml:space="preserve"
1044+ filename="../pango/pangocairo-render.c"
1045+ line="1123">a Pango layout</doc>
1046+ <type name="Pango.Layout" c:type="PangoLayout*"/>
1047+ </parameter>
1048+ </parameters>
1049+ </function>
1050+ <function name="show_layout_line"
1051+ c:identifier="pango_cairo_show_layout_line"
1052+ version="1.10">
1053+ <doc xml:space="preserve"
1054+ filename="../pango/pangocairo-render.c"
1055+ line="1098">Draws a `PangoLayoutLine` in the specified cairo context.
1056+
1057+The origin of the glyphs (the left edge of the line) will
1058+be drawn at the current point of the cairo context.</doc>
1059+ <source-position filename="../pango/pangocairo.h" line="184"/>
1060+ <return-value transfer-ownership="none">
1061+ <type name="none" c:type="void"/>
1062+ </return-value>
1063+ <parameters>
1064+ <parameter name="cr" transfer-ownership="none">
1065+ <doc xml:space="preserve"
1066+ filename="../pango/pangocairo-render.c"
1067+ line="1100">a Cairo context</doc>
1068+ <type name="cairo.Context" c:type="cairo_t*"/>
1069+ </parameter>
1070+ <parameter name="line" transfer-ownership="none">
1071+ <doc xml:space="preserve"
1072+ filename="../pango/pangocairo-render.c"
1073+ line="1101">a `PangoLayoutLine`</doc>
1074+ <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
1075+ </parameter>
1076+ </parameters>
1077+ </function>
1078+ <function name="update_context"
1079+ c:identifier="pango_cairo_update_context"
1080+ version="1.10">
1081+ <doc xml:space="preserve"
1082+ filename="../pango/pangocairo-context.c"
1083+ line="158">Updates a `PangoContext` previously created for use with Cairo to
1084+match the current transformation and target surface of a Cairo
1085+context.
1086+
1087+If any layouts have been created for the context, it's necessary
1088+to call [method@Pango.Layout.context_changed] on those layouts.</doc>
1089+ <source-position filename="../pango/pangocairo.h" line="138"/>
1090+ <return-value transfer-ownership="none">
1091+ <type name="none" c:type="void"/>
1092+ </return-value>
1093+ <parameters>
1094+ <parameter name="cr" transfer-ownership="none">
1095+ <doc xml:space="preserve"
1096+ filename="../pango/pangocairo-context.c"
1097+ line="160">a Cairo context</doc>
1098+ <type name="cairo.Context" c:type="cairo_t*"/>
1099+ </parameter>
1100+ <parameter name="context" transfer-ownership="none">
1101+ <doc xml:space="preserve"
1102+ filename="../pango/pangocairo-context.c"
1103+ line="161">a `PangoContext`, from a pangocairo font map</doc>
1104+ <type name="Pango.Context" c:type="PangoContext*"/>
1105+ </parameter>
1106+ </parameters>
1107+ </function>
1108+ <function name="update_layout"
1109+ c:identifier="pango_cairo_update_layout"
1110+ version="1.10">
1111+ <doc xml:space="preserve"
1112+ filename="../pango/pangocairo-context.c"
1113+ line="494">Updates the private `PangoContext` of a `PangoLayout` created with
1114+[func@create_layout] to match the current transformation and target
1115+surface of a Cairo context.</doc>
1116+ <source-position filename="../pango/pangocairo.h" line="169"/>
1117+ <return-value transfer-ownership="none">
1118+ <type name="none" c:type="void"/>
1119+ </return-value>
1120+ <parameters>
1121+ <parameter name="cr" transfer-ownership="none">
1122+ <doc xml:space="preserve"
1123+ filename="../pango/pangocairo-context.c"
1124+ line="496">a Cairo context</doc>
1125+ <type name="cairo.Context" c:type="cairo_t*"/>
1126+ </parameter>
1127+ <parameter name="layout" transfer-ownership="none">
1128+ <doc xml:space="preserve"
1129+ filename="../pango/pangocairo-context.c"
1130+ line="497">a `PangoLayout`, from [func@create_layout]</doc>
1131+ <type name="Pango.Layout" c:type="PangoLayout*"/>
1132+ </parameter>
1133+ </parameters>
1134+ </function>
1135+ </namespace>
1136+</repository>
A internal/gir/spec/cairo-1.0.gir +688 -0
@@ -0,0 +1,688 @@
1+<?xml version="1.0"?>
2+<repository version="1.2"
3+ xmlns="http://www.gtk.org/introspection/core/1.0"
4+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
5+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
6+ <package name="cairo-gobject"/>
7+ <c:include name="cairo-gobject.h"/>
8+ <namespace name="cairo" version="1.0"
9+ shared-library="libcairo-gobject.so.2"
10+ c:identifier-prefixes="cairo"
11+ c:symbol-prefixes="cairo">
12+ <record name="Context" c:type="cairo_t" foreign="1"
13+ glib:type-name="CairoContext"
14+ glib:get-type="cairo_gobject_context_get_type"/>
15+ <record name="Device" c:type="cairo_device_t" foreign="1"
16+ glib:type-name="CairoDevice"
17+ glib:get-type="cairo_gobject_device_get_type"/>
18+ <record name="Surface" c:type="cairo_surface_t" foreign="1"
19+ glib:type-name="CairoSurface"
20+ glib:get-type="cairo_gobject_surface_get_type"/>
21+ <record name="Matrix" c:type="cairo_matrix_t" foreign="1"/>
22+ <record name="Pattern" c:type="cairo_pattern_t" foreign="1"
23+ glib:type-name="CairoPattern"
24+ glib:get-type="cairo_gobject_pattern_get_type"/>
25+ <record name="Region" c:type="cairo_region_t" foreign="1"
26+ glib:type-name="CairoRegion"
27+ glib:get-type="cairo_gobject_region_get_type"/>
28+ <enumeration name="Status" c:type="cairo_status_t"
29+ glib:type-name="cairo_status_t"
30+ glib:get-type="cairo_gobject_status_get_type">
31+ <member name="success"
32+ value="0"
33+ c:identifier="CAIRO_STATUS_SUCCESS"/>
34+ <member name="no_memory"
35+ value="1"
36+ c:identifier="CAIRO_STATUS_NO_MEMORY"/>
37+ <member name="invalid_restore"
38+ value="2"
39+ c:identifier="CAIRO_STATUS_INVALID_RESTORE"/>
40+ <member name="invalid_pop_group"
41+ value="3"
42+ c:identifier="CAIRO_STATUS_INVALID_POP_GROUP"/>
43+ <member name="no_current_point"
44+ value="4"
45+ c:identifier="CAIRO_STATUS_NO_CURRENT_POINT"/>
46+ <member name="invalid_matrix"
47+ value="5"
48+ c:identifier="CAIRO_STATUS_INVALID_MATRIX"/>
49+ <member name="invalid_status"
50+ value="6"
51+ c:identifier="CAIRO_STATUS_INVALID_STATUS"/>
52+ <member name="null_pointer"
53+ value="7"
54+ c:identifier="CAIRO_STATUS_NULL_POINTER"/>
55+ <member name="invalid_string"
56+ value="8"
57+ c:identifier="CAIRO_STATUS_INVALID_STRING"/>
58+ <member name="invalid_path_data"
59+ value="9"
60+ c:identifier="CAIRO_STATUS_INVALID_PATH_DATA"/>
61+ <member name="read_error"
62+ value="10"
63+ c:identifier="CAIRO_STATUS_READ_ERROR"/>
64+ <member name="write_error"
65+ value="11"
66+ c:identifier="CAIRO_STATUS_WRITE_ERROR"/>
67+ <member name="surface_finished"
68+ value="12"
69+ c:identifier="CAIRO_STATUS_SURFACE_FINISHED"/>
70+ <member name="surface_type_mismatch"
71+ value="13"
72+ c:identifier="CAIRO_STATUS_SURFACE_TYPE_MISMATCH"/>
73+ <member name="pattern_type_mismatch"
74+ value="14"
75+ c:identifier="CAIRO_STATUS_PATTERN_TYPE_MISMATCH"/>
76+ <member name="invalid_content"
77+ value="15"
78+ c:identifier="CAIRO_STATUS_INVALID_CONTENT"/>
79+ <member name="invalid_format"
80+ value="16"
81+ c:identifier="CAIRO_STATUS_INVALID_FORMAT"/>
82+ <member name="invalid_visual"
83+ value="17"
84+ c:identifier="CAIRO_STATUS_INVALID_VISUAL"/>
85+ <member name="file_not_found"
86+ value="18"
87+ c:identifier="CAIRO_STATUS_FILE_NOT_FOUND"/>
88+ <member name="invalid_dash"
89+ value="19"
90+ c:identifier="CAIRO_STATUS_INVALID_DASH"/>
91+ <member name="invalid_dsc_comment"
92+ value="20"
93+ c:identifier="CAIRO_STATUS_INVALID_DSC_COMMENT"/>
94+ <member name="invalid_index"
95+ value="21"
96+ c:identifier="CAIRO_STATUS_INVALID_INDEX"/>
97+ <member name="clip_not_representable"
98+ value="22"
99+ c:identifier="CAIRO_STATUS_CLIP_NOT_REPRESENTABLE"/>
100+ <member name="temp_file_error"
101+ value="23"
102+ c:identifier="CAIRO_STATUS_TEMP_FILE_ERROR"/>
103+ <member name="invalid_stride"
104+ value="24"
105+ c:identifier="CAIRO_STATUS_INVALID_STRIDE"/>
106+ <member name="font_type_mismatch"
107+ value="25"
108+ c:identifier="CAIRO_STATUS_FONT_TYPE_MISMATCH"/>
109+ <member name="user_font_immutable"
110+ value="26"
111+ c:identifier="CAIRO_STATUS_USER_FONT_IMMUTABLE"/>
112+ <member name="user_font_error"
113+ value="27"
114+ c:identifier="CAIRO_STATUS_USER_FONT_ERROR"/>
115+ <member name="negative_count"
116+ value="28"
117+ c:identifier="CAIRO_STATUS_NEGATIVE_COUNT"/>
118+ <member name="invalid_clusters"
119+ value="29"
120+ c:identifier="CAIRO_STATUS_INVALID_CLUSTERS"/>
121+ <member name="invalid_slant"
122+ value="30"
123+ c:identifier="CAIRO_STATUS_INVALID_SLANT"/>
124+ <member name="invalid_weight"
125+ value="31"
126+ c:identifier="CAIRO_STATUS_INVALID_WEIGHT"/>
127+ <member name="invalid_size"
128+ value="32"
129+ c:identifier="CAIRO_STATUS_INVALID_SIZE"/>
130+ <member name="user_font_not_implemented"
131+ value="33"
132+ c:identifier="CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED"/>
133+ <member name="device_type_mismatch"
134+ value="34"
135+ c:identifier="CAIRO_STATUS_DEVICE_TYPE_MISMATCH"/>
136+ <member name="device_error"
137+ value="35"
138+ c:identifier="CAIRO_STATUS_DEVICE_ERROR"/>
139+ <member name="invalid_mesh_construction"
140+ value="36"
141+ c:identifier="CAIRO_STATUS_INVALID_MESH_CONSTRUCTION"/>
142+ <member name="device_finished"
143+ value="37"
144+ c:identifier="CAIRO_STATUS_DEVICE_FINISHED"/>
145+ <member name="jbig2_global_missing"
146+ value="38"
147+ c:identifier="CAIRO_STATUS_JBIG2_GLOBAL_MISSING"/>
148+ </enumeration>
149+ <enumeration name="Content" c:type="cairo_content_t"
150+ glib:type-name="cairo_content_t"
151+ glib:get-type="cairo_gobject_content_get_type">
152+ <member name="color"
153+ value="4096"
154+ c:identifier="CAIRO_CONTENT_COLOR"/>
155+ <member name="alpha"
156+ value="8192"
157+ c:identifier="CAIRO_CONTENT_ALPHA"/>
158+ <member name="color_alpha"
159+ value="12288"
160+ c:identifier="CAIRO_CONTENT_COLOR_ALPHA"/>
161+ </enumeration>
162+ <enumeration name="Operator" c:type="cairo_operator_t"
163+ glib:type-name="cairo_operator_t"
164+ glib:get-type="cairo_gobject_operator_get_type">
165+ <member name="clear"
166+ value="0"
167+ c:identifier="CAIRO_OPERATOR_CLEAR"/>
168+ <member name="source"
169+ value="1"
170+ c:identifier="CAIRO_OPERATOR_SOURCE"/>
171+ <member name="over"
172+ value="2"
173+ c:identifier="CAIRO_OPERATOR_OVER"/>
174+ <member name="in"
175+ value="3"
176+ c:identifier="CAIRO_OPERATOR_IN"/>
177+ <member name="out"
178+ value="4"
179+ c:identifier="CAIRO_OPERATOR_OUT"/>
180+ <member name="atop"
181+ value="5"
182+ c:identifier="CAIRO_OPERATOR_ATOP"/>
183+ <member name="dest"
184+ value="6"
185+ c:identifier="CAIRO_OPERATOR_DEST"/>
186+ <member name="dest_over"
187+ value="7"
188+ c:identifier="CAIRO_OPERATOR_DEST_OVER"/>
189+ <member name="dest_in"
190+ value="8"
191+ c:identifier="CAIRO_OPERATOR_DEST_IN"/>
192+ <member name="dest_out"
193+ value="9"
194+ c:identifier="CAIRO_OPERATOR_DEST_OUT"/>
195+ <member name="dest_atop"
196+ value="10"
197+ c:identifier="CAIRO_OPERATOR_DEST_ATOP"/>
198+ <member name="xor"
199+ value="11"
200+ c:identifier="CAIRO_OPERATOR_XOR"/>
201+ <member name="add"
202+ value="12"
203+ c:identifier="CAIRO_OPERATOR_ADD"/>
204+ <member name="saturate"
205+ value="13"
206+ c:identifier="CAIRO_OPERATOR_SATURATE"/>
207+ <member name="multiply"
208+ value="14"
209+ c:identifier="CAIRO_OPERATOR_MULTIPLY"/>
210+ <member name="screen"
211+ value="15"
212+ c:identifier="CAIRO_OPERATOR_SCREEN"/>
213+ <member name="overlay"
214+ value="16"
215+ c:identifier="CAIRO_OPERATOR_OVERLAY"/>
216+ <member name="darken"
217+ value="17"
218+ c:identifier="CAIRO_OPERATOR_DARKEN"/>
219+ <member name="lighten"
220+ value="18"
221+ c:identifier="CAIRO_OPERATOR_LIGHTEN"/>
222+ <member name="color_dodge"
223+ value="19"
224+ c:identifier="CAIRO_OPERATOR_COLOR_DODGE"/>
225+ <member name="color_burn"
226+ value="20"
227+ c:identifier="CAIRO_OPERATOR_COLOR_BURN"/>
228+ <member name="hard_light"
229+ value="21"
230+ c:identifier="CAIRO_OPERATOR_HARD_LIGHT"/>
231+ <member name="soft_light"
232+ value="22"
233+ c:identifier="CAIRO_OPERATOR_SOFT_LIGHT"/>
234+ <member name="difference"
235+ value="23"
236+ c:identifier="CAIRO_OPERATOR_DIFFERENCE"/>
237+ <member name="exclusion"
238+ value="24"
239+ c:identifier="CAIRO_OPERATOR_EXCLUSION"/>
240+ <member name="hsl_hue"
241+ value="25"
242+ c:identifier="CAIRO_OPERATOR_HSL_HUE"/>
243+ <member name="hsl_saturation"
244+ value="26"
245+ c:identifier="CAIRO_OPERATOR_HSL_SATURATION"/>
246+ <member name="hsl_color"
247+ value="27"
248+ c:identifier="CAIRO_OPERATOR_HSL_COLOR"/>
249+ <member name="hsl_luminosity"
250+ value="28"
251+ c:identifier="CAIRO_OPERATOR_HSL_LUMINOSITY"/>
252+ </enumeration>
253+ <enumeration name="Antialias" c:type="cairo_antialias_t"
254+ glib:type-name="cairo_antialias_t"
255+ glib:get-type="cairo_gobject_antialias_get_type">
256+ <member name="default"
257+ value="0"
258+ c:identifier="CAIRO_ANTIALIAS_DEFAULT"/>
259+ <member name="none"
260+ value="1"
261+ c:identifier="CAIRO_ANTIALIAS_NONE"/>
262+ <member name="gray"
263+ value="2"
264+ c:identifier="CAIRO_ANTIALIAS_GRAY"/>
265+ <member name="subpixel"
266+ value="3"
267+ c:identifier="CAIRO_ANTIALIAS_SUBPIXEL"/>
268+ <member name="fast"
269+ value="4"
270+ c:identifier="CAIRO_ANTIALIAS_FAST"/>
271+ <member name="good"
272+ value="5"
273+ c:identifier="CAIRO_ANTIALIAS_GOOD"/>
274+ <member name="best"
275+ value="6"
276+ c:identifier="CAIRO_ANTIALIAS_BEST"/>
277+ </enumeration>
278+ <enumeration name="FillRule" c:type="cairo_fill_rule_t"
279+ glib:type-name="cairo_fill_rule_t"
280+ glib:get-type="cairo_gobject_fill_rule_get_type">
281+ <member name="winding"
282+ value="0"
283+ c:identifier="CAIRO_FILL_RULE_WINDING"/>
284+ <member name="even_odd"
285+ value="1"
286+ c:identifier="CAIRO_FILL_RULE_EVEN_ODD"/>
287+ </enumeration>
288+ <enumeration name="LineCap" c:type="cairo_line_cap_t"
289+ glib:type-name="cairo_line_cap_t"
290+ glib:get-type="cairo_gobject_line_cap_get_type">
291+ <member name="butt"
292+ value="0"
293+ c:identifier="CAIRO_LINE_CAP_BUTT"/>
294+ <member name="round"
295+ value="1"
296+ c:identifier="CAIRO_LINE_CAP_ROUND"/>
297+ <member name="square"
298+ value="2"
299+ c:identifier="CAIRO_LINE_CAP_SQUARE"/>
300+ </enumeration>
301+ <enumeration name="LineJoin" c:type="cairo_line_join_t"
302+ glib:type-name="cairo_line_join_t"
303+ glib:get-type="cairo_gobject_line_join_get_type">
304+ <member name="miter"
305+ value="0"
306+ c:identifier="CAIRO_LINE_JOIN_MITER"/>
307+ <member name="round"
308+ value="1"
309+ c:identifier="CAIRO_LINE_JOIN_ROUND"/>
310+ <member name="bevel"
311+ value="2"
312+ c:identifier="CAIRO_LINE_JOIN_BEVEL"/>
313+ </enumeration>
314+ <enumeration name="TextClusterFlags" c:type="cairo_text_cluster_flags_t"
315+ glib:type-name="cairo_text_cluster_flags_t"
316+ glib:get-type="cairo_gobject_text_cluster_flags_get_type">
317+ <member name="backward"
318+ value="1"
319+ c:identifier="CAIRO_TEXT_CLUSTER_FLAG_BACKWARD"/>
320+ </enumeration>
321+ <enumeration name="FontSlant" c:type="cairo_font_slant_t"
322+ glib:type-name="cairo_font_slant_t"
323+ glib:get-type="cairo_gobject_font_slant_get_type">
324+ <member name="normal"
325+ value="0"
326+ c:identifier="CAIRO_FONT_SLANT_NORMAL"/>
327+ <member name="italic"
328+ value="1"
329+ c:identifier="CAIRO_FONT_SLANT_ITALIC"/>
330+ <member name="oblique"
331+ value="2"
332+ c:identifier="CAIRO_FONT_SLANT_OBLIQUE"/>
333+ </enumeration>
334+ <enumeration name="FontWeight" c:type="cairo_font_weight_t"
335+ glib:type-name="cairo_font_weight_t"
336+ glib:get-type="cairo_gobject_font_weight_get_type">
337+ <member name="normal"
338+ value="0"
339+ c:identifier="CAIRO_FONT_WEIGHT_NORMAL"/>
340+ <member name="bold"
341+ value="1"
342+ c:identifier="CAIRO_FONT_WEIGHT_BOLD"/>
343+ </enumeration>
344+ <enumeration name="SubpixelOrder" c:type="cairo_subpixel_order_t"
345+ glib:type-name="cairo_subpixel_order_t"
346+ glib:get-type="cairo_gobject_subpixel_order_get_type">
347+ <member name="default"
348+ value="0"
349+ c:identifier="CAIRO_SUBPIXEL_ORDER_DEFAULT"/>
350+ <member name="rgb"
351+ value="1"
352+ c:identifier="CAIRO_SUBPIXEL_ORDER_RGB"/>
353+ <member name="bgr"
354+ value="2"
355+ c:identifier="CAIRO_SUBPIXEL_ORDER_BGR"/>
356+ <member name="vrgb"
357+ value="3"
358+ c:identifier="CAIRO_SUBPIXEL_ORDER_VRGB"/>
359+ <member name="vbgr"
360+ value="4"
361+ c:identifier="CAIRO_SUBPIXEL_ORDER_VBGR"/>
362+ </enumeration>
363+ <enumeration name="HintStyle" c:type="cairo_hint_style_t"
364+ glib:type-name="cairo_hint_style_t"
365+ glib:get-type="cairo_gobject_hint_style_get_type">
366+ <member name="default"
367+ value="0"
368+ c:identifier="CAIRO_HINT_STYLE_DEFAULT"/>
369+ <member name="none"
370+ value="1"
371+ c:identifier="CAIRO_HINT_STYLE_NONE"/>
372+ <member name="slight"
373+ value="2"
374+ c:identifier="CAIRO_HINT_STYLE_SLIGHT"/>
375+ <member name="medium"
376+ value="3"
377+ c:identifier="CAIRO_HINT_STYLE_MEDIUM"/>
378+ <member name="full"
379+ value="4"
380+ c:identifier="CAIRO_HINT_STYLE_FULL"/>
381+ </enumeration>
382+ <enumeration name="HintMetrics" c:type="cairo_hint_metrics_t"
383+ glib:type-name="cairo_hint_metrics_t"
384+ glib:get-type="cairo_gobject_hint_metrics_get_type">
385+ <member name="default"
386+ value="0"
387+ c:identifier="CAIRO_HINT_METRICS_DEFAULT"/>
388+ <member name="off"
389+ value="1"
390+ c:identifier="CAIRO_HINT_METRICS_OFF"/>
391+ <member name="on"
392+ value="2"
393+ c:identifier="CAIRO_HINT_METRICS_ON"/>
394+ </enumeration>
395+ <record name="FontOptions" c:type="cairo_font_options_t" foreign="1"
396+ glib:type-name="CairoFontOptions"
397+ glib:get-type="cairo_gobject_font_options_get_type"/>
398+ <enumeration name="FontType" c:type="cairo_font_type_t"
399+ glib:type-name="cairo_font_type_t"
400+ glib:get-type="cairo_gobject_font_type_get_type">
401+ <member name="toy"
402+ value="0"
403+ c:identifier="CAIRO_FONT_TYPE_TOY"/>
404+ <member name="ft"
405+ value="1"
406+ c:identifier="CAIRO_FONT_TYPE_FT"/>
407+ <member name="win32"
408+ value="2"
409+ c:identifier="CAIRO_FONT_TYPE_WIN32"/>
410+ <member name="quartz"
411+ value="3"
412+ c:identifier="CAIRO_FONT_TYPE_QUARTZ"/>
413+ <member name="user"
414+ value="4"
415+ c:identifier="CAIRO_FONT_TYPE_USER"/>
416+ </enumeration>
417+ <enumeration name="PathDataType" c:type="cairo_path_data_type_t"
418+ glib:type-name="cairo_path_data_type_t"
419+ glib:get-type="cairo_gobject_path_data_type_get_type">
420+ <member name="move_to"
421+ value="0"
422+ c:identifier="CAIRO_PATH_MOVE_TO"/>
423+ <member name="line_to"
424+ value="1"
425+ c:identifier="CAIRO_PATH_LINE_TO"/>
426+ <member name="curve_to"
427+ value="2"
428+ c:identifier="CAIRO_PATH_CURVE_TO"/>
429+ <member name="close_path"
430+ value="3"
431+ c:identifier="CAIRO_PATH_CLOSE_PATH"/>
432+ </enumeration>
433+ <enumeration name="DeviceType" c:type="cairo_device_type_t"
434+ glib:type-name="cairo_device_type_t"
435+ glib:get-type="cairo_gobject_device_type_get_type">
436+ <member name="drm"
437+ value="0"
438+ c:identifier="CAIRO_DEVICE_TYPE_DRM"/>
439+ <member name="gl"
440+ value="1"
441+ c:identifier="CAIRO_DEVICE_TYPE_GL"/>
442+ <member name="script"
443+ value="2"
444+ c:identifier="CAIRO_DEVICE_TYPE_SCRIPT"/>
445+ <member name="xcb"
446+ value="3"
447+ c:identifier="CAIRO_DEVICE_TYPE_XCB"/>
448+ <member name="xlib"
449+ value="4"
450+ c:identifier="CAIRO_DEVICE_TYPE_XLIB"/>
451+ <member name="xml"
452+ value="5"
453+ c:identifier="CAIRO_DEVICE_TYPE_XML"/>
454+ <member name="cogl"
455+ value="6"
456+ c:identifier="CAIRO_DEVICE_TYPE_COGL"/>
457+ <member name="win32"
458+ value="7"
459+ c:identifier="CAIRO_DEVICE_TYPE_WIN32"/>
460+ <member name="invalid"
461+ value="-1"
462+ c:identifier="CAIRO_DEVICE_TYPE_INVALID"/>
463+ </enumeration>
464+ <enumeration name="SurfaceType" c:type="cairo_surface_type_t"
465+ glib:type-name="cairo_surface_type_t"
466+ glib:get-type="cairo_gobject_surface_type_get_type">
467+ <member name="image"
468+ value="0"
469+ c:identifier="CAIRO_SURFACE_TYPE_IMAGE"/>
470+ <member name="pdf"
471+ value="1"
472+ c:identifier="CAIRO_SURFACE_TYPE_PDF"/>
473+ <member name="ps"
474+ value="2"
475+ c:identifier="CAIRO_SURFACE_TYPE_PS"/>
476+ <member name="xlib"
477+ value="3"
478+ c:identifier="CAIRO_SURFACE_TYPE_XLIB"/>
479+ <member name="xcb"
480+ value="4"
481+ c:identifier="CAIRO_SURFACE_TYPE_XCB"/>
482+ <member name="glitz"
483+ value="5"
484+ c:identifier="CAIRO_SURFACE_TYPE_GLITZ"/>
485+ <member name="quartz"
486+ value="6"
487+ c:identifier="CAIRO_SURFACE_TYPE_QUARTZ"/>
488+ <member name="win32"
489+ value="7"
490+ c:identifier="CAIRO_SURFACE_TYPE_WIN32"/>
491+ <member name="beos"
492+ value="8"
493+ c:identifier="CAIRO_SURFACE_TYPE_BEOS"/>
494+ <member name="directfb"
495+ value="9"
496+ c:identifier="CAIRO_SURFACE_TYPE_DIRECTFB"/>
497+ <member name="svg"
498+ value="10"
499+ c:identifier="CAIRO_SURFACE_TYPE_SVG"/>
500+ <member name="os2"
501+ value="11"
502+ c:identifier="CAIRO_SURFACE_TYPE_OS2"/>
503+ <member name="win32_printing"
504+ value="12"
505+ c:identifier="CAIRO_SURFACE_TYPE_WIN32_PRINTING"/>
506+ <member name="quartz_image"
507+ value="13"
508+ c:identifier="CAIRO_SURFACE_TYPE_QUARTZ_IMAGE"/>
509+ <member name="script"
510+ value="14"
511+ c:identifier="CAIRO_SURFACE_TYPE_SCRIPT"/>
512+ <member name="qt"
513+ value="15"
514+ c:identifier="CAIRO_SURFACE_TYPE_QT"/>
515+ <member name="recording"
516+ value="16"
517+ c:identifier="CAIRO_SURFACE_TYPE_RECORDING"/>
518+ <member name="vg"
519+ value="17"
520+ c:identifier="CAIRO_SURFACE_TYPE_VG"/>
521+ <member name="gl"
522+ value="18"
523+ c:identifier="CAIRO_SURFACE_TYPE_GL"/>
524+ <member name="drm"
525+ value="19"
526+ c:identifier="CAIRO_SURFACE_TYPE_DRM"/>
527+ <member name="tee"
528+ value="20"
529+ c:identifier="CAIRO_SURFACE_TYPE_TEE"/>
530+ <member name="xml"
531+ value="21"
532+ c:identifier="CAIRO_SURFACE_TYPE_XML"/>
533+ <member name="skia"
534+ value="22"
535+ c:identifier="CAIRO_SURFACE_TYPE_SKIA"/>
536+ <member name="subsurface"
537+ value="23"
538+ c:identifier="CAIRO_SURFACE_TYPE_SUBSURFACE"/>
539+ <member name="cogl"
540+ value="24"
541+ c:identifier="CAIRO_SURFACE_TYPE_COGL"/>
542+ </enumeration>
543+ <enumeration name="Format" c:type="cairo_format_t"
544+ glib:type-name="cairo_format_t"
545+ glib:get-type="cairo_gobject_format_get_type">
546+ <member name="invalid"
547+ value="-1"
548+ c:identifier="CAIRO_FORMAT_INVALID"/>
549+ <member name="argb32"
550+ value="0"
551+ c:identifier="CAIRO_FORMAT_ARGB32"/>
552+ <member name="rgb24"
553+ value="1"
554+ c:identifier="CAIRO_FORMAT_RGB24"/>
555+ <member name="a8"
556+ value="2"
557+ c:identifier="CAIRO_FORMAT_A8"/>
558+ <member name="a1"
559+ value="3"
560+ c:identifier="CAIRO_FORMAT_A1"/>
561+ <member name="rgb16_565"
562+ value="4"
563+ c:identifier="CAIRO_FORMAT_RGB16_565"/>
564+ <member name="rgb30"
565+ value="5"
566+ c:identifier="CAIRO_FORMAT_RGB30"/>
567+ </enumeration>
568+ <enumeration name="PatternType" c:type="cairo_pattern_type_t"
569+ glib:type-name="cairo_pattern_type_t"
570+ glib:get-type="cairo_gobject_pattern_type_get_type">
571+ <member name="solid"
572+ value="0"
573+ c:identifier="CAIRO_PATTERN_TYPE_SOLID"/>
574+ <member name="surface"
575+ value="1"
576+ c:identifier="CAIRO_PATTERN_TYPE_SURFACE"/>
577+ <member name="linear"
578+ value="2"
579+ c:identifier="CAIRO_PATTERN_TYPE_LINEAR"/>
580+ <member name="radial"
581+ value="3"
582+ c:identifier="CAIRO_PATTERN_TYPE_RADIAL"/>
583+ <member name="mesh"
584+ value="4"
585+ c:identifier="CAIRO_PATTERN_TYPE_MESH"/>
586+ <member name="raster_source"
587+ value="5"
588+ c:identifier="CAIRO_PATTERN_TYPE_RASTER_SOURCE"/>
589+ </enumeration>
590+ <enumeration name="Extend" c:type="cairo_extend_t"
591+ glib:type-name="cairo_extend_t"
592+ glib:get-type="cairo_gobject_extend_get_type">
593+ <member name="none"
594+ value="0"
595+ c:identifier="CAIRO_EXTEND_NONE"/>
596+ <member name="repeat"
597+ value="1"
598+ c:identifier="CAIRO_EXTEND_REPEAT"/>
599+ <member name="reflect"
600+ value="2"
601+ c:identifier="CAIRO_EXTEND_REFLECT"/>
602+ <member name="pad"
603+ value="3"
604+ c:identifier="CAIRO_EXTEND_PAD"/>
605+ </enumeration>
606+ <enumeration name="Filter" c:type="cairo_filter_t"
607+ glib:type-name="cairo_filter_t"
608+ glib:get-type="cairo_gobject_filter_get_type">
609+ <member name="fast"
610+ value="0"
611+ c:identifier="CAIRO_FILTER_FAST"/>
612+ <member name="good"
613+ value="1"
614+ c:identifier="CAIRO_FILTER_GOOD"/>
615+ <member name="best"
616+ value="2"
617+ c:identifier="CAIRO_FILTER_BEST"/>
618+ <member name="nearest"
619+ value="3"
620+ c:identifier="CAIRO_FILTER_NEAREST"/>
621+ <member name="bilinear"
622+ value="4"
623+ c:identifier="CAIRO_FILTER_BILINEAR"/>
624+ <member name="gaussian"
625+ value="5"
626+ c:identifier="CAIRO_FILTER_GAUSSIAN"/>
627+ </enumeration>
628+ <enumeration name="RegionOverlap" c:type="cairo_region_overlap_t"
629+ glib:type-name="cairo_region_overlap_t"
630+ glib:get-type="cairo_gobject_region_overlap_get_type">
631+ <member name="in"
632+ value="0"
633+ c:identifier="CAIRO_REGION_OVERLAP_IN"/>
634+ <member name="out"
635+ value="1"
636+ c:identifier="CAIRO_REGION_OVERLAP_OUT"/>
637+ <member name="part"
638+ value="2"
639+ c:identifier="CAIRO_REGION_OVERLAP_PART"/>
640+ </enumeration>
641+ <record name="FontFace" c:type="cairo_font_face_t" foreign="1"
642+ glib:type-name="CairoFontFace"
643+ glib:get-type="cairo_gobject_font_face_get_type"/>
644+ <record name="ScaledFont" c:type="cairo_scaled_font_t" foreign="1"
645+ glib:type-name="CairoScaledFont"
646+ glib:get-type="cairo_gobject_scaled_font_get_type"/>
647+ <record name="Path" c:type="cairo_path_t" foreign="1"/>
648+ <record name="Rectangle" c:type="cairo_rectangle_t"
649+ glib:type-name="CairoRectangle"
650+ glib:get-type="cairo_gobject_rectangle_get_type">
651+ <field name="x" writable="1">
652+ <type name="gdouble" c:type="gdouble"/>
653+ </field>
654+ <field name="y" writable="1">
655+ <type name="gdouble" c:type="gdouble"/>
656+ </field>
657+ <field name="width" writable="1">
658+ <type name="gdouble" c:type="gdouble"/>
659+ </field>
660+ <field name="height" writable="1">
661+ <type name="gdouble" c:type="gdouble"/>
662+ </field>
663+ </record>
664+ <record name="RectangleInt" c:type="cairo_rectangle_int_t"
665+ glib:type-name="CairoRectangleInt"
666+ glib:get-type="cairo_gobject_rectangle_int_get_type">
667+ <field name="x" writable="1">
668+ <type name="gint" c:type="gint"/>
669+ </field>
670+ <field name="y" writable="1">
671+ <type name="gint" c:type="gint"/>
672+ </field>
673+ <field name="width" writable="1">
674+ <type name="gint" c:type="gint"/>
675+ </field>
676+ <field name="height" writable="1">
677+ <type name="gint" c:type="gint"/>
678+ </field>
679+ </record>
680+ <function name="image_surface_create" c:identifier="cairo_image_surface_create">
681+ <return-value transfer-ownership="none">
682+ <type name="none" c:type="void"/>
683+ </return-value>
684+ <parameters>
685+ </parameters>
686+ </function>
687+ </namespace>
688+</repository>
A internal/gir/types/interface.go +52 -0
@@ -0,0 +1,52 @@
1+package types
2+
3+import (
4+ "strings"
5+
6+ "github.com/jwijenbergh/puregotk/internal/gir/util"
7+)
8+
9+func ConvertInterface(currns string, ins string, inter Interface, implemented map[string]bool, kinds KindMap) InterfaceTemplate {
10+ var methods []InterfaceFuncTemplate
11+
12+ for _, m := range inter.Methods {
13+ name := util.SnakeToCamel(m.Name)
14+ if implemented != nil {
15+ v, ok := implemented[name]
16+ if v && ok {
17+ continue
18+ }
19+ }
20+ var newns string
21+ if ins != "" {
22+ newns = ins + "."
23+ }
24+ methods = append(methods, InterfaceFuncTemplate{
25+ Namespace: newns,
26+ FullName: util.SnakeToCamel(m.CIdentifier),
27+ FuncTemplate: FuncTemplate{
28+ Doc: m.Doc.StringSafe(),
29+ CName: m.CIdentifier,
30+ Name: name,
31+ Args: m.Parameters.Template(currns, ins, kinds),
32+ Ret: m.ReturnValue.Template(currns, ins, kinds),
33+ },
34+ })
35+ }
36+ name := util.SnakeToCamel(inter.Name)
37+ return InterfaceTemplate{
38+ Name: name,
39+ Doc: inter.Doc.StringSafe(),
40+ Methods: methods,
41+ }
42+}
43+
44+func GetInterfaceFuncs(ns string, name string, implemented map[string]bool, kinds KindMap) InterfaceTemplate {
45+ inter := kinds.MustInterface(ns, name)
46+ parts := strings.Split(name, ".")
47+ var ins string
48+ if len(parts) > 1 {
49+ ins = strings.ToLower(parts[0])
50+ }
51+ return ConvertInterface(ns, ins, inter, implemented, kinds)
52+}
A internal/gir/types/kind.go +51 -0
@@ -0,0 +1,51 @@
1+package types
2+
3+import "github.com/jwijenbergh/puregotk/internal/gir/util"
4+
5+type Kind int8
6+
7+const (
8+ UnknownType Kind = iota
9+ AliasType
10+ CallbackType
11+ ClassesType
12+ InterfacesType
13+ RecordsType
14+ OtherType
15+)
16+
17+type KindMap map[string]KindPair
18+
19+func (km KindMap) key(ns string, name string) string {
20+ return util.NormalizeNamespace(ns, name, false)
21+}
22+
23+func (km KindMap) Add(ns string, name string, t Kind, v interface{}) {
24+ k := km.key(ns, name)
25+ km[k] = KindPair{
26+ K: t,
27+ Value: v,
28+ }
29+}
30+
31+func (km KindMap) pair(ns string, name string) KindPair {
32+ f := util.NormalizeNamespace(ns, name, false)
33+ return km[f]
34+}
35+
36+func (km KindMap) Kind(ns string, name string) Kind {
37+ return km.pair(ns, name).K
38+}
39+
40+func (km KindMap) MustInterface(ns string, name string) Interface {
41+ p := km.pair(ns, name)
42+ if p.K != InterfacesType {
43+ panic("value is not an interface")
44+ }
45+ return p.Value.(Interface)
46+}
47+
48+type KindPair struct {
49+ K Kind
50+ Value interface{}
51+}
A internal/gir/types/template.go +284 -0
@@ -0,0 +1,284 @@
1+package types
2+
3+import (
4+ "fmt"
5+ "strings"
6+
7+ "github.com/jwijenbergh/puregotk/internal/gir/util"
8+)
9+
10+type argsTemplate struct {
11+ // Names are the variables but just the names
12+ Names []string
13+
14+ // Types are the variables but just the types
15+ Types []string
16+
17+ // Call are the variables as given in a function call
18+ Call []string
19+
20+ Full []string
21+}
22+
23+type funcArgsTemplate struct {
24+ // Pure are the arguments as passed directly to PureGo
25+ // The pure Call is a special case that contains the arguments for a callback call
26+ Pure argsTemplate
27+
28+ // API are the arguments as suitable for a Go API
29+ API argsTemplate
30+}
31+
32+func (f *funcArgsTemplate) AddAPI(t string, n string, k Kind, ns string) {
33+ c := n
34+ stars := strings.Count(t, "*")
35+ gobjectNs := "gobject."
36+ if strings.ToLower(ns) == "gobject" {
37+ gobjectNs = ""
38+ }
39+ switch k {
40+ case CallbackType:
41+ c = fmt.Sprintf("purego.NewCallback(%s)", n)
42+ case ClassesType:
43+ if stars == 0 {
44+ c = n
45+ t = "uintptr"
46+ } else if stars > 1 {
47+ c = fmt.Sprintf("%sConvertPtr(%s)", gobjectNs, n)
48+ } else if stars == 1 {
49+ c = n + ".GoPointer()"
50+ }
51+ case InterfacesType:
52+ t = strings.TrimPrefix(t, "*")
53+ if stars == 0 {
54+ c = n
55+ t = "uintptr"
56+ } else if stars > 1 {
57+ c = fmt.Sprintf("%sConvertPtr(%s)", gobjectNs, n)
58+ } else if stars == 1 {
59+ c = n + ".GoPointer()"
60+ }
61+ }
62+
63+ // special case for varargs
64+ if n == "varArgs" {
65+ c = n + "..."
66+ }
67+ f.API.Names = append(f.API.Names, n)
68+ f.API.Types = append(f.API.Types, t)
69+ f.API.Call = append(f.API.Call, c)
70+ f.API.Full = append(f.API.Full, n+" "+t)
71+}
72+
73+func (f *funcArgsTemplate) AddPure(t string, n string, k Kind) {
74+ n += "p"
75+ c := n
76+ stars := strings.Count(t, "*")
77+ switch k {
78+ case RecordsType:
79+ if stars == 0 {
80+ t = "uintptr"
81+ }
82+ case CallbackType:
83+ t = "uintptr"
84+ case ClassesType:
85+ if stars == 0 {
86+ c = n
87+ t = "uintptr"
88+ } else {
89+ c = fmt.Sprintf("%sNewFromInternalPtr(%s)", strings.TrimPrefix(t, "*"), n)
90+ t = strings.Repeat("*", stars-1) + "uintptr"
91+ }
92+ case InterfacesType:
93+ if stars == 0 {
94+ c = n
95+ t = "uintptr"
96+ } else {
97+ c = fmt.Sprintf("%s{Ptr: %s}", t+"Base", n)
98+ t = strings.Repeat("*", stars-1) + "uintptr"
99+ }
100+ }
101+ f.Pure.Names = append(f.Pure.Names, n)
102+ f.Pure.Types = append(f.Pure.Types, t)
103+ f.Pure.Call = append(f.Pure.Call, c)
104+ f.Pure.Full = append(f.Pure.Full, n+" "+t)
105+}
106+
107+func (f *funcArgsTemplate) Add(p Parameter, ins string, ns string, kinds KindMap) {
108+ // get the lookup namespace
109+ // as if the interface namespace is non-empty
110+ // means we can also lookup in the namespace of the interface
111+ lns := ns
112+ if ins != "" {
113+ lns = ins
114+ }
115+ goType := p.Translate(lns, kinds)
116+ kind := kinds.Kind(lns, goType)
117+ stars := strings.Count(goType, "*")
118+ goType = util.NormalizeNamespace(ns, goType, true)
119+ if kind != OtherType && kind != UnknownType {
120+ if ins != "" && strings.Count(goType, ".") < 1 {
121+ goType = ins + "." + goType
122+ }
123+ }
124+ if stars > 0 {
125+ goType = strings.Repeat("*", stars) + strings.ReplaceAll(goType, "*", "")
126+ }
127+
128+ // Get a suitable variable name
129+ varName := p.VarName()
130+
131+ f.AddAPI(goType, varName, kind, ns)
132+ f.AddPure(goType, varName, kind)
133+}
134+
135+type CallbackTemplate struct {
136+ Doc string
137+ Name string
138+ Args funcArgsTemplate
139+ Ret funcRetTemplate
140+}
141+
142+type AliasTemplate struct {
143+ // Name is the name of the alias given to the Go type declaration
144+ Name string
145+
146+ // Doc is the documentation of the alias
147+ Doc string
148+
149+ // Value is the value for the alias as a Go type
150+ Value string
151+}
152+
153+type RecordField struct {
154+ // Name is the Go name of the field
155+ Name string
156+
157+ // Type is the Go type of the field
158+ Type string
159+}
160+
161+type RecordTemplate struct {
162+ // Name is the name of the record given to the Go type declaration
163+ Name string
164+
165+ // Doc is the documentation of the alias
166+ Doc string
167+
168+ // Fields is the list of record fields
169+ Fields []RecordField
170+}
171+
172+type enumValues struct {
173+ // Doc is the documentation for the value
174+ Doc string
175+ // Name is the name of the enumeration value
176+ Name string
177+ // Value is the actual underlying value
178+ Value int
179+}
180+
181+type EnumTemplate struct {
182+ // Name is the name of the enumeration declared as the Go type for the int
183+ Name string
184+ // Doc is the documentation for the enumeration
185+ Doc string
186+ // Values are the list of values for the enumeration
187+ Values []enumValues
188+}
189+
190+type funcRetTemplate struct {
191+ // Raw is the raw value for the underlying purego function
192+ Raw string
193+ // Value is the underlying return value as a Go type
194+ Value string
195+ // Class indicates whether or not the return value is a class
196+ Class bool
197+ // RefSink indicates whether or not we should increase the reference count using obj.RefSink()
198+ RefSink bool
199+}
200+
201+func (fr *funcRetTemplate) Instance() string {
202+ if strings.HasPrefix(fr.Value, "*") {
203+ return "&"+fr.Value[1:]
204+ }
205+ return fr.Value
206+}
207+
208+type FuncTemplate struct {
209+ // Name is the name of the function declared as the Go function variable and public exposed API
210+ Name string
211+ // CName is the raw c name to be passed to purego register
212+ CName string
213+ // Doc is the documentation for the function
214+ Doc string
215+ // Args are the arguments
216+ Args funcArgsTemplate
217+ // Ret is the return argument
218+ Ret funcRetTemplate
219+}
220+
221+type InterfaceFuncTemplate struct {
222+ Namespace string
223+ FullName string
224+ FuncTemplate
225+}
226+
227+type SignalsTemplate struct {
228+ Doc string
229+ Name string
230+ CName string
231+ Args funcArgsTemplate
232+ Ret funcRetTemplate
233+}
234+
235+type ClassTemplate struct {
236+ // Doc is the documentation for the class
237+ Doc string
238+ // Name is the name of the class that is given to the Go struct
239+ Name string
240+ // Parent is a non-empty string of the embedded parent struct
241+ Parent string
242+ // Constructors is the slice of functions that create the class struct
243+ Constructors []FuncTemplate
244+ // Receivers is the slice of functions that have value receivers to the struct
245+ Receivers []FuncTemplate
246+ // Interfaces are receiver methods that are implemented because it needs to satisfy a certain interface
247+ Interfaces []InterfaceTemplate
248+ // Signals are helpers for ConnectX receivers
249+ Signals []SignalsTemplate
250+}
251+
252+type InterfaceTemplate struct {
253+ Doc string
254+ Name string
255+ // Methods is the methods that this interface defines
256+ Methods []InterfaceFuncTemplate
257+}
258+
259+type TemplateArg struct {
260+ // PkgName is the name of the package, declared at the top-level
261+ PkgName string
262+ // PkgEnv is the name of the package in the load environment variable
263+ PkgEnv string
264+ // NeedsInit declares whether or not this file needs an init code to register functions with purego
265+ NeedsInit bool
266+ // Imports defines the package imports that we need
267+ // This does not include purego
268+ // As the template already includes that if `NeedsInit` is set to true
269+ Imports []string
270+ // Aliases are type aliases declared as type ... = ...
271+ Aliases []AliasTemplate
272+ // Aliases are structs that are not classes
273+ Records []RecordTemplate
274+ // Callbacks are functions that will be converted with purego to uintptr
275+ Callbacks []CallbackTemplate
276+ // Enums are enumerations declared as const ... .... = ....
277+ Enums []EnumTemplate
278+ // Functions are the Go function declarations
279+ Functions []FuncTemplate
280+ // Interfaces is the list of interfaces that this package implements
281+ Interfaces []InterfaceTemplate
282+ // Classes are the Go struct with receiver declarations
283+ Classes []ClassTemplate
284+}
A internal/gir/types/types.go +698 -0
@@ -0,0 +1,698 @@
1+// package types implements types as found in gir XML files
2+// NOTE: This was copied largely from (the type definitions) from
3+package types
4+
5+import (
6+ "encoding/xml"
7+ "strconv"
8+ "strings"
9+
10+ "github.com/jwijenbergh/puregotk/internal/gir/util"
11+)
12+
13+// convList maps the given GIR primitive type to a Go builtin type.
14+// See https://github.com/diamondburned/gotk4/blob/fd960d20b525a07580938d10a214336bafb47d12/gir/girgen/types/types.go#LL483C1-L512C2
15+var convList = map[string]string{
16+ "none": "",
17+ "gboolean": "bool",
18+ "gfloat": "float32",
19+ "gdouble": "float64",
20+ // This was changed because e.g. the error code in a GError struct is a gint and it has to be an int32
21+ // gint is a typedef to an int and on 32 and 64 bit systems a c int is 32 bits commonly, whereas in go an int is 32 bits on 32 bits systems and 64 bits on 64 bits systems
22+ // gotk4 seems to not cast these, see e.g. https://github.com/diamondburned/gotk4/blob/fd960d20b525a07580938d10a214336bafb47d12/gir/girgen/types/types.go#L473-L481
23+ "gint": "int32",
24+ "gssize": "int",
25+ "gint8": "int8",
26+ "gint16": "int16",
27+ "gshort": "int16",
28+ "gint32": "int32",
29+ "glong": "int32",
30+ "int32": "int32",
31+ "gint64": "int64",
32+ "guint": "uint",
33+ "gsize": "uint",
34+ "guchar": "byte",
35+ "gchar": "byte",
36+ "guint8": "byte", // some weird cases
37+ "guint16": "uint16",
38+ "gushort": "uint16",
39+ "guint32": "uint32",
40+ "gulong": "uint32",
41+ "gunichar": "uint32",
42+ "guint64": "uint64",
43+ "guintptr": "uintptr",
44+ "utf8": "string",
45+ "filename": "string",
46+
47+ // these are probably not correct but needed to compile
48+ "long double": "float64",
49+ "va_list": "[]interface{}",
50+ "gpointer": "uintptr",
51+ "GType": "[]interface{}",
52+ "const char*": "string",
53+ "char**": "[]string",
54+ // not exported
55+ "HarfBuzz.font_t": "uintptr",
56+ //"GLib.Quark": "byte",
57+ //"Allocation": "uintptr",
58+}
59+
60+// Repository represents a GObject Introspection Repository, which contains the
61+// includes, C includes and namespaces of a single gir file.
62+type Repository struct {
63+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 repository"`
64+
65+ Version string `xml:"version,attr"`
66+ CIdentifierPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 identifier-prefixes,attr"`
67+ CSymbolPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefixes,attr"`
68+
69+ Includes []Include `xml:"http://www.gtk.org/introspection/core/1.0 include"`
70+ CIncludes []CInclude `xml:"http://www.gtk.org/introspection/c/1.0 include"`
71+ Packages []Package `xml:"http://www.gtk.org/introspection/core/1.0 package"`
72+ Namespaces []Namespace `xml:"http://www.gtk.org/introspection/core/1.0 namespace"`
73+}
74+
75+// https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/master/docs/gir-1.2.rnc
76+
77+type Alias struct {
78+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 alias"`
79+
80+ Name string `xml:"name,attr"`
81+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
82+
83+ InfoAttrs
84+ InfoElements
85+
86+ Type Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
87+}
88+
89+type AnyType struct {
90+ // Possible variants.
91+ Type *Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
92+ Array *Array `xml:"http://www.gtk.org/introspection/core/1.0 array"`
93+}
94+
95+func (a *AnyType) Translate(ns string, kinds KindMap) string {
96+ if a == nil {
97+ panic("unknown type found")
98+ }
99+ t := a.Type
100+ if t == nil {
101+ if a.Array == nil {
102+ return ""
103+ }
104+ if v, ok := convList[a.Array.CType]; ok {
105+ return v
106+ }
107+ return "uintptr"
108+ }
109+ return a.Type.Template(ns, kinds)
110+}
111+
112+type Annotation struct {
113+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
114+ Name string `xml:"name,attr"`
115+ Value string `xml:"value,attr"`
116+}
117+
118+type Array struct {
119+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 array"`
120+ Name string `xml:"name,attr"`
121+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
122+ Length *int `xml:"length,attr"` // ix of .Parameters
123+ ZeroTerminated *bool `xml:"zero-terminated,attr"`
124+ FixedSize int `xml:"fixed-size,attr"`
125+ Introspectable bool `xml:"introspectable,attr"`
126+ // Type is the array's inner type.
127+ Type *Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
128+}
129+
130+// IsZeroTerminated returns true if the Array is zero-terminated. It accounts
131+// for edge cases of the structure.
132+func (a Array) IsZeroTerminated() bool {
133+ return a.Name == "" && (a.ZeroTerminated == nil || *a.ZeroTerminated)
134+}
135+
136+type Bitfield struct {
137+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 bitfield"`
138+
139+ Name string `xml:"name,attr"` // Go case
140+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
141+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
142+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
143+
144+ Members []Member `xml:"http://www.gtk.org/introspection/core/1.0 member"`
145+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
146+
147+ InfoAttrs
148+ InfoElements
149+}
150+
151+func (b *Bitfield) Template(ns string) EnumTemplate {
152+ els := make([]enumValues, len(b.Members))
153+ for i, m := range b.Members {
154+ v, err := strconv.Atoi(m.Value)
155+ if err != nil {
156+ panic(err)
157+ }
158+ // + Value needed to get rid of duplicates
159+ els[i] = enumValues{
160+ Doc: m.Doc.StringSafe(),
161+ Name: util.SnakeToCamel(util.RemoveSnakePrefix(strings.ToLower(m.CIdentifier), ns)) + "Value",
162+ Value: v,
163+ }
164+ }
165+ return EnumTemplate{
166+ Name: util.SnakeToCamel(b.Name),
167+ Doc: b.Doc.StringSafe(),
168+ Values: els,
169+ }
170+}
171+
172+type Signal struct {
173+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
174+ Name string `xml:"name,attr"`
175+ Detailed bool `xml:"detailed,attr"`
176+ When SignalWhen `xml:"when,attr"`
177+ Action bool `xml:"action,attr"`
178+ NoHooks bool `xml:"no-hooks,attr"`
179+ NoRecurse bool `xml:"no-recurse,attr"`
180+ InfoElements
181+ Parameters *Parameters `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
182+ ReturnValue *ReturnValue `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
183+}
184+
185+type SignalWhen string
186+
187+const (
188+ SignalWhenFirst = "first"
189+ SignalWhenLast = "last"
190+ SignalWhenCleanup = "cleanup"
191+)
192+
193+type SourcePosition struct {
194+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 source-position"`
195+ Filename string `xml:"filename,attr"`
196+ Line int `xml:"line,attr"`
197+ Column int `xml:"column,attr"`
198+}
199+
200+type TransferOwnership struct {
201+ TransferOwnership string `xml:"transfer-ownership,attr"`
202+}
203+
204+type Type struct {
205+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 type"`
206+
207+ Name string `xml:"name,attr"`
208+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
209+ Introspectable *bool `xml:"introspectable,attr"`
210+
211+ DocElements
212+ // Types is the type's inner types.
213+ Types []Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
214+}
215+
216+func (typ *Type) IsIntrospectable() bool {
217+ return typ.Introspectable == nil || *typ.Introspectable
218+}
219+
220+func (t *Type) Template(ns string, kinds KindMap) string {
221+ if v, ok := convList[t.Name]; ok {
222+ return v
223+ }
224+
225+ _type := util.NormalizeNamespace(ns, t.Name, true)
226+
227+ kind := kinds.Kind(ns, _type)
228+ // find the total pointer count
229+ count := strings.Count(t.CType, "*")
230+ w := strings.Trim(t.CType, "*")
231+ if w == "gpointer" {
232+ count += 1
233+ }
234+ // set the same pointer types on the name
235+ if count > 0 && kind != CallbackType {
236+ _type = strings.Repeat("*", count) + _type
237+ } else if kind == RecordsType {
238+ // if it's not a pointer
239+ // then purego doesn't support it (struct by value is not supported
240+ // so return uintptr
241+ _type = "uintptr"
242+ }
243+ return _type
244+}
245+
246+type Union struct {
247+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 union"`
248+
249+ Name string `xml:"name,attr"` // Go case
250+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
251+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
252+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
253+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
254+
255+ InfoAttrs
256+ InfoElements
257+
258+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
259+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
260+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
261+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
262+ Records []Record `xml:"http://www.gtk.org/introspection/core/1.0 record"`
263+}
264+
265+type VarArgs struct {
266+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 varargs"`
267+}
268+
269+type VirtualMethod struct {
270+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
271+
272+ Invoker string `xml:"invoker,attr"`
273+ CallableAttrs
274+}
275+
276+type Boxed struct{}
277+
278+type CInclude struct {
279+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/c/1.0 include"`
280+ Name string `xml:"name,attr"`
281+}
282+
283+type CallableAttrs struct {
284+ Name string `xml:"name,attr"`
285+ CIdentifier string `xml:"http://www.gtk.org/introspection/c/1.0 identifier,attr"`
286+ ShadowedBy string `xml:"shadowed-by,attr"`
287+ Shadows string `xml:"shadows,attr"`
288+ Throws bool `xml:"throws,attr"`
289+ MovedTo string `xml:"moved-to,attr"`
290+ Parameters *Parameters `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
291+ ReturnValue *ReturnValue `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
292+ InfoAttrs
293+ InfoElements
294+}
295+
296+type Callback struct {
297+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 callback"`
298+ CallableAttrs
299+}
300+
301+type Class struct {
302+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 class"`
303+ Name string `xml:"name,attr"`
304+ Parent string `xml:"parent,attr"`
305+ Abstract bool `xml:"abstract,attr"`
306+
307+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
308+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
309+
310+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
311+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
312+ GLibTypeStruct string `xml:"http://www.gtk.org/introspection/glib/1.0 type-struct,attr"`
313+
314+ InfoAttrs
315+ InfoElements
316+
317+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
318+ Implements []Implements `xml:"http://www.gtk.org/introspection/core/1.0 implements"`
319+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
320+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
321+ VirtualMethods []VirtualMethod `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
322+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
323+ Signals []Signal `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
324+}
325+
326+type Constant struct {
327+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 constant"`
328+ Name string `xml:"name,attr"`
329+ Value string `xml:"value,attr"`
330+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
331+
332+ Type Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
333+
334+ InfoAttrs
335+ InfoElements
336+}
337+
338+type Constructor struct {
339+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
340+ CallableAttrs
341+}
342+
343+type Doc struct {
344+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 doc"`
345+ Filename string `xml:"filename,attr"`
346+ String string `xml:",innerxml"`
347+ Line int `xml:"line,attr"`
348+}
349+
350+func (d *Doc) StringSafe() string {
351+ if d == nil {
352+ return ""
353+ }
354+ lines := strings.Split(d.String, "\n")
355+ for i, l := range lines {
356+ lines[i] = "// " + l
357+ }
358+ return strings.Join(lines, "\n")
359+}
360+
361+type DocDeprecated struct {
362+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 doc-deprecated"`
363+ String string `xml:",innerxml"`
364+}
365+
366+type DocElements struct {
367+ Doc *Doc
368+ DocDeprecated *DocDeprecated
369+ SourcePosition *SourcePosition
370+}
371+
372+func (d *DocElements) FilenameSafe() string {
373+ if d == nil || (d.SourcePosition == nil && d.Doc == nil) {
374+ return "main.go"
375+ }
376+ if d.SourcePosition != nil {
377+ return util.TranslateFilename(d.SourcePosition.Filename)
378+ }
379+ return util.TranslateFilename(d.Doc.Filename)
380+}
381+
382+type Enum struct {
383+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 enumeration"`
384+
385+ Name string `xml:"name,attr"` // Go case
386+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
387+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
388+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
389+ GLibErrorDomain string `xml:"http://www.gtk.org/introspection/glib/1.0 error-domain,attr"`
390+
391+ Members []Member `xml:"http://www.gtk.org/introspection/core/1.0 member"`
392+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
393+
394+ InfoAttrs
395+ InfoElements
396+}
397+
398+func (e *Enum) Template(ns string) EnumTemplate {
399+ els := make([]enumValues, len(e.Members))
400+
401+ for i, m := range e.Members {
402+ v, err := strconv.Atoi(m.Value)
403+ if err != nil {
404+ panic(err)
405+ }
406+ id := strings.ToLower(m.CIdentifier)
407+ sID := util.RemoveSnakePrefix(id, ns)
408+ els[i] = enumValues{
409+ Doc: m.Doc.StringSafe(),
410+ // + Value needed to get rid of duplicates
411+ Name: util.SnakeToCamel(sID) + "Value",
412+ Value: v,
413+ }
414+ }
415+ return EnumTemplate{
416+ Name: util.SnakeToCamel(e.Name),
417+ Doc: e.Doc.StringSafe(),
418+ Values: els,
419+ }
420+}
421+
422+type Field struct {
423+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 field"`
424+ Name string `xml:"name,attr"`
425+ Bits int `xml:"bits,attr"`
426+ Private bool `xml:"private,attr"`
427+ Writable bool `xml:"writable,attr"` // default false
428+ Readable *bool `xml:"readable,attr"` // default true
429+ AnyType
430+ Callback *Callback
431+ Doc *Doc
432+}
433+
434+// IsReadable returns true if the field is readable.
435+func (f Field) IsReadable() bool {
436+ return f.Readable == nil || *f.Readable
437+}
438+
439+type Function struct {
440+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 function"`
441+ CallableAttrs
442+}
443+
444+type Implements struct {
445+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 implements"`
446+ Name string `xml:"name,attr"`
447+}
448+
449+type Include struct {
450+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 include"`
451+ Name string `xml:"name,attr"`
452+ Version string `xml:"version,attr"`
453+}
454+
455+type InfoAttrs struct {
456+ Introspectable *bool `xml:"introspectable,attr"` // default true
457+ Deprecated bool `xml:"deprecated,attr"`
458+ DeprecatedVersion string `xml:"deprecated-version,attr"`
459+ Version string `xml:"version,attr"`
460+ Stability string `xml:"stability,attr"`
461+}
462+
463+// IsIntrospectable returns true if the InfoAttrs indicates that the type is
464+// introspectable.
465+func (inf InfoAttrs) IsIntrospectable() bool {
466+ return inf.Introspectable == nil || *inf.Introspectable
467+}
468+
469+type InfoElements struct {
470+ DocElements
471+ Annotations []Annotation `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
472+}
473+
474+type InstanceParameter struct {
475+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 instance-parameter"`
476+ ParameterAttrs
477+}
478+
479+type Interface struct {
480+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 interface"`
481+ Name string `xml:"name,attr"`
482+
483+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
484+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
485+
486+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
487+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
488+ GLibTypeStruct string `xml:"http://www.gtk.org/introspection/glib/1.0 type-struct,attr"`
489+
490+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
491+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
492+ VirtualMethods []VirtualMethod `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
493+ Prerequisites []Prerequisite `xml:"http://www.gtk.org/introspection/core/1.0 prerequisite"`
494+ Signals []Signal `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
495+
496+ InfoAttrs
497+ InfoElements
498+}
499+
500+type Member struct {
501+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 member"`
502+
503+ Names []xml.Attr `xml:"name,attr"`
504+ Value string `xml:"value,attr"`
505+ CIdentifier string `xml:"http://www.gtk.org/introspection/c/1.0 identifier,attr"`
506+ GLibNick string `xml:"http://www.gtk.org/introspection/glib/1.0 nick,attr"`
507+
508+ InfoAttrs
509+ InfoElements
510+}
511+
512+func (m Member) Name() string {
513+ return m.nameAttr(xml.Name{Local: "name"})
514+}
515+
516+func (m Member) GLibName() string {
517+ return m.nameAttr(xml.Name{Space: "http://www.gtk.org/introspection/glib/1.0", Local: "name"})
518+}
519+
520+func (m Member) nameAttr(name xml.Name) string {
521+ for _, attr := range m.Names {
522+ if attr.Name == name {
523+ return attr.Value
524+ }
525+ }
526+ return ""
527+}
528+
529+type Method struct {
530+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 method"`
531+ CallableAttrs
532+}
533+
534+type Namespace struct {
535+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 namespace"`
536+
537+ Name string `xml:"name,attr"`
538+ Version string `xml:"version,attr"`
539+ CIdentifierPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 identifier-prefixes,attr"`
540+ CSymbolPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefixes,attr"`
541+ Prefix string `xml:"http://www.gtk.org/introspection/c/1.0 prefix,attr"`
542+ SharedLibrary string `xml:"shared-library,attr"`
543+
544+ Aliases []Alias `xml:"http://www.gtk.org/introspection/core/1.0 alias"`
545+ Classes []Class `xml:"http://www.gtk.org/introspection/core/1.0 class"`
546+ Interfaces []Interface `xml:"http://www.gtk.org/introspection/core/1.0 interface"`
547+ Records []Record `xml:"http://www.gtk.org/introspection/core/1.0 record"`
548+ Enums []Enum `xml:"http://www.gtk.org/introspection/core/1.0 enumeration"`
549+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
550+ Unions []Union `xml:"http://www.gtk.org/introspection/core/1.0 union"`
551+ Bitfields []Bitfield `xml:"http://www.gtk.org/introspection/core/1.0 bitfield"`
552+ Callbacks []Callback `xml:"http://www.gtk.org/introspection/core/1.0 callback"`
553+ Constants []Constant `xml:"http://www.gtk.org/introspection/core/1.0 constant"`
554+ Annotations []Annotation `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
555+ Boxeds []Boxed `xml:"http://www.gtk.org/introspection/core/1.0 boxed"`
556+}
557+
558+type Package struct {
559+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 package"`
560+ Name string `xml:"name,attr"`
561+}
562+
563+type Parameter struct {
564+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 parameter"`
565+ ParameterAttrs
566+}
567+
568+func (p *Parameter) Translate(ns string, kinds KindMap) string {
569+ if p.Name == "..." {
570+ return "...interface{}"
571+ }
572+ return p.AnyType.Translate(ns, kinds)
573+}
574+
575+func (p *Parameter) VarName() string {
576+ snaked := util.SnakeToCamel(p.Name)
577+ if snaked == "..." {
578+ return "varArgs"
579+ }
580+ // avoid clash between same name of type and var
581+ // could also do first letter to lower?
582+ return snaked + "Var"
583+}
584+
585+func (p *Parameters) Template(ns string, ifacens string, kinds KindMap) funcArgsTemplate {
586+ if p == nil {
587+ return funcArgsTemplate{}
588+ }
589+ params := p.Parameters
590+ if len(params) == 0 {
591+ return funcArgsTemplate{}
592+ }
593+ args := funcArgsTemplate{}
594+ for _, par := range params {
595+ args.Add(par, ifacens, ns, kinds)
596+ }
597+ return args
598+}
599+
600+type ParameterAttrs struct {
601+ Name string `xml:"name,attr"`
602+ Direction string `xml:"direction,attr"`
603+ Scope string `xml:"scope,attr"`
604+ Closure *int `xml:"closure,attr"`
605+ Destroy *int `xml:"destroy,attr"`
606+ CallerAllocates bool `xml:"caller-allocates,attr"`
607+ Skip bool `xml:"skip,attr"`
608+ Optional bool `xml:"optional,attr"`
609+ Nullable bool `xml:"nullable,attr"`
610+
611+ TransferOwnership
612+ AnyType
613+ Doc *Doc
614+}
615+
616+type Parameters struct {
617+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
618+ InstanceParameter *InstanceParameter `xml:"http://www.gtk.org/introspection/core/1.0 instance-parameter"`
619+ Parameters []Parameter `xml:"http://www.gtk.org/introspection/core/1.0 parameter"`
620+}
621+
622+type Prerequisite struct {
623+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 prerequisite"`
624+ Name string `xml:"name,attr"`
625+}
626+
627+type Property struct{}
628+
629+type Record struct {
630+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 record"`
631+ Name string `xml:"name,attr"`
632+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
633+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
634+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
635+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
636+ GLibIsGTypeStructFor string `xml:"http://www.gtk.org/introspection/glib/1.0 is-gtype-struct-for,attr"`
637+ Disguised bool `xml:"disguised,attr"`
638+ Foreign bool `xml:"foreign,attr"`
639+
640+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
641+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
642+ Unions []Union `xml:"http://www.gtk.org/introspection/core/1.0 union"`
643+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
644+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
645+ Properties []Property `xml:"http://www.gtk.org/introspection/core/1.0 property"`
646+
647+ InfoAttrs
648+ InfoElements
649+}
650+
651+type ReturnValue struct {
652+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
653+ Scope string `xml:"scope,attr"`
654+ Closure *int `xml:"closure,attr"`
655+ Destroy *int `xml:"destroy,attr"`
656+ Introspectable bool `xml:"introspectable,attr"`
657+ Nullable bool `xml:"nullable,attr"`
658+ Skip bool `xml:"skip,attr"`
659+ AllowNone bool `xml:"allow-none,attr"`
660+ TransferOwnership
661+ DocElements
662+ AnyType
663+}
664+
665+func (r *ReturnValue) Template(ns string, ins string, kinds KindMap) funcRetTemplate {
666+ val := r.AnyType.Translate(ns, kinds)
667+ raw := val
668+ class := false
669+ lns := ns
670+ if ins != "" {
671+ lns = ins
672+ }
673+ kind := kinds.Kind(lns, raw)
674+ stars := strings.Count(val, "*")
675+ if kind != OtherType && kind != UnknownType {
676+ if ins != "" && strings.Count(val, ".") < 1 {
677+ val = ins + "." + val
678+ }
679+ }
680+ if stars > 0 {
681+ val = strings.Repeat("*", stars) + strings.ReplaceAll(val, "*", "")
682+ }
683+ switch kind {
684+ case ClassesType:
685+ raw = "uintptr"
686+ class = true
687+ case InterfacesType:
688+ raw = "uintptr"
689+ val += "Base"
690+ class = true
691+ }
692+ return funcRetTemplate{
693+ Raw: raw,
694+ Value: val,
695+ Class: class,
696+ RefSink: r.TransferOwnership.TransferOwnership == "none",
697+ }
698+}
A internal/gir/util/util.go +93 -0
@@ -0,0 +1,93 @@
1+// package util implements some utility functions for parsing/converting gir files
2+// TODO: Maybe some of this can more easily be done with regexes?
3+//
4+// But using regexes introduces 2 problems :^)
5+package util
6+
7+import (
8+ "path/filepath"
9+ "strings"
10+)
11+
12+// delimToCamel to camel converts a string with parts separated by `delim` to CamelCase
13+func delimToCamel(s string, delim string) string {
14+ var sb strings.Builder
15+ words := strings.Split(s, delim)
16+ for _, w := range words {
17+ sb.WriteString(strings.Title(w))
18+ }
19+ return sb.String()
20+}
21+
22+// SnakeToCamel converts hello_world to HelloWorld
23+func SnakeToCamel(s string) string {
24+ return delimToCamel(s, "_")
25+}
26+
27+// DashToCamel converts hello-world to HelloWorld
28+func DashToCamel(s string) string {
29+ return delimToCamel(s, "-")
30+}
31+
32+// RemoveSnakePrefix removes `prefix` from string `s` if that prefix ise separated with a _
33+// it removes lowercase or all u
34+func RemoveSnakePrefix(s string, prefix string) string {
35+ parts := strings.Split(s, "_")
36+ if len(parts) <= 1 {
37+ return s
38+ }
39+ if strings.EqualFold(parts[0], prefix) {
40+ parts = parts[1:]
41+ }
42+ return strings.Join(parts, "_")
43+}
44+
45+// ReplaceExtension replaces an extension from filename with ext
46+// the extension is found by splitting on "." and taking the last part
47+func ReplaceExtension(filename string, ext string) string {
48+ splt := strings.Split(filename, ".")
49+ if len(splt) == 1 {
50+ return filename
51+ }
52+ splt[len(splt)-1] = ext
53+ return strings.Join(splt, ".")
54+}
55+
56+// NormalizeNamespace converts a type to one that always includes a lowercase namespace
57+// if no namespace is found, it adds `ns`, unless if strip is True then namespaces always equaling `ns` will be removed
58+func NormalizeNamespace(ns string, gotype string, strip bool) string {
59+ if ns == "" {
60+ return ""
61+ }
62+ gotype = strings.Trim(gotype, "*")
63+ splt := strings.Split(gotype, ".")
64+ if len(splt) <= 1 {
65+ splt = append([]string{ns}, splt...)
66+ }
67+ splt[0] = strings.ToLower(splt[0])
68+ if strip && splt[0] == strings.ToLower(ns) {
69+ splt = splt[1:]
70+ }
71+ return strings.Join(splt, ".")
72+}
73+
74+// TranslateFilename translates a file path by renaming the file to a go suitable file
75+func TranslateFilename(filename string) string {
76+ if filename == "" {
77+ return "main.go"
78+ }
79+
80+ b := filepath.Base(filename)
81+ return ReplaceExtension(b, "go")
82+}
83+
84+func ConvertArgs(a []string) string {
85+ return strings.Join(a, ", ")
86+}
87+
88+func ConvertArgsComma(a []string) string {
89+ if len(a) == 0 {
90+ return ""
91+ }
92+ return ", " + strings.Join(a, ", ")
93+}
A shell.nix +26 -0
@@ -0,0 +1,26 @@
1+{ pkgs ? import <nixpkgs> {} }:
2+ pkgs.mkShell {
3+ # nativeBuildInputs is usually what you want -- tools you need to run
4+ buildInputs = [
5+ pkgs.go
6+ pkgs.godef
7+ pkgs.go-tools
8+ pkgs.vim
9+ pkgs.gofumpt
10+ pkgs.gopls
11+ pkgs.python3
12+ pkgs.libadwaita.dev
13+ pkgs.python3.pkgs.pip
14+ pkgs.gotools
15+ ];
16+ shellHook = ''
17+ # Tells pip to put packages into $PIP_PREFIX instead of the usual locations.
18+ # See https://pip.pypa.io/en/stable/user_guide/#environment-variables.
19+ export PIP_PREFIX=$(pwd)/_build/pip_packages
20+ export PYTHONPATH="$PIP_PREFIX/${pkgs.python3.sitePackages}:$PYTHONPATH"
21+ export PATH="$PIP_PREFIX/bin:$PATH"
22+ export GOPATH="$HOME/go"
23+ unset SOURCE_DATE_EPOCH
24+ '';
25+}
26+
A templates/go +264 -0
@@ -0,0 +1,264 @@
1+// Package {{.PkgName}} was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package {{.PkgName}}
3+
4+{{ $NotGObject := ne .PkgName "gobject" }}
5+
6+{{if or .Imports .NeedsInit}}
7+import (
8+ {{if .NeedsInit}}
9+ "github.com/jwijenbergh/purego"
10+ "github.com/jwijenbergh/puregotk/internal/core"
11+ {{end}}
12+ {{range .Imports -}}
13+ "github.com/jwijenbergh/puregotk/v4/{{.}}"
14+ {{end}}
15+)
16+{{end}}
17+
18+{{$outer := .}}
19+
20+{{range .Callbacks -}}
21+{{.Doc}}
22+type {{.Name}} func({{ conv .Args.Pure.Types }}) {{.Ret.Raw}}
23+{{end}}
24+
25+{{range .Records -}}
26+{{.Doc}}
27+type {{.Name}} struct {
28+ {{range .Fields}}
29+ {{.Name}} {{.Type}}
30+ {{end}}
31+}
32+{{end}}
33+
34+{{range .Interfaces -}}
35+{{.Doc}}
36+type {{.Name}} interface {
37+ GoPointer() uintptr
38+ SetGoPointer(uintptr)
39+ {{range .Methods -}}
40+ {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}}
41+ {{end}}
42+}
43+type {{.Name}}Base struct {
44+ Ptr uintptr
45+}
46+
47+func (x *{{.Name}}Base) GoPointer() uintptr {
48+ return x.Ptr
49+}
50+
51+func (x *{{.Name}}Base) SetGoPointer(ptr uintptr) {
52+ x.Ptr = ptr
53+}
54+
55+{{$outer := .}}
56+{{range .Methods -}}
57+{{.Doc}}
58+func (x *{{$outer.Name}}Base) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
59+ {{if .Ret.Class}}
60+ {{.Name}}Ptr := {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
61+ if {{.Name}}Ptr == 0 {
62+ return nil
63+ }
64+ {{if .Ret.RefSink}}
65+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
66+ {{end}}
67+ {{.Name}}Cls := {{.Ret.Instance}}{}
68+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
69+ return {{.Name}}Cls
70+ {{else if .Ret.Value}}
71+ return {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
72+ {{else}}
73+ {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
74+ {{end}}
75+}
76+{{end}}
77+
78+{{range .Methods -}}
79+var {{.Namespace}}X{{.FullName}} func(uintptr {{convc .Args.Pure.Types}}) {{.Ret.Raw}}
80+{{end}}
81+{{end}}
82+
83+{{range .Aliases -}}
84+{{.Doc}}
85+type {{.Name}} = {{.Value}}
86+{{end}}
87+
88+{{range .Enums -}}
89+{{.Doc}}
90+type {{.Name}} int
91+const (
92+{{$outer := .}}
93+{{range .Values -}}
94+ {{.Doc}}
95+ {{.Name}} {{$outer.Name}} = {{.Value}}
96+{{end}}
97+)
98+{{end}}
99+
100+{{range .Functions -}}
101+var x{{.Name}} func({{conv .Args.Pure.Types}}) {{.Ret.Raw}}
102+
103+{{.Doc}}
104+func {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
105+ {{if .Ret.Class}}
106+ {{.Name}}Ptr := x{{.Name}}({{conv .Args.API.Call}})
107+ if {{.Name}}Ptr == 0 {
108+ return nil
109+ }
110+ {{if .Ret.RefSink}}
111+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
112+ {{end}}
113+ {{.Name}}Cls := {{.Ret.Instance}}{}
114+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
115+ return {{.Name}}Cls
116+ {{else if .Ret.Value}}
117+ return x{{.Name}}({{conv .Args.API.Call}})
118+ {{else}}
119+ x{{.Name}}({{conv .Args.API.Call}})
120+ {{end}}
121+}
122+{{end}}
123+
124+{{range .Classes -}}
125+{{.Doc}}
126+type {{.Name}} struct {
127+ {{.Parent}}
128+ {{if not .Parent}}
129+ Ptr uintptr
130+ {{end}}
131+}
132+
133+{{$outer := .}}
134+func {{.Name}}NewFromInternalPtr(ptr uintptr) *{{.Name}} {
135+ cls := &{{.Name}}{}
136+ cls.Ptr = ptr
137+ return cls
138+}
139+
140+{{range .Constructors -}}
141+var x{{.Name}}{{$outer.Name}} func({{conv .Args.Pure.Types}}) {{.Ret.Raw}}
142+
143+
144+{{.Doc}}
145+func {{.Name}}{{$outer.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
146+ {{.Name}}{{$outer.Name}}Ptr := x{{.Name}}{{$outer.Name}}({{conv .Args.API.Call}})
147+ if {{.Name}}{{$outer.Name}}Ptr == 0 {
148+ return nil
149+ }
150+ {{if .Ret.RefSink}}
151+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}{{$outer.Name}}Ptr)
152+ {{end}}
153+ {{.Name}}{{$outer.Name}}Cls := {{.Ret.Instance}}{}
154+ {{.Name}}{{$outer.Name}}Cls.Ptr = {{.Name}}{{$outer.Name}}Ptr
155+ return {{.Name}}{{$outer.Name}}Cls
156+}
157+{{end}}
158+
159+{{$outer := .}}
160+{{range .Receivers -}}
161+var x{{$outer.Name}}{{.Name}} func(uintptr {{convc .Args.Pure.Types}}) {{.Ret.Raw}}
162+
163+{{.Doc}}
164+func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
165+ {{if .Ret.Class}}
166+ {{.Name}}Ptr := x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
167+ if {{.Name}}Ptr == 0 {
168+ return nil
169+ }
170+ {{if .Ret.RefSink}}
171+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
172+ {{end}}
173+ {{.Name}}Cls := {{.Ret.Instance}}{}
174+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
175+ return {{.Name}}Cls
176+ {{else if .Ret.Value}}
177+ return x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
178+ {{else}}
179+ x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
180+ {{end}}
181+}
182+{{end}}
183+
184+func (c *{{.Name}}) GoPointer() uintptr {
185+ return c.Ptr
186+}
187+
188+func (c *{{.Name}}) SetGoPointer(ptr uintptr) {
189+ c.Ptr = ptr
190+}
191+
192+{{range .Signals -}}
193+
194+{{.Doc}}
195+func (x *{{$outer.Name}}) Connect{{.Name}}(cb func({{$outer.Name}} {{convc .Args.API.Types}}) {{.Ret.Value}}) {
196+ fcb := func(clsPtr uintptr {{convc .Args.Pure.Full}}) {{.Ret.Raw}} {
197+ fa := {{$outer.Name}}{}
198+ fa.Ptr = clsPtr
199+ {{if .Ret.Class}}
200+ {{.Name}}Cls := cb(fa {{convc .Args.Pure.Call}})
201+ return {{.Name}}Cls.Ptr
202+ {{else if .Ret.Value}}
203+ return cb(fa {{convc .Args.Pure.Call}})
204+ {{else}}
205+ cb(fa {{convc .Args.Pure.Call}})
206+ {{end}}
207+ }
208+ {{if $NotGObject}}gobject.{{end}}ObjectConnect(x.GoPointer(), "signal::{{.CName}}", purego.NewCallback(fcb))
209+}
210+{{end}}
211+
212+{{range .Interfaces -}}
213+{{range .Methods -}}
214+{{.Doc}}
215+func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
216+ {{if .Ret.Class}}
217+ {{.Name}}Ptr := {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
218+ if {{.Name}}Ptr == 0 {
219+ return nil
220+ }
221+ {{if .Ret.RefSink}}
222+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
223+ {{end}}
224+ {{.Name}}Cls := {{.Ret.Instance}}{}
225+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
226+ return {{.Name}}Cls
227+ {{else if .Ret.Value}}
228+ return {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
229+ {{else}}
230+ {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
231+ {{end}}
232+}
233+{{end}}
234+{{end}}
235+
236+{{end}}
237+
238+
239+{{if .NeedsInit}}
240+
241+func init() {
242+ lib, err := purego.Dlopen(core.GetPath("{{.PkgEnv}}"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
243+ if err != nil {
244+ panic(err)
245+ }
246+ {{range .Functions -}}
247+ core.PuregoSafeRegister(&x{{.Name}}, lib, "{{.CName}}")
248+ {{end}}
249+ {{range .Classes -}}
250+ {{$cls := .}}
251+ {{range .Constructors -}}
252+ core.PuregoSafeRegister(&x{{.Name}}{{$cls.Name}}, lib, "{{.CName}}")
253+ {{end}}
254+ {{range .Receivers -}}
255+ core.PuregoSafeRegister(&x{{$cls.Name}}{{.Name}}, lib, "{{.CName}}")
256+ {{end}}
257+ {{end}}
258+ {{range .Interfaces -}}
259+ {{range .Methods -}}
260+ core.PuregoSafeRegister(&{{.Namespace}}X{{.FullName}}, lib, "{{.CName}}")
261+ {{end}}
262+ {{end}}
263+}
264+{{end}}
A templates/gobject +94 -0
@@ -0,0 +1,94 @@
1+package gobject
2+
3+import (
4+ "os"
5+ "reflect"
6+
7+ "github.com/jwijenbergh/purego"
8+ "github.com/jwijenbergh/puregotk/internal/core"
9+)
10+
11+type Ptr interface {
12+ GoPointer() uintptr
13+ SetGoPointer(uintptr)
14+}
15+
16+func ConvertPtr(a interface{}) *uintptr {
17+ if a == nil || (reflect.ValueOf(a).Kind() == reflect.Ptr && reflect.ValueOf(a).IsNil()) {
18+ return nil
19+ }
20+ ptr := reflect.ValueOf(a).Elem()
21+ v, ok := ptr.Interface().(Ptr);
22+ if !ok {
23+ panic("not valid")
24+ }
25+ g := v.GoPointer()
26+ return &g
27+}
28+
29+func IncreaseRef(a uintptr) {
30+ xObjectRefSink(a)
31+}
32+
33+func ObjectConnect(a uintptr, b string, c ...interface{}) uintptr {
34+ return xObjectConnect(a, b, c...)
35+}
36+
37+func (o Object) Cast(v Ptr) {
38+ v.SetGoPointer(o.GoPointer())
39+}
40+
41+// NewCallback is an alias to purego.NewCallback
42+func NewCallback(fn interface{}) uintptr {
43+ return purego.NewCallback(fn)
44+}
45+
46+// types
47+const (
48+ TypeInvalidVal Type = 0
49+ TypeNoneVal = 1 << 2
50+ TypeInterfaceVal = 2 << 2
51+ TypeCharVal = 3 << 2
52+ TypeUcharVal = 4 << 2
53+ TypeBooleanVal = 5 << 2
54+ TypeIntVal = 6 << 2
55+ TypeUintVal = 7 << 2
56+ TypeLongVal = 8 << 2
57+ TypeUlongVal = 9 << 2
58+ TypeInt64Val = 10 << 2
59+ TypeUint64Val = 11 << 2
60+ TypeEnumVal = 12 << 2
61+ TypeFlagsVal = 13 << 2
62+ TypeFloatVal = 14 << 2
63+ TypeDoubleVal = 15 << 2
64+ TypeStringVal = 16 << 2
65+ TypePointerVal = 17 << 2
66+ TypeBoxedVal = 18 << 2
67+ TypeParamVal = 19 << 2
68+ TypeObjectVal = 20 << 2
69+ TypeReservedGLibLastVal = 31 << 2
70+ TypeReservedBseFirstVal = 32 << 2
71+ TypeReservedBseLastVal = 48 << 2
72+ TypeReservedUserFirstVal = 49 << 2
73+)
74+
75+var xValueDupString func(*Value) string
76+
77+func (v *Value) String() string {
78+ return xValueDupString(v)
79+}
80+
81+var xValueGetInt func(*Value) int
82+
83+func (v *Value) Int() int {
84+ return xValueGetInt(v)
85+}
86+
87+func init() {
88+ lib, err := purego.Dlopen(os.Getenv("PUREGOTK_GTK_PATH"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
89+ if err != nil {
90+ panic(err)
91+ }
92+ core.PuregoSafeRegister(&xValueDupString, lib, "g_value_dup_string")
93+ core.PuregoSafeRegister(&xValueGetInt, lib, "g_value_get_int")
94+}
A v4/adw/adw-about-window.go +1220 -0
@@ -0,0 +1,1220 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gsk"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type AboutWindowClass struct {
14+ ParentClass uintptr
15+}
16+
17+var xShowAboutWindow func(uintptr, string, ...interface{})
18+
19+// A convenience function for showing an application’s about window.
20+func ShowAboutWindow(ParentVar *gtk.Window, FirstPropertyNameVar string, varArgs ...interface{}) {
21+
22+ xShowAboutWindow(ParentVar.GoPointer(), FirstPropertyNameVar, varArgs...)
23+
24+}
25+
26+// A window showing information about the application.
27+//
28+// &lt;picture&gt;
29+//
30+// &lt;source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
31+// &lt;img src="about-window.png" alt="about-window"&gt;
32+//
33+// &lt;/picture&gt;
34+//
35+// An about window is typically opened when the user activates the `About …`
36+// item in the application's primary menu. All parts of the window are optional.
37+//
38+// ## Main page
39+//
40+// `AdwAboutWindow` prominently displays the application's icon, name, developer
41+// name and version. They can be set with the [property@AboutWindow:application-icon],
42+// [property@AboutWindow:application-name],
43+// [property@AboutWindow:developer-name] and [property@AboutWindow:version]
44+// respectively.
45+//
46+// ## What's New
47+//
48+// `AdwAboutWindow` provides a way for applications to display their release
49+// notes, set with the [property@AboutWindow:release-notes] property.
50+//
51+// Release notes are formatted the same way as
52+// [AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
53+//
54+// The supported formatting options are:
55+//
56+// * Paragraph (`&lt;p&gt;`)
57+// * Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
58+// * Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
59+//
60+// Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
61+// (`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
62+// while inline code is shown in a monospaced font.
63+//
64+// Any text outside paragraphs or list items is ignored.
65+//
66+// Nested lists are not supported.
67+//
68+// Only one version can be shown at a time. By default, the displayed version
69+// number matches [property@AboutWindow:version]. Use
70+// [property@AboutWindow:release-notes-version] to override it.
71+//
72+// ## Details
73+//
74+// The Details page displays the application comments and links.
75+//
76+// The comments can be set with the [property@AboutWindow:comments] property.
77+// Unlike [property@Gtk.AboutDialog:comments], this string can be long and
78+// detailed. It can also contain links and Pango markup.
79+//
80+// To set the application website, use [property@AboutWindow:website].
81+// To add extra links below the website, use [method@AboutWindow.add_link].
82+//
83+// If the Details page doesn't have any other content besides website, the
84+// website will be displayed on the main page instead.
85+//
86+// ## Troubleshooting
87+//
88+// `AdwAboutWindow` displays the following two links on the main page:
89+//
90+// * Support Questions, set with the [property@AboutWindow:support-url] property,
91+// * Report an Issue, set with the [property@AboutWindow:issue-url] property.
92+//
93+// Additionally, applications can provide debugging information. It will be
94+// shown separately on the Troubleshooting page. Use the
95+// [property@AboutWindow:debug-info] property to specify it.
96+//
97+// It's intended to be attached to issue reports when reporting issues against
98+// the application. As such, it cannot contain markup or links.
99+//
100+// `AdwAboutWindow` provides a quick way to save debug information to a file.
101+// When saving, [property@AboutWindow:debug-info-filename] would be used as
102+// the suggested filename.
103+//
104+// ## Credits and Acknowledgements
105+//
106+// The Credits page has the following default sections:
107+//
108+// * Developers, set with the [property@AboutWindow:developers] property,
109+// * Designers, set with the [property@AboutWindow:designers] property,
110+// * Artists, set with the [property@AboutWindow:artists] property,
111+// * Documenters, set with the [property@AboutWindow:documenters] property,
112+// * Translators, set with the [property@AboutWindow:translator-credits] property.
113+//
114+// When setting translator credits, use the strings `"translator-credits"` or
115+// `"translator_credits"` and mark them as translatable.
116+//
117+// The default sections that don't contain any names won't be displayed.
118+//
119+// The Credits page can also contain an arbitrary number of extra sections below
120+// the default ones. Use [method@AboutWindow.add_credit_section] to add them.
121+//
122+// The Acknowledgements page can be used to acknowledge additional people and
123+// organizations for their non-development contributions. Use
124+// [method@AboutWindow.add_acknowledgement_section] to add sections to it. For
125+// example, it can be used to list backers in a crowdfunded project or to give
126+// special thanks.
127+//
128+// Each of the people or organizations can have an email address or a website
129+// specified. To add a email address, use a string like
130+// `Edgar Allan Poe &lt;edgar@poe.com&gt;`. To specify a website with a title, use a
131+// string like `The GNOME Project https://www.gnome.org`:
132+//
133+// &lt;picture&gt;
134+//
135+// &lt;source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)"&gt;
136+// &lt;img src="about-window-credits.png" alt="about-window-credits"&gt;
137+//
138+// &lt;/picture&gt;
139+//
140+// ## Legal
141+//
142+// The Legal page displays the copyright and licensing information for the
143+// application and other modules.
144+//
145+// The copyright string is set with the [property@AboutWindow:copyright]
146+// property and should be a short string of one or two lines, for example:
147+// `© 2022 Example`.
148+//
149+// Licensing information can be quickly set from a list of known licenses with
150+// the [property@AboutWindow:license-type] property. If the application's
151+// license is not in the list, [property@AboutWindow:license] can be used
152+// instead.
153+//
154+// To add information about other modules, such as application dependencies or
155+// data, use [method@AboutWindow.add_legal_section].
156+//
157+// ## Constructing
158+//
159+// To make constructing an `AdwAboutWindow` as convenient as possible, you can
160+// use the function [func@show_about_window] which constructs and shows a
161+// window.
162+//
163+// ```c
164+// static void
165+// show_about (GtkApplication *app)
166+//
167+// {
168+// const char *developers[] = {
169+// "Angela Avery",
170+// NULL
171+// };
172+//
173+// const char *designers[] = {
174+// "GNOME Design Team",
175+// NULL
176+// };
177+//
178+// adw_show_about_window (gtk_application_get_active_window (app),
179+// "application-name", _("Example"),
180+// "application-icon", "org.example.App",
181+// "version", "1.2.3",
182+// "copyright", "© 2022 Angela Avery",
183+// "issue-url", "https://gitlab.gnome.org/example/example/-/issues/new",
184+// "license-type", GTK_LICENSE_GPL_3_0,
185+// "developers", developers,
186+// "designers", designers,
187+// "translator-credits", _("translator-credits"),
188+// NULL);
189+// }
190+//
191+// ```
192+//
193+// ## CSS nodes
194+//
195+// `AdwAboutWindow` has a main CSS node with the name `window` and the
196+// style class `.about`.
197+type AboutWindow struct {
198+ Window
199+}
200+
201+func AboutWindowNewFromInternalPtr(ptr uintptr) *AboutWindow {
202+ cls := &AboutWindow{}
203+ cls.Ptr = ptr
204+ return cls
205+}
206+
207+var xNewAboutWindow func() uintptr
208+
209+// Creates a new `AdwAboutWindow`.
210+func NewAboutWindow() *gtk.Widget {
211+ NewAboutWindowPtr := xNewAboutWindow()
212+ if NewAboutWindowPtr == 0 {
213+ return nil
214+ }
215+
216+ gobject.IncreaseRef(NewAboutWindowPtr)
217+
218+ NewAboutWindowCls := &gtk.Widget{}
219+ NewAboutWindowCls.Ptr = NewAboutWindowPtr
220+ return NewAboutWindowCls
221+}
222+
223+var xAboutWindowAddAcknowledgementSection func(uintptr, string, uintptr)
224+
225+// Adds a section to the Acknowledgements page.
226+//
227+// This can be used to acknowledge additional people and organizations for their
228+// non-development contributions - for example, backers in a crowdfunded
229+// project.
230+//
231+// Each name may contain email addresses and URLs, see the introduction for more
232+// details.
233+//
234+// See also:
235+//
236+// * [property@AboutWindow:developers]
237+// * [property@AboutWindow:designers]
238+// * [property@AboutWindow:artists]
239+// * [property@AboutWindow:documenters]
240+// * [property@AboutWindow:translator-credits]
241+// * [method@AboutWindow.add_credit_section]
242+func (x *AboutWindow) AddAcknowledgementSection(NameVar string, PeopleVar uintptr) {
243+
244+ xAboutWindowAddAcknowledgementSection(x.GoPointer(), NameVar, PeopleVar)
245+
246+}
247+
248+var xAboutWindowAddCreditSection func(uintptr, string, uintptr)
249+
250+// Adds an extra section to the Credits page.
251+//
252+// Extra sections are displayed below the standard categories.
253+//
254+// Each name may contain email addresses and URLs, see the introduction for more
255+// details.
256+//
257+// See also:
258+//
259+// * [property@AboutWindow:developers]
260+// * [property@AboutWindow:designers]
261+// * [property@AboutWindow:artists]
262+// * [property@AboutWindow:documenters]
263+// * [property@AboutWindow:translator-credits]
264+// * [method@AboutWindow.add_acknowledgement_section]
265+func (x *AboutWindow) AddCreditSection(NameVar string, PeopleVar uintptr) {
266+
267+ xAboutWindowAddCreditSection(x.GoPointer(), NameVar, PeopleVar)
268+
269+}
270+
271+var xAboutWindowAddLegalSection func(uintptr, string, string, gtk.License, string)
272+
273+// Adds an extra section to the Legal page.
274+//
275+// Extra sections will be displayed below the application's own information.
276+//
277+// The parameters @copyright, @license_type and @license will be used to present
278+// the it the same way as [property@AboutWindow:copyright],
279+// [property@AboutWindow:license-type] and [property@AboutWindow:license] are
280+// for the application's own information.
281+//
282+// See those properties for more details.
283+//
284+// This can be useful to attribute the application dependencies or data.
285+//
286+// Examples:
287+//
288+// ```c
289+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
290+//
291+// _("Copyright and a known license"),
292+// "© 2022 Example",
293+// GTK_LICENSE_LGPL_2_1,
294+// NULL);
295+//
296+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
297+//
298+// _("Copyright and custom license"),
299+// "© 2022 Example",
300+// GTK_LICENSE_CUSTOM,
301+// "Custom license text");
302+//
303+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
304+//
305+// _("Copyright only"),
306+// "© 2022 Example",
307+// GTK_LICENSE_UNKNOWN,
308+// NULL);
309+//
310+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
311+//
312+// _("Custom license only"),
313+// NULL,
314+// GTK_LICENSE_CUSTOM,
315+// "Something completely custom here.");
316+//
317+// ```
318+func (x *AboutWindow) AddLegalSection(TitleVar string, CopyrightVar string, LicenseTypeVar gtk.License, LicenseVar string) {
319+
320+ xAboutWindowAddLegalSection(x.GoPointer(), TitleVar, CopyrightVar, LicenseTypeVar, LicenseVar)
321+
322+}
323+
324+var xAboutWindowAddLink func(uintptr, string, string)
325+
326+// Adds an extra link to the Details page.
327+//
328+// Extra links are displayed under the comment and website.
329+//
330+// Underlines in @title will be interpreted as indicating a mnemonic.
331+//
332+// See [property@AboutWindow:website].
333+func (x *AboutWindow) AddLink(TitleVar string, UrlVar string) {
334+
335+ xAboutWindowAddLink(x.GoPointer(), TitleVar, UrlVar)
336+
337+}
338+
339+var xAboutWindowGetApplicationIcon func(uintptr) string
340+
341+// Gets the name of the application icon for @self.
342+func (x *AboutWindow) GetApplicationIcon() string {
343+
344+ return xAboutWindowGetApplicationIcon(x.GoPointer())
345+
346+}
347+
348+var xAboutWindowGetApplicationName func(uintptr) string
349+
350+// Gets the application name for @self.
351+func (x *AboutWindow) GetApplicationName() string {
352+
353+ return xAboutWindowGetApplicationName(x.GoPointer())
354+
355+}
356+
357+var xAboutWindowGetArtists func(uintptr) uintptr
358+
359+// Gets the list of artists of the application.
360+func (x *AboutWindow) GetArtists() uintptr {
361+
362+ return xAboutWindowGetArtists(x.GoPointer())
363+
364+}
365+
366+var xAboutWindowGetComments func(uintptr) string
367+
368+// Gets the comments about the application.
369+func (x *AboutWindow) GetComments() string {
370+
371+ return xAboutWindowGetComments(x.GoPointer())
372+
373+}
374+
375+var xAboutWindowGetCopyright func(uintptr) string
376+
377+// Gets the copyright information for @self.
378+func (x *AboutWindow) GetCopyright() string {
379+
380+ return xAboutWindowGetCopyright(x.GoPointer())
381+
382+}
383+
384+var xAboutWindowGetDebugInfo func(uintptr) string
385+
386+// Gets the debug information for @self.
387+func (x *AboutWindow) GetDebugInfo() string {
388+
389+ return xAboutWindowGetDebugInfo(x.GoPointer())
390+
391+}
392+
393+var xAboutWindowGetDebugInfoFilename func(uintptr) string
394+
395+// Gets the debug information filename for @self.
396+func (x *AboutWindow) GetDebugInfoFilename() string {
397+
398+ return xAboutWindowGetDebugInfoFilename(x.GoPointer())
399+
400+}
401+
402+var xAboutWindowGetDesigners func(uintptr) uintptr
403+
404+// Gets the list of designers of the application.
405+func (x *AboutWindow) GetDesigners() uintptr {
406+
407+ return xAboutWindowGetDesigners(x.GoPointer())
408+
409+}
410+
411+var xAboutWindowGetDeveloperName func(uintptr) string
412+
413+// Gets the developer name for @self.
414+func (x *AboutWindow) GetDeveloperName() string {
415+
416+ return xAboutWindowGetDeveloperName(x.GoPointer())
417+
418+}
419+
420+var xAboutWindowGetDevelopers func(uintptr) uintptr
421+
422+// Gets the list of developers of the application.
423+func (x *AboutWindow) GetDevelopers() uintptr {
424+
425+ return xAboutWindowGetDevelopers(x.GoPointer())
426+
427+}
428+
429+var xAboutWindowGetDocumenters func(uintptr) uintptr
430+
431+// Gets the list of documenters of the application.
432+func (x *AboutWindow) GetDocumenters() uintptr {
433+
434+ return xAboutWindowGetDocumenters(x.GoPointer())
435+
436+}
437+
438+var xAboutWindowGetIssueUrl func(uintptr) string
439+
440+// Gets the issue tracker URL for @self.
441+func (x *AboutWindow) GetIssueUrl() string {
442+
443+ return xAboutWindowGetIssueUrl(x.GoPointer())
444+
445+}
446+
447+var xAboutWindowGetLicense func(uintptr) string
448+
449+// Gets the license for @self.
450+func (x *AboutWindow) GetLicense() string {
451+
452+ return xAboutWindowGetLicense(x.GoPointer())
453+
454+}
455+
456+var xAboutWindowGetLicenseType func(uintptr) gtk.License
457+
458+// Gets the license type for @self.
459+func (x *AboutWindow) GetLicenseType() gtk.License {
460+
461+ return xAboutWindowGetLicenseType(x.GoPointer())
462+
463+}
464+
465+var xAboutWindowGetReleaseNotes func(uintptr) string
466+
467+// Gets the release notes for @self.
468+func (x *AboutWindow) GetReleaseNotes() string {
469+
470+ return xAboutWindowGetReleaseNotes(x.GoPointer())
471+
472+}
473+
474+var xAboutWindowGetReleaseNotesVersion func(uintptr) string
475+
476+// Gets the version described by the application's release notes.
477+func (x *AboutWindow) GetReleaseNotesVersion() string {
478+
479+ return xAboutWindowGetReleaseNotesVersion(x.GoPointer())
480+
481+}
482+
483+var xAboutWindowGetSupportUrl func(uintptr) string
484+
485+// Gets the URL of the support page for @self.
486+func (x *AboutWindow) GetSupportUrl() string {
487+
488+ return xAboutWindowGetSupportUrl(x.GoPointer())
489+
490+}
491+
492+var xAboutWindowGetTranslatorCredits func(uintptr) string
493+
494+// Gets the translator credits string.
495+func (x *AboutWindow) GetTranslatorCredits() string {
496+
497+ return xAboutWindowGetTranslatorCredits(x.GoPointer())
498+
499+}
500+
501+var xAboutWindowGetVersion func(uintptr) string
502+
503+// Gets the version for @self.
504+func (x *AboutWindow) GetVersion() string {
505+
506+ return xAboutWindowGetVersion(x.GoPointer())
507+
508+}
509+
510+var xAboutWindowGetWebsite func(uintptr) string
511+
512+// Gets the application website URL for @self.
513+func (x *AboutWindow) GetWebsite() string {
514+
515+ return xAboutWindowGetWebsite(x.GoPointer())
516+
517+}
518+
519+var xAboutWindowSetApplicationIcon func(uintptr, string)
520+
521+// Sets the name of the application icon for @self.
522+//
523+// The icon is displayed at the top of the main page.
524+func (x *AboutWindow) SetApplicationIcon(ApplicationIconVar string) {
525+
526+ xAboutWindowSetApplicationIcon(x.GoPointer(), ApplicationIconVar)
527+
528+}
529+
530+var xAboutWindowSetApplicationName func(uintptr, string)
531+
532+// Sets the application name for @self.
533+//
534+// The name is displayed at the top of the main page.
535+func (x *AboutWindow) SetApplicationName(ApplicationNameVar string) {
536+
537+ xAboutWindowSetApplicationName(x.GoPointer(), ApplicationNameVar)
538+
539+}
540+
541+var xAboutWindowSetArtists func(uintptr, uintptr)
542+
543+// Sets the list of artists of the application.
544+//
545+// It will be displayed on the Credits page.
546+//
547+// Each name may contain email addresses and URLs, see the introduction for more
548+// details.
549+//
550+// See also:
551+//
552+// * [property@AboutWindow:developers]
553+// * [property@AboutWindow:designers]
554+// * [property@AboutWindow:documenters]
555+// * [property@AboutWindow:translator-credits]
556+// * [method@AboutWindow.add_credit_section]
557+// * [method@AboutWindow.add_acknowledgement_section]
558+func (x *AboutWindow) SetArtists(ArtistsVar uintptr) {
559+
560+ xAboutWindowSetArtists(x.GoPointer(), ArtistsVar)
561+
562+}
563+
564+var xAboutWindowSetComments func(uintptr, string)
565+
566+// Sets the comments about the application.
567+//
568+// Comments will be shown on the Details page, above links.
569+//
570+// Unlike [property@Gtk.AboutDialog:comments], this string can be long and
571+// detailed. It can also contain links and Pango markup.
572+func (x *AboutWindow) SetComments(CommentsVar string) {
573+
574+ xAboutWindowSetComments(x.GoPointer(), CommentsVar)
575+
576+}
577+
578+var xAboutWindowSetCopyright func(uintptr, string)
579+
580+// Sets the copyright information for @self.
581+//
582+// This should be a short string of one or two lines, for example:
583+// `© 2022 Example`.
584+//
585+// The copyright information will be displayed on the Legal page, before the
586+// application license.
587+//
588+// [method@AboutWindow.add_legal_section] can be used to add copyright
589+// information for the application dependencies or other components.
590+func (x *AboutWindow) SetCopyright(CopyrightVar string) {
591+
592+ xAboutWindowSetCopyright(x.GoPointer(), CopyrightVar)
593+
594+}
595+
596+var xAboutWindowSetDebugInfo func(uintptr, string)
597+
598+// Sets the debug information for @self.
599+//
600+// Debug information will be shown on the Troubleshooting page. It's intended
601+// to be attached to issue reports when reporting issues against the
602+// application.
603+//
604+// `AdwAboutWindow` provides a quick way to save debug information to a file.
605+// When saving, [property@AboutWindow:debug-info-filename] would be used as
606+// the suggested filename.
607+//
608+// Debug information cannot contain markup or links.
609+func (x *AboutWindow) SetDebugInfo(DebugInfoVar string) {
610+
611+ xAboutWindowSetDebugInfo(x.GoPointer(), DebugInfoVar)
612+
613+}
614+
615+var xAboutWindowSetDebugInfoFilename func(uintptr, string)
616+
617+// Sets the debug information filename for @self.
618+//
619+// It will be used as the suggested filename when saving debug information to a
620+// file.
621+//
622+// See [property@AboutWindow:debug-info].
623+func (x *AboutWindow) SetDebugInfoFilename(FilenameVar string) {
624+
625+ xAboutWindowSetDebugInfoFilename(x.GoPointer(), FilenameVar)
626+
627+}
628+
629+var xAboutWindowSetDesigners func(uintptr, uintptr)
630+
631+// Sets the list of designers of the application.
632+//
633+// It will be displayed on the Credits page.
634+//
635+// Each name may contain email addresses and URLs, see the introduction for more
636+// details.
637+//
638+// See also:
639+//
640+// * [property@AboutWindow:developers]
641+// * [property@AboutWindow:artists]
642+// * [property@AboutWindow:documenters]
643+// * [property@AboutWindow:translator-credits]
644+// * [method@AboutWindow.add_credit_section]
645+// * [method@AboutWindow.add_acknowledgement_section]
646+func (x *AboutWindow) SetDesigners(DesignersVar uintptr) {
647+
648+ xAboutWindowSetDesigners(x.GoPointer(), DesignersVar)
649+
650+}
651+
652+var xAboutWindowSetDeveloperName func(uintptr, string)
653+
654+// Sets the developer name for @self.
655+//
656+// The developer name is displayed on the main page, under the application name.
657+//
658+// If the application is developed by multiple people, the developer name can be
659+// set to values like "AppName team", "AppName developers" or
660+// "The AppName project", and the individual contributors can be listed on the
661+// Credits page, with [property@AboutWindow:developers] and related properties.
662+func (x *AboutWindow) SetDeveloperName(DeveloperNameVar string) {
663+
664+ xAboutWindowSetDeveloperName(x.GoPointer(), DeveloperNameVar)
665+
666+}
667+
668+var xAboutWindowSetDevelopers func(uintptr, uintptr)
669+
670+// Sets the list of developers of the application.
671+//
672+// It will be displayed on the Credits page.
673+//
674+// Each name may contain email addresses and URLs, see the introduction for more
675+// details.
676+//
677+// See also:
678+//
679+// * [property@AboutWindow:designers]
680+// * [property@AboutWindow:artists]
681+// * [property@AboutWindow:documenters]
682+// * [property@AboutWindow:translator-credits]
683+// * [method@AboutWindow.add_credit_section]
684+// * [method@AboutWindow.add_acknowledgement_section]
685+func (x *AboutWindow) SetDevelopers(DevelopersVar uintptr) {
686+
687+ xAboutWindowSetDevelopers(x.GoPointer(), DevelopersVar)
688+
689+}
690+
691+var xAboutWindowSetDocumenters func(uintptr, uintptr)
692+
693+// Sets the list of documenters of the application.
694+//
695+// It will be displayed on the Credits page.
696+//
697+// Each name may contain email addresses and URLs, see the introduction for more
698+// details.
699+//
700+// See also:
701+//
702+// * [property@AboutWindow:developers]
703+// * [property@AboutWindow:designers]
704+// * [property@AboutWindow:artists]
705+// * [property@AboutWindow:translator-credits]
706+// * [method@AboutWindow.add_credit_section]
707+// * [method@AboutWindow.add_acknowledgement_section]
708+func (x *AboutWindow) SetDocumenters(DocumentersVar uintptr) {
709+
710+ xAboutWindowSetDocumenters(x.GoPointer(), DocumentersVar)
711+
712+}
713+
714+var xAboutWindowSetIssueUrl func(uintptr, string)
715+
716+// Sets the issue tracker URL for @self.
717+//
718+// The issue tracker link is displayed on the main page.
719+func (x *AboutWindow) SetIssueUrl(IssueUrlVar string) {
720+
721+ xAboutWindowSetIssueUrl(x.GoPointer(), IssueUrlVar)
722+
723+}
724+
725+var xAboutWindowSetLicense func(uintptr, string)
726+
727+// Sets the license for @self.
728+//
729+// This can be used to set a custom text for the license if it can't be set via
730+// [property@AboutWindow:license-type].
731+//
732+// When set, [property@AboutWindow:license-type] will be set to
733+// `GTK_LICENSE_CUSTOM`.
734+//
735+// The license text will be displayed on the Legal page, below the copyright
736+// information.
737+//
738+// License text can contain Pango markup and links.
739+//
740+// [method@AboutWindow.add_legal_section] can be used to add license information
741+// for the application dependencies or other components.
742+func (x *AboutWindow) SetLicense(LicenseVar string) {
743+
744+ xAboutWindowSetLicense(x.GoPointer(), LicenseVar)
745+
746+}
747+
748+var xAboutWindowSetLicenseType func(uintptr, gtk.License)
749+
750+// Sets the license for @self from a list of known licenses.
751+//
752+// If the application's license is not in the list,
753+// [property@AboutWindow:license] can be used instead. The license type will be
754+// automatically set to `GTK_LICENSE_CUSTOM` in that case.
755+//
756+// If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.
757+//
758+// If @license_type is different from `GTK_LICENSE_CUSTOM`.
759+// [property@AboutWindow:license] will be cleared out.
760+//
761+// The license description will be displayed on the Legal page, below the
762+// copyright information.
763+//
764+// [method@AboutWindow.add_legal_section] can be used to add license information
765+// for the application dependencies or other components.
766+func (x *AboutWindow) SetLicenseType(LicenseTypeVar gtk.License) {
767+
768+ xAboutWindowSetLicenseType(x.GoPointer(), LicenseTypeVar)
769+
770+}
771+
772+var xAboutWindowSetReleaseNotes func(uintptr, string)
773+
774+// Sets the release notes for @self.
775+//
776+// Release notes are displayed on the the What's New page.
777+//
778+// Release notes are formatted the same way as
779+// [AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
780+//
781+// The supported formatting options are:
782+//
783+// * Paragraph (`&lt;p&gt;`)
784+// * Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
785+// * Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
786+//
787+// Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
788+// (`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
789+// while inline code is shown in a monospaced font.
790+//
791+// Any text outside paragraphs or list items is ignored.
792+//
793+// Nested lists are not supported.
794+//
795+// `AdwAboutWindow` displays the version above the release notes. If set, the
796+// [property@AboutWindow:release-notes-version] of the property will be used
797+// as the version; otherwise, [property@AboutWindow:version] is used.
798+func (x *AboutWindow) SetReleaseNotes(ReleaseNotesVar string) {
799+
800+ xAboutWindowSetReleaseNotes(x.GoPointer(), ReleaseNotesVar)
801+
802+}
803+
804+var xAboutWindowSetReleaseNotesVersion func(uintptr, string)
805+
806+// Sets the version described by the application's release notes.
807+//
808+// The release notes version is displayed on the What's New page, above the
809+// release notes.
810+//
811+// If not set, [property@AboutWindow:version] will be used instead.
812+//
813+// For example, an application with the current version 2.0.2 might want to
814+// keep the release notes from 2.0.0, and set the release notes version
815+// accordingly.
816+//
817+// See [property@AboutWindow:release-notes].
818+func (x *AboutWindow) SetReleaseNotesVersion(VersionVar string) {
819+
820+ xAboutWindowSetReleaseNotesVersion(x.GoPointer(), VersionVar)
821+
822+}
823+
824+var xAboutWindowSetSupportUrl func(uintptr, string)
825+
826+// Sets the URL of the support page for @self.
827+//
828+// The support page link is displayed on the main page.
829+func (x *AboutWindow) SetSupportUrl(SupportUrlVar string) {
830+
831+ xAboutWindowSetSupportUrl(x.GoPointer(), SupportUrlVar)
832+
833+}
834+
835+var xAboutWindowSetTranslatorCredits func(uintptr, string)
836+
837+// Sets the translator credits string.
838+//
839+// It will be displayed on the Credits page.
840+//
841+// This string should be `"translator-credits"` or `"translator_credits"` and
842+// should be marked as translatable.
843+//
844+// The string may contain email addresses and URLs, see the introduction for
845+// more details.
846+//
847+// See also:
848+//
849+// * [property@AboutWindow:developers]
850+// * [property@AboutWindow:designers]
851+// * [property@AboutWindow:artists]
852+// * [property@AboutWindow:documenters]
853+// * [method@AboutWindow.add_credit_section]
854+// * [method@AboutWindow.add_acknowledgement_section]
855+func (x *AboutWindow) SetTranslatorCredits(TranslatorCreditsVar string) {
856+
857+ xAboutWindowSetTranslatorCredits(x.GoPointer(), TranslatorCreditsVar)
858+
859+}
860+
861+var xAboutWindowSetVersion func(uintptr, string)
862+
863+// Sets the version for @self.
864+//
865+// The version is displayed on the main page.
866+//
867+// If [property@AboutWindow:release-notes-version] is not set, the version will
868+// also be displayed above the release notes on the What's New page.
869+func (x *AboutWindow) SetVersion(VersionVar string) {
870+
871+ xAboutWindowSetVersion(x.GoPointer(), VersionVar)
872+
873+}
874+
875+var xAboutWindowSetWebsite func(uintptr, string)
876+
877+// Sets the application website URL for @self.
878+//
879+// Website is displayed on the Details page, below comments, or on the main page
880+// if the Details page doesn't have any other content.
881+//
882+// Applications can add other links below, see [method@AboutWindow.add_link].
883+func (x *AboutWindow) SetWebsite(WebsiteVar string) {
884+
885+ xAboutWindowSetWebsite(x.GoPointer(), WebsiteVar)
886+
887+}
888+
889+func (c *AboutWindow) GoPointer() uintptr {
890+ return c.Ptr
891+}
892+
893+func (c *AboutWindow) SetGoPointer(ptr uintptr) {
894+ c.Ptr = ptr
895+}
896+
897+// Emitted when a URL is activated.
898+//
899+// Applications may connect to it to override the default behavior, which is
900+// to call [func@Gtk.show_uri].
901+func (x *AboutWindow) ConnectActivateLink(cb func(AboutWindow, string) bool) {
902+ fcb := func(clsPtr uintptr, UriVarp string) bool {
903+ fa := AboutWindow{}
904+ fa.Ptr = clsPtr
905+
906+ return cb(fa, UriVarp)
907+
908+ }
909+ gobject.ObjectConnect(x.GoPointer(), "signal::activate-link", purego.NewCallback(fcb))
910+}
911+
912+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
913+func (x *AboutWindow) GetAccessibleRole() gtk.AccessibleRole {
914+
915+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
916+
917+}
918+
919+// Resets the accessible @property to its default value.
920+func (x *AboutWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
921+
922+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
923+
924+}
925+
926+// Resets the accessible @relation to its default value.
927+func (x *AboutWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
928+
929+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
930+
931+}
932+
933+// Resets the accessible @state to its default value.
934+func (x *AboutWindow) ResetState(StateVar gtk.AccessibleState) {
935+
936+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
937+
938+}
939+
940+// Updates a list of accessible properties.
941+//
942+// See the [enum@Gtk.AccessibleProperty] documentation for the
943+// value types of accessible properties.
944+//
945+// This function should be called by `GtkWidget` types whenever
946+// an accessible property change must be communicated to assistive
947+// technologies.
948+//
949+// Example:
950+// ```c
951+// value = gtk_adjustment_get_value (adjustment);
952+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
953+//
954+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
955+// -1);
956+//
957+// ```
958+func (x *AboutWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
959+
960+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
961+
962+}
963+
964+// Updates an array of accessible properties.
965+//
966+// This function should be called by `GtkWidget` types whenever an accessible
967+// property change must be communicated to assistive technologies.
968+//
969+// This function is meant to be used by language bindings.
970+func (x *AboutWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
971+
972+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
973+
974+}
975+
976+// Updates a list of accessible relations.
977+//
978+// This function should be called by `GtkWidget` types whenever an accessible
979+// relation change must be communicated to assistive technologies.
980+//
981+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
982+// you should pass each reference individually, followed by %NULL, e.g.
983+//
984+// ```c
985+// gtk_accessible_update_relation (accessible,
986+//
987+// GTK_ACCESSIBLE_RELATION_CONTROLS,
988+// ref1, NULL,
989+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
990+// ref1, ref2, ref3, NULL,
991+// -1);
992+//
993+// ```
994+func (x *AboutWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
995+
996+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
997+
998+}
999+
1000+// Updates an array of accessible relations.
1001+//
1002+// This function should be called by `GtkWidget` types whenever an accessible
1003+// relation change must be communicated to assistive technologies.
1004+//
1005+// This function is meant to be used by language bindings.
1006+func (x *AboutWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
1007+
1008+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
1009+
1010+}
1011+
1012+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
1013+// documentation for the value types of accessible states.
1014+//
1015+// This function should be called by `GtkWidget` types whenever an accessible
1016+// state change must be communicated to assistive technologies.
1017+//
1018+// Example:
1019+// ```c
1020+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
1021+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
1022+//
1023+// GTK_ACCESSIBLE_STATE_CHECKED, value,
1024+// -1);
1025+//
1026+// ```
1027+func (x *AboutWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
1028+
1029+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
1030+
1031+}
1032+
1033+// Updates an array of accessible states.
1034+//
1035+// This function should be called by `GtkWidget` types whenever an accessible
1036+// state change must be communicated to assistive technologies.
1037+//
1038+// This function is meant to be used by language bindings.
1039+func (x *AboutWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
1040+
1041+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
1042+
1043+}
1044+
1045+// Gets the ID of the @buildable object.
1046+//
1047+// `GtkBuilder` sets the name based on the ID attribute
1048+// of the &lt;object&gt; tag used to construct the @buildable.
1049+func (x *AboutWindow) GetBuildableId() string {
1050+
1051+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
1052+
1053+}
1054+
1055+// Returns the renderer that is used for this `GtkNative`.
1056+func (x *AboutWindow) GetRenderer() *gsk.Renderer {
1057+
1058+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
1059+ if GetRendererPtr == 0 {
1060+ return nil
1061+ }
1062+
1063+ gobject.IncreaseRef(GetRendererPtr)
1064+
1065+ GetRendererCls := &gsk.Renderer{}
1066+ GetRendererCls.Ptr = GetRendererPtr
1067+ return GetRendererCls
1068+
1069+}
1070+
1071+// Returns the surface of this `GtkNative`.
1072+func (x *AboutWindow) GetSurface() *gdk.Surface {
1073+
1074+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
1075+ if GetSurfacePtr == 0 {
1076+ return nil
1077+ }
1078+
1079+ gobject.IncreaseRef(GetSurfacePtr)
1080+
1081+ GetSurfaceCls := &gdk.Surface{}
1082+ GetSurfaceCls.Ptr = GetSurfacePtr
1083+ return GetSurfaceCls
1084+
1085+}
1086+
1087+// Retrieves the surface transform of @self.
1088+//
1089+// This is the translation from @self's surface coordinates into
1090+// @self's widget coordinates.
1091+func (x *AboutWindow) GetSurfaceTransform(XVar float64, YVar float64) {
1092+
1093+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
1094+
1095+}
1096+
1097+// Realizes a `GtkNative`.
1098+//
1099+// This should only be used by subclasses.
1100+func (x *AboutWindow) Realize() {
1101+
1102+ gtk.XGtkNativeRealize(x.GoPointer())
1103+
1104+}
1105+
1106+// Unrealizes a `GtkNative`.
1107+//
1108+// This should only be used by subclasses.
1109+func (x *AboutWindow) Unrealize() {
1110+
1111+ gtk.XGtkNativeUnrealize(x.GoPointer())
1112+
1113+}
1114+
1115+// Returns the display that this `GtkRoot` is on.
1116+func (x *AboutWindow) GetDisplay() *gdk.Display {
1117+
1118+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
1119+ if GetDisplayPtr == 0 {
1120+ return nil
1121+ }
1122+
1123+ gobject.IncreaseRef(GetDisplayPtr)
1124+
1125+ GetDisplayCls := &gdk.Display{}
1126+ GetDisplayCls.Ptr = GetDisplayPtr
1127+ return GetDisplayCls
1128+
1129+}
1130+
1131+// Retrieves the current focused widget within the root.
1132+//
1133+// Note that this is the widget that would have the focus
1134+// if the root is active; if the root is not focused then
1135+// `gtk_widget_has_focus (widget)` will be %FALSE for the
1136+// widget.
1137+func (x *AboutWindow) GetFocus() *gtk.Widget {
1138+
1139+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
1140+ if GetFocusPtr == 0 {
1141+ return nil
1142+ }
1143+
1144+ gobject.IncreaseRef(GetFocusPtr)
1145+
1146+ GetFocusCls := &gtk.Widget{}
1147+ GetFocusCls.Ptr = GetFocusPtr
1148+ return GetFocusCls
1149+
1150+}
1151+
1152+// If @focus is not the current focus widget, and is focusable, sets
1153+// it as the focus widget for the root.
1154+//
1155+// If @focus is %NULL, unsets the focus widget for the root.
1156+//
1157+// To set the focus to a particular widget in the root, it is usually
1158+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
1159+// this function.
1160+func (x *AboutWindow) SetFocus(FocusVar *gtk.Widget) {
1161+
1162+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
1163+
1164+}
1165+
1166+func init() {
1167+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
1168+ if err != nil {
1169+ panic(err)
1170+ }
1171+ core.PuregoSafeRegister(&xShowAboutWindow, lib, "adw_show_about_window")
1172+
1173+ core.PuregoSafeRegister(&xNewAboutWindow, lib, "adw_about_window_new")
1174+
1175+ core.PuregoSafeRegister(&xAboutWindowAddAcknowledgementSection, lib, "adw_about_window_add_acknowledgement_section")
1176+ core.PuregoSafeRegister(&xAboutWindowAddCreditSection, lib, "adw_about_window_add_credit_section")
1177+ core.PuregoSafeRegister(&xAboutWindowAddLegalSection, lib, "adw_about_window_add_legal_section")
1178+ core.PuregoSafeRegister(&xAboutWindowAddLink, lib, "adw_about_window_add_link")
1179+ core.PuregoSafeRegister(&xAboutWindowGetApplicationIcon, lib, "adw_about_window_get_application_icon")
1180+ core.PuregoSafeRegister(&xAboutWindowGetApplicationName, lib, "adw_about_window_get_application_name")
1181+ core.PuregoSafeRegister(&xAboutWindowGetArtists, lib, "adw_about_window_get_artists")
1182+ core.PuregoSafeRegister(&xAboutWindowGetComments, lib, "adw_about_window_get_comments")
1183+ core.PuregoSafeRegister(&xAboutWindowGetCopyright, lib, "adw_about_window_get_copyright")
1184+ core.PuregoSafeRegister(&xAboutWindowGetDebugInfo, lib, "adw_about_window_get_debug_info")
1185+ core.PuregoSafeRegister(&xAboutWindowGetDebugInfoFilename, lib, "adw_about_window_get_debug_info_filename")
1186+ core.PuregoSafeRegister(&xAboutWindowGetDesigners, lib, "adw_about_window_get_designers")
1187+ core.PuregoSafeRegister(&xAboutWindowGetDeveloperName, lib, "adw_about_window_get_developer_name")
1188+ core.PuregoSafeRegister(&xAboutWindowGetDevelopers, lib, "adw_about_window_get_developers")
1189+ core.PuregoSafeRegister(&xAboutWindowGetDocumenters, lib, "adw_about_window_get_documenters")
1190+ core.PuregoSafeRegister(&xAboutWindowGetIssueUrl, lib, "adw_about_window_get_issue_url")
1191+ core.PuregoSafeRegister(&xAboutWindowGetLicense, lib, "adw_about_window_get_license")
1192+ core.PuregoSafeRegister(&xAboutWindowGetLicenseType, lib, "adw_about_window_get_license_type")
1193+ core.PuregoSafeRegister(&xAboutWindowGetReleaseNotes, lib, "adw_about_window_get_release_notes")
1194+ core.PuregoSafeRegister(&xAboutWindowGetReleaseNotesVersion, lib, "adw_about_window_get_release_notes_version")
1195+ core.PuregoSafeRegister(&xAboutWindowGetSupportUrl, lib, "adw_about_window_get_support_url")
1196+ core.PuregoSafeRegister(&xAboutWindowGetTranslatorCredits, lib, "adw_about_window_get_translator_credits")
1197+ core.PuregoSafeRegister(&xAboutWindowGetVersion, lib, "adw_about_window_get_version")
1198+ core.PuregoSafeRegister(&xAboutWindowGetWebsite, lib, "adw_about_window_get_website")
1199+ core.PuregoSafeRegister(&xAboutWindowSetApplicationIcon, lib, "adw_about_window_set_application_icon")
1200+ core.PuregoSafeRegister(&xAboutWindowSetApplicationName, lib, "adw_about_window_set_application_name")
1201+ core.PuregoSafeRegister(&xAboutWindowSetArtists, lib, "adw_about_window_set_artists")
1202+ core.PuregoSafeRegister(&xAboutWindowSetComments, lib, "adw_about_window_set_comments")
1203+ core.PuregoSafeRegister(&xAboutWindowSetCopyright, lib, "adw_about_window_set_copyright")
1204+ core.PuregoSafeRegister(&xAboutWindowSetDebugInfo, lib, "adw_about_window_set_debug_info")
1205+ core.PuregoSafeRegister(&xAboutWindowSetDebugInfoFilename, lib, "adw_about_window_set_debug_info_filename")
1206+ core.PuregoSafeRegister(&xAboutWindowSetDesigners, lib, "adw_about_window_set_designers")
1207+ core.PuregoSafeRegister(&xAboutWindowSetDeveloperName, lib, "adw_about_window_set_developer_name")
1208+ core.PuregoSafeRegister(&xAboutWindowSetDevelopers, lib, "adw_about_window_set_developers")
1209+ core.PuregoSafeRegister(&xAboutWindowSetDocumenters, lib, "adw_about_window_set_documenters")
1210+ core.PuregoSafeRegister(&xAboutWindowSetIssueUrl, lib, "adw_about_window_set_issue_url")
1211+ core.PuregoSafeRegister(&xAboutWindowSetLicense, lib, "adw_about_window_set_license")
1212+ core.PuregoSafeRegister(&xAboutWindowSetLicenseType, lib, "adw_about_window_set_license_type")
1213+ core.PuregoSafeRegister(&xAboutWindowSetReleaseNotes, lib, "adw_about_window_set_release_notes")
1214+ core.PuregoSafeRegister(&xAboutWindowSetReleaseNotesVersion, lib, "adw_about_window_set_release_notes_version")
1215+ core.PuregoSafeRegister(&xAboutWindowSetSupportUrl, lib, "adw_about_window_set_support_url")
1216+ core.PuregoSafeRegister(&xAboutWindowSetTranslatorCredits, lib, "adw_about_window_set_translator_credits")
1217+ core.PuregoSafeRegister(&xAboutWindowSetVersion, lib, "adw_about_window_set_version")
1218+ core.PuregoSafeRegister(&xAboutWindowSetWebsite, lib, "adw_about_window_set_website")
1219+
1220+}
A v4/adw/adw-action-row.go +524 -0
@@ -0,0 +1,524 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type ActionRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to present actions.
19+//
20+// &lt;picture&gt;
21+//
22+// &lt;source srcset="action-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
23+// &lt;img src="action-row.png" alt="action-row"&gt;
24+//
25+// &lt;/picture&gt;
26+//
27+// The `AdwActionRow` widget can have a title, a subtitle and an icon. The row
28+// can receive additional widgets at its end, or prefix widgets at its start.
29+//
30+// It is convenient to present a preference and its related actions.
31+//
32+// `AdwActionRow` is unactivatable by default, giving it an activatable widget
33+// will automatically make it activatable, but unsetting it won't change the
34+// row's activatability.
35+//
36+// ## AdwActionRow as GtkBuildable
37+//
38+// The `AdwActionRow` implementation of the [iface@Gtk.Buildable] interface
39+// supports adding a child at its end by specifying “suffix” or omitting the
40+// “type” attribute of a &lt;child&gt; element.
41+//
42+// It also supports adding a child as a prefix widget by specifying “prefix” as
43+// the “type” attribute of a &lt;child&gt; element.
44+//
45+// ## CSS nodes
46+//
47+// `AdwActionRow` has a main CSS node with name `row`.
48+//
49+// It contains the subnode `box.header` for its main horizontal box, and
50+// `box.title` for the vertical box containing the title and subtitle labels.
51+//
52+// It contains subnodes `label.title` and `label.subtitle` representing
53+// respectively the title label and subtitle label.
54+type ActionRow struct {
55+ PreferencesRow
56+}
57+
58+func ActionRowNewFromInternalPtr(ptr uintptr) *ActionRow {
59+ cls := &ActionRow{}
60+ cls.Ptr = ptr
61+ return cls
62+}
63+
64+var xNewActionRow func() uintptr
65+
66+// Creates a new `AdwActionRow`.
67+func NewActionRow() *gtk.Widget {
68+ NewActionRowPtr := xNewActionRow()
69+ if NewActionRowPtr == 0 {
70+ return nil
71+ }
72+
73+ gobject.IncreaseRef(NewActionRowPtr)
74+
75+ NewActionRowCls := &gtk.Widget{}
76+ NewActionRowCls.Ptr = NewActionRowPtr
77+ return NewActionRowCls
78+}
79+
80+var xActionRowActivate func(uintptr)
81+
82+// Activates @self.
83+func (x *ActionRow) Activate() {
84+
85+ xActionRowActivate(x.GoPointer())
86+
87+}
88+
89+var xActionRowAddPrefix func(uintptr, uintptr)
90+
91+// Adds a prefix widget to @self.
92+func (x *ActionRow) AddPrefix(WidgetVar *gtk.Widget) {
93+
94+ xActionRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
95+
96+}
97+
98+var xActionRowAddSuffix func(uintptr, uintptr)
99+
100+// Adds a suffix widget to @self.
101+func (x *ActionRow) AddSuffix(WidgetVar *gtk.Widget) {
102+
103+ xActionRowAddSuffix(x.GoPointer(), WidgetVar.GoPointer())
104+
105+}
106+
107+var xActionRowGetActivatableWidget func(uintptr) uintptr
108+
109+// Gets the widget activated when @self is activated.
110+func (x *ActionRow) GetActivatableWidget() *gtk.Widget {
111+
112+ GetActivatableWidgetPtr := xActionRowGetActivatableWidget(x.GoPointer())
113+ if GetActivatableWidgetPtr == 0 {
114+ return nil
115+ }
116+
117+ gobject.IncreaseRef(GetActivatableWidgetPtr)
118+
119+ GetActivatableWidgetCls := &gtk.Widget{}
120+ GetActivatableWidgetCls.Ptr = GetActivatableWidgetPtr
121+ return GetActivatableWidgetCls
122+
123+}
124+
125+var xActionRowGetIconName func(uintptr) string
126+
127+// Gets the icon name for @self.
128+func (x *ActionRow) GetIconName() string {
129+
130+ return xActionRowGetIconName(x.GoPointer())
131+
132+}
133+
134+var xActionRowGetSubtitle func(uintptr) string
135+
136+// Gets the subtitle for @self.
137+func (x *ActionRow) GetSubtitle() string {
138+
139+ return xActionRowGetSubtitle(x.GoPointer())
140+
141+}
142+
143+var xActionRowGetSubtitleLines func(uintptr) int32
144+
145+// Gets the number of lines at the end of which the subtitle label will be
146+// ellipsized.
147+func (x *ActionRow) GetSubtitleLines() int32 {
148+
149+ return xActionRowGetSubtitleLines(x.GoPointer())
150+
151+}
152+
153+var xActionRowGetSubtitleSelectable func(uintptr) bool
154+
155+// Gets whether the user can copy the subtitle from the label
156+func (x *ActionRow) GetSubtitleSelectable() bool {
157+
158+ return xActionRowGetSubtitleSelectable(x.GoPointer())
159+
160+}
161+
162+var xActionRowGetTitleLines func(uintptr) int32
163+
164+// Gets the number of lines at the end of which the title label will be
165+// ellipsized.
166+func (x *ActionRow) GetTitleLines() int32 {
167+
168+ return xActionRowGetTitleLines(x.GoPointer())
169+
170+}
171+
172+var xActionRowRemove func(uintptr, uintptr)
173+
174+// Removes a child from @self.
175+func (x *ActionRow) Remove(WidgetVar *gtk.Widget) {
176+
177+ xActionRowRemove(x.GoPointer(), WidgetVar.GoPointer())
178+
179+}
180+
181+var xActionRowSetActivatableWidget func(uintptr, uintptr)
182+
183+// Sets the widget to activate when @self is activated.
184+//
185+// The row can be activated either by clicking on it, calling
186+// [method@ActionRow.activate], or via mnemonics in the title.
187+// See the [property@PreferencesRow:use-underline] property to enable mnemonics.
188+//
189+// The target widget will be activated by emitting the
190+// [signal@Gtk.Widget::mnemonic-activate] signal on it.
191+func (x *ActionRow) SetActivatableWidget(WidgetVar *gtk.Widget) {
192+
193+ xActionRowSetActivatableWidget(x.GoPointer(), WidgetVar.GoPointer())
194+
195+}
196+
197+var xActionRowSetIconName func(uintptr, string)
198+
199+// Sets the icon name for @self.
200+func (x *ActionRow) SetIconName(IconNameVar string) {
201+
202+ xActionRowSetIconName(x.GoPointer(), IconNameVar)
203+
204+}
205+
206+var xActionRowSetSubtitle func(uintptr, string)
207+
208+// Sets the subtitle for @self.
209+//
210+// The subtitle is interpreted as Pango markup unless
211+// [property@PreferencesRow:use-markup] is set to `FALSE`.
212+func (x *ActionRow) SetSubtitle(SubtitleVar string) {
213+
214+ xActionRowSetSubtitle(x.GoPointer(), SubtitleVar)
215+
216+}
217+
218+var xActionRowSetSubtitleLines func(uintptr, int32)
219+
220+// Sets the number of lines at the end of which the subtitle label will be
221+// ellipsized.
222+//
223+// If the value is 0, the number of lines won't be limited.
224+func (x *ActionRow) SetSubtitleLines(SubtitleLinesVar int32) {
225+
226+ xActionRowSetSubtitleLines(x.GoPointer(), SubtitleLinesVar)
227+
228+}
229+
230+var xActionRowSetSubtitleSelectable func(uintptr, bool)
231+
232+// Sets whether the user can copy the subtitle from the label
233+//
234+// See also [property@Gtk.Label:selectable].
235+func (x *ActionRow) SetSubtitleSelectable(SubtitleSelectableVar bool) {
236+
237+ xActionRowSetSubtitleSelectable(x.GoPointer(), SubtitleSelectableVar)
238+
239+}
240+
241+var xActionRowSetTitleLines func(uintptr, int32)
242+
243+// Sets the number of lines at the end of which the title label will be
244+// ellipsized.
245+//
246+// If the value is 0, the number of lines won't be limited.
247+func (x *ActionRow) SetTitleLines(TitleLinesVar int32) {
248+
249+ xActionRowSetTitleLines(x.GoPointer(), TitleLinesVar)
250+
251+}
252+
253+func (c *ActionRow) GoPointer() uintptr {
254+ return c.Ptr
255+}
256+
257+func (c *ActionRow) SetGoPointer(ptr uintptr) {
258+ c.Ptr = ptr
259+}
260+
261+// This signal is emitted after the row has been activated.
262+func (x *ActionRow) ConnectActivated(cb func(ActionRow)) {
263+ fcb := func(clsPtr uintptr) {
264+ fa := ActionRow{}
265+ fa.Ptr = clsPtr
266+
267+ cb(fa)
268+
269+ }
270+ gobject.ObjectConnect(x.GoPointer(), "signal::activated", purego.NewCallback(fcb))
271+}
272+
273+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
274+func (x *ActionRow) GetAccessibleRole() gtk.AccessibleRole {
275+
276+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
277+
278+}
279+
280+// Resets the accessible @property to its default value.
281+func (x *ActionRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
282+
283+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
284+
285+}
286+
287+// Resets the accessible @relation to its default value.
288+func (x *ActionRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
289+
290+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
291+
292+}
293+
294+// Resets the accessible @state to its default value.
295+func (x *ActionRow) ResetState(StateVar gtk.AccessibleState) {
296+
297+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
298+
299+}
300+
301+// Updates a list of accessible properties.
302+//
303+// See the [enum@Gtk.AccessibleProperty] documentation for the
304+// value types of accessible properties.
305+//
306+// This function should be called by `GtkWidget` types whenever
307+// an accessible property change must be communicated to assistive
308+// technologies.
309+//
310+// Example:
311+// ```c
312+// value = gtk_adjustment_get_value (adjustment);
313+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
314+//
315+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
316+// -1);
317+//
318+// ```
319+func (x *ActionRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
320+
321+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
322+
323+}
324+
325+// Updates an array of accessible properties.
326+//
327+// This function should be called by `GtkWidget` types whenever an accessible
328+// property change must be communicated to assistive technologies.
329+//
330+// This function is meant to be used by language bindings.
331+func (x *ActionRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
332+
333+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
334+
335+}
336+
337+// Updates a list of accessible relations.
338+//
339+// This function should be called by `GtkWidget` types whenever an accessible
340+// relation change must be communicated to assistive technologies.
341+//
342+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
343+// you should pass each reference individually, followed by %NULL, e.g.
344+//
345+// ```c
346+// gtk_accessible_update_relation (accessible,
347+//
348+// GTK_ACCESSIBLE_RELATION_CONTROLS,
349+// ref1, NULL,
350+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
351+// ref1, ref2, ref3, NULL,
352+// -1);
353+//
354+// ```
355+func (x *ActionRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
356+
357+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
358+
359+}
360+
361+// Updates an array of accessible relations.
362+//
363+// This function should be called by `GtkWidget` types whenever an accessible
364+// relation change must be communicated to assistive technologies.
365+//
366+// This function is meant to be used by language bindings.
367+func (x *ActionRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
368+
369+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
370+
371+}
372+
373+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
374+// documentation for the value types of accessible states.
375+//
376+// This function should be called by `GtkWidget` types whenever an accessible
377+// state change must be communicated to assistive technologies.
378+//
379+// Example:
380+// ```c
381+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
382+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
383+//
384+// GTK_ACCESSIBLE_STATE_CHECKED, value,
385+// -1);
386+//
387+// ```
388+func (x *ActionRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
389+
390+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
391+
392+}
393+
394+// Updates an array of accessible states.
395+//
396+// This function should be called by `GtkWidget` types whenever an accessible
397+// state change must be communicated to assistive technologies.
398+//
399+// This function is meant to be used by language bindings.
400+func (x *ActionRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
401+
402+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
403+
404+}
405+
406+// Gets the action name for @actionable.
407+func (x *ActionRow) GetActionName() string {
408+
409+ return gtk.XGtkActionableGetActionName(x.GoPointer())
410+
411+}
412+
413+// Gets the current target value of @actionable.
414+func (x *ActionRow) GetActionTargetValue() *glib.Variant {
415+
416+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
417+
418+}
419+
420+// Specifies the name of the action with which this widget should be
421+// associated.
422+//
423+// If @action_name is %NULL then the widget will be unassociated from
424+// any previous action.
425+//
426+// Usually this function is used when the widget is located (or will be
427+// located) within the hierarchy of a `GtkApplicationWindow`.
428+//
429+// Names are of the form “win.save” or “app.quit” for actions on the
430+// containing [class@ApplicationWindow] or its associated [class@Application],
431+// respectively. This is the same form used for actions in the [class@Gio.Menu]
432+// associated with the window.
433+func (x *ActionRow) SetActionName(ActionNameVar string) {
434+
435+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
436+
437+}
438+
439+// Sets the target of an actionable widget.
440+//
441+// This is a convenience function that calls [ctor@GLib.Variant.new] for
442+// @format_string and uses the result to call
443+// [method@Gtk.Actionable.set_action_target_value].
444+//
445+// If you are setting a string-valued target and want to set
446+// the action name at the same time, you can use
447+// [method@Gtk.Actionable.set_detailed_action_name].
448+func (x *ActionRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
449+
450+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
451+
452+}
453+
454+// Sets the target value of an actionable widget.
455+//
456+// If @target_value is %NULL then the target value is unset.
457+//
458+// The target value has two purposes. First, it is used as the parameter
459+// to activation of the action associated with the `GtkActionable` widget.
460+// Second, it is used to determine if the widget should be rendered as
461+// “active” — the widget is active if the state is equal to the given target.
462+//
463+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
464+// with string state in a typical “radio button” situation. Each button
465+// will be associated with the same action, but with a different target
466+// value for that action. Clicking on a particular button will activate
467+// the action with the target of that button, which will typically cause
468+// the action’s state to change to that value. Since the action’s state
469+// is now equal to the target value of the button, the button will now
470+// be rendered as active (and the other buttons, with different targets,
471+// rendered inactive).
472+func (x *ActionRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
473+
474+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
475+
476+}
477+
478+// Sets the action-name and associated string target value of an
479+// actionable widget.
480+//
481+// @detailed_action_name is a string in the format accepted by
482+// [func@Gio.Action.parse_detailed_name].
483+func (x *ActionRow) SetDetailedActionName(DetailedActionNameVar string) {
484+
485+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
486+
487+}
488+
489+// Gets the ID of the @buildable object.
490+//
491+// `GtkBuilder` sets the name based on the ID attribute
492+// of the &lt;object&gt; tag used to construct the @buildable.
493+func (x *ActionRow) GetBuildableId() string {
494+
495+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
496+
497+}
498+
499+func init() {
500+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
501+ if err != nil {
502+ panic(err)
503+ }
504+
505+ core.PuregoSafeRegister(&xNewActionRow, lib, "adw_action_row_new")
506+
507+ core.PuregoSafeRegister(&xActionRowActivate, lib, "adw_action_row_activate")
508+ core.PuregoSafeRegister(&xActionRowAddPrefix, lib, "adw_action_row_add_prefix")
509+ core.PuregoSafeRegister(&xActionRowAddSuffix, lib, "adw_action_row_add_suffix")
510+ core.PuregoSafeRegister(&xActionRowGetActivatableWidget, lib, "adw_action_row_get_activatable_widget")
511+ core.PuregoSafeRegister(&xActionRowGetIconName, lib, "adw_action_row_get_icon_name")
512+ core.PuregoSafeRegister(&xActionRowGetSubtitle, lib, "adw_action_row_get_subtitle")
513+ core.PuregoSafeRegister(&xActionRowGetSubtitleLines, lib, "adw_action_row_get_subtitle_lines")
514+ core.PuregoSafeRegister(&xActionRowGetSubtitleSelectable, lib, "adw_action_row_get_subtitle_selectable")
515+ core.PuregoSafeRegister(&xActionRowGetTitleLines, lib, "adw_action_row_get_title_lines")
516+ core.PuregoSafeRegister(&xActionRowRemove, lib, "adw_action_row_remove")
517+ core.PuregoSafeRegister(&xActionRowSetActivatableWidget, lib, "adw_action_row_set_activatable_widget")
518+ core.PuregoSafeRegister(&xActionRowSetIconName, lib, "adw_action_row_set_icon_name")
519+ core.PuregoSafeRegister(&xActionRowSetSubtitle, lib, "adw_action_row_set_subtitle")
520+ core.PuregoSafeRegister(&xActionRowSetSubtitleLines, lib, "adw_action_row_set_subtitle_lines")
521+ core.PuregoSafeRegister(&xActionRowSetSubtitleSelectable, lib, "adw_action_row_set_subtitle_selectable")
522+ core.PuregoSafeRegister(&xActionRowSetTitleLines, lib, "adw_action_row_set_title_lines")
523+
524+}
A v4/adw/adw-animation-target.go +181 -0
@@ -0,0 +1,181 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+)
10+
11+// Prototype for animation targets based on user callbacks.
12+type AnimationTargetFunc func(float64, uintptr)
13+
14+type AnimationTargetClass struct {
15+}
16+
17+type CallbackAnimationTargetClass struct {
18+}
19+
20+type PropertyAnimationTargetClass struct {
21+}
22+
23+// Represents a value [class@Animation] can animate.
24+type AnimationTarget struct {
25+ gobject.Object
26+}
27+
28+func AnimationTargetNewFromInternalPtr(ptr uintptr) *AnimationTarget {
29+ cls := &AnimationTarget{}
30+ cls.Ptr = ptr
31+ return cls
32+}
33+
34+func (c *AnimationTarget) GoPointer() uintptr {
35+ return c.Ptr
36+}
37+
38+func (c *AnimationTarget) SetGoPointer(ptr uintptr) {
39+ c.Ptr = ptr
40+}
41+
42+// An [class@AnimationTarget] that calls a given callback during the
43+// animation.
44+type CallbackAnimationTarget struct {
45+ AnimationTarget
46+}
47+
48+func CallbackAnimationTargetNewFromInternalPtr(ptr uintptr) *CallbackAnimationTarget {
49+ cls := &CallbackAnimationTarget{}
50+ cls.Ptr = ptr
51+ return cls
52+}
53+
54+var xNewCallbackAnimationTarget func(uintptr, uintptr, uintptr) uintptr
55+
56+// Creates a new `AdwAnimationTarget` that calls the given @callback during
57+// the animation.
58+func NewCallbackAnimationTarget(CallbackVar AnimationTargetFunc, UserDataVar uintptr, DestroyVar glib.DestroyNotify) *AnimationTarget {
59+ NewCallbackAnimationTargetPtr := xNewCallbackAnimationTarget(purego.NewCallback(CallbackVar), UserDataVar, purego.NewCallback(DestroyVar))
60+ if NewCallbackAnimationTargetPtr == 0 {
61+ return nil
62+ }
63+
64+ NewCallbackAnimationTargetCls := &AnimationTarget{}
65+ NewCallbackAnimationTargetCls.Ptr = NewCallbackAnimationTargetPtr
66+ return NewCallbackAnimationTargetCls
67+}
68+
69+func (c *CallbackAnimationTarget) GoPointer() uintptr {
70+ return c.Ptr
71+}
72+
73+func (c *CallbackAnimationTarget) SetGoPointer(ptr uintptr) {
74+ c.Ptr = ptr
75+}
76+
77+// An [class@AnimationTarget] changing the value of a property of a
78+// [class@GObject.Object] instance.
79+type PropertyAnimationTarget struct {
80+ AnimationTarget
81+}
82+
83+func PropertyAnimationTargetNewFromInternalPtr(ptr uintptr) *PropertyAnimationTarget {
84+ cls := &PropertyAnimationTarget{}
85+ cls.Ptr = ptr
86+ return cls
87+}
88+
89+var xNewPropertyAnimationTarget func(uintptr, string) uintptr
90+
91+// Creates a new `AdwPropertyAnimationTarget` for the @property_name property on
92+// @object.
93+func NewPropertyAnimationTarget(ObjectVar *gobject.Object, PropertyNameVar string) *AnimationTarget {
94+ NewPropertyAnimationTargetPtr := xNewPropertyAnimationTarget(ObjectVar.GoPointer(), PropertyNameVar)
95+ if NewPropertyAnimationTargetPtr == 0 {
96+ return nil
97+ }
98+
99+ NewPropertyAnimationTargetCls := &AnimationTarget{}
100+ NewPropertyAnimationTargetCls.Ptr = NewPropertyAnimationTargetPtr
101+ return NewPropertyAnimationTargetCls
102+}
103+
104+var xNewForPspecPropertyAnimationTarget func(uintptr, uintptr) uintptr
105+
106+// Creates a new `AdwPropertyAnimationTarget` for the @pspec property on
107+// @object.
108+func NewForPspecPropertyAnimationTarget(ObjectVar *gobject.Object, PspecVar *gobject.ParamSpec) *AnimationTarget {
109+ NewForPspecPropertyAnimationTargetPtr := xNewForPspecPropertyAnimationTarget(ObjectVar.GoPointer(), PspecVar.GoPointer())
110+ if NewForPspecPropertyAnimationTargetPtr == 0 {
111+ return nil
112+ }
113+
114+ NewForPspecPropertyAnimationTargetCls := &AnimationTarget{}
115+ NewForPspecPropertyAnimationTargetCls.Ptr = NewForPspecPropertyAnimationTargetPtr
116+ return NewForPspecPropertyAnimationTargetCls
117+}
118+
119+var xPropertyAnimationTargetGetObject func(uintptr) uintptr
120+
121+// Gets the object animated by @self.
122+//
123+// The `AdwPropertyAnimationTarget` instance does not hold a strong reference on
124+// the object; make sure the object is kept alive throughout the target's
125+// lifetime.
126+func (x *PropertyAnimationTarget) GetObject() *gobject.Object {
127+
128+ GetObjectPtr := xPropertyAnimationTargetGetObject(x.GoPointer())
129+ if GetObjectPtr == 0 {
130+ return nil
131+ }
132+
133+ gobject.IncreaseRef(GetObjectPtr)
134+
135+ GetObjectCls := &gobject.Object{}
136+ GetObjectCls.Ptr = GetObjectPtr
137+ return GetObjectCls
138+
139+}
140+
141+var xPropertyAnimationTargetGetPspec func(uintptr) uintptr
142+
143+// Gets the `GParamSpec` of the property animated by @self.
144+func (x *PropertyAnimationTarget) GetPspec() *gobject.ParamSpec {
145+
146+ GetPspecPtr := xPropertyAnimationTargetGetPspec(x.GoPointer())
147+ if GetPspecPtr == 0 {
148+ return nil
149+ }
150+
151+ gobject.IncreaseRef(GetPspecPtr)
152+
153+ GetPspecCls := &gobject.ParamSpec{}
154+ GetPspecCls.Ptr = GetPspecPtr
155+ return GetPspecCls
156+
157+}
158+
159+func (c *PropertyAnimationTarget) GoPointer() uintptr {
160+ return c.Ptr
161+}
162+
163+func (c *PropertyAnimationTarget) SetGoPointer(ptr uintptr) {
164+ c.Ptr = ptr
165+}
166+
167+func init() {
168+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
169+ if err != nil {
170+ panic(err)
171+ }
172+
173+ core.PuregoSafeRegister(&xNewCallbackAnimationTarget, lib, "adw_callback_animation_target_new")
174+
175+ core.PuregoSafeRegister(&xNewPropertyAnimationTarget, lib, "adw_property_animation_target_new")
176+ core.PuregoSafeRegister(&xNewForPspecPropertyAnimationTarget, lib, "adw_property_animation_target_new_for_pspec")
177+
178+ core.PuregoSafeRegister(&xPropertyAnimationTargetGetObject, lib, "adw_property_animation_target_get_object")
179+ core.PuregoSafeRegister(&xPropertyAnimationTargetGetPspec, lib, "adw_property_animation_target_get_pspec")
180+
181+}
A v4/adw/adw-animation-util.go +39 -0
@@ -0,0 +1,39 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gtk"
8+)
9+
10+var xGetEnableAnimations func(uintptr) bool
11+
12+// Checks whether animations are enabled for @widget.
13+//
14+// This should be used when implementing an animated widget to know whether to
15+// animate it or not.
16+func GetEnableAnimations(WidgetVar *gtk.Widget) bool {
17+
18+ return xGetEnableAnimations(WidgetVar.GoPointer())
19+
20+}
21+
22+var xLerp func(float64, float64, float64) float64
23+
24+// Computes the linear interpolation between @a and @b for @t.
25+func Lerp(AVar float64, BVar float64, TVar float64) float64 {
26+
27+ return xLerp(AVar, BVar, TVar)
28+
29+}
30+
31+func init() {
32+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
33+ if err != nil {
34+ panic(err)
35+ }
36+ core.PuregoSafeRegister(&xGetEnableAnimations, lib, "adw_get_enable_animations")
37+ core.PuregoSafeRegister(&xLerp, lib, "adw_lerp")
38+
39+}
A v4/adw/adw-animation.go +307 -0
@@ -0,0 +1,307 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type AnimationClass struct {
12+}
13+
14+// Describes the possible states of an [class@Animation].
15+//
16+// The state can be controlled with [method@Animation.play],
17+// [method@Animation.pause], [method@Animation.resume],
18+// [method@Animation.reset] and [method@Animation.skip].
19+type AnimationState int
20+
21+const (
22+
23+ // The animation hasn't started yet.
24+ AnimationIdleValue AnimationState = 0
25+ // The animation has been paused.
26+ AnimationPausedValue AnimationState = 1
27+ // The animation is currently playing.
28+ AnimationPlayingValue AnimationState = 2
29+ // The animation has finished.
30+ AnimationFinishedValue AnimationState = 3
31+)
32+
33+// A base class for animations.
34+//
35+// `AdwAnimation` represents an animation on a widget. It has a target that
36+// provides a value to animate, and a state indicating whether the
37+// animation hasn't been started yet, is playing, paused or finished.
38+//
39+// Currently there are two concrete animation types:
40+// [class@TimedAnimation] and [class@SpringAnimation].
41+//
42+// `AdwAnimation` will automatically skip the animation if
43+// [property@Animation:widget] is unmapped, or if
44+// [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
45+//
46+// The [signal@Animation::done] signal can be used to perform an action after
47+// the animation ends, for example hiding a widget after animating its
48+// [property@Gtk.Widget:opacity] to 0.
49+//
50+// `AdwAnimation` will be kept alive while the animation is playing. As such,
51+// it's safe to create an animation, start it and immediately unref it:
52+// A fire-and-forget animation:
53+//
54+// ```c
55+// static void
56+// animation_cb (double value,
57+//
58+// MyObject *self)
59+//
60+// {
61+// // Do something with @value
62+// }
63+//
64+// static void
65+// my_object_animate (MyObject *self)
66+//
67+// {
68+// AdwAnimationTarget *target =
69+// adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb,
70+// self, NULL);
71+// g_autoptr (AdwAnimation) animation =
72+// adw_timed_animation_new (widget, 0, 1, 250, target);
73+//
74+// adw_animation_play (animation);
75+// }
76+//
77+// ```
78+//
79+// If there's a chance the previous animation for the same target hasn't yet
80+// finished, the previous animation should be stopped first, or the existing
81+// `AdwAnimation` object can be reused.
82+type Animation struct {
83+ gobject.Object
84+}
85+
86+func AnimationNewFromInternalPtr(ptr uintptr) *Animation {
87+ cls := &Animation{}
88+ cls.Ptr = ptr
89+ return cls
90+}
91+
92+var xAnimationGetFollowEnableAnimationsSetting func(uintptr) bool
93+
94+// Gets whether @self should be skipped when animations are globally disabled.
95+func (x *Animation) GetFollowEnableAnimationsSetting() bool {
96+
97+ return xAnimationGetFollowEnableAnimationsSetting(x.GoPointer())
98+
99+}
100+
101+var xAnimationGetState func(uintptr) AnimationState
102+
103+// Gets the current value of @self.
104+//
105+// The state indicates whether @self is currently playing, paused, finished or
106+// hasn't been started yet.
107+func (x *Animation) GetState() AnimationState {
108+
109+ return xAnimationGetState(x.GoPointer())
110+
111+}
112+
113+var xAnimationGetTarget func(uintptr) uintptr
114+
115+// Gets the target @self animates.
116+func (x *Animation) GetTarget() *AnimationTarget {
117+
118+ GetTargetPtr := xAnimationGetTarget(x.GoPointer())
119+ if GetTargetPtr == 0 {
120+ return nil
121+ }
122+
123+ gobject.IncreaseRef(GetTargetPtr)
124+
125+ GetTargetCls := &AnimationTarget{}
126+ GetTargetCls.Ptr = GetTargetPtr
127+ return GetTargetCls
128+
129+}
130+
131+var xAnimationGetValue func(uintptr) float64
132+
133+// Gets the current value of @self.
134+func (x *Animation) GetValue() float64 {
135+
136+ return xAnimationGetValue(x.GoPointer())
137+
138+}
139+
140+var xAnimationGetWidget func(uintptr) uintptr
141+
142+// Gets the widget @self was created for.
143+//
144+// It provides the frame clock for the animation. It's not strictly necessary
145+// for this widget to be same as the one being animated.
146+//
147+// The widget must be mapped in order for the animation to work. If it's not
148+// mapped, or if it gets unmapped during an ongoing animation, the animation
149+// will be automatically skipped.
150+func (x *Animation) GetWidget() *gtk.Widget {
151+
152+ GetWidgetPtr := xAnimationGetWidget(x.GoPointer())
153+ if GetWidgetPtr == 0 {
154+ return nil
155+ }
156+
157+ gobject.IncreaseRef(GetWidgetPtr)
158+
159+ GetWidgetCls := &gtk.Widget{}
160+ GetWidgetCls.Ptr = GetWidgetPtr
161+ return GetWidgetCls
162+
163+}
164+
165+var xAnimationPause func(uintptr)
166+
167+// Pauses a playing animation for @self.
168+//
169+// Does nothing if the current state of @self isn't `ADW_ANIMATION_PLAYING`.
170+//
171+// Sets [property@Animation:state] to `ADW_ANIMATION_PAUSED`.
172+func (x *Animation) Pause() {
173+
174+ xAnimationPause(x.GoPointer())
175+
176+}
177+
178+var xAnimationPlay func(uintptr)
179+
180+// Starts the animation for @self.
181+//
182+// If the animation is playing, paused or has been completed, restarts it from
183+// the beginning. This allows to easily play an animation regardless of whether
184+// it's already playing or not.
185+//
186+// Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.
187+//
188+// The animation will be automatically skipped if [property@Animation:widget] is
189+// unmapped, or if [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
190+//
191+// As such, it's not guaranteed that the animation will actually run. For
192+// example, when using [func@GLib.idle_add] and starting an animation
193+// immediately afterwards, it's entirely possible that the idle callback will
194+// run after the animation has already finished, and not while it's playing.
195+func (x *Animation) Play() {
196+
197+ xAnimationPlay(x.GoPointer())
198+
199+}
200+
201+var xAnimationReset func(uintptr)
202+
203+// Resets the animation for @self.
204+//
205+// Sets [property@Animation:state] to `ADW_ANIMATION_IDLE`.
206+func (x *Animation) Reset() {
207+
208+ xAnimationReset(x.GoPointer())
209+
210+}
211+
212+var xAnimationResume func(uintptr)
213+
214+// Resumes a paused animation for @self.
215+//
216+// This function must only be used if the animation has been paused with
217+// [method@Animation.pause].
218+//
219+// Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.
220+func (x *Animation) Resume() {
221+
222+ xAnimationResume(x.GoPointer())
223+
224+}
225+
226+var xAnimationSetFollowEnableAnimationsSetting func(uintptr, bool)
227+
228+// Sets whether to skip @self when animations are globally disabled.
229+//
230+// The default behavior is to skip the animation. Set to `FALSE` to disable this
231+// behavior.
232+//
233+// This can be useful for cases where animation is essential, like spinners, or
234+// in demo applications. Most other animations should keep it enabled.
235+//
236+// See [property@Gtk.Settings:gtk-enable-animations].
237+func (x *Animation) SetFollowEnableAnimationsSetting(SettingVar bool) {
238+
239+ xAnimationSetFollowEnableAnimationsSetting(x.GoPointer(), SettingVar)
240+
241+}
242+
243+var xAnimationSetTarget func(uintptr, uintptr)
244+
245+// Sets the target @self animates to @target.
246+func (x *Animation) SetTarget(TargetVar *AnimationTarget) {
247+
248+ xAnimationSetTarget(x.GoPointer(), TargetVar.GoPointer())
249+
250+}
251+
252+var xAnimationSkip func(uintptr)
253+
254+// Skips the animation for @self.
255+//
256+// If the animation hasn't been started yet, is playing, or is paused, instantly
257+// skips the animation to the end and causes [signal@Animation::done] to be
258+// emitted.
259+//
260+// Sets [property@Animation:state] to `ADW_ANIMATION_FINISHED`.
261+func (x *Animation) Skip() {
262+
263+ xAnimationSkip(x.GoPointer())
264+
265+}
266+
267+func (c *Animation) GoPointer() uintptr {
268+ return c.Ptr
269+}
270+
271+func (c *Animation) SetGoPointer(ptr uintptr) {
272+ c.Ptr = ptr
273+}
274+
275+// This signal is emitted when the animation has been completed, either on its
276+// own or via calling [method@Animation.skip].
277+func (x *Animation) ConnectDone(cb func(Animation)) {
278+ fcb := func(clsPtr uintptr) {
279+ fa := Animation{}
280+ fa.Ptr = clsPtr
281+
282+ cb(fa)
283+
284+ }
285+ gobject.ObjectConnect(x.GoPointer(), "signal::done", purego.NewCallback(fcb))
286+}
287+
288+func init() {
289+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
290+ if err != nil {
291+ panic(err)
292+ }
293+
294+ core.PuregoSafeRegister(&xAnimationGetFollowEnableAnimationsSetting, lib, "adw_animation_get_follow_enable_animations_setting")
295+ core.PuregoSafeRegister(&xAnimationGetState, lib, "adw_animation_get_state")
296+ core.PuregoSafeRegister(&xAnimationGetTarget, lib, "adw_animation_get_target")
297+ core.PuregoSafeRegister(&xAnimationGetValue, lib, "adw_animation_get_value")
298+ core.PuregoSafeRegister(&xAnimationGetWidget, lib, "adw_animation_get_widget")
299+ core.PuregoSafeRegister(&xAnimationPause, lib, "adw_animation_pause")
300+ core.PuregoSafeRegister(&xAnimationPlay, lib, "adw_animation_play")
301+ core.PuregoSafeRegister(&xAnimationReset, lib, "adw_animation_reset")
302+ core.PuregoSafeRegister(&xAnimationResume, lib, "adw_animation_resume")
303+ core.PuregoSafeRegister(&xAnimationSetFollowEnableAnimationsSetting, lib, "adw_animation_set_follow_enable_animations_setting")
304+ core.PuregoSafeRegister(&xAnimationSetTarget, lib, "adw_animation_set_target")
305+ core.PuregoSafeRegister(&xAnimationSkip, lib, "adw_animation_skip")
306+
307+}
A v4/adw/adw-application-window.go +686 -0
@@ -0,0 +1,686 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gio"
9+ "github.com/jwijenbergh/puregotk/v4/glib"
10+ "github.com/jwijenbergh/puregotk/v4/gobject"
11+ "github.com/jwijenbergh/puregotk/v4/gsk"
12+ "github.com/jwijenbergh/puregotk/v4/gtk"
13+)
14+
15+type ApplicationWindowClass struct {
16+ ParentClass uintptr
17+
18+ Padding uintptr
19+}
20+
21+// A freeform application window.
22+//
23+// &lt;picture&gt;
24+//
25+// &lt;source srcset="application-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
26+// &lt;img src="application-window.png" alt="application-window"&gt;
27+//
28+// &lt;/picture&gt;
29+//
30+// `AdwApplicationWindow` is a [class@Gtk.ApplicationWindow] subclass providing
31+// the same features as [class@Window].
32+//
33+// See [class@Window] for details.
34+//
35+// Using [property@Gtk.Application:menubar] is not supported and may result in
36+// visual glitches.
37+type ApplicationWindow struct {
38+ gtk.ApplicationWindow
39+}
40+
41+func ApplicationWindowNewFromInternalPtr(ptr uintptr) *ApplicationWindow {
42+ cls := &ApplicationWindow{}
43+ cls.Ptr = ptr
44+ return cls
45+}
46+
47+var xNewApplicationWindow func(uintptr) uintptr
48+
49+// Creates a new `AdwApplicationWindow` for @app.
50+func NewApplicationWindow(AppVar *gtk.Application) *gtk.Widget {
51+ NewApplicationWindowPtr := xNewApplicationWindow(AppVar.GoPointer())
52+ if NewApplicationWindowPtr == 0 {
53+ return nil
54+ }
55+
56+ gobject.IncreaseRef(NewApplicationWindowPtr)
57+
58+ NewApplicationWindowCls := &gtk.Widget{}
59+ NewApplicationWindowCls.Ptr = NewApplicationWindowPtr
60+ return NewApplicationWindowCls
61+}
62+
63+var xApplicationWindowGetContent func(uintptr) uintptr
64+
65+// Gets the content widget of @self.
66+//
67+// This method should always be used instead of [method@Gtk.Window.get_child].
68+func (x *ApplicationWindow) GetContent() *gtk.Widget {
69+
70+ GetContentPtr := xApplicationWindowGetContent(x.GoPointer())
71+ if GetContentPtr == 0 {
72+ return nil
73+ }
74+
75+ gobject.IncreaseRef(GetContentPtr)
76+
77+ GetContentCls := &gtk.Widget{}
78+ GetContentCls.Ptr = GetContentPtr
79+ return GetContentCls
80+
81+}
82+
83+var xApplicationWindowSetContent func(uintptr, uintptr)
84+
85+// Sets the content widget of @self.
86+//
87+// This method should always be used instead of [method@Gtk.Window.set_child].
88+func (x *ApplicationWindow) SetContent(ContentVar *gtk.Widget) {
89+
90+ xApplicationWindowSetContent(x.GoPointer(), ContentVar.GoPointer())
91+
92+}
93+
94+func (c *ApplicationWindow) GoPointer() uintptr {
95+ return c.Ptr
96+}
97+
98+func (c *ApplicationWindow) SetGoPointer(ptr uintptr) {
99+ c.Ptr = ptr
100+}
101+
102+// Emits the #GActionGroup::action-added signal on @action_group.
103+//
104+// This function should only be called by #GActionGroup implementations.
105+func (x *ApplicationWindow) ActionAdded(ActionNameVar string) {
106+
107+ gio.XGActionGroupActionAdded(x.GoPointer(), ActionNameVar)
108+
109+}
110+
111+// Emits the #GActionGroup::action-enabled-changed signal on @action_group.
112+//
113+// This function should only be called by #GActionGroup implementations.
114+func (x *ApplicationWindow) ActionEnabledChanged(ActionNameVar string, EnabledVar bool) {
115+
116+ gio.XGActionGroupActionEnabledChanged(x.GoPointer(), ActionNameVar, EnabledVar)
117+
118+}
119+
120+// Emits the #GActionGroup::action-removed signal on @action_group.
121+//
122+// This function should only be called by #GActionGroup implementations.
123+func (x *ApplicationWindow) ActionRemoved(ActionNameVar string) {
124+
125+ gio.XGActionGroupActionRemoved(x.GoPointer(), ActionNameVar)
126+
127+}
128+
129+// Emits the #GActionGroup::action-state-changed signal on @action_group.
130+//
131+// This function should only be called by #GActionGroup implementations.
132+func (x *ApplicationWindow) ActionStateChanged(ActionNameVar string, StateVar *glib.Variant) {
133+
134+ gio.XGActionGroupActionStateChanged(x.GoPointer(), ActionNameVar, StateVar)
135+
136+}
137+
138+// Activate the named action within @action_group.
139+//
140+// If the action is expecting a parameter, then the correct type of
141+// parameter must be given as @parameter. If the action is expecting no
142+// parameters then @parameter must be %NULL. See
143+// g_action_group_get_action_parameter_type().
144+//
145+// If the #GActionGroup implementation supports asynchronous remote
146+// activation over D-Bus, this call may return before the relevant
147+// D-Bus traffic has been sent, or any replies have been received. In
148+// order to block on such asynchronous activation calls,
149+// g_dbus_connection_flush() should be called prior to the code, which
150+// depends on the result of the action activation. Without flushing
151+// the D-Bus connection, there is no guarantee that the action would
152+// have been activated.
153+//
154+// The following code which runs in a remote app instance, shows an
155+// example of a "quit" action being activated on the primary app
156+// instance over D-Bus. Here g_dbus_connection_flush() is called
157+// before `exit()`. Without g_dbus_connection_flush(), the "quit" action
158+// may fail to be activated on the primary instance.
159+//
160+// |[&lt;!-- language="C" --&gt;
161+// // call "quit" action on primary instance
162+// g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
163+//
164+// // make sure the action is activated now
165+// g_dbus_connection_flush (...);
166+//
167+// g_debug ("application has been terminated. exiting.");
168+//
169+// exit (0);
170+// ]|
171+func (x *ApplicationWindow) ActivateAction(ActionNameVar string, ParameterVar *glib.Variant) {
172+
173+ gio.XGActionGroupActivateAction(x.GoPointer(), ActionNameVar, ParameterVar)
174+
175+}
176+
177+// Request for the state of the named action within @action_group to be
178+// changed to @value.
179+//
180+// The action must be stateful and @value must be of the correct type.
181+// See g_action_group_get_action_state_type().
182+//
183+// This call merely requests a change. The action may refuse to change
184+// its state or may change its state to something other than @value.
185+// See g_action_group_get_action_state_hint().
186+//
187+// If the @value GVariant is floating, it is consumed.
188+func (x *ApplicationWindow) ChangeActionState(ActionNameVar string, ValueVar *glib.Variant) {
189+
190+ gio.XGActionGroupChangeActionState(x.GoPointer(), ActionNameVar, ValueVar)
191+
192+}
193+
194+// Checks if the named action within @action_group is currently enabled.
195+//
196+// An action must be enabled in order to be activated or in order to
197+// have its state changed from outside callers.
198+func (x *ApplicationWindow) GetActionEnabled(ActionNameVar string) bool {
199+
200+ return gio.XGActionGroupGetActionEnabled(x.GoPointer(), ActionNameVar)
201+
202+}
203+
204+// Queries the type of the parameter that must be given when activating
205+// the named action within @action_group.
206+//
207+// When activating the action using g_action_group_activate_action(),
208+// the #GVariant given to that function must be of the type returned
209+// by this function.
210+//
211+// In the case that this function returns %NULL, you must not give any
212+// #GVariant, but %NULL instead.
213+//
214+// The parameter type of a particular action will never change but it is
215+// possible for an action to be removed and for a new action to be added
216+// with the same name but a different parameter type.
217+func (x *ApplicationWindow) GetActionParameterType(ActionNameVar string) *glib.VariantType {
218+
219+ return gio.XGActionGroupGetActionParameterType(x.GoPointer(), ActionNameVar)
220+
221+}
222+
223+// Queries the current state of the named action within @action_group.
224+//
225+// If the action is not stateful then %NULL will be returned. If the
226+// action is stateful then the type of the return value is the type
227+// given by g_action_group_get_action_state_type().
228+//
229+// The return value (if non-%NULL) should be freed with
230+// g_variant_unref() when it is no longer required.
231+func (x *ApplicationWindow) GetActionState(ActionNameVar string) *glib.Variant {
232+
233+ return gio.XGActionGroupGetActionState(x.GoPointer(), ActionNameVar)
234+
235+}
236+
237+// Requests a hint about the valid range of values for the state of the
238+// named action within @action_group.
239+//
240+// If %NULL is returned it either means that the action is not stateful
241+// or that there is no hint about the valid range of values for the
242+// state of the action.
243+//
244+// If a #GVariant array is returned then each item in the array is a
245+// possible value for the state. If a #GVariant pair (ie: two-tuple) is
246+// returned then the tuple specifies the inclusive lower and upper bound
247+// of valid values for the state.
248+//
249+// In any case, the information is merely a hint. It may be possible to
250+// have a state value outside of the hinted range and setting a value
251+// within the range may fail.
252+//
253+// The return value (if non-%NULL) should be freed with
254+// g_variant_unref() when it is no longer required.
255+func (x *ApplicationWindow) GetActionStateHint(ActionNameVar string) *glib.Variant {
256+
257+ return gio.XGActionGroupGetActionStateHint(x.GoPointer(), ActionNameVar)
258+
259+}
260+
261+// Queries the type of the state of the named action within
262+// @action_group.
263+//
264+// If the action is stateful then this function returns the
265+// #GVariantType of the state. All calls to
266+// g_action_group_change_action_state() must give a #GVariant of this
267+// type and g_action_group_get_action_state() will return a #GVariant
268+// of the same type.
269+//
270+// If the action is not stateful then this function will return %NULL.
271+// In that case, g_action_group_get_action_state() will return %NULL
272+// and you must not call g_action_group_change_action_state().
273+//
274+// The state type of a particular action will never change but it is
275+// possible for an action to be removed and for a new action to be added
276+// with the same name but a different state type.
277+func (x *ApplicationWindow) GetActionStateType(ActionNameVar string) *glib.VariantType {
278+
279+ return gio.XGActionGroupGetActionStateType(x.GoPointer(), ActionNameVar)
280+
281+}
282+
283+// Checks if the named action exists within @action_group.
284+func (x *ApplicationWindow) HasAction(ActionNameVar string) bool {
285+
286+ return gio.XGActionGroupHasAction(x.GoPointer(), ActionNameVar)
287+
288+}
289+
290+// Lists the actions contained within @action_group.
291+//
292+// The caller is responsible for freeing the list with g_strfreev() when
293+// it is no longer required.
294+func (x *ApplicationWindow) ListActions() uintptr {
295+
296+ return gio.XGActionGroupListActions(x.GoPointer())
297+
298+}
299+
300+// Queries all aspects of the named action within an @action_group.
301+//
302+// This function acquires the information available from
303+// g_action_group_has_action(), g_action_group_get_action_enabled(),
304+// g_action_group_get_action_parameter_type(),
305+// g_action_group_get_action_state_type(),
306+// g_action_group_get_action_state_hint() and
307+// g_action_group_get_action_state() with a single function call.
308+//
309+// This provides two main benefits.
310+//
311+// The first is the improvement in efficiency that comes with not having
312+// to perform repeated lookups of the action in order to discover
313+// different things about it. The second is that implementing
314+// #GActionGroup can now be done by only overriding this one virtual
315+// function.
316+//
317+// The interface provides a default implementation of this function that
318+// calls the individual functions, as required, to fetch the
319+// information. The interface also provides default implementations of
320+// those functions that call this function. All implementations,
321+// therefore, must override either this function or all of the others.
322+//
323+// If the action exists, %TRUE is returned and any of the requested
324+// fields (as indicated by having a non-%NULL reference passed in) are
325+// filled. If the action doesn't exist, %FALSE is returned and the
326+// fields may or may not have been modified.
327+func (x *ApplicationWindow) QueryAction(ActionNameVar string, EnabledVar bool, ParameterTypeVar **glib.VariantType, StateTypeVar **glib.VariantType, StateHintVar **glib.Variant, StateVar **glib.Variant) bool {
328+
329+ return gio.XGActionGroupQueryAction(x.GoPointer(), ActionNameVar, EnabledVar, ParameterTypeVar, StateTypeVar, StateHintVar, StateVar)
330+
331+}
332+
333+// Adds an action to the @action_map.
334+//
335+// If the action map already contains an action with the same name
336+// as @action then the old action is dropped from the action map.
337+//
338+// The action map takes its own reference on @action.
339+func (x *ApplicationWindow) AddAction(ActionVar gio.Action) {
340+
341+ gio.XGActionMapAddAction(x.GoPointer(), ActionVar.GoPointer())
342+
343+}
344+
345+// A convenience function for creating multiple #GSimpleAction instances
346+// and adding them to a #GActionMap.
347+//
348+// Each action is constructed as per one #GActionEntry.
349+//
350+// |[&lt;!-- language="C" --&gt;
351+// static void
352+// activate_quit (GSimpleAction *simple,
353+//
354+// GVariant *parameter,
355+// gpointer user_data)
356+//
357+// {
358+// exit (0);
359+// }
360+//
361+// static void
362+// activate_print_string (GSimpleAction *simple,
363+//
364+// GVariant *parameter,
365+// gpointer user_data)
366+//
367+// {
368+// g_print ("%s\n", g_variant_get_string (parameter, NULL));
369+// }
370+//
371+// static GActionGroup *
372+// create_action_group (void)
373+//
374+// {
375+// const GActionEntry entries[] = {
376+// { "quit", activate_quit },
377+// { "print-string", activate_print_string, "s" }
378+// };
379+// GSimpleActionGroup *group;
380+//
381+// group = g_simple_action_group_new ();
382+// g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
383+//
384+// return G_ACTION_GROUP (group);
385+// }
386+//
387+// ]|
388+func (x *ApplicationWindow) AddActionEntries(EntriesVar uintptr, NEntriesVar int32, UserDataVar uintptr) {
389+
390+ gio.XGActionMapAddActionEntries(x.GoPointer(), EntriesVar, NEntriesVar, UserDataVar)
391+
392+}
393+
394+// Looks up the action with the name @action_name in @action_map.
395+//
396+// If no such action exists, returns %NULL.
397+func (x *ApplicationWindow) LookupAction(ActionNameVar string) *gio.ActionBase {
398+
399+ LookupActionPtr := gio.XGActionMapLookupAction(x.GoPointer(), ActionNameVar)
400+ if LookupActionPtr == 0 {
401+ return nil
402+ }
403+
404+ gobject.IncreaseRef(LookupActionPtr)
405+
406+ LookupActionCls := &gio.ActionBase{}
407+ LookupActionCls.Ptr = LookupActionPtr
408+ return LookupActionCls
409+
410+}
411+
412+// Removes the named action from the action map.
413+//
414+// If no action of this name is in the map then nothing happens.
415+func (x *ApplicationWindow) RemoveAction(ActionNameVar string) {
416+
417+ gio.XGActionMapRemoveAction(x.GoPointer(), ActionNameVar)
418+
419+}
420+
421+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
422+func (x *ApplicationWindow) GetAccessibleRole() gtk.AccessibleRole {
423+
424+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
425+
426+}
427+
428+// Resets the accessible @property to its default value.
429+func (x *ApplicationWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
430+
431+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
432+
433+}
434+
435+// Resets the accessible @relation to its default value.
436+func (x *ApplicationWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
437+
438+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
439+
440+}
441+
442+// Resets the accessible @state to its default value.
443+func (x *ApplicationWindow) ResetState(StateVar gtk.AccessibleState) {
444+
445+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
446+
447+}
448+
449+// Updates a list of accessible properties.
450+//
451+// See the [enum@Gtk.AccessibleProperty] documentation for the
452+// value types of accessible properties.
453+//
454+// This function should be called by `GtkWidget` types whenever
455+// an accessible property change must be communicated to assistive
456+// technologies.
457+//
458+// Example:
459+// ```c
460+// value = gtk_adjustment_get_value (adjustment);
461+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
462+//
463+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
464+// -1);
465+//
466+// ```
467+func (x *ApplicationWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
468+
469+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
470+
471+}
472+
473+// Updates an array of accessible properties.
474+//
475+// This function should be called by `GtkWidget` types whenever an accessible
476+// property change must be communicated to assistive technologies.
477+//
478+// This function is meant to be used by language bindings.
479+func (x *ApplicationWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
480+
481+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
482+
483+}
484+
485+// Updates a list of accessible relations.
486+//
487+// This function should be called by `GtkWidget` types whenever an accessible
488+// relation change must be communicated to assistive technologies.
489+//
490+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
491+// you should pass each reference individually, followed by %NULL, e.g.
492+//
493+// ```c
494+// gtk_accessible_update_relation (accessible,
495+//
496+// GTK_ACCESSIBLE_RELATION_CONTROLS,
497+// ref1, NULL,
498+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
499+// ref1, ref2, ref3, NULL,
500+// -1);
501+//
502+// ```
503+func (x *ApplicationWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
504+
505+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
506+
507+}
508+
509+// Updates an array of accessible relations.
510+//
511+// This function should be called by `GtkWidget` types whenever an accessible
512+// relation change must be communicated to assistive technologies.
513+//
514+// This function is meant to be used by language bindings.
515+func (x *ApplicationWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
516+
517+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
518+
519+}
520+
521+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
522+// documentation for the value types of accessible states.
523+//
524+// This function should be called by `GtkWidget` types whenever an accessible
525+// state change must be communicated to assistive technologies.
526+//
527+// Example:
528+// ```c
529+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
530+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
531+//
532+// GTK_ACCESSIBLE_STATE_CHECKED, value,
533+// -1);
534+//
535+// ```
536+func (x *ApplicationWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
537+
538+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
539+
540+}
541+
542+// Updates an array of accessible states.
543+//
544+// This function should be called by `GtkWidget` types whenever an accessible
545+// state change must be communicated to assistive technologies.
546+//
547+// This function is meant to be used by language bindings.
548+func (x *ApplicationWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
549+
550+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
551+
552+}
553+
554+// Gets the ID of the @buildable object.
555+//
556+// `GtkBuilder` sets the name based on the ID attribute
557+// of the &lt;object&gt; tag used to construct the @buildable.
558+func (x *ApplicationWindow) GetBuildableId() string {
559+
560+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
561+
562+}
563+
564+// Returns the renderer that is used for this `GtkNative`.
565+func (x *ApplicationWindow) GetRenderer() *gsk.Renderer {
566+
567+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
568+ if GetRendererPtr == 0 {
569+ return nil
570+ }
571+
572+ gobject.IncreaseRef(GetRendererPtr)
573+
574+ GetRendererCls := &gsk.Renderer{}
575+ GetRendererCls.Ptr = GetRendererPtr
576+ return GetRendererCls
577+
578+}
579+
580+// Returns the surface of this `GtkNative`.
581+func (x *ApplicationWindow) GetSurface() *gdk.Surface {
582+
583+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
584+ if GetSurfacePtr == 0 {
585+ return nil
586+ }
587+
588+ gobject.IncreaseRef(GetSurfacePtr)
589+
590+ GetSurfaceCls := &gdk.Surface{}
591+ GetSurfaceCls.Ptr = GetSurfacePtr
592+ return GetSurfaceCls
593+
594+}
595+
596+// Retrieves the surface transform of @self.
597+//
598+// This is the translation from @self's surface coordinates into
599+// @self's widget coordinates.
600+func (x *ApplicationWindow) GetSurfaceTransform(XVar float64, YVar float64) {
601+
602+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
603+
604+}
605+
606+// Realizes a `GtkNative`.
607+//
608+// This should only be used by subclasses.
609+func (x *ApplicationWindow) Realize() {
610+
611+ gtk.XGtkNativeRealize(x.GoPointer())
612+
613+}
614+
615+// Unrealizes a `GtkNative`.
616+//
617+// This should only be used by subclasses.
618+func (x *ApplicationWindow) Unrealize() {
619+
620+ gtk.XGtkNativeUnrealize(x.GoPointer())
621+
622+}
623+
624+// Returns the display that this `GtkRoot` is on.
625+func (x *ApplicationWindow) GetDisplay() *gdk.Display {
626+
627+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
628+ if GetDisplayPtr == 0 {
629+ return nil
630+ }
631+
632+ gobject.IncreaseRef(GetDisplayPtr)
633+
634+ GetDisplayCls := &gdk.Display{}
635+ GetDisplayCls.Ptr = GetDisplayPtr
636+ return GetDisplayCls
637+
638+}
639+
640+// Retrieves the current focused widget within the root.
641+//
642+// Note that this is the widget that would have the focus
643+// if the root is active; if the root is not focused then
644+// `gtk_widget_has_focus (widget)` will be %FALSE for the
645+// widget.
646+func (x *ApplicationWindow) GetFocus() *gtk.Widget {
647+
648+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
649+ if GetFocusPtr == 0 {
650+ return nil
651+ }
652+
653+ gobject.IncreaseRef(GetFocusPtr)
654+
655+ GetFocusCls := &gtk.Widget{}
656+ GetFocusCls.Ptr = GetFocusPtr
657+ return GetFocusCls
658+
659+}
660+
661+// If @focus is not the current focus widget, and is focusable, sets
662+// it as the focus widget for the root.
663+//
664+// If @focus is %NULL, unsets the focus widget for the root.
665+//
666+// To set the focus to a particular widget in the root, it is usually
667+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
668+// this function.
669+func (x *ApplicationWindow) SetFocus(FocusVar *gtk.Widget) {
670+
671+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
672+
673+}
674+
675+func init() {
676+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
677+ if err != nil {
678+ panic(err)
679+ }
680+
681+ core.PuregoSafeRegister(&xNewApplicationWindow, lib, "adw_application_window_new")
682+
683+ core.PuregoSafeRegister(&xApplicationWindowGetContent, lib, "adw_application_window_get_content")
684+ core.PuregoSafeRegister(&xApplicationWindowSetContent, lib, "adw_application_window_set_content")
685+
686+}
A v4/adw/adw-application.go +433 -0
@@ -0,0 +1,433 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type ApplicationClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A base class for Adwaita applications.
20+//
21+// `AdwApplication` handles library initialization by calling [func@init] in the
22+// default [signal@Gio.Application::startup] signal handler, in turn chaining up
23+// as required by [class@Gtk.Application]. Therefore, any subclass of
24+// `AdwApplication` should always chain up its `startup` handler before using
25+// any Adwaita or GTK API.
26+//
27+// ## Automatic Resources
28+//
29+// `AdwApplication` will automatically load stylesheets located in the
30+// application's resource base path (see
31+// [method@Gio.Application.set_resource_base_path], if they're present.
32+//
33+// They can be used to add custom styles to the application, as follows:
34+//
35+// - `style.css` contains styles that are always present.
36+//
37+// - `style-dark.css` contains styles only used when
38+// [property@StyleManager:dark] is `TRUE`.
39+//
40+// - `style-hc.css` contains styles used when the system high contrast
41+// preference is enabled.
42+//
43+// - `style-hc-dark.css` contains styles used when the system high contrast
44+// preference is enabled and [property@StyleManager:dark] is `TRUE`.
45+type Application struct {
46+ gtk.Application
47+}
48+
49+func ApplicationNewFromInternalPtr(ptr uintptr) *Application {
50+ cls := &Application{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewApplication func(string, gio.ApplicationFlags) uintptr
56+
57+// Creates a new `AdwApplication`.
58+//
59+// If `application_id` is not `NULL`, then it must be valid. See
60+// [func@Gio.Application.id_is_valid].
61+//
62+// If no application ID is given then some features (most notably application
63+// uniqueness) will be disabled.
64+func NewApplication(ApplicationIdVar string, FlagsVar gio.ApplicationFlags) *Application {
65+ NewApplicationPtr := xNewApplication(ApplicationIdVar, FlagsVar)
66+ if NewApplicationPtr == 0 {
67+ return nil
68+ }
69+
70+ NewApplicationCls := &Application{}
71+ NewApplicationCls.Ptr = NewApplicationPtr
72+ return NewApplicationCls
73+}
74+
75+var xApplicationGetStyleManager func(uintptr) uintptr
76+
77+// Gets the style manager for @self.
78+//
79+// This is a convenience property allowing to access `AdwStyleManager` through
80+// property bindings or expressions.
81+func (x *Application) GetStyleManager() *StyleManager {
82+
83+ GetStyleManagerPtr := xApplicationGetStyleManager(x.GoPointer())
84+ if GetStyleManagerPtr == 0 {
85+ return nil
86+ }
87+
88+ gobject.IncreaseRef(GetStyleManagerPtr)
89+
90+ GetStyleManagerCls := &StyleManager{}
91+ GetStyleManagerCls.Ptr = GetStyleManagerPtr
92+ return GetStyleManagerCls
93+
94+}
95+
96+func (c *Application) GoPointer() uintptr {
97+ return c.Ptr
98+}
99+
100+func (c *Application) SetGoPointer(ptr uintptr) {
101+ c.Ptr = ptr
102+}
103+
104+// Emits the #GActionGroup::action-added signal on @action_group.
105+//
106+// This function should only be called by #GActionGroup implementations.
107+func (x *Application) ActionAdded(ActionNameVar string) {
108+
109+ gio.XGActionGroupActionAdded(x.GoPointer(), ActionNameVar)
110+
111+}
112+
113+// Emits the #GActionGroup::action-enabled-changed signal on @action_group.
114+//
115+// This function should only be called by #GActionGroup implementations.
116+func (x *Application) ActionEnabledChanged(ActionNameVar string, EnabledVar bool) {
117+
118+ gio.XGActionGroupActionEnabledChanged(x.GoPointer(), ActionNameVar, EnabledVar)
119+
120+}
121+
122+// Emits the #GActionGroup::action-removed signal on @action_group.
123+//
124+// This function should only be called by #GActionGroup implementations.
125+func (x *Application) ActionRemoved(ActionNameVar string) {
126+
127+ gio.XGActionGroupActionRemoved(x.GoPointer(), ActionNameVar)
128+
129+}
130+
131+// Emits the #GActionGroup::action-state-changed signal on @action_group.
132+//
133+// This function should only be called by #GActionGroup implementations.
134+func (x *Application) ActionStateChanged(ActionNameVar string, StateVar *glib.Variant) {
135+
136+ gio.XGActionGroupActionStateChanged(x.GoPointer(), ActionNameVar, StateVar)
137+
138+}
139+
140+// Activate the named action within @action_group.
141+//
142+// If the action is expecting a parameter, then the correct type of
143+// parameter must be given as @parameter. If the action is expecting no
144+// parameters then @parameter must be %NULL. See
145+// g_action_group_get_action_parameter_type().
146+//
147+// If the #GActionGroup implementation supports asynchronous remote
148+// activation over D-Bus, this call may return before the relevant
149+// D-Bus traffic has been sent, or any replies have been received. In
150+// order to block on such asynchronous activation calls,
151+// g_dbus_connection_flush() should be called prior to the code, which
152+// depends on the result of the action activation. Without flushing
153+// the D-Bus connection, there is no guarantee that the action would
154+// have been activated.
155+//
156+// The following code which runs in a remote app instance, shows an
157+// example of a "quit" action being activated on the primary app
158+// instance over D-Bus. Here g_dbus_connection_flush() is called
159+// before `exit()`. Without g_dbus_connection_flush(), the "quit" action
160+// may fail to be activated on the primary instance.
161+//
162+// |[&lt;!-- language="C" --&gt;
163+// // call "quit" action on primary instance
164+// g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
165+//
166+// // make sure the action is activated now
167+// g_dbus_connection_flush (...);
168+//
169+// g_debug ("application has been terminated. exiting.");
170+//
171+// exit (0);
172+// ]|
173+func (x *Application) ActivateAction(ActionNameVar string, ParameterVar *glib.Variant) {
174+
175+ gio.XGActionGroupActivateAction(x.GoPointer(), ActionNameVar, ParameterVar)
176+
177+}
178+
179+// Request for the state of the named action within @action_group to be
180+// changed to @value.
181+//
182+// The action must be stateful and @value must be of the correct type.
183+// See g_action_group_get_action_state_type().
184+//
185+// This call merely requests a change. The action may refuse to change
186+// its state or may change its state to something other than @value.
187+// See g_action_group_get_action_state_hint().
188+//
189+// If the @value GVariant is floating, it is consumed.
190+func (x *Application) ChangeActionState(ActionNameVar string, ValueVar *glib.Variant) {
191+
192+ gio.XGActionGroupChangeActionState(x.GoPointer(), ActionNameVar, ValueVar)
193+
194+}
195+
196+// Checks if the named action within @action_group is currently enabled.
197+//
198+// An action must be enabled in order to be activated or in order to
199+// have its state changed from outside callers.
200+func (x *Application) GetActionEnabled(ActionNameVar string) bool {
201+
202+ return gio.XGActionGroupGetActionEnabled(x.GoPointer(), ActionNameVar)
203+
204+}
205+
206+// Queries the type of the parameter that must be given when activating
207+// the named action within @action_group.
208+//
209+// When activating the action using g_action_group_activate_action(),
210+// the #GVariant given to that function must be of the type returned
211+// by this function.
212+//
213+// In the case that this function returns %NULL, you must not give any
214+// #GVariant, but %NULL instead.
215+//
216+// The parameter type of a particular action will never change but it is
217+// possible for an action to be removed and for a new action to be added
218+// with the same name but a different parameter type.
219+func (x *Application) GetActionParameterType(ActionNameVar string) *glib.VariantType {
220+
221+ return gio.XGActionGroupGetActionParameterType(x.GoPointer(), ActionNameVar)
222+
223+}
224+
225+// Queries the current state of the named action within @action_group.
226+//
227+// If the action is not stateful then %NULL will be returned. If the
228+// action is stateful then the type of the return value is the type
229+// given by g_action_group_get_action_state_type().
230+//
231+// The return value (if non-%NULL) should be freed with
232+// g_variant_unref() when it is no longer required.
233+func (x *Application) GetActionState(ActionNameVar string) *glib.Variant {
234+
235+ return gio.XGActionGroupGetActionState(x.GoPointer(), ActionNameVar)
236+
237+}
238+
239+// Requests a hint about the valid range of values for the state of the
240+// named action within @action_group.
241+//
242+// If %NULL is returned it either means that the action is not stateful
243+// or that there is no hint about the valid range of values for the
244+// state of the action.
245+//
246+// If a #GVariant array is returned then each item in the array is a
247+// possible value for the state. If a #GVariant pair (ie: two-tuple) is
248+// returned then the tuple specifies the inclusive lower and upper bound
249+// of valid values for the state.
250+//
251+// In any case, the information is merely a hint. It may be possible to
252+// have a state value outside of the hinted range and setting a value
253+// within the range may fail.
254+//
255+// The return value (if non-%NULL) should be freed with
256+// g_variant_unref() when it is no longer required.
257+func (x *Application) GetActionStateHint(ActionNameVar string) *glib.Variant {
258+
259+ return gio.XGActionGroupGetActionStateHint(x.GoPointer(), ActionNameVar)
260+
261+}
262+
263+// Queries the type of the state of the named action within
264+// @action_group.
265+//
266+// If the action is stateful then this function returns the
267+// #GVariantType of the state. All calls to
268+// g_action_group_change_action_state() must give a #GVariant of this
269+// type and g_action_group_get_action_state() will return a #GVariant
270+// of the same type.
271+//
272+// If the action is not stateful then this function will return %NULL.
273+// In that case, g_action_group_get_action_state() will return %NULL
274+// and you must not call g_action_group_change_action_state().
275+//
276+// The state type of a particular action will never change but it is
277+// possible for an action to be removed and for a new action to be added
278+// with the same name but a different state type.
279+func (x *Application) GetActionStateType(ActionNameVar string) *glib.VariantType {
280+
281+ return gio.XGActionGroupGetActionStateType(x.GoPointer(), ActionNameVar)
282+
283+}
284+
285+// Checks if the named action exists within @action_group.
286+func (x *Application) HasAction(ActionNameVar string) bool {
287+
288+ return gio.XGActionGroupHasAction(x.GoPointer(), ActionNameVar)
289+
290+}
291+
292+// Lists the actions contained within @action_group.
293+//
294+// The caller is responsible for freeing the list with g_strfreev() when
295+// it is no longer required.
296+func (x *Application) ListActions() uintptr {
297+
298+ return gio.XGActionGroupListActions(x.GoPointer())
299+
300+}
301+
302+// Queries all aspects of the named action within an @action_group.
303+//
304+// This function acquires the information available from
305+// g_action_group_has_action(), g_action_group_get_action_enabled(),
306+// g_action_group_get_action_parameter_type(),
307+// g_action_group_get_action_state_type(),
308+// g_action_group_get_action_state_hint() and
309+// g_action_group_get_action_state() with a single function call.
310+//
311+// This provides two main benefits.
312+//
313+// The first is the improvement in efficiency that comes with not having
314+// to perform repeated lookups of the action in order to discover
315+// different things about it. The second is that implementing
316+// #GActionGroup can now be done by only overriding this one virtual
317+// function.
318+//
319+// The interface provides a default implementation of this function that
320+// calls the individual functions, as required, to fetch the
321+// information. The interface also provides default implementations of
322+// those functions that call this function. All implementations,
323+// therefore, must override either this function or all of the others.
324+//
325+// If the action exists, %TRUE is returned and any of the requested
326+// fields (as indicated by having a non-%NULL reference passed in) are
327+// filled. If the action doesn't exist, %FALSE is returned and the
328+// fields may or may not have been modified.
329+func (x *Application) QueryAction(ActionNameVar string, EnabledVar bool, ParameterTypeVar **glib.VariantType, StateTypeVar **glib.VariantType, StateHintVar **glib.Variant, StateVar **glib.Variant) bool {
330+
331+ return gio.XGActionGroupQueryAction(x.GoPointer(), ActionNameVar, EnabledVar, ParameterTypeVar, StateTypeVar, StateHintVar, StateVar)
332+
333+}
334+
335+// Adds an action to the @action_map.
336+//
337+// If the action map already contains an action with the same name
338+// as @action then the old action is dropped from the action map.
339+//
340+// The action map takes its own reference on @action.
341+func (x *Application) AddAction(ActionVar gio.Action) {
342+
343+ gio.XGActionMapAddAction(x.GoPointer(), ActionVar.GoPointer())
344+
345+}
346+
347+// A convenience function for creating multiple #GSimpleAction instances
348+// and adding them to a #GActionMap.
349+//
350+// Each action is constructed as per one #GActionEntry.
351+//
352+// |[&lt;!-- language="C" --&gt;
353+// static void
354+// activate_quit (GSimpleAction *simple,
355+//
356+// GVariant *parameter,
357+// gpointer user_data)
358+//
359+// {
360+// exit (0);
361+// }
362+//
363+// static void
364+// activate_print_string (GSimpleAction *simple,
365+//
366+// GVariant *parameter,
367+// gpointer user_data)
368+//
369+// {
370+// g_print ("%s\n", g_variant_get_string (parameter, NULL));
371+// }
372+//
373+// static GActionGroup *
374+// create_action_group (void)
375+//
376+// {
377+// const GActionEntry entries[] = {
378+// { "quit", activate_quit },
379+// { "print-string", activate_print_string, "s" }
380+// };
381+// GSimpleActionGroup *group;
382+//
383+// group = g_simple_action_group_new ();
384+// g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
385+//
386+// return G_ACTION_GROUP (group);
387+// }
388+//
389+// ]|
390+func (x *Application) AddActionEntries(EntriesVar uintptr, NEntriesVar int32, UserDataVar uintptr) {
391+
392+ gio.XGActionMapAddActionEntries(x.GoPointer(), EntriesVar, NEntriesVar, UserDataVar)
393+
394+}
395+
396+// Looks up the action with the name @action_name in @action_map.
397+//
398+// If no such action exists, returns %NULL.
399+func (x *Application) LookupAction(ActionNameVar string) *gio.ActionBase {
400+
401+ LookupActionPtr := gio.XGActionMapLookupAction(x.GoPointer(), ActionNameVar)
402+ if LookupActionPtr == 0 {
403+ return nil
404+ }
405+
406+ gobject.IncreaseRef(LookupActionPtr)
407+
408+ LookupActionCls := &gio.ActionBase{}
409+ LookupActionCls.Ptr = LookupActionPtr
410+ return LookupActionCls
411+
412+}
413+
414+// Removes the named action from the action map.
415+//
416+// If no action of this name is in the map then nothing happens.
417+func (x *Application) RemoveAction(ActionNameVar string) {
418+
419+ gio.XGActionMapRemoveAction(x.GoPointer(), ActionNameVar)
420+
421+}
422+
423+func init() {
424+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
425+ if err != nil {
426+ panic(err)
427+ }
428+
429+ core.PuregoSafeRegister(&xNewApplication, lib, "adw_application_new")
430+
431+ core.PuregoSafeRegister(&xApplicationGetStyleManager, lib, "adw_application_get_style_manager")
432+
433+}
A v4/adw/adw-avatar.go +364 -0
@@ -0,0 +1,364 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type AvatarClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A widget displaying an image, with a generated fallback.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="avatar-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="avatar.png" alt="avatar"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// `AdwAvatar` is a widget that shows a round avatar.
26+//
27+// `AdwAvatar` generates an avatar with the initials of the
28+// [property@Avatar:text] on top of a colored background.
29+//
30+// The color is picked based on the hash of the [property@Avatar:text].
31+//
32+// If [property@Avatar:show-initials] is set to `FALSE`,
33+// [property@Avatar:icon-name] or `avatar-default-symbolic` is shown instead of
34+// the initials.
35+//
36+// Use [property@Avatar:custom-image] to set a custom image.
37+//
38+// ## CSS nodes
39+//
40+// `AdwAvatar` has a single CSS node with name `avatar`.
41+type Avatar struct {
42+ gtk.Widget
43+}
44+
45+func AvatarNewFromInternalPtr(ptr uintptr) *Avatar {
46+ cls := &Avatar{}
47+ cls.Ptr = ptr
48+ return cls
49+}
50+
51+var xNewAvatar func(int32, string, bool) uintptr
52+
53+// Creates a new `AdwAvatar`.
54+func NewAvatar(SizeVar int32, TextVar string, ShowInitialsVar bool) *gtk.Widget {
55+ NewAvatarPtr := xNewAvatar(SizeVar, TextVar, ShowInitialsVar)
56+ if NewAvatarPtr == 0 {
57+ return nil
58+ }
59+
60+ gobject.IncreaseRef(NewAvatarPtr)
61+
62+ NewAvatarCls := &gtk.Widget{}
63+ NewAvatarCls.Ptr = NewAvatarPtr
64+ return NewAvatarCls
65+}
66+
67+var xAvatarDrawToTexture func(uintptr, int32) uintptr
68+
69+// Renders @self into a [class@Gdk.Texture] at @scale_factor.
70+//
71+// This can be used to export the fallback avatar.
72+func (x *Avatar) DrawToTexture(ScaleFactorVar int32) *gdk.Texture {
73+
74+ DrawToTexturePtr := xAvatarDrawToTexture(x.GoPointer(), ScaleFactorVar)
75+ if DrawToTexturePtr == 0 {
76+ return nil
77+ }
78+
79+ DrawToTextureCls := &gdk.Texture{}
80+ DrawToTextureCls.Ptr = DrawToTexturePtr
81+ return DrawToTextureCls
82+
83+}
84+
85+var xAvatarGetCustomImage func(uintptr) uintptr
86+
87+// Gets the custom image paintable.
88+func (x *Avatar) GetCustomImage() *gdk.PaintableBase {
89+
90+ GetCustomImagePtr := xAvatarGetCustomImage(x.GoPointer())
91+ if GetCustomImagePtr == 0 {
92+ return nil
93+ }
94+
95+ gobject.IncreaseRef(GetCustomImagePtr)
96+
97+ GetCustomImageCls := &gdk.PaintableBase{}
98+ GetCustomImageCls.Ptr = GetCustomImagePtr
99+ return GetCustomImageCls
100+
101+}
102+
103+var xAvatarGetIconName func(uintptr) string
104+
105+// Gets the name of an icon to use as a fallback.
106+func (x *Avatar) GetIconName() string {
107+
108+ return xAvatarGetIconName(x.GoPointer())
109+
110+}
111+
112+var xAvatarGetShowInitials func(uintptr) bool
113+
114+// Gets whether initials are used instead of an icon on the fallback avatar.
115+func (x *Avatar) GetShowInitials() bool {
116+
117+ return xAvatarGetShowInitials(x.GoPointer())
118+
119+}
120+
121+var xAvatarGetSize func(uintptr) int32
122+
123+// Gets the size of the avatar.
124+func (x *Avatar) GetSize() int32 {
125+
126+ return xAvatarGetSize(x.GoPointer())
127+
128+}
129+
130+var xAvatarGetText func(uintptr) string
131+
132+// Gets the text used to generate the fallback initials and color.
133+func (x *Avatar) GetText() string {
134+
135+ return xAvatarGetText(x.GoPointer())
136+
137+}
138+
139+var xAvatarSetCustomImage func(uintptr, uintptr)
140+
141+// Sets the custom image paintable.
142+//
143+// Custom image is displayed instead of initials or icon.
144+func (x *Avatar) SetCustomImage(CustomImageVar gdk.Paintable) {
145+
146+ xAvatarSetCustomImage(x.GoPointer(), CustomImageVar.GoPointer())
147+
148+}
149+
150+var xAvatarSetIconName func(uintptr, string)
151+
152+// Sets the name of an icon to use as a fallback.
153+//
154+// If no name is set, `avatar-default-symbolic` will be used.
155+func (x *Avatar) SetIconName(IconNameVar string) {
156+
157+ xAvatarSetIconName(x.GoPointer(), IconNameVar)
158+
159+}
160+
161+var xAvatarSetShowInitials func(uintptr, bool)
162+
163+// Sets whether to use initials instead of an icon on the fallback avatar.
164+//
165+// See [property@Avatar:icon-name] for how to change the fallback icon.
166+func (x *Avatar) SetShowInitials(ShowInitialsVar bool) {
167+
168+ xAvatarSetShowInitials(x.GoPointer(), ShowInitialsVar)
169+
170+}
171+
172+var xAvatarSetSize func(uintptr, int32)
173+
174+// Sets the size of the avatar.
175+func (x *Avatar) SetSize(SizeVar int32) {
176+
177+ xAvatarSetSize(x.GoPointer(), SizeVar)
178+
179+}
180+
181+var xAvatarSetText func(uintptr, string)
182+
183+// Sets the text used to generate the fallback initials and color.
184+//
185+// It's only used to generate the color if [property@Avatar:show-initials] is
186+// `FALSE`.
187+func (x *Avatar) SetText(TextVar string) {
188+
189+ xAvatarSetText(x.GoPointer(), TextVar)
190+
191+}
192+
193+func (c *Avatar) GoPointer() uintptr {
194+ return c.Ptr
195+}
196+
197+func (c *Avatar) SetGoPointer(ptr uintptr) {
198+ c.Ptr = ptr
199+}
200+
201+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
202+func (x *Avatar) GetAccessibleRole() gtk.AccessibleRole {
203+
204+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
205+
206+}
207+
208+// Resets the accessible @property to its default value.
209+func (x *Avatar) ResetProperty(PropertyVar gtk.AccessibleProperty) {
210+
211+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
212+
213+}
214+
215+// Resets the accessible @relation to its default value.
216+func (x *Avatar) ResetRelation(RelationVar gtk.AccessibleRelation) {
217+
218+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
219+
220+}
221+
222+// Resets the accessible @state to its default value.
223+func (x *Avatar) ResetState(StateVar gtk.AccessibleState) {
224+
225+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
226+
227+}
228+
229+// Updates a list of accessible properties.
230+//
231+// See the [enum@Gtk.AccessibleProperty] documentation for the
232+// value types of accessible properties.
233+//
234+// This function should be called by `GtkWidget` types whenever
235+// an accessible property change must be communicated to assistive
236+// technologies.
237+//
238+// Example:
239+// ```c
240+// value = gtk_adjustment_get_value (adjustment);
241+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
242+//
243+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
244+// -1);
245+//
246+// ```
247+func (x *Avatar) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
248+
249+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
250+
251+}
252+
253+// Updates an array of accessible properties.
254+//
255+// This function should be called by `GtkWidget` types whenever an accessible
256+// property change must be communicated to assistive technologies.
257+//
258+// This function is meant to be used by language bindings.
259+func (x *Avatar) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
260+
261+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
262+
263+}
264+
265+// Updates a list of accessible relations.
266+//
267+// This function should be called by `GtkWidget` types whenever an accessible
268+// relation change must be communicated to assistive technologies.
269+//
270+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
271+// you should pass each reference individually, followed by %NULL, e.g.
272+//
273+// ```c
274+// gtk_accessible_update_relation (accessible,
275+//
276+// GTK_ACCESSIBLE_RELATION_CONTROLS,
277+// ref1, NULL,
278+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
279+// ref1, ref2, ref3, NULL,
280+// -1);
281+//
282+// ```
283+func (x *Avatar) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
284+
285+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
286+
287+}
288+
289+// Updates an array of accessible relations.
290+//
291+// This function should be called by `GtkWidget` types whenever an accessible
292+// relation change must be communicated to assistive technologies.
293+//
294+// This function is meant to be used by language bindings.
295+func (x *Avatar) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
296+
297+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
298+
299+}
300+
301+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
302+// documentation for the value types of accessible states.
303+//
304+// This function should be called by `GtkWidget` types whenever an accessible
305+// state change must be communicated to assistive technologies.
306+//
307+// Example:
308+// ```c
309+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
310+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
311+//
312+// GTK_ACCESSIBLE_STATE_CHECKED, value,
313+// -1);
314+//
315+// ```
316+func (x *Avatar) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
317+
318+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
319+
320+}
321+
322+// Updates an array of accessible states.
323+//
324+// This function should be called by `GtkWidget` types whenever an accessible
325+// state change must be communicated to assistive technologies.
326+//
327+// This function is meant to be used by language bindings.
328+func (x *Avatar) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
329+
330+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
331+
332+}
333+
334+// Gets the ID of the @buildable object.
335+//
336+// `GtkBuilder` sets the name based on the ID attribute
337+// of the &lt;object&gt; tag used to construct the @buildable.
338+func (x *Avatar) GetBuildableId() string {
339+
340+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
341+
342+}
343+
344+func init() {
345+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
346+ if err != nil {
347+ panic(err)
348+ }
349+
350+ core.PuregoSafeRegister(&xNewAvatar, lib, "adw_avatar_new")
351+
352+ core.PuregoSafeRegister(&xAvatarDrawToTexture, lib, "adw_avatar_draw_to_texture")
353+ core.PuregoSafeRegister(&xAvatarGetCustomImage, lib, "adw_avatar_get_custom_image")
354+ core.PuregoSafeRegister(&xAvatarGetIconName, lib, "adw_avatar_get_icon_name")
355+ core.PuregoSafeRegister(&xAvatarGetShowInitials, lib, "adw_avatar_get_show_initials")
356+ core.PuregoSafeRegister(&xAvatarGetSize, lib, "adw_avatar_get_size")
357+ core.PuregoSafeRegister(&xAvatarGetText, lib, "adw_avatar_get_text")
358+ core.PuregoSafeRegister(&xAvatarSetCustomImage, lib, "adw_avatar_set_custom_image")
359+ core.PuregoSafeRegister(&xAvatarSetIconName, lib, "adw_avatar_set_icon_name")
360+ core.PuregoSafeRegister(&xAvatarSetShowInitials, lib, "adw_avatar_set_show_initials")
361+ core.PuregoSafeRegister(&xAvatarSetSize, lib, "adw_avatar_set_size")
362+ core.PuregoSafeRegister(&xAvatarSetText, lib, "adw_avatar_set_text")
363+
364+}
A v4/adw/adw-banner.go +412 -0
@@ -0,0 +1,412 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type BannerClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A bar with contextual information.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="banner-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="banner.png" alt="banner"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// Banners are hidden by default, use [property@Banner:revealed] to show them.
26+//
27+// Banners have a title, set with [property@Banner:title]. Titles can be marked
28+// up with Pango markup, use [property@Banner:use-markup] to enable it.
29+//
30+// The title will be shown centered or left-aligned depending on available
31+// space.
32+//
33+// Banners can optionally have a button with text on it, set through
34+// [property@Banner:button-label]. The button can be used with a `GAction`,
35+// or with the [signal@Banner::button-clicked] signal.
36+//
37+// ## CSS nodes
38+//
39+// `AdwBanner` has a main CSS node with the name `banner`.
40+type Banner struct {
41+ gtk.Widget
42+}
43+
44+func BannerNewFromInternalPtr(ptr uintptr) *Banner {
45+ cls := &Banner{}
46+ cls.Ptr = ptr
47+ return cls
48+}
49+
50+var xNewBanner func(string) uintptr
51+
52+// Creates a new `AdwBanner`.
53+func NewBanner(TitleVar string) *gtk.Widget {
54+ NewBannerPtr := xNewBanner(TitleVar)
55+ if NewBannerPtr == 0 {
56+ return nil
57+ }
58+
59+ gobject.IncreaseRef(NewBannerPtr)
60+
61+ NewBannerCls := &gtk.Widget{}
62+ NewBannerCls.Ptr = NewBannerPtr
63+ return NewBannerCls
64+}
65+
66+var xBannerGetButtonLabel func(uintptr) string
67+
68+// Gets the button label for @self.
69+func (x *Banner) GetButtonLabel() string {
70+
71+ return xBannerGetButtonLabel(x.GoPointer())
72+
73+}
74+
75+var xBannerGetRevealed func(uintptr) bool
76+
77+// Gets if a banner is revealed
78+func (x *Banner) GetRevealed() bool {
79+
80+ return xBannerGetRevealed(x.GoPointer())
81+
82+}
83+
84+var xBannerGetTitle func(uintptr) string
85+
86+// Gets the title for @self.
87+func (x *Banner) GetTitle() string {
88+
89+ return xBannerGetTitle(x.GoPointer())
90+
91+}
92+
93+var xBannerGetUseMarkup func(uintptr) bool
94+
95+// Gets whether to use Pango markup for the banner title.
96+func (x *Banner) GetUseMarkup() bool {
97+
98+ return xBannerGetUseMarkup(x.GoPointer())
99+
100+}
101+
102+var xBannerSetButtonLabel func(uintptr, string)
103+
104+// Sets the button label for @self.
105+//
106+// If set to `""` or `NULL`, the button won't be shown.
107+//
108+// The button can be used with a `GAction`, or with the
109+// [signal@Banner::button-clicked] signal.
110+func (x *Banner) SetButtonLabel(LabelVar string) {
111+
112+ xBannerSetButtonLabel(x.GoPointer(), LabelVar)
113+
114+}
115+
116+var xBannerSetRevealed func(uintptr, bool)
117+
118+// Sets whether a banner should be revealed
119+func (x *Banner) SetRevealed(RevealedVar bool) {
120+
121+ xBannerSetRevealed(x.GoPointer(), RevealedVar)
122+
123+}
124+
125+var xBannerSetTitle func(uintptr, string)
126+
127+// Sets the title for this banner.
128+//
129+// See also: [property@Banner:use-markup].
130+func (x *Banner) SetTitle(TitleVar string) {
131+
132+ xBannerSetTitle(x.GoPointer(), TitleVar)
133+
134+}
135+
136+var xBannerSetUseMarkup func(uintptr, bool)
137+
138+// Sets whether to use Pango markup for the banner title.
139+//
140+// See also [func@Pango.parse_markup].
141+func (x *Banner) SetUseMarkup(UseMarkupVar bool) {
142+
143+ xBannerSetUseMarkup(x.GoPointer(), UseMarkupVar)
144+
145+}
146+
147+func (c *Banner) GoPointer() uintptr {
148+ return c.Ptr
149+}
150+
151+func (c *Banner) SetGoPointer(ptr uintptr) {
152+ c.Ptr = ptr
153+}
154+
155+// This signal is emitted after the action button has been clicked.
156+//
157+// It can be used as an alternative to setting an action.
158+func (x *Banner) ConnectButtonClicked(cb func(Banner)) {
159+ fcb := func(clsPtr uintptr) {
160+ fa := Banner{}
161+ fa.Ptr = clsPtr
162+
163+ cb(fa)
164+
165+ }
166+ gobject.ObjectConnect(x.GoPointer(), "signal::button-clicked", purego.NewCallback(fcb))
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *Banner) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *Banner) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *Banner) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *Banner) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *Banner) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *Banner) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *Banner) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *Banner) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *Banner) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *Banner) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the action name for @actionable.
303+func (x *Banner) GetActionName() string {
304+
305+ return gtk.XGtkActionableGetActionName(x.GoPointer())
306+
307+}
308+
309+// Gets the current target value of @actionable.
310+func (x *Banner) GetActionTargetValue() *glib.Variant {
311+
312+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
313+
314+}
315+
316+// Specifies the name of the action with which this widget should be
317+// associated.
318+//
319+// If @action_name is %NULL then the widget will be unassociated from
320+// any previous action.
321+//
322+// Usually this function is used when the widget is located (or will be
323+// located) within the hierarchy of a `GtkApplicationWindow`.
324+//
325+// Names are of the form “win.save” or “app.quit” for actions on the
326+// containing [class@ApplicationWindow] or its associated [class@Application],
327+// respectively. This is the same form used for actions in the [class@Gio.Menu]
328+// associated with the window.
329+func (x *Banner) SetActionName(ActionNameVar string) {
330+
331+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
332+
333+}
334+
335+// Sets the target of an actionable widget.
336+//
337+// This is a convenience function that calls [ctor@GLib.Variant.new] for
338+// @format_string and uses the result to call
339+// [method@Gtk.Actionable.set_action_target_value].
340+//
341+// If you are setting a string-valued target and want to set
342+// the action name at the same time, you can use
343+// [method@Gtk.Actionable.set_detailed_action_name].
344+func (x *Banner) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
345+
346+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
347+
348+}
349+
350+// Sets the target value of an actionable widget.
351+//
352+// If @target_value is %NULL then the target value is unset.
353+//
354+// The target value has two purposes. First, it is used as the parameter
355+// to activation of the action associated with the `GtkActionable` widget.
356+// Second, it is used to determine if the widget should be rendered as
357+// “active” — the widget is active if the state is equal to the given target.
358+//
359+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
360+// with string state in a typical “radio button” situation. Each button
361+// will be associated with the same action, but with a different target
362+// value for that action. Clicking on a particular button will activate
363+// the action with the target of that button, which will typically cause
364+// the action’s state to change to that value. Since the action’s state
365+// is now equal to the target value of the button, the button will now
366+// be rendered as active (and the other buttons, with different targets,
367+// rendered inactive).
368+func (x *Banner) SetActionTargetValue(TargetValueVar *glib.Variant) {
369+
370+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
371+
372+}
373+
374+// Sets the action-name and associated string target value of an
375+// actionable widget.
376+//
377+// @detailed_action_name is a string in the format accepted by
378+// [func@Gio.Action.parse_detailed_name].
379+func (x *Banner) SetDetailedActionName(DetailedActionNameVar string) {
380+
381+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
382+
383+}
384+
385+// Gets the ID of the @buildable object.
386+//
387+// `GtkBuilder` sets the name based on the ID attribute
388+// of the &lt;object&gt; tag used to construct the @buildable.
389+func (x *Banner) GetBuildableId() string {
390+
391+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
392+
393+}
394+
395+func init() {
396+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
397+ if err != nil {
398+ panic(err)
399+ }
400+
401+ core.PuregoSafeRegister(&xNewBanner, lib, "adw_banner_new")
402+
403+ core.PuregoSafeRegister(&xBannerGetButtonLabel, lib, "adw_banner_get_button_label")
404+ core.PuregoSafeRegister(&xBannerGetRevealed, lib, "adw_banner_get_revealed")
405+ core.PuregoSafeRegister(&xBannerGetTitle, lib, "adw_banner_get_title")
406+ core.PuregoSafeRegister(&xBannerGetUseMarkup, lib, "adw_banner_get_use_markup")
407+ core.PuregoSafeRegister(&xBannerSetButtonLabel, lib, "adw_banner_set_button_label")
408+ core.PuregoSafeRegister(&xBannerSetRevealed, lib, "adw_banner_set_revealed")
409+ core.PuregoSafeRegister(&xBannerSetTitle, lib, "adw_banner_set_title")
410+ core.PuregoSafeRegister(&xBannerSetUseMarkup, lib, "adw_banner_set_use_markup")
411+
412+}
A v4/adw/adw-bin.go +244 -0
@@ -0,0 +1,244 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type BinClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A widget with one child.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="bin-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="bin.png" alt="bin"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwBin` widget has only one child, set with the [property@Bin:child]
25+// property.
26+//
27+// It is useful for deriving subclasses, since it provides common code needed
28+// for handling a single child widget.
29+type Bin struct {
30+ gtk.Widget
31+}
32+
33+func BinNewFromInternalPtr(ptr uintptr) *Bin {
34+ cls := &Bin{}
35+ cls.Ptr = ptr
36+ return cls
37+}
38+
39+var xNewBin func() uintptr
40+
41+// Creates a new `AdwBin`.
42+func NewBin() *gtk.Widget {
43+ NewBinPtr := xNewBin()
44+ if NewBinPtr == 0 {
45+ return nil
46+ }
47+
48+ gobject.IncreaseRef(NewBinPtr)
49+
50+ NewBinCls := &gtk.Widget{}
51+ NewBinCls.Ptr = NewBinPtr
52+ return NewBinCls
53+}
54+
55+var xBinGetChild func(uintptr) uintptr
56+
57+// Gets the child widget of @self.
58+func (x *Bin) GetChild() *gtk.Widget {
59+
60+ GetChildPtr := xBinGetChild(x.GoPointer())
61+ if GetChildPtr == 0 {
62+ return nil
63+ }
64+
65+ gobject.IncreaseRef(GetChildPtr)
66+
67+ GetChildCls := &gtk.Widget{}
68+ GetChildCls.Ptr = GetChildPtr
69+ return GetChildCls
70+
71+}
72+
73+var xBinSetChild func(uintptr, uintptr)
74+
75+// Sets the child widget of @self.
76+func (x *Bin) SetChild(ChildVar *gtk.Widget) {
77+
78+ xBinSetChild(x.GoPointer(), ChildVar.GoPointer())
79+
80+}
81+
82+func (c *Bin) GoPointer() uintptr {
83+ return c.Ptr
84+}
85+
86+func (c *Bin) SetGoPointer(ptr uintptr) {
87+ c.Ptr = ptr
88+}
89+
90+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
91+func (x *Bin) GetAccessibleRole() gtk.AccessibleRole {
92+
93+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
94+
95+}
96+
97+// Resets the accessible @property to its default value.
98+func (x *Bin) ResetProperty(PropertyVar gtk.AccessibleProperty) {
99+
100+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
101+
102+}
103+
104+// Resets the accessible @relation to its default value.
105+func (x *Bin) ResetRelation(RelationVar gtk.AccessibleRelation) {
106+
107+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
108+
109+}
110+
111+// Resets the accessible @state to its default value.
112+func (x *Bin) ResetState(StateVar gtk.AccessibleState) {
113+
114+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
115+
116+}
117+
118+// Updates a list of accessible properties.
119+//
120+// See the [enum@Gtk.AccessibleProperty] documentation for the
121+// value types of accessible properties.
122+//
123+// This function should be called by `GtkWidget` types whenever
124+// an accessible property change must be communicated to assistive
125+// technologies.
126+//
127+// Example:
128+// ```c
129+// value = gtk_adjustment_get_value (adjustment);
130+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
131+//
132+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
133+// -1);
134+//
135+// ```
136+func (x *Bin) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
137+
138+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
139+
140+}
141+
142+// Updates an array of accessible properties.
143+//
144+// This function should be called by `GtkWidget` types whenever an accessible
145+// property change must be communicated to assistive technologies.
146+//
147+// This function is meant to be used by language bindings.
148+func (x *Bin) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
149+
150+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
151+
152+}
153+
154+// Updates a list of accessible relations.
155+//
156+// This function should be called by `GtkWidget` types whenever an accessible
157+// relation change must be communicated to assistive technologies.
158+//
159+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
160+// you should pass each reference individually, followed by %NULL, e.g.
161+//
162+// ```c
163+// gtk_accessible_update_relation (accessible,
164+//
165+// GTK_ACCESSIBLE_RELATION_CONTROLS,
166+// ref1, NULL,
167+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
168+// ref1, ref2, ref3, NULL,
169+// -1);
170+//
171+// ```
172+func (x *Bin) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
173+
174+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
175+
176+}
177+
178+// Updates an array of accessible relations.
179+//
180+// This function should be called by `GtkWidget` types whenever an accessible
181+// relation change must be communicated to assistive technologies.
182+//
183+// This function is meant to be used by language bindings.
184+func (x *Bin) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
185+
186+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
187+
188+}
189+
190+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
191+// documentation for the value types of accessible states.
192+//
193+// This function should be called by `GtkWidget` types whenever an accessible
194+// state change must be communicated to assistive technologies.
195+//
196+// Example:
197+// ```c
198+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
199+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
200+//
201+// GTK_ACCESSIBLE_STATE_CHECKED, value,
202+// -1);
203+//
204+// ```
205+func (x *Bin) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
206+
207+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
208+
209+}
210+
211+// Updates an array of accessible states.
212+//
213+// This function should be called by `GtkWidget` types whenever an accessible
214+// state change must be communicated to assistive technologies.
215+//
216+// This function is meant to be used by language bindings.
217+func (x *Bin) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
218+
219+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
220+
221+}
222+
223+// Gets the ID of the @buildable object.
224+//
225+// `GtkBuilder` sets the name based on the ID attribute
226+// of the &lt;object&gt; tag used to construct the @buildable.
227+func (x *Bin) GetBuildableId() string {
228+
229+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
230+
231+}
232+
233+func init() {
234+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
235+ if err != nil {
236+ panic(err)
237+ }
238+
239+ core.PuregoSafeRegister(&xNewBin, lib, "adw_bin_new")
240+
241+ core.PuregoSafeRegister(&xBinGetChild, lib, "adw_bin_get_child")
242+ core.PuregoSafeRegister(&xBinSetChild, lib, "adw_bin_set_child")
243+
244+}
A v4/adw/adw-button-content.go +317 -0
@@ -0,0 +1,317 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ButtonContentClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A helper widget for creating buttons.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="button-content-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="button-content.png" alt="button-content"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// `AdwButtonContent` is a box-like widget with an icon and a label.
25+//
26+// It's intended to be used as a direct child of [class@Gtk.Button],
27+// [class@Gtk.MenuButton] or [class@SplitButton], when they need to have both an
28+// icon and a label, as follows:
29+//
30+// ```xml
31+// &lt;object class="GtkButton"&gt;
32+//
33+// &lt;property name="child"&gt;
34+// &lt;object class="AdwButtonContent"&gt;
35+// &lt;property name="icon-name"&gt;document-open-symbolic&lt;/property&gt;
36+// &lt;property name="label" translatable="yes"&gt;_Open&lt;/property&gt;
37+// &lt;property name="use-underline"&gt;True&lt;/property&gt;
38+// &lt;/object&gt;
39+// &lt;/property&gt;
40+//
41+// &lt;/object&gt;
42+// ```
43+//
44+// `AdwButtonContent` handles style classes and connecting the mnemonic to the
45+// button automatically.
46+//
47+// ## CSS nodes
48+//
49+// ```
50+// buttoncontent
51+// ├── image
52+// ╰── label
53+// ```
54+//
55+// `AdwButtonContent`'s CSS node is called `buttoncontent`. It contains the
56+// subnodes `image` and `label`.
57+//
58+// When inside a `GtkButton` or `AdwSplitButton`, the button will receive the
59+// `.image-text-button` style class. When inside a `GtkMenuButton`, the
60+// internal `GtkButton` will receive it instead.
61+//
62+// ## Accessibility
63+//
64+// `AdwButtonContent` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
65+type ButtonContent struct {
66+ gtk.Widget
67+}
68+
69+func ButtonContentNewFromInternalPtr(ptr uintptr) *ButtonContent {
70+ cls := &ButtonContent{}
71+ cls.Ptr = ptr
72+ return cls
73+}
74+
75+var xNewButtonContent func() uintptr
76+
77+// Creates a new `AdwButtonContent`.
78+func NewButtonContent() *gtk.Widget {
79+ NewButtonContentPtr := xNewButtonContent()
80+ if NewButtonContentPtr == 0 {
81+ return nil
82+ }
83+
84+ gobject.IncreaseRef(NewButtonContentPtr)
85+
86+ NewButtonContentCls := &gtk.Widget{}
87+ NewButtonContentCls.Ptr = NewButtonContentPtr
88+ return NewButtonContentCls
89+}
90+
91+var xButtonContentGetIconName func(uintptr) string
92+
93+// Gets the name of the displayed icon.
94+func (x *ButtonContent) GetIconName() string {
95+
96+ return xButtonContentGetIconName(x.GoPointer())
97+
98+}
99+
100+var xButtonContentGetLabel func(uintptr) string
101+
102+// Gets the displayed label.
103+func (x *ButtonContent) GetLabel() string {
104+
105+ return xButtonContentGetLabel(x.GoPointer())
106+
107+}
108+
109+var xButtonContentGetUseUnderline func(uintptr) bool
110+
111+// Gets whether an underline in the text indicates a mnemonic.
112+func (x *ButtonContent) GetUseUnderline() bool {
113+
114+ return xButtonContentGetUseUnderline(x.GoPointer())
115+
116+}
117+
118+var xButtonContentSetIconName func(uintptr, string)
119+
120+// Sets the name of the displayed icon.
121+//
122+// If empty, the icon is not shown.
123+func (x *ButtonContent) SetIconName(IconNameVar string) {
124+
125+ xButtonContentSetIconName(x.GoPointer(), IconNameVar)
126+
127+}
128+
129+var xButtonContentSetLabel func(uintptr, string)
130+
131+// Sets the displayed label.
132+func (x *ButtonContent) SetLabel(LabelVar string) {
133+
134+ xButtonContentSetLabel(x.GoPointer(), LabelVar)
135+
136+}
137+
138+var xButtonContentSetUseUnderline func(uintptr, bool)
139+
140+// Sets whether an underline in the text indicates a mnemonic.
141+//
142+// The mnemonic can be used to activate the parent button.
143+//
144+// See [property@ButtonContent:label].
145+func (x *ButtonContent) SetUseUnderline(UseUnderlineVar bool) {
146+
147+ xButtonContentSetUseUnderline(x.GoPointer(), UseUnderlineVar)
148+
149+}
150+
151+func (c *ButtonContent) GoPointer() uintptr {
152+ return c.Ptr
153+}
154+
155+func (c *ButtonContent) SetGoPointer(ptr uintptr) {
156+ c.Ptr = ptr
157+}
158+
159+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
160+func (x *ButtonContent) GetAccessibleRole() gtk.AccessibleRole {
161+
162+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
163+
164+}
165+
166+// Resets the accessible @property to its default value.
167+func (x *ButtonContent) ResetProperty(PropertyVar gtk.AccessibleProperty) {
168+
169+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
170+
171+}
172+
173+// Resets the accessible @relation to its default value.
174+func (x *ButtonContent) ResetRelation(RelationVar gtk.AccessibleRelation) {
175+
176+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
177+
178+}
179+
180+// Resets the accessible @state to its default value.
181+func (x *ButtonContent) ResetState(StateVar gtk.AccessibleState) {
182+
183+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
184+
185+}
186+
187+// Updates a list of accessible properties.
188+//
189+// See the [enum@Gtk.AccessibleProperty] documentation for the
190+// value types of accessible properties.
191+//
192+// This function should be called by `GtkWidget` types whenever
193+// an accessible property change must be communicated to assistive
194+// technologies.
195+//
196+// Example:
197+// ```c
198+// value = gtk_adjustment_get_value (adjustment);
199+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
200+//
201+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
202+// -1);
203+//
204+// ```
205+func (x *ButtonContent) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
206+
207+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
208+
209+}
210+
211+// Updates an array of accessible properties.
212+//
213+// This function should be called by `GtkWidget` types whenever an accessible
214+// property change must be communicated to assistive technologies.
215+//
216+// This function is meant to be used by language bindings.
217+func (x *ButtonContent) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
218+
219+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
220+
221+}
222+
223+// Updates a list of accessible relations.
224+//
225+// This function should be called by `GtkWidget` types whenever an accessible
226+// relation change must be communicated to assistive technologies.
227+//
228+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
229+// you should pass each reference individually, followed by %NULL, e.g.
230+//
231+// ```c
232+// gtk_accessible_update_relation (accessible,
233+//
234+// GTK_ACCESSIBLE_RELATION_CONTROLS,
235+// ref1, NULL,
236+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
237+// ref1, ref2, ref3, NULL,
238+// -1);
239+//
240+// ```
241+func (x *ButtonContent) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
242+
243+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
244+
245+}
246+
247+// Updates an array of accessible relations.
248+//
249+// This function should be called by `GtkWidget` types whenever an accessible
250+// relation change must be communicated to assistive technologies.
251+//
252+// This function is meant to be used by language bindings.
253+func (x *ButtonContent) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
254+
255+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
256+
257+}
258+
259+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
260+// documentation for the value types of accessible states.
261+//
262+// This function should be called by `GtkWidget` types whenever an accessible
263+// state change must be communicated to assistive technologies.
264+//
265+// Example:
266+// ```c
267+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
268+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
269+//
270+// GTK_ACCESSIBLE_STATE_CHECKED, value,
271+// -1);
272+//
273+// ```
274+func (x *ButtonContent) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
275+
276+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
277+
278+}
279+
280+// Updates an array of accessible states.
281+//
282+// This function should be called by `GtkWidget` types whenever an accessible
283+// state change must be communicated to assistive technologies.
284+//
285+// This function is meant to be used by language bindings.
286+func (x *ButtonContent) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
287+
288+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
289+
290+}
291+
292+// Gets the ID of the @buildable object.
293+//
294+// `GtkBuilder` sets the name based on the ID attribute
295+// of the &lt;object&gt; tag used to construct the @buildable.
296+func (x *ButtonContent) GetBuildableId() string {
297+
298+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
299+
300+}
301+
302+func init() {
303+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
304+ if err != nil {
305+ panic(err)
306+ }
307+
308+ core.PuregoSafeRegister(&xNewButtonContent, lib, "adw_button_content_new")
309+
310+ core.PuregoSafeRegister(&xButtonContentGetIconName, lib, "adw_button_content_get_icon_name")
311+ core.PuregoSafeRegister(&xButtonContentGetLabel, lib, "adw_button_content_get_label")
312+ core.PuregoSafeRegister(&xButtonContentGetUseUnderline, lib, "adw_button_content_get_use_underline")
313+ core.PuregoSafeRegister(&xButtonContentSetIconName, lib, "adw_button_content_set_icon_name")
314+ core.PuregoSafeRegister(&xButtonContentSetLabel, lib, "adw_button_content_set_label")
315+ core.PuregoSafeRegister(&xButtonContentSetUseUnderline, lib, "adw_button_content_set_use_underline")
316+
317+}
A v4/adw/adw-carousel-indicator-dots.go +264 -0
@@ -0,0 +1,264 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type CarouselIndicatorDotsClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A dots indicator for [class@Carousel].
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="carousel-indicator-dots-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="carousel-indicator-dots.png" alt="carousel-indicator-dots"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwCarouselIndicatorDots` widget shows a set of dots for each page of a
25+// given [class@Carousel]. The dot representing the carousel's active page is
26+// larger and more opaque than the others, the transition to the active and
27+// inactive state is gradual to match the carousel's position.
28+//
29+// See also [class@CarouselIndicatorLines].
30+//
31+// ## CSS nodes
32+//
33+// `AdwCarouselIndicatorDots` has a single CSS node with name
34+// `carouselindicatordots`.
35+type CarouselIndicatorDots struct {
36+ gtk.Widget
37+}
38+
39+func CarouselIndicatorDotsNewFromInternalPtr(ptr uintptr) *CarouselIndicatorDots {
40+ cls := &CarouselIndicatorDots{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewCarouselIndicatorDots func() uintptr
46+
47+// Creates a new `AdwCarouselIndicatorDots`.
48+func NewCarouselIndicatorDots() *gtk.Widget {
49+ NewCarouselIndicatorDotsPtr := xNewCarouselIndicatorDots()
50+ if NewCarouselIndicatorDotsPtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewCarouselIndicatorDotsPtr)
55+
56+ NewCarouselIndicatorDotsCls := &gtk.Widget{}
57+ NewCarouselIndicatorDotsCls.Ptr = NewCarouselIndicatorDotsPtr
58+ return NewCarouselIndicatorDotsCls
59+}
60+
61+var xCarouselIndicatorDotsGetCarousel func(uintptr) uintptr
62+
63+// Gets the displayed carousel.
64+func (x *CarouselIndicatorDots) GetCarousel() *Carousel {
65+
66+ GetCarouselPtr := xCarouselIndicatorDotsGetCarousel(x.GoPointer())
67+ if GetCarouselPtr == 0 {
68+ return nil
69+ }
70+
71+ gobject.IncreaseRef(GetCarouselPtr)
72+
73+ GetCarouselCls := &Carousel{}
74+ GetCarouselCls.Ptr = GetCarouselPtr
75+ return GetCarouselCls
76+
77+}
78+
79+var xCarouselIndicatorDotsSetCarousel func(uintptr, uintptr)
80+
81+// Sets the displayed carousel.
82+func (x *CarouselIndicatorDots) SetCarousel(CarouselVar *Carousel) {
83+
84+ xCarouselIndicatorDotsSetCarousel(x.GoPointer(), CarouselVar.GoPointer())
85+
86+}
87+
88+func (c *CarouselIndicatorDots) GoPointer() uintptr {
89+ return c.Ptr
90+}
91+
92+func (c *CarouselIndicatorDots) SetGoPointer(ptr uintptr) {
93+ c.Ptr = ptr
94+}
95+
96+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
97+func (x *CarouselIndicatorDots) GetAccessibleRole() gtk.AccessibleRole {
98+
99+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
100+
101+}
102+
103+// Resets the accessible @property to its default value.
104+func (x *CarouselIndicatorDots) ResetProperty(PropertyVar gtk.AccessibleProperty) {
105+
106+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
107+
108+}
109+
110+// Resets the accessible @relation to its default value.
111+func (x *CarouselIndicatorDots) ResetRelation(RelationVar gtk.AccessibleRelation) {
112+
113+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
114+
115+}
116+
117+// Resets the accessible @state to its default value.
118+func (x *CarouselIndicatorDots) ResetState(StateVar gtk.AccessibleState) {
119+
120+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
121+
122+}
123+
124+// Updates a list of accessible properties.
125+//
126+// See the [enum@Gtk.AccessibleProperty] documentation for the
127+// value types of accessible properties.
128+//
129+// This function should be called by `GtkWidget` types whenever
130+// an accessible property change must be communicated to assistive
131+// technologies.
132+//
133+// Example:
134+// ```c
135+// value = gtk_adjustment_get_value (adjustment);
136+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
137+//
138+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
139+// -1);
140+//
141+// ```
142+func (x *CarouselIndicatorDots) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
143+
144+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
145+
146+}
147+
148+// Updates an array of accessible properties.
149+//
150+// This function should be called by `GtkWidget` types whenever an accessible
151+// property change must be communicated to assistive technologies.
152+//
153+// This function is meant to be used by language bindings.
154+func (x *CarouselIndicatorDots) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
155+
156+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
157+
158+}
159+
160+// Updates a list of accessible relations.
161+//
162+// This function should be called by `GtkWidget` types whenever an accessible
163+// relation change must be communicated to assistive technologies.
164+//
165+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
166+// you should pass each reference individually, followed by %NULL, e.g.
167+//
168+// ```c
169+// gtk_accessible_update_relation (accessible,
170+//
171+// GTK_ACCESSIBLE_RELATION_CONTROLS,
172+// ref1, NULL,
173+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
174+// ref1, ref2, ref3, NULL,
175+// -1);
176+//
177+// ```
178+func (x *CarouselIndicatorDots) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
179+
180+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
181+
182+}
183+
184+// Updates an array of accessible relations.
185+//
186+// This function should be called by `GtkWidget` types whenever an accessible
187+// relation change must be communicated to assistive technologies.
188+//
189+// This function is meant to be used by language bindings.
190+func (x *CarouselIndicatorDots) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
191+
192+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
193+
194+}
195+
196+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
197+// documentation for the value types of accessible states.
198+//
199+// This function should be called by `GtkWidget` types whenever an accessible
200+// state change must be communicated to assistive technologies.
201+//
202+// Example:
203+// ```c
204+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
205+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
206+//
207+// GTK_ACCESSIBLE_STATE_CHECKED, value,
208+// -1);
209+//
210+// ```
211+func (x *CarouselIndicatorDots) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
212+
213+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
214+
215+}
216+
217+// Updates an array of accessible states.
218+//
219+// This function should be called by `GtkWidget` types whenever an accessible
220+// state change must be communicated to assistive technologies.
221+//
222+// This function is meant to be used by language bindings.
223+func (x *CarouselIndicatorDots) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
224+
225+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
226+
227+}
228+
229+// Gets the ID of the @buildable object.
230+//
231+// `GtkBuilder` sets the name based on the ID attribute
232+// of the &lt;object&gt; tag used to construct the @buildable.
233+func (x *CarouselIndicatorDots) GetBuildableId() string {
234+
235+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
236+
237+}
238+
239+// Retrieves the orientation of the @orientable.
240+func (x *CarouselIndicatorDots) GetOrientation() gtk.Orientation {
241+
242+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
243+
244+}
245+
246+// Sets the orientation of the @orientable.
247+func (x *CarouselIndicatorDots) SetOrientation(OrientationVar gtk.Orientation) {
248+
249+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
250+
251+}
252+
253+func init() {
254+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
255+ if err != nil {
256+ panic(err)
257+ }
258+
259+ core.PuregoSafeRegister(&xNewCarouselIndicatorDots, lib, "adw_carousel_indicator_dots_new")
260+
261+ core.PuregoSafeRegister(&xCarouselIndicatorDotsGetCarousel, lib, "adw_carousel_indicator_dots_get_carousel")
262+ core.PuregoSafeRegister(&xCarouselIndicatorDotsSetCarousel, lib, "adw_carousel_indicator_dots_set_carousel")
263+
264+}
A v4/adw/adw-carousel-indicator-lines.go +263 -0
@@ -0,0 +1,263 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type CarouselIndicatorLinesClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A lines indicator for [class@Carousel].
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="carousel-indicator-dots-lines.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="carousel-indicator-lines.png" alt="carousel-indicator-lines"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of
25+// a given [class@Carousel]. The carousel's active page is shown as another line
26+// that moves between them to match the carousel's position.
27+//
28+// See also [class@CarouselIndicatorDots].
29+//
30+// ## CSS nodes
31+//
32+// `AdwCarouselIndicatorLines` has a single CSS node with name
33+// `carouselindicatorlines`.
34+type CarouselIndicatorLines struct {
35+ gtk.Widget
36+}
37+
38+func CarouselIndicatorLinesNewFromInternalPtr(ptr uintptr) *CarouselIndicatorLines {
39+ cls := &CarouselIndicatorLines{}
40+ cls.Ptr = ptr
41+ return cls
42+}
43+
44+var xNewCarouselIndicatorLines func() uintptr
45+
46+// Creates a new `AdwCarouselIndicatorLines`.
47+func NewCarouselIndicatorLines() *gtk.Widget {
48+ NewCarouselIndicatorLinesPtr := xNewCarouselIndicatorLines()
49+ if NewCarouselIndicatorLinesPtr == 0 {
50+ return nil
51+ }
52+
53+ gobject.IncreaseRef(NewCarouselIndicatorLinesPtr)
54+
55+ NewCarouselIndicatorLinesCls := &gtk.Widget{}
56+ NewCarouselIndicatorLinesCls.Ptr = NewCarouselIndicatorLinesPtr
57+ return NewCarouselIndicatorLinesCls
58+}
59+
60+var xCarouselIndicatorLinesGetCarousel func(uintptr) uintptr
61+
62+// Gets the displayed carousel.
63+func (x *CarouselIndicatorLines) GetCarousel() *Carousel {
64+
65+ GetCarouselPtr := xCarouselIndicatorLinesGetCarousel(x.GoPointer())
66+ if GetCarouselPtr == 0 {
67+ return nil
68+ }
69+
70+ gobject.IncreaseRef(GetCarouselPtr)
71+
72+ GetCarouselCls := &Carousel{}
73+ GetCarouselCls.Ptr = GetCarouselPtr
74+ return GetCarouselCls
75+
76+}
77+
78+var xCarouselIndicatorLinesSetCarousel func(uintptr, uintptr)
79+
80+// Sets the displayed carousel.
81+func (x *CarouselIndicatorLines) SetCarousel(CarouselVar *Carousel) {
82+
83+ xCarouselIndicatorLinesSetCarousel(x.GoPointer(), CarouselVar.GoPointer())
84+
85+}
86+
87+func (c *CarouselIndicatorLines) GoPointer() uintptr {
88+ return c.Ptr
89+}
90+
91+func (c *CarouselIndicatorLines) SetGoPointer(ptr uintptr) {
92+ c.Ptr = ptr
93+}
94+
95+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
96+func (x *CarouselIndicatorLines) GetAccessibleRole() gtk.AccessibleRole {
97+
98+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
99+
100+}
101+
102+// Resets the accessible @property to its default value.
103+func (x *CarouselIndicatorLines) ResetProperty(PropertyVar gtk.AccessibleProperty) {
104+
105+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
106+
107+}
108+
109+// Resets the accessible @relation to its default value.
110+func (x *CarouselIndicatorLines) ResetRelation(RelationVar gtk.AccessibleRelation) {
111+
112+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
113+
114+}
115+
116+// Resets the accessible @state to its default value.
117+func (x *CarouselIndicatorLines) ResetState(StateVar gtk.AccessibleState) {
118+
119+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
120+
121+}
122+
123+// Updates a list of accessible properties.
124+//
125+// See the [enum@Gtk.AccessibleProperty] documentation for the
126+// value types of accessible properties.
127+//
128+// This function should be called by `GtkWidget` types whenever
129+// an accessible property change must be communicated to assistive
130+// technologies.
131+//
132+// Example:
133+// ```c
134+// value = gtk_adjustment_get_value (adjustment);
135+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
136+//
137+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
138+// -1);
139+//
140+// ```
141+func (x *CarouselIndicatorLines) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
142+
143+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
144+
145+}
146+
147+// Updates an array of accessible properties.
148+//
149+// This function should be called by `GtkWidget` types whenever an accessible
150+// property change must be communicated to assistive technologies.
151+//
152+// This function is meant to be used by language bindings.
153+func (x *CarouselIndicatorLines) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
154+
155+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
156+
157+}
158+
159+// Updates a list of accessible relations.
160+//
161+// This function should be called by `GtkWidget` types whenever an accessible
162+// relation change must be communicated to assistive technologies.
163+//
164+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
165+// you should pass each reference individually, followed by %NULL, e.g.
166+//
167+// ```c
168+// gtk_accessible_update_relation (accessible,
169+//
170+// GTK_ACCESSIBLE_RELATION_CONTROLS,
171+// ref1, NULL,
172+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
173+// ref1, ref2, ref3, NULL,
174+// -1);
175+//
176+// ```
177+func (x *CarouselIndicatorLines) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
178+
179+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
180+
181+}
182+
183+// Updates an array of accessible relations.
184+//
185+// This function should be called by `GtkWidget` types whenever an accessible
186+// relation change must be communicated to assistive technologies.
187+//
188+// This function is meant to be used by language bindings.
189+func (x *CarouselIndicatorLines) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
190+
191+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
192+
193+}
194+
195+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
196+// documentation for the value types of accessible states.
197+//
198+// This function should be called by `GtkWidget` types whenever an accessible
199+// state change must be communicated to assistive technologies.
200+//
201+// Example:
202+// ```c
203+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
204+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
205+//
206+// GTK_ACCESSIBLE_STATE_CHECKED, value,
207+// -1);
208+//
209+// ```
210+func (x *CarouselIndicatorLines) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
211+
212+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
213+
214+}
215+
216+// Updates an array of accessible states.
217+//
218+// This function should be called by `GtkWidget` types whenever an accessible
219+// state change must be communicated to assistive technologies.
220+//
221+// This function is meant to be used by language bindings.
222+func (x *CarouselIndicatorLines) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
223+
224+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
225+
226+}
227+
228+// Gets the ID of the @buildable object.
229+//
230+// `GtkBuilder` sets the name based on the ID attribute
231+// of the &lt;object&gt; tag used to construct the @buildable.
232+func (x *CarouselIndicatorLines) GetBuildableId() string {
233+
234+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
235+
236+}
237+
238+// Retrieves the orientation of the @orientable.
239+func (x *CarouselIndicatorLines) GetOrientation() gtk.Orientation {
240+
241+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
242+
243+}
244+
245+// Sets the orientation of the @orientable.
246+func (x *CarouselIndicatorLines) SetOrientation(OrientationVar gtk.Orientation) {
247+
248+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
249+
250+}
251+
252+func init() {
253+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
254+ if err != nil {
255+ panic(err)
256+ }
257+
258+ core.PuregoSafeRegister(&xNewCarouselIndicatorLines, lib, "adw_carousel_indicator_lines_new")
259+
260+ core.PuregoSafeRegister(&xCarouselIndicatorLinesGetCarousel, lib, "adw_carousel_indicator_lines_get_carousel")
261+ core.PuregoSafeRegister(&xCarouselIndicatorLinesSetCarousel, lib, "adw_carousel_indicator_lines_set_carousel")
262+
263+}
A v4/adw/adw-carousel.go +565 -0
@@ -0,0 +1,565 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type CarouselClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A paginated scrolling widget.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="carousel-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="carousel.png" alt="carousel"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// The `AdwCarousel` widget can be used to display a set of pages with
26+// swipe-based navigation between them.
27+//
28+// [class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used
29+// to provide page indicators for `AdwCarousel`.
30+//
31+// ## CSS nodes
32+//
33+// `AdwCarousel` has a single CSS node with name `carousel`.
34+type Carousel struct {
35+ gtk.Widget
36+}
37+
38+func CarouselNewFromInternalPtr(ptr uintptr) *Carousel {
39+ cls := &Carousel{}
40+ cls.Ptr = ptr
41+ return cls
42+}
43+
44+var xNewCarousel func() uintptr
45+
46+// Creates a new `AdwCarousel`.
47+func NewCarousel() *gtk.Widget {
48+ NewCarouselPtr := xNewCarousel()
49+ if NewCarouselPtr == 0 {
50+ return nil
51+ }
52+
53+ gobject.IncreaseRef(NewCarouselPtr)
54+
55+ NewCarouselCls := &gtk.Widget{}
56+ NewCarouselCls.Ptr = NewCarouselPtr
57+ return NewCarouselCls
58+}
59+
60+var xCarouselAppend func(uintptr, uintptr)
61+
62+// Appends @child to @self.
63+func (x *Carousel) Append(ChildVar *gtk.Widget) {
64+
65+ xCarouselAppend(x.GoPointer(), ChildVar.GoPointer())
66+
67+}
68+
69+var xCarouselGetAllowLongSwipes func(uintptr) bool
70+
71+// Gets whether to allow swiping for more than one page at a time.
72+func (x *Carousel) GetAllowLongSwipes() bool {
73+
74+ return xCarouselGetAllowLongSwipes(x.GoPointer())
75+
76+}
77+
78+var xCarouselGetAllowMouseDrag func(uintptr) bool
79+
80+// Sets whether @self can be dragged with mouse pointer.
81+func (x *Carousel) GetAllowMouseDrag() bool {
82+
83+ return xCarouselGetAllowMouseDrag(x.GoPointer())
84+
85+}
86+
87+var xCarouselGetAllowScrollWheel func(uintptr) bool
88+
89+// Gets whether @self will respond to scroll wheel events.
90+func (x *Carousel) GetAllowScrollWheel() bool {
91+
92+ return xCarouselGetAllowScrollWheel(x.GoPointer())
93+
94+}
95+
96+var xCarouselGetInteractive func(uintptr) bool
97+
98+// Gets whether @self can be navigated.
99+func (x *Carousel) GetInteractive() bool {
100+
101+ return xCarouselGetInteractive(x.GoPointer())
102+
103+}
104+
105+var xCarouselGetNPages func(uintptr) uint
106+
107+// Gets the number of pages in @self.
108+func (x *Carousel) GetNPages() uint {
109+
110+ return xCarouselGetNPages(x.GoPointer())
111+
112+}
113+
114+var xCarouselGetNthPage func(uintptr, uint) uintptr
115+
116+// Gets the page at position @n.
117+func (x *Carousel) GetNthPage(NVar uint) *gtk.Widget {
118+
119+ GetNthPagePtr := xCarouselGetNthPage(x.GoPointer(), NVar)
120+ if GetNthPagePtr == 0 {
121+ return nil
122+ }
123+
124+ gobject.IncreaseRef(GetNthPagePtr)
125+
126+ GetNthPageCls := &gtk.Widget{}
127+ GetNthPageCls.Ptr = GetNthPagePtr
128+ return GetNthPageCls
129+
130+}
131+
132+var xCarouselGetPosition func(uintptr) float64
133+
134+// Gets current scroll position in @self, unitless.
135+//
136+// 1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.
137+func (x *Carousel) GetPosition() float64 {
138+
139+ return xCarouselGetPosition(x.GoPointer())
140+
141+}
142+
143+var xCarouselGetRevealDuration func(uintptr) uint
144+
145+// Gets the page reveal duration, in milliseconds.
146+func (x *Carousel) GetRevealDuration() uint {
147+
148+ return xCarouselGetRevealDuration(x.GoPointer())
149+
150+}
151+
152+var xCarouselGetScrollParams func(uintptr) *SpringParams
153+
154+// Gets the scroll animation spring parameters for @self.
155+func (x *Carousel) GetScrollParams() *SpringParams {
156+
157+ return xCarouselGetScrollParams(x.GoPointer())
158+
159+}
160+
161+var xCarouselGetSpacing func(uintptr) uint
162+
163+// Gets spacing between pages in pixels.
164+func (x *Carousel) GetSpacing() uint {
165+
166+ return xCarouselGetSpacing(x.GoPointer())
167+
168+}
169+
170+var xCarouselInsert func(uintptr, uintptr, int32)
171+
172+// Inserts @child into @self at position @position.
173+//
174+// If position is -1, or larger than the number of pages,
175+// @child will be appended to the end.
176+func (x *Carousel) Insert(ChildVar *gtk.Widget, PositionVar int32) {
177+
178+ xCarouselInsert(x.GoPointer(), ChildVar.GoPointer(), PositionVar)
179+
180+}
181+
182+var xCarouselPrepend func(uintptr, uintptr)
183+
184+// Prepends @child to @self.
185+func (x *Carousel) Prepend(ChildVar *gtk.Widget) {
186+
187+ xCarouselPrepend(x.GoPointer(), ChildVar.GoPointer())
188+
189+}
190+
191+var xCarouselRemove func(uintptr, uintptr)
192+
193+// Removes @child from @self.
194+func (x *Carousel) Remove(ChildVar *gtk.Widget) {
195+
196+ xCarouselRemove(x.GoPointer(), ChildVar.GoPointer())
197+
198+}
199+
200+var xCarouselReorder func(uintptr, uintptr, int32)
201+
202+// Moves @child into position @position.
203+//
204+// If position is -1, or larger than the number of pages, @child will be moved
205+// at the end.
206+func (x *Carousel) Reorder(ChildVar *gtk.Widget, PositionVar int32) {
207+
208+ xCarouselReorder(x.GoPointer(), ChildVar.GoPointer(), PositionVar)
209+
210+}
211+
212+var xCarouselScrollTo func(uintptr, uintptr, bool)
213+
214+// Scrolls to @widget.
215+//
216+// If @animate is `TRUE`, the transition will be animated.
217+func (x *Carousel) ScrollTo(WidgetVar *gtk.Widget, AnimateVar bool) {
218+
219+ xCarouselScrollTo(x.GoPointer(), WidgetVar.GoPointer(), AnimateVar)
220+
221+}
222+
223+var xCarouselSetAllowLongSwipes func(uintptr, bool)
224+
225+// Sets whether to allow swiping for more than one page at a time.
226+//
227+// If @allow_long_swipes is `FALSE`, each swipe can only move to the adjacent
228+// pages.
229+func (x *Carousel) SetAllowLongSwipes(AllowLongSwipesVar bool) {
230+
231+ xCarouselSetAllowLongSwipes(x.GoPointer(), AllowLongSwipesVar)
232+
233+}
234+
235+var xCarouselSetAllowMouseDrag func(uintptr, bool)
236+
237+// Sets whether @self can be dragged with mouse pointer.
238+//
239+// If @allow_mouse_drag is `FALSE`, dragging is only available on touch.
240+func (x *Carousel) SetAllowMouseDrag(AllowMouseDragVar bool) {
241+
242+ xCarouselSetAllowMouseDrag(x.GoPointer(), AllowMouseDragVar)
243+
244+}
245+
246+var xCarouselSetAllowScrollWheel func(uintptr, bool)
247+
248+// Sets whether @self will respond to scroll wheel events.
249+//
250+// If @allow_scroll_wheel is `FALSE`, wheel events will be ignored.
251+func (x *Carousel) SetAllowScrollWheel(AllowScrollWheelVar bool) {
252+
253+ xCarouselSetAllowScrollWheel(x.GoPointer(), AllowScrollWheelVar)
254+
255+}
256+
257+var xCarouselSetInteractive func(uintptr, bool)
258+
259+// Sets whether @self can be navigated.
260+//
261+// This can be used to temporarily disable the carousel to only allow navigating
262+// it in a certain state.
263+func (x *Carousel) SetInteractive(InteractiveVar bool) {
264+
265+ xCarouselSetInteractive(x.GoPointer(), InteractiveVar)
266+
267+}
268+
269+var xCarouselSetRevealDuration func(uintptr, uint)
270+
271+// Sets the page reveal duration, in milliseconds.
272+//
273+// Reveal duration is used when animating adding or removing pages.
274+func (x *Carousel) SetRevealDuration(RevealDurationVar uint) {
275+
276+ xCarouselSetRevealDuration(x.GoPointer(), RevealDurationVar)
277+
278+}
279+
280+var xCarouselSetScrollParams func(uintptr, *SpringParams)
281+
282+// Sets the scroll animation spring parameters for @self.
283+//
284+// The default value is equivalent to:
285+//
286+// ```c
287+// adw_spring_params_new (1, 0.5, 500)
288+// ```
289+func (x *Carousel) SetScrollParams(ParamsVar *SpringParams) {
290+
291+ xCarouselSetScrollParams(x.GoPointer(), ParamsVar)
292+
293+}
294+
295+var xCarouselSetSpacing func(uintptr, uint)
296+
297+// Sets spacing between pages in pixels.
298+func (x *Carousel) SetSpacing(SpacingVar uint) {
299+
300+ xCarouselSetSpacing(x.GoPointer(), SpacingVar)
301+
302+}
303+
304+func (c *Carousel) GoPointer() uintptr {
305+ return c.Ptr
306+}
307+
308+func (c *Carousel) SetGoPointer(ptr uintptr) {
309+ c.Ptr = ptr
310+}
311+
312+// This signal is emitted after a page has been changed.
313+//
314+// It can be used to implement "infinite scrolling" by amending the pages
315+// after every scroll. Note that an empty carousel is indicated by
316+// `(int)index == -1`.
317+func (x *Carousel) ConnectPageChanged(cb func(Carousel, uint)) {
318+ fcb := func(clsPtr uintptr, IndexVarp uint) {
319+ fa := Carousel{}
320+ fa.Ptr = clsPtr
321+
322+ cb(fa, IndexVarp)
323+
324+ }
325+ gobject.ObjectConnect(x.GoPointer(), "signal::page-changed", purego.NewCallback(fcb))
326+}
327+
328+// Gets the progress @self will snap back to after the gesture is canceled.
329+func (x *Carousel) GetCancelProgress() float64 {
330+
331+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
332+
333+}
334+
335+// Gets the swipe distance of @self.
336+//
337+// This corresponds to how many pixels 1 unit represents.
338+func (x *Carousel) GetDistance() float64 {
339+
340+ return XAdwSwipeableGetDistance(x.GoPointer())
341+
342+}
343+
344+// Gets the current progress of @self.
345+func (x *Carousel) GetProgress() float64 {
346+
347+ return XAdwSwipeableGetProgress(x.GoPointer())
348+
349+}
350+
351+// Gets the snap points of @self.
352+//
353+// Each snap point represents a progress value that is considered acceptable to
354+// end the swipe on.
355+func (x *Carousel) GetSnapPoints(NSnapPointsVar int32) uintptr {
356+
357+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
358+
359+}
360+
361+// Gets the area @self can start a swipe from for the given direction and
362+// gesture type.
363+//
364+// This can be used to restrict swipes to only be possible from a certain area,
365+// for example, to only allow edge swipes, or to have a draggable element and
366+// ignore swipes elsewhere.
367+//
368+// If not implemented, the default implementation returns the allocation of
369+// @self, allowing swipes from anywhere.
370+func (x *Carousel) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
371+
372+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
373+
374+}
375+
376+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
377+func (x *Carousel) GetAccessibleRole() gtk.AccessibleRole {
378+
379+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
380+
381+}
382+
383+// Resets the accessible @property to its default value.
384+func (x *Carousel) ResetProperty(PropertyVar gtk.AccessibleProperty) {
385+
386+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
387+
388+}
389+
390+// Resets the accessible @relation to its default value.
391+func (x *Carousel) ResetRelation(RelationVar gtk.AccessibleRelation) {
392+
393+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
394+
395+}
396+
397+// Resets the accessible @state to its default value.
398+func (x *Carousel) ResetState(StateVar gtk.AccessibleState) {
399+
400+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
401+
402+}
403+
404+// Updates a list of accessible properties.
405+//
406+// See the [enum@Gtk.AccessibleProperty] documentation for the
407+// value types of accessible properties.
408+//
409+// This function should be called by `GtkWidget` types whenever
410+// an accessible property change must be communicated to assistive
411+// technologies.
412+//
413+// Example:
414+// ```c
415+// value = gtk_adjustment_get_value (adjustment);
416+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
417+//
418+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
419+// -1);
420+//
421+// ```
422+func (x *Carousel) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
423+
424+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
425+
426+}
427+
428+// Updates an array of accessible properties.
429+//
430+// This function should be called by `GtkWidget` types whenever an accessible
431+// property change must be communicated to assistive technologies.
432+//
433+// This function is meant to be used by language bindings.
434+func (x *Carousel) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
435+
436+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
437+
438+}
439+
440+// Updates a list of accessible relations.
441+//
442+// This function should be called by `GtkWidget` types whenever an accessible
443+// relation change must be communicated to assistive technologies.
444+//
445+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
446+// you should pass each reference individually, followed by %NULL, e.g.
447+//
448+// ```c
449+// gtk_accessible_update_relation (accessible,
450+//
451+// GTK_ACCESSIBLE_RELATION_CONTROLS,
452+// ref1, NULL,
453+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
454+// ref1, ref2, ref3, NULL,
455+// -1);
456+//
457+// ```
458+func (x *Carousel) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
459+
460+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
461+
462+}
463+
464+// Updates an array of accessible relations.
465+//
466+// This function should be called by `GtkWidget` types whenever an accessible
467+// relation change must be communicated to assistive technologies.
468+//
469+// This function is meant to be used by language bindings.
470+func (x *Carousel) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
471+
472+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
473+
474+}
475+
476+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
477+// documentation for the value types of accessible states.
478+//
479+// This function should be called by `GtkWidget` types whenever an accessible
480+// state change must be communicated to assistive technologies.
481+//
482+// Example:
483+// ```c
484+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
485+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
486+//
487+// GTK_ACCESSIBLE_STATE_CHECKED, value,
488+// -1);
489+//
490+// ```
491+func (x *Carousel) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
492+
493+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
494+
495+}
496+
497+// Updates an array of accessible states.
498+//
499+// This function should be called by `GtkWidget` types whenever an accessible
500+// state change must be communicated to assistive technologies.
501+//
502+// This function is meant to be used by language bindings.
503+func (x *Carousel) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
504+
505+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
506+
507+}
508+
509+// Gets the ID of the @buildable object.
510+//
511+// `GtkBuilder` sets the name based on the ID attribute
512+// of the &lt;object&gt; tag used to construct the @buildable.
513+func (x *Carousel) GetBuildableId() string {
514+
515+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
516+
517+}
518+
519+// Retrieves the orientation of the @orientable.
520+func (x *Carousel) GetOrientation() gtk.Orientation {
521+
522+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
523+
524+}
525+
526+// Sets the orientation of the @orientable.
527+func (x *Carousel) SetOrientation(OrientationVar gtk.Orientation) {
528+
529+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
530+
531+}
532+
533+func init() {
534+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
535+ if err != nil {
536+ panic(err)
537+ }
538+
539+ core.PuregoSafeRegister(&xNewCarousel, lib, "adw_carousel_new")
540+
541+ core.PuregoSafeRegister(&xCarouselAppend, lib, "adw_carousel_append")
542+ core.PuregoSafeRegister(&xCarouselGetAllowLongSwipes, lib, "adw_carousel_get_allow_long_swipes")
543+ core.PuregoSafeRegister(&xCarouselGetAllowMouseDrag, lib, "adw_carousel_get_allow_mouse_drag")
544+ core.PuregoSafeRegister(&xCarouselGetAllowScrollWheel, lib, "adw_carousel_get_allow_scroll_wheel")
545+ core.PuregoSafeRegister(&xCarouselGetInteractive, lib, "adw_carousel_get_interactive")
546+ core.PuregoSafeRegister(&xCarouselGetNPages, lib, "adw_carousel_get_n_pages")
547+ core.PuregoSafeRegister(&xCarouselGetNthPage, lib, "adw_carousel_get_nth_page")
548+ core.PuregoSafeRegister(&xCarouselGetPosition, lib, "adw_carousel_get_position")
549+ core.PuregoSafeRegister(&xCarouselGetRevealDuration, lib, "adw_carousel_get_reveal_duration")
550+ core.PuregoSafeRegister(&xCarouselGetScrollParams, lib, "adw_carousel_get_scroll_params")
551+ core.PuregoSafeRegister(&xCarouselGetSpacing, lib, "adw_carousel_get_spacing")
552+ core.PuregoSafeRegister(&xCarouselInsert, lib, "adw_carousel_insert")
553+ core.PuregoSafeRegister(&xCarouselPrepend, lib, "adw_carousel_prepend")
554+ core.PuregoSafeRegister(&xCarouselRemove, lib, "adw_carousel_remove")
555+ core.PuregoSafeRegister(&xCarouselReorder, lib, "adw_carousel_reorder")
556+ core.PuregoSafeRegister(&xCarouselScrollTo, lib, "adw_carousel_scroll_to")
557+ core.PuregoSafeRegister(&xCarouselSetAllowLongSwipes, lib, "adw_carousel_set_allow_long_swipes")
558+ core.PuregoSafeRegister(&xCarouselSetAllowMouseDrag, lib, "adw_carousel_set_allow_mouse_drag")
559+ core.PuregoSafeRegister(&xCarouselSetAllowScrollWheel, lib, "adw_carousel_set_allow_scroll_wheel")
560+ core.PuregoSafeRegister(&xCarouselSetInteractive, lib, "adw_carousel_set_interactive")
561+ core.PuregoSafeRegister(&xCarouselSetRevealDuration, lib, "adw_carousel_set_reveal_duration")
562+ core.PuregoSafeRegister(&xCarouselSetScrollParams, lib, "adw_carousel_set_scroll_params")
563+ core.PuregoSafeRegister(&xCarouselSetSpacing, lib, "adw_carousel_set_spacing")
564+
565+}
A v4/adw/adw-clamp-layout.go +150 -0
@@ -0,0 +1,150 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gtk"
8+)
9+
10+type ClampLayoutClass struct {
11+ ParentClass uintptr
12+}
13+
14+// A layout manager constraining its children to a given size.
15+//
16+// &lt;picture&gt;
17+//
18+// &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
19+// &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
20+//
21+// &lt;/picture&gt;
22+// &lt;picture&gt;
23+//
24+// &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
25+// &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
26+//
27+// &lt;/picture&gt;
28+//
29+// `AdwClampLayout` constraints the size of the widgets it contains to a given
30+// maximum size. It will constrain the width if it is horizontal, or the height
31+// if it is vertical. The expansion of the children from their minimum to their
32+// maximum size is eased out for a smooth transition.
33+//
34+// If a child requires more than the requested maximum size, it will be
35+// allocated the minimum size it can fit in instead.
36+//
37+// Each child will get the style classes .large when it reached its maximum
38+// size, .small when it's allocated the full size, .medium in-between, or none
39+// if it hasn't been allocated yet.
40+type ClampLayout struct {
41+ gtk.LayoutManager
42+}
43+
44+func ClampLayoutNewFromInternalPtr(ptr uintptr) *ClampLayout {
45+ cls := &ClampLayout{}
46+ cls.Ptr = ptr
47+ return cls
48+}
49+
50+var xNewClampLayout func() uintptr
51+
52+// Creates a new `AdwClampLayout`.
53+func NewClampLayout() *gtk.LayoutManager {
54+ NewClampLayoutPtr := xNewClampLayout()
55+ if NewClampLayoutPtr == 0 {
56+ return nil
57+ }
58+
59+ NewClampLayoutCls := &gtk.LayoutManager{}
60+ NewClampLayoutCls.Ptr = NewClampLayoutPtr
61+ return NewClampLayoutCls
62+}
63+
64+var xClampLayoutGetMaximumSize func(uintptr) int32
65+
66+// Gets the maximum size allocated to the children.
67+func (x *ClampLayout) GetMaximumSize() int32 {
68+
69+ return xClampLayoutGetMaximumSize(x.GoPointer())
70+
71+}
72+
73+var xClampLayoutGetTighteningThreshold func(uintptr) int32
74+
75+// Gets the size above which the children are clamped.
76+func (x *ClampLayout) GetTighteningThreshold() int32 {
77+
78+ return xClampLayoutGetTighteningThreshold(x.GoPointer())
79+
80+}
81+
82+var xClampLayoutSetMaximumSize func(uintptr, int32)
83+
84+// Sets the maximum size allocated to the children.
85+//
86+// It is the width if the layout is horizontal, or the height if it is vertical.
87+func (x *ClampLayout) SetMaximumSize(MaximumSizeVar int32) {
88+
89+ xClampLayoutSetMaximumSize(x.GoPointer(), MaximumSizeVar)
90+
91+}
92+
93+var xClampLayoutSetTighteningThreshold func(uintptr, int32)
94+
95+// Sets the size above which the children are clamped.
96+//
97+// Starting from this size, the layout will tighten its grip on the children,
98+// slowly allocating less and less of the available size up to the maximum
99+// allocated size. Below that threshold and below the maximum size, the children
100+// will be allocated all the available size.
101+//
102+// If the threshold is greater than the maximum size to allocate to the
103+// children, they will be allocated the whole size up to the maximum. If the
104+// threshold is lower than the minimum size to allocate to the children, that
105+// size will be used as the tightening threshold.
106+//
107+// Effectively, tightening the grip on a child before it reaches its maximum
108+// size makes transitions to and from the maximum size smoother when resizing.
109+func (x *ClampLayout) SetTighteningThreshold(TighteningThresholdVar int32) {
110+
111+ xClampLayoutSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
112+
113+}
114+
115+func (c *ClampLayout) GoPointer() uintptr {
116+ return c.Ptr
117+}
118+
119+func (c *ClampLayout) SetGoPointer(ptr uintptr) {
120+ c.Ptr = ptr
121+}
122+
123+// Retrieves the orientation of the @orientable.
124+func (x *ClampLayout) GetOrientation() gtk.Orientation {
125+
126+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
127+
128+}
129+
130+// Sets the orientation of the @orientable.
131+func (x *ClampLayout) SetOrientation(OrientationVar gtk.Orientation) {
132+
133+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
134+
135+}
136+
137+func init() {
138+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
139+ if err != nil {
140+ panic(err)
141+ }
142+
143+ core.PuregoSafeRegister(&xNewClampLayout, lib, "adw_clamp_layout_new")
144+
145+ core.PuregoSafeRegister(&xClampLayoutGetMaximumSize, lib, "adw_clamp_layout_get_maximum_size")
146+ core.PuregoSafeRegister(&xClampLayoutGetTighteningThreshold, lib, "adw_clamp_layout_get_tightening_threshold")
147+ core.PuregoSafeRegister(&xClampLayoutSetMaximumSize, lib, "adw_clamp_layout_set_maximum_size")
148+ core.PuregoSafeRegister(&xClampLayoutSetTighteningThreshold, lib, "adw_clamp_layout_set_tightening_threshold")
149+
150+}
A v4/adw/adw-clamp-scrollable.go +398 -0
@@ -0,0 +1,398 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ClampScrollableClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A scrollable [class@Clamp].
16+//
17+// `AdwClampScrollable` is a variant of [class@Clamp] that implements the
18+// [iface@Gtk.Scrollable] interface.
19+//
20+// The primary use case for `AdwClampScrollable` is clamping
21+// [class@Gtk.ListView].
22+type ClampScrollable struct {
23+ gtk.Widget
24+}
25+
26+func ClampScrollableNewFromInternalPtr(ptr uintptr) *ClampScrollable {
27+ cls := &ClampScrollable{}
28+ cls.Ptr = ptr
29+ return cls
30+}
31+
32+var xNewClampScrollable func() uintptr
33+
34+// Creates a new `AdwClampScrollable`.
35+func NewClampScrollable() *gtk.Widget {
36+ NewClampScrollablePtr := xNewClampScrollable()
37+ if NewClampScrollablePtr == 0 {
38+ return nil
39+ }
40+
41+ gobject.IncreaseRef(NewClampScrollablePtr)
42+
43+ NewClampScrollableCls := &gtk.Widget{}
44+ NewClampScrollableCls.Ptr = NewClampScrollablePtr
45+ return NewClampScrollableCls
46+}
47+
48+var xClampScrollableGetChild func(uintptr) uintptr
49+
50+// Gets the child widget of @self.
51+func (x *ClampScrollable) GetChild() *gtk.Widget {
52+
53+ GetChildPtr := xClampScrollableGetChild(x.GoPointer())
54+ if GetChildPtr == 0 {
55+ return nil
56+ }
57+
58+ gobject.IncreaseRef(GetChildPtr)
59+
60+ GetChildCls := &gtk.Widget{}
61+ GetChildCls.Ptr = GetChildPtr
62+ return GetChildCls
63+
64+}
65+
66+var xClampScrollableGetMaximumSize func(uintptr) int32
67+
68+// Gets the maximum size allocated to the child.
69+func (x *ClampScrollable) GetMaximumSize() int32 {
70+
71+ return xClampScrollableGetMaximumSize(x.GoPointer())
72+
73+}
74+
75+var xClampScrollableGetTighteningThreshold func(uintptr) int32
76+
77+// Gets the size above which the child is clamped.
78+func (x *ClampScrollable) GetTighteningThreshold() int32 {
79+
80+ return xClampScrollableGetTighteningThreshold(x.GoPointer())
81+
82+}
83+
84+var xClampScrollableSetChild func(uintptr, uintptr)
85+
86+// Sets the child widget of @self.
87+func (x *ClampScrollable) SetChild(ChildVar *gtk.Widget) {
88+
89+ xClampScrollableSetChild(x.GoPointer(), ChildVar.GoPointer())
90+
91+}
92+
93+var xClampScrollableSetMaximumSize func(uintptr, int32)
94+
95+// Sets the maximum size allocated to the child.
96+//
97+// It is the width if the clamp is horizontal, or the height if it is vertical.
98+func (x *ClampScrollable) SetMaximumSize(MaximumSizeVar int32) {
99+
100+ xClampScrollableSetMaximumSize(x.GoPointer(), MaximumSizeVar)
101+
102+}
103+
104+var xClampScrollableSetTighteningThreshold func(uintptr, int32)
105+
106+// Sets the size above which the child is clamped.
107+//
108+// Starting from this size, the clamp will tighten its grip on the child, slowly
109+// allocating less and less of the available size up to the maximum allocated
110+// size. Below that threshold and below the maximum width, the child will be
111+// allocated all the available size.
112+//
113+// If the threshold is greater than the maximum size to allocate to the child,
114+// the child will be allocated all the width up to the maximum. If the threshold
115+// is lower than the minimum size to allocate to the child, that size will be
116+// used as the tightening threshold.
117+//
118+// Effectively, tightening the grip on the child before it reaches its maximum
119+// size makes transitions to and from the maximum size smoother when resizing.
120+func (x *ClampScrollable) SetTighteningThreshold(TighteningThresholdVar int32) {
121+
122+ xClampScrollableSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
123+
124+}
125+
126+func (c *ClampScrollable) GoPointer() uintptr {
127+ return c.Ptr
128+}
129+
130+func (c *ClampScrollable) SetGoPointer(ptr uintptr) {
131+ c.Ptr = ptr
132+}
133+
134+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
135+func (x *ClampScrollable) GetAccessibleRole() gtk.AccessibleRole {
136+
137+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
138+
139+}
140+
141+// Resets the accessible @property to its default value.
142+func (x *ClampScrollable) ResetProperty(PropertyVar gtk.AccessibleProperty) {
143+
144+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
145+
146+}
147+
148+// Resets the accessible @relation to its default value.
149+func (x *ClampScrollable) ResetRelation(RelationVar gtk.AccessibleRelation) {
150+
151+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
152+
153+}
154+
155+// Resets the accessible @state to its default value.
156+func (x *ClampScrollable) ResetState(StateVar gtk.AccessibleState) {
157+
158+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
159+
160+}
161+
162+// Updates a list of accessible properties.
163+//
164+// See the [enum@Gtk.AccessibleProperty] documentation for the
165+// value types of accessible properties.
166+//
167+// This function should be called by `GtkWidget` types whenever
168+// an accessible property change must be communicated to assistive
169+// technologies.
170+//
171+// Example:
172+// ```c
173+// value = gtk_adjustment_get_value (adjustment);
174+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
175+//
176+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
177+// -1);
178+//
179+// ```
180+func (x *ClampScrollable) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
181+
182+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
183+
184+}
185+
186+// Updates an array of accessible properties.
187+//
188+// This function should be called by `GtkWidget` types whenever an accessible
189+// property change must be communicated to assistive technologies.
190+//
191+// This function is meant to be used by language bindings.
192+func (x *ClampScrollable) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
193+
194+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
195+
196+}
197+
198+// Updates a list of accessible relations.
199+//
200+// This function should be called by `GtkWidget` types whenever an accessible
201+// relation change must be communicated to assistive technologies.
202+//
203+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
204+// you should pass each reference individually, followed by %NULL, e.g.
205+//
206+// ```c
207+// gtk_accessible_update_relation (accessible,
208+//
209+// GTK_ACCESSIBLE_RELATION_CONTROLS,
210+// ref1, NULL,
211+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
212+// ref1, ref2, ref3, NULL,
213+// -1);
214+//
215+// ```
216+func (x *ClampScrollable) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
217+
218+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
219+
220+}
221+
222+// Updates an array of accessible relations.
223+//
224+// This function should be called by `GtkWidget` types whenever an accessible
225+// relation change must be communicated to assistive technologies.
226+//
227+// This function is meant to be used by language bindings.
228+func (x *ClampScrollable) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
229+
230+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
231+
232+}
233+
234+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
235+// documentation for the value types of accessible states.
236+//
237+// This function should be called by `GtkWidget` types whenever an accessible
238+// state change must be communicated to assistive technologies.
239+//
240+// Example:
241+// ```c
242+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
243+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
244+//
245+// GTK_ACCESSIBLE_STATE_CHECKED, value,
246+// -1);
247+//
248+// ```
249+func (x *ClampScrollable) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
250+
251+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
252+
253+}
254+
255+// Updates an array of accessible states.
256+//
257+// This function should be called by `GtkWidget` types whenever an accessible
258+// state change must be communicated to assistive technologies.
259+//
260+// This function is meant to be used by language bindings.
261+func (x *ClampScrollable) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
262+
263+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
264+
265+}
266+
267+// Gets the ID of the @buildable object.
268+//
269+// `GtkBuilder` sets the name based on the ID attribute
270+// of the &lt;object&gt; tag used to construct the @buildable.
271+func (x *ClampScrollable) GetBuildableId() string {
272+
273+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
274+
275+}
276+
277+// Retrieves the orientation of the @orientable.
278+func (x *ClampScrollable) GetOrientation() gtk.Orientation {
279+
280+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
281+
282+}
283+
284+// Sets the orientation of the @orientable.
285+func (x *ClampScrollable) SetOrientation(OrientationVar gtk.Orientation) {
286+
287+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
288+
289+}
290+
291+// Returns the size of a non-scrolling border around the
292+// outside of the scrollable.
293+//
294+// An example for this would be treeview headers. GTK can use
295+// this information to display overlaid graphics, like the
296+// overshoot indication, at the right position.
297+func (x *ClampScrollable) GetBorder(BorderVar *gtk.Border) bool {
298+
299+ return gtk.XGtkScrollableGetBorder(x.GoPointer(), BorderVar)
300+
301+}
302+
303+// Retrieves the `GtkAdjustment` used for horizontal scrolling.
304+func (x *ClampScrollable) GetHadjustment() *gtk.Adjustment {
305+
306+ GetHadjustmentPtr := gtk.XGtkScrollableGetHadjustment(x.GoPointer())
307+ if GetHadjustmentPtr == 0 {
308+ return nil
309+ }
310+
311+ gobject.IncreaseRef(GetHadjustmentPtr)
312+
313+ GetHadjustmentCls := &gtk.Adjustment{}
314+ GetHadjustmentCls.Ptr = GetHadjustmentPtr
315+ return GetHadjustmentCls
316+
317+}
318+
319+// Gets the horizontal `GtkScrollablePolicy`.
320+func (x *ClampScrollable) GetHscrollPolicy() gtk.ScrollablePolicy {
321+
322+ return gtk.XGtkScrollableGetHscrollPolicy(x.GoPointer())
323+
324+}
325+
326+// Retrieves the `GtkAdjustment` used for vertical scrolling.
327+func (x *ClampScrollable) GetVadjustment() *gtk.Adjustment {
328+
329+ GetVadjustmentPtr := gtk.XGtkScrollableGetVadjustment(x.GoPointer())
330+ if GetVadjustmentPtr == 0 {
331+ return nil
332+ }
333+
334+ gobject.IncreaseRef(GetVadjustmentPtr)
335+
336+ GetVadjustmentCls := &gtk.Adjustment{}
337+ GetVadjustmentCls.Ptr = GetVadjustmentPtr
338+ return GetVadjustmentCls
339+
340+}
341+
342+// Gets the vertical `GtkScrollablePolicy`.
343+func (x *ClampScrollable) GetVscrollPolicy() gtk.ScrollablePolicy {
344+
345+ return gtk.XGtkScrollableGetVscrollPolicy(x.GoPointer())
346+
347+}
348+
349+// Sets the horizontal adjustment of the `GtkScrollable`.
350+func (x *ClampScrollable) SetHadjustment(HadjustmentVar *gtk.Adjustment) {
351+
352+ gtk.XGtkScrollableSetHadjustment(x.GoPointer(), HadjustmentVar.GoPointer())
353+
354+}
355+
356+// Sets the `GtkScrollablePolicy`.
357+//
358+// The policy determines whether horizontal scrolling should start
359+// below the minimum width or below the natural width.
360+func (x *ClampScrollable) SetHscrollPolicy(PolicyVar gtk.ScrollablePolicy) {
361+
362+ gtk.XGtkScrollableSetHscrollPolicy(x.GoPointer(), PolicyVar)
363+
364+}
365+
366+// Sets the vertical adjustment of the `GtkScrollable`.
367+func (x *ClampScrollable) SetVadjustment(VadjustmentVar *gtk.Adjustment) {
368+
369+ gtk.XGtkScrollableSetVadjustment(x.GoPointer(), VadjustmentVar.GoPointer())
370+
371+}
372+
373+// Sets the `GtkScrollablePolicy`.
374+//
375+// The policy determines whether vertical scrolling should start
376+// below the minimum height or below the natural height.
377+func (x *ClampScrollable) SetVscrollPolicy(PolicyVar gtk.ScrollablePolicy) {
378+
379+ gtk.XGtkScrollableSetVscrollPolicy(x.GoPointer(), PolicyVar)
380+
381+}
382+
383+func init() {
384+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
385+ if err != nil {
386+ panic(err)
387+ }
388+
389+ core.PuregoSafeRegister(&xNewClampScrollable, lib, "adw_clamp_scrollable_new")
390+
391+ core.PuregoSafeRegister(&xClampScrollableGetChild, lib, "adw_clamp_scrollable_get_child")
392+ core.PuregoSafeRegister(&xClampScrollableGetMaximumSize, lib, "adw_clamp_scrollable_get_maximum_size")
393+ core.PuregoSafeRegister(&xClampScrollableGetTighteningThreshold, lib, "adw_clamp_scrollable_get_tightening_threshold")
394+ core.PuregoSafeRegister(&xClampScrollableSetChild, lib, "adw_clamp_scrollable_set_child")
395+ core.PuregoSafeRegister(&xClampScrollableSetMaximumSize, lib, "adw_clamp_scrollable_set_maximum_size")
396+ core.PuregoSafeRegister(&xClampScrollableSetTighteningThreshold, lib, "adw_clamp_scrollable_set_tightening_threshold")
397+
398+}
A v4/adw/adw-clamp.go +329 -0
@@ -0,0 +1,329 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ClampClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A widget constraining its child to a given size.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
21+//
22+// &lt;/picture&gt;
23+// &lt;picture&gt;
24+//
25+// &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
26+// &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
27+//
28+// &lt;/picture&gt;
29+//
30+// The `AdwClamp` widget constrains the size of the widget it contains to a
31+// given maximum size. It will constrain the width if it is horizontal, or the
32+// height if it is vertical. The expansion of the child from its minimum to its
33+// maximum size is eased out for a smooth transition.
34+//
35+// If the child requires more than the requested maximum size, it will be
36+// allocated the minimum size it can fit in instead.
37+//
38+// ## CSS nodes
39+//
40+// `AdwClamp` has a single CSS node with name `clamp`.
41+//
42+// Its children will receive the style classes `.large` when the child reached
43+// its maximum size, `.small` when the clamp allocates its full size to the
44+// child, `.medium` in-between, or none if it hasn't computed its size yet.
45+type Clamp struct {
46+ gtk.Widget
47+}
48+
49+func ClampNewFromInternalPtr(ptr uintptr) *Clamp {
50+ cls := &Clamp{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewClamp func() uintptr
56+
57+// Creates a new `AdwClamp`.
58+func NewClamp() *gtk.Widget {
59+ NewClampPtr := xNewClamp()
60+ if NewClampPtr == 0 {
61+ return nil
62+ }
63+
64+ gobject.IncreaseRef(NewClampPtr)
65+
66+ NewClampCls := &gtk.Widget{}
67+ NewClampCls.Ptr = NewClampPtr
68+ return NewClampCls
69+}
70+
71+var xClampGetChild func(uintptr) uintptr
72+
73+// Gets the child widget of @self.
74+func (x *Clamp) GetChild() *gtk.Widget {
75+
76+ GetChildPtr := xClampGetChild(x.GoPointer())
77+ if GetChildPtr == 0 {
78+ return nil
79+ }
80+
81+ gobject.IncreaseRef(GetChildPtr)
82+
83+ GetChildCls := &gtk.Widget{}
84+ GetChildCls.Ptr = GetChildPtr
85+ return GetChildCls
86+
87+}
88+
89+var xClampGetMaximumSize func(uintptr) int32
90+
91+// Gets the maximum size allocated to the child.
92+func (x *Clamp) GetMaximumSize() int32 {
93+
94+ return xClampGetMaximumSize(x.GoPointer())
95+
96+}
97+
98+var xClampGetTighteningThreshold func(uintptr) int32
99+
100+// Gets the size above which the child is clamped.
101+func (x *Clamp) GetTighteningThreshold() int32 {
102+
103+ return xClampGetTighteningThreshold(x.GoPointer())
104+
105+}
106+
107+var xClampSetChild func(uintptr, uintptr)
108+
109+// Sets the child widget of @self.
110+func (x *Clamp) SetChild(ChildVar *gtk.Widget) {
111+
112+ xClampSetChild(x.GoPointer(), ChildVar.GoPointer())
113+
114+}
115+
116+var xClampSetMaximumSize func(uintptr, int32)
117+
118+// Sets the maximum size allocated to the child.
119+//
120+// It is the width if the clamp is horizontal, or the height if it is vertical.
121+func (x *Clamp) SetMaximumSize(MaximumSizeVar int32) {
122+
123+ xClampSetMaximumSize(x.GoPointer(), MaximumSizeVar)
124+
125+}
126+
127+var xClampSetTighteningThreshold func(uintptr, int32)
128+
129+// Sets the size above which the child is clamped.
130+//
131+// Starting from this size, the clamp will tighten its grip on the child, slowly
132+// allocating less and less of the available size up to the maximum allocated
133+// size. Below that threshold and below the maximum size, the child will be
134+// allocated all the available size.
135+//
136+// If the threshold is greater than the maximum size to allocate to the child,
137+// the child will be allocated all the size up to the maximum. If the threshold
138+// is lower than the minimum size to allocate to the child, that size will be
139+// used as the tightening threshold.
140+//
141+// Effectively, tightening the grip on the child before it reaches its maximum
142+// size makes transitions to and from the maximum size smoother when resizing.
143+func (x *Clamp) SetTighteningThreshold(TighteningThresholdVar int32) {
144+
145+ xClampSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
146+
147+}
148+
149+func (c *Clamp) GoPointer() uintptr {
150+ return c.Ptr
151+}
152+
153+func (c *Clamp) SetGoPointer(ptr uintptr) {
154+ c.Ptr = ptr
155+}
156+
157+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
158+func (x *Clamp) GetAccessibleRole() gtk.AccessibleRole {
159+
160+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
161+
162+}
163+
164+// Resets the accessible @property to its default value.
165+func (x *Clamp) ResetProperty(PropertyVar gtk.AccessibleProperty) {
166+
167+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
168+
169+}
170+
171+// Resets the accessible @relation to its default value.
172+func (x *Clamp) ResetRelation(RelationVar gtk.AccessibleRelation) {
173+
174+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
175+
176+}
177+
178+// Resets the accessible @state to its default value.
179+func (x *Clamp) ResetState(StateVar gtk.AccessibleState) {
180+
181+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
182+
183+}
184+
185+// Updates a list of accessible properties.
186+//
187+// See the [enum@Gtk.AccessibleProperty] documentation for the
188+// value types of accessible properties.
189+//
190+// This function should be called by `GtkWidget` types whenever
191+// an accessible property change must be communicated to assistive
192+// technologies.
193+//
194+// Example:
195+// ```c
196+// value = gtk_adjustment_get_value (adjustment);
197+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
198+//
199+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
200+// -1);
201+//
202+// ```
203+func (x *Clamp) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
204+
205+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
206+
207+}
208+
209+// Updates an array of accessible properties.
210+//
211+// This function should be called by `GtkWidget` types whenever an accessible
212+// property change must be communicated to assistive technologies.
213+//
214+// This function is meant to be used by language bindings.
215+func (x *Clamp) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
216+
217+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
218+
219+}
220+
221+// Updates a list of accessible relations.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// relation change must be communicated to assistive technologies.
225+//
226+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
227+// you should pass each reference individually, followed by %NULL, e.g.
228+//
229+// ```c
230+// gtk_accessible_update_relation (accessible,
231+//
232+// GTK_ACCESSIBLE_RELATION_CONTROLS,
233+// ref1, NULL,
234+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
235+// ref1, ref2, ref3, NULL,
236+// -1);
237+//
238+// ```
239+func (x *Clamp) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
240+
241+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
242+
243+}
244+
245+// Updates an array of accessible relations.
246+//
247+// This function should be called by `GtkWidget` types whenever an accessible
248+// relation change must be communicated to assistive technologies.
249+//
250+// This function is meant to be used by language bindings.
251+func (x *Clamp) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
252+
253+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
254+
255+}
256+
257+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
258+// documentation for the value types of accessible states.
259+//
260+// This function should be called by `GtkWidget` types whenever an accessible
261+// state change must be communicated to assistive technologies.
262+//
263+// Example:
264+// ```c
265+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
266+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
267+//
268+// GTK_ACCESSIBLE_STATE_CHECKED, value,
269+// -1);
270+//
271+// ```
272+func (x *Clamp) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
273+
274+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
275+
276+}
277+
278+// Updates an array of accessible states.
279+//
280+// This function should be called by `GtkWidget` types whenever an accessible
281+// state change must be communicated to assistive technologies.
282+//
283+// This function is meant to be used by language bindings.
284+func (x *Clamp) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
285+
286+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
287+
288+}
289+
290+// Gets the ID of the @buildable object.
291+//
292+// `GtkBuilder` sets the name based on the ID attribute
293+// of the &lt;object&gt; tag used to construct the @buildable.
294+func (x *Clamp) GetBuildableId() string {
295+
296+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
297+
298+}
299+
300+// Retrieves the orientation of the @orientable.
301+func (x *Clamp) GetOrientation() gtk.Orientation {
302+
303+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
304+
305+}
306+
307+// Sets the orientation of the @orientable.
308+func (x *Clamp) SetOrientation(OrientationVar gtk.Orientation) {
309+
310+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
311+
312+}
313+
314+func init() {
315+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
316+ if err != nil {
317+ panic(err)
318+ }
319+
320+ core.PuregoSafeRegister(&xNewClamp, lib, "adw_clamp_new")
321+
322+ core.PuregoSafeRegister(&xClampGetChild, lib, "adw_clamp_get_child")
323+ core.PuregoSafeRegister(&xClampGetMaximumSize, lib, "adw_clamp_get_maximum_size")
324+ core.PuregoSafeRegister(&xClampGetTighteningThreshold, lib, "adw_clamp_get_tightening_threshold")
325+ core.PuregoSafeRegister(&xClampSetChild, lib, "adw_clamp_set_child")
326+ core.PuregoSafeRegister(&xClampSetMaximumSize, lib, "adw_clamp_set_maximum_size")
327+ core.PuregoSafeRegister(&xClampSetTighteningThreshold, lib, "adw_clamp_set_tightening_threshold")
328+
329+}
A v4/adw/adw-combo-row.go +533 -0
@@ -0,0 +1,533 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type ComboRowClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A [class@Gtk.ListBoxRow] used to choose from a list of items.
20+//
21+// &lt;picture&gt;
22+//
23+// &lt;source srcset="combo-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
24+// &lt;img src="combo-row.png" alt="combo-row"&gt;
25+//
26+// &lt;/picture&gt;
27+//
28+// The `AdwComboRow` widget allows the user to choose from a list of valid
29+// choices. The row displays the selected choice. When activated, the row
30+// displays a popover which allows the user to make a new choice.
31+//
32+// Example of an `AdwComboRow` UI definition:
33+// ```xml
34+// &lt;object class="AdwComboRow"&gt;
35+//
36+// &lt;property name="title" translatable="yes"&gt;Combo Row&lt;/property&gt;
37+// &lt;property name="model"&gt;
38+// &lt;object class="GtkStringList"&gt;
39+// &lt;items&gt;
40+// &lt;item translatable="yes"&gt;Foo&lt;/item&gt;
41+// &lt;item translatable="yes"&gt;Bar&lt;/item&gt;
42+// &lt;item translatable="yes"&gt;Baz&lt;/item&gt;
43+// &lt;/items&gt;
44+// &lt;/object&gt;
45+// &lt;/property&gt;
46+//
47+// &lt;/object&gt;
48+// ```
49+//
50+// The [property@ComboRow:selected] and [property@ComboRow:selected-item]
51+// properties can be used to keep track of the selected item and react to their
52+// changes.
53+//
54+// `AdwComboRow` mirrors [class@Gtk.DropDown], see that widget for details.
55+//
56+// `AdwComboRow` is [property@Gtk.ListBoxRow:activatable] if a model is set.
57+//
58+// ## CSS nodes
59+//
60+// `AdwComboRow` has a main CSS node with name `row` and the `.combo` style
61+// class.
62+//
63+// Its popover has the node named `popover` with the `.menu` style class, it
64+// contains a [class@Gtk.ScrolledWindow], which in turn contains a
65+// [class@Gtk.ListView], both are accessible via their regular nodes.
66+//
67+// ## Accessibility
68+//
69+// `AdwComboRow` uses the `GTK_ACCESSIBLE_ROLE_COMBO_BOX` role.
70+type ComboRow struct {
71+ ActionRow
72+}
73+
74+func ComboRowNewFromInternalPtr(ptr uintptr) *ComboRow {
75+ cls := &ComboRow{}
76+ cls.Ptr = ptr
77+ return cls
78+}
79+
80+var xNewComboRow func() uintptr
81+
82+// Creates a new `AdwComboRow`.
83+func NewComboRow() *gtk.Widget {
84+ NewComboRowPtr := xNewComboRow()
85+ if NewComboRowPtr == 0 {
86+ return nil
87+ }
88+
89+ gobject.IncreaseRef(NewComboRowPtr)
90+
91+ NewComboRowCls := &gtk.Widget{}
92+ NewComboRowCls.Ptr = NewComboRowPtr
93+ return NewComboRowCls
94+}
95+
96+var xComboRowGetExpression func(uintptr) uintptr
97+
98+// Gets the expression used to obtain strings from items.
99+func (x *ComboRow) GetExpression() *gtk.Expression {
100+
101+ GetExpressionPtr := xComboRowGetExpression(x.GoPointer())
102+ if GetExpressionPtr == 0 {
103+ return nil
104+ }
105+
106+ gobject.IncreaseRef(GetExpressionPtr)
107+
108+ GetExpressionCls := &gtk.Expression{}
109+ GetExpressionCls.Ptr = GetExpressionPtr
110+ return GetExpressionCls
111+
112+}
113+
114+var xComboRowGetFactory func(uintptr) uintptr
115+
116+// Gets the factory for populating list items.
117+func (x *ComboRow) GetFactory() *gtk.ListItemFactory {
118+
119+ GetFactoryPtr := xComboRowGetFactory(x.GoPointer())
120+ if GetFactoryPtr == 0 {
121+ return nil
122+ }
123+
124+ gobject.IncreaseRef(GetFactoryPtr)
125+
126+ GetFactoryCls := &gtk.ListItemFactory{}
127+ GetFactoryCls.Ptr = GetFactoryPtr
128+ return GetFactoryCls
129+
130+}
131+
132+var xComboRowGetListFactory func(uintptr) uintptr
133+
134+// Gets the factory for populating list items in the popup.
135+func (x *ComboRow) GetListFactory() *gtk.ListItemFactory {
136+
137+ GetListFactoryPtr := xComboRowGetListFactory(x.GoPointer())
138+ if GetListFactoryPtr == 0 {
139+ return nil
140+ }
141+
142+ gobject.IncreaseRef(GetListFactoryPtr)
143+
144+ GetListFactoryCls := &gtk.ListItemFactory{}
145+ GetListFactoryCls.Ptr = GetListFactoryPtr
146+ return GetListFactoryCls
147+
148+}
149+
150+var xComboRowGetModel func(uintptr) uintptr
151+
152+// Gets the model that provides the displayed items.
153+func (x *ComboRow) GetModel() *gio.ListModelBase {
154+
155+ GetModelPtr := xComboRowGetModel(x.GoPointer())
156+ if GetModelPtr == 0 {
157+ return nil
158+ }
159+
160+ gobject.IncreaseRef(GetModelPtr)
161+
162+ GetModelCls := &gio.ListModelBase{}
163+ GetModelCls.Ptr = GetModelPtr
164+ return GetModelCls
165+
166+}
167+
168+var xComboRowGetSelected func(uintptr) uint
169+
170+// Gets the position of the selected item.
171+func (x *ComboRow) GetSelected() uint {
172+
173+ return xComboRowGetSelected(x.GoPointer())
174+
175+}
176+
177+var xComboRowGetSelectedItem func(uintptr) uintptr
178+
179+// Gets the selected item.
180+func (x *ComboRow) GetSelectedItem() *gobject.Object {
181+
182+ GetSelectedItemPtr := xComboRowGetSelectedItem(x.GoPointer())
183+ if GetSelectedItemPtr == 0 {
184+ return nil
185+ }
186+
187+ gobject.IncreaseRef(GetSelectedItemPtr)
188+
189+ GetSelectedItemCls := &gobject.Object{}
190+ GetSelectedItemCls.Ptr = GetSelectedItemPtr
191+ return GetSelectedItemCls
192+
193+}
194+
195+var xComboRowGetUseSubtitle func(uintptr) bool
196+
197+// Gets whether to use the current value as the subtitle.
198+func (x *ComboRow) GetUseSubtitle() bool {
199+
200+ return xComboRowGetUseSubtitle(x.GoPointer())
201+
202+}
203+
204+var xComboRowSetExpression func(uintptr, uintptr)
205+
206+// Sets the expression used to obtain strings from items.
207+//
208+// The expression must have a value type of `G_TYPE_STRING`.
209+//
210+// It's used to bind strings to labels produced by the default factory if
211+// [property@ComboRow:factory] is not set, or when
212+// [property@ComboRow:use-subtitle] is set to `TRUE`.
213+func (x *ComboRow) SetExpression(ExpressionVar *gtk.Expression) {
214+
215+ xComboRowSetExpression(x.GoPointer(), ExpressionVar.GoPointer())
216+
217+}
218+
219+var xComboRowSetFactory func(uintptr, uintptr)
220+
221+// Sets the factory for populating list items.
222+//
223+// This factory is always used for the item in the row. It is also used for
224+// items in the popup unless [property@ComboRow:list-factory] is set.
225+func (x *ComboRow) SetFactory(FactoryVar *gtk.ListItemFactory) {
226+
227+ xComboRowSetFactory(x.GoPointer(), FactoryVar.GoPointer())
228+
229+}
230+
231+var xComboRowSetListFactory func(uintptr, uintptr)
232+
233+// Sets the factory for populating list items in the popup.
234+//
235+// If this is not set, [property@ComboRow:factory] is used.
236+func (x *ComboRow) SetListFactory(FactoryVar *gtk.ListItemFactory) {
237+
238+ xComboRowSetListFactory(x.GoPointer(), FactoryVar.GoPointer())
239+
240+}
241+
242+var xComboRowSetModel func(uintptr, uintptr)
243+
244+// Sets the model that provides the displayed items.
245+func (x *ComboRow) SetModel(ModelVar gio.ListModel) {
246+
247+ xComboRowSetModel(x.GoPointer(), ModelVar.GoPointer())
248+
249+}
250+
251+var xComboRowSetSelected func(uintptr, uint)
252+
253+// Selects the item at the given position.
254+func (x *ComboRow) SetSelected(PositionVar uint) {
255+
256+ xComboRowSetSelected(x.GoPointer(), PositionVar)
257+
258+}
259+
260+var xComboRowSetUseSubtitle func(uintptr, bool)
261+
262+// Sets whether to use the current value as the subtitle.
263+//
264+// If you use a custom list item factory, you will need to give the row a
265+// name conversion expression with [property@ComboRow:expression].
266+//
267+// If set to `TRUE`, you should not access [property@ActionRow:subtitle].
268+//
269+// The subtitle is interpreted as Pango markup if
270+// [property@PreferencesRow:use-markup] is set to `TRUE`.
271+func (x *ComboRow) SetUseSubtitle(UseSubtitleVar bool) {
272+
273+ xComboRowSetUseSubtitle(x.GoPointer(), UseSubtitleVar)
274+
275+}
276+
277+func (c *ComboRow) GoPointer() uintptr {
278+ return c.Ptr
279+}
280+
281+func (c *ComboRow) SetGoPointer(ptr uintptr) {
282+ c.Ptr = ptr
283+}
284+
285+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
286+func (x *ComboRow) GetAccessibleRole() gtk.AccessibleRole {
287+
288+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
289+
290+}
291+
292+// Resets the accessible @property to its default value.
293+func (x *ComboRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
294+
295+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
296+
297+}
298+
299+// Resets the accessible @relation to its default value.
300+func (x *ComboRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
301+
302+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
303+
304+}
305+
306+// Resets the accessible @state to its default value.
307+func (x *ComboRow) ResetState(StateVar gtk.AccessibleState) {
308+
309+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
310+
311+}
312+
313+// Updates a list of accessible properties.
314+//
315+// See the [enum@Gtk.AccessibleProperty] documentation for the
316+// value types of accessible properties.
317+//
318+// This function should be called by `GtkWidget` types whenever
319+// an accessible property change must be communicated to assistive
320+// technologies.
321+//
322+// Example:
323+// ```c
324+// value = gtk_adjustment_get_value (adjustment);
325+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
326+//
327+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
328+// -1);
329+//
330+// ```
331+func (x *ComboRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
332+
333+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
334+
335+}
336+
337+// Updates an array of accessible properties.
338+//
339+// This function should be called by `GtkWidget` types whenever an accessible
340+// property change must be communicated to assistive technologies.
341+//
342+// This function is meant to be used by language bindings.
343+func (x *ComboRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
344+
345+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
346+
347+}
348+
349+// Updates a list of accessible relations.
350+//
351+// This function should be called by `GtkWidget` types whenever an accessible
352+// relation change must be communicated to assistive technologies.
353+//
354+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
355+// you should pass each reference individually, followed by %NULL, e.g.
356+//
357+// ```c
358+// gtk_accessible_update_relation (accessible,
359+//
360+// GTK_ACCESSIBLE_RELATION_CONTROLS,
361+// ref1, NULL,
362+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
363+// ref1, ref2, ref3, NULL,
364+// -1);
365+//
366+// ```
367+func (x *ComboRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
368+
369+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
370+
371+}
372+
373+// Updates an array of accessible relations.
374+//
375+// This function should be called by `GtkWidget` types whenever an accessible
376+// relation change must be communicated to assistive technologies.
377+//
378+// This function is meant to be used by language bindings.
379+func (x *ComboRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
380+
381+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
382+
383+}
384+
385+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
386+// documentation for the value types of accessible states.
387+//
388+// This function should be called by `GtkWidget` types whenever an accessible
389+// state change must be communicated to assistive technologies.
390+//
391+// Example:
392+// ```c
393+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
394+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
395+//
396+// GTK_ACCESSIBLE_STATE_CHECKED, value,
397+// -1);
398+//
399+// ```
400+func (x *ComboRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
401+
402+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
403+
404+}
405+
406+// Updates an array of accessible states.
407+//
408+// This function should be called by `GtkWidget` types whenever an accessible
409+// state change must be communicated to assistive technologies.
410+//
411+// This function is meant to be used by language bindings.
412+func (x *ComboRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
413+
414+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
415+
416+}
417+
418+// Gets the action name for @actionable.
419+func (x *ComboRow) GetActionName() string {
420+
421+ return gtk.XGtkActionableGetActionName(x.GoPointer())
422+
423+}
424+
425+// Gets the current target value of @actionable.
426+func (x *ComboRow) GetActionTargetValue() *glib.Variant {
427+
428+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
429+
430+}
431+
432+// Specifies the name of the action with which this widget should be
433+// associated.
434+//
435+// If @action_name is %NULL then the widget will be unassociated from
436+// any previous action.
437+//
438+// Usually this function is used when the widget is located (or will be
439+// located) within the hierarchy of a `GtkApplicationWindow`.
440+//
441+// Names are of the form “win.save” or “app.quit” for actions on the
442+// containing [class@ApplicationWindow] or its associated [class@Application],
443+// respectively. This is the same form used for actions in the [class@Gio.Menu]
444+// associated with the window.
445+func (x *ComboRow) SetActionName(ActionNameVar string) {
446+
447+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
448+
449+}
450+
451+// Sets the target of an actionable widget.
452+//
453+// This is a convenience function that calls [ctor@GLib.Variant.new] for
454+// @format_string and uses the result to call
455+// [method@Gtk.Actionable.set_action_target_value].
456+//
457+// If you are setting a string-valued target and want to set
458+// the action name at the same time, you can use
459+// [method@Gtk.Actionable.set_detailed_action_name].
460+func (x *ComboRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
461+
462+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
463+
464+}
465+
466+// Sets the target value of an actionable widget.
467+//
468+// If @target_value is %NULL then the target value is unset.
469+//
470+// The target value has two purposes. First, it is used as the parameter
471+// to activation of the action associated with the `GtkActionable` widget.
472+// Second, it is used to determine if the widget should be rendered as
473+// “active” — the widget is active if the state is equal to the given target.
474+//
475+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
476+// with string state in a typical “radio button” situation. Each button
477+// will be associated with the same action, but with a different target
478+// value for that action. Clicking on a particular button will activate
479+// the action with the target of that button, which will typically cause
480+// the action’s state to change to that value. Since the action’s state
481+// is now equal to the target value of the button, the button will now
482+// be rendered as active (and the other buttons, with different targets,
483+// rendered inactive).
484+func (x *ComboRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
485+
486+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
487+
488+}
489+
490+// Sets the action-name and associated string target value of an
491+// actionable widget.
492+//
493+// @detailed_action_name is a string in the format accepted by
494+// [func@Gio.Action.parse_detailed_name].
495+func (x *ComboRow) SetDetailedActionName(DetailedActionNameVar string) {
496+
497+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
498+
499+}
500+
501+// Gets the ID of the @buildable object.
502+//
503+// `GtkBuilder` sets the name based on the ID attribute
504+// of the &lt;object&gt; tag used to construct the @buildable.
505+func (x *ComboRow) GetBuildableId() string {
506+
507+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
508+
509+}
510+
511+func init() {
512+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
513+ if err != nil {
514+ panic(err)
515+ }
516+
517+ core.PuregoSafeRegister(&xNewComboRow, lib, "adw_combo_row_new")
518+
519+ core.PuregoSafeRegister(&xComboRowGetExpression, lib, "adw_combo_row_get_expression")
520+ core.PuregoSafeRegister(&xComboRowGetFactory, lib, "adw_combo_row_get_factory")
521+ core.PuregoSafeRegister(&xComboRowGetListFactory, lib, "adw_combo_row_get_list_factory")
522+ core.PuregoSafeRegister(&xComboRowGetModel, lib, "adw_combo_row_get_model")
523+ core.PuregoSafeRegister(&xComboRowGetSelected, lib, "adw_combo_row_get_selected")
524+ core.PuregoSafeRegister(&xComboRowGetSelectedItem, lib, "adw_combo_row_get_selected_item")
525+ core.PuregoSafeRegister(&xComboRowGetUseSubtitle, lib, "adw_combo_row_get_use_subtitle")
526+ core.PuregoSafeRegister(&xComboRowSetExpression, lib, "adw_combo_row_set_expression")
527+ core.PuregoSafeRegister(&xComboRowSetFactory, lib, "adw_combo_row_set_factory")
528+ core.PuregoSafeRegister(&xComboRowSetListFactory, lib, "adw_combo_row_set_list_factory")
529+ core.PuregoSafeRegister(&xComboRowSetModel, lib, "adw_combo_row_set_model")
530+ core.PuregoSafeRegister(&xComboRowSetSelected, lib, "adw_combo_row_set_selected")
531+ core.PuregoSafeRegister(&xComboRowSetUseSubtitle, lib, "adw_combo_row_set_use_subtitle")
532+
533+}
A v4/adw/adw-easing.go +114 -0
@@ -0,0 +1,114 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+// Describes the available easing functions for use with
10+// [class@TimedAnimation].
11+//
12+// New values may be added to this enumeration over time.
13+type Easing int
14+
15+const (
16+
17+ // Linear tweening.
18+ LinearValue Easing = 0
19+ // Quadratic tweening.
20+ EaseInQuadValue Easing = 1
21+ // Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`.
22+ EaseOutQuadValue Easing = 2
23+ // Quadratic tweening, combining `ADW_EASE_IN_QUAD` and
24+ // `ADW_EASE_OUT_QUAD`.
25+ EaseInOutQuadValue Easing = 3
26+ // Cubic tweening.
27+ EaseInCubicValue Easing = 4
28+ // Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`.
29+ EaseOutCubicValue Easing = 5
30+ // Cubic tweening, combining `ADW_EASE_IN_CUBIC` and
31+ // `ADW_EASE_OUT_CUBIC`.
32+ EaseInOutCubicValue Easing = 6
33+ // Quartic tweening.
34+ EaseInQuartValue Easing = 7
35+ // Quartic tweening, inverse of `ADW_EASE_IN_QUART`.
36+ EaseOutQuartValue Easing = 8
37+ // Quartic tweening, combining `ADW_EASE_IN_QUART` and
38+ // `ADW_EASE_OUT_QUART`.
39+ EaseInOutQuartValue Easing = 9
40+ // Quintic tweening.
41+ EaseInQuintValue Easing = 10
42+ // Quintic tweening, inverse of `ADW_EASE_IN_QUINT`.
43+ EaseOutQuintValue Easing = 11
44+ // Quintic tweening, combining `ADW_EASE_IN_QUINT` and
45+ // `ADW_EASE_OUT_QUINT`.
46+ EaseInOutQuintValue Easing = 12
47+ // Sine wave tweening.
48+ EaseInSineValue Easing = 13
49+ // Sine wave tweening, inverse of `ADW_EASE_IN_SINE`.
50+ EaseOutSineValue Easing = 14
51+ // Sine wave tweening, combining `ADW_EASE_IN_SINE` and
52+ // `ADW_EASE_OUT_SINE`.
53+ EaseInOutSineValue Easing = 15
54+ // Exponential tweening.
55+ EaseInExpoValue Easing = 16
56+ // Exponential tweening, inverse of `ADW_EASE_IN_EXPO`.
57+ EaseOutExpoValue Easing = 17
58+ // Exponential tweening, combining `ADW_EASE_IN_EXPO` and
59+ // `ADW_EASE_OUT_EXPO`.
60+ EaseInOutExpoValue Easing = 18
61+ // Circular tweening.
62+ EaseInCircValue Easing = 19
63+ // Circular tweening, inverse of `ADW_EASE_IN_CIRC`.
64+ EaseOutCircValue Easing = 20
65+ // Circular tweening, combining `ADW_EASE_IN_CIRC` and
66+ // `ADW_EASE_OUT_CIRC`.
67+ EaseInOutCircValue Easing = 21
68+ // Elastic tweening, with offshoot on start.
69+ EaseInElasticValue Easing = 22
70+ // Elastic tweening, with offshoot on end, inverse of
71+ // `ADW_EASE_IN_ELASTIC`.
72+ EaseOutElasticValue Easing = 23
73+ // Elastic tweening, with offshoot on both ends,
74+ // combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`.
75+ EaseInOutElasticValue Easing = 24
76+ // Overshooting cubic tweening, with backtracking on start.
77+ EaseInBackValue Easing = 25
78+ // Overshooting cubic tweening, with backtracking on end,
79+ // inverse of `ADW_EASE_IN_BACK`.
80+ EaseOutBackValue Easing = 26
81+ // Overshooting cubic tweening, with backtracking on both
82+ // ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`.
83+ EaseInOutBackValue Easing = 27
84+ // Exponentially decaying parabolic (bounce) tweening,
85+ // on start.
86+ EaseInBounceValue Easing = 28
87+ // Exponentially decaying parabolic (bounce) tweening,
88+ // with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`.
89+ EaseOutBounceValue Easing = 29
90+ // Exponentially decaying parabolic (bounce) tweening,
91+ // with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and
92+ // `ADW_EASE_OUT_BOUNCE`.
93+ EaseInOutBounceValue Easing = 30
94+)
95+
96+var xEasingEase func(Easing, float64) float64
97+
98+// Computes easing with @easing for @value.
99+//
100+// @value should generally be in the [0, 1] range.
101+func EasingEase(SelfVar Easing, ValueVar float64) float64 {
102+
103+ return xEasingEase(SelfVar, ValueVar)
104+
105+}
106+
107+func init() {
108+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
109+ if err != nil {
110+ panic(err)
111+ }
112+ core.PuregoSafeRegister(&xEasingEase, lib, "adw_easing_ease")
113+
114+}
A v4/adw/adw-entry-row.go +772 -0
@@ -0,0 +1,772 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+ "github.com/jwijenbergh/puregotk/v4/pango"
11+)
12+
13+type EntryRowClass struct {
14+ ParentClass uintptr
15+}
16+
17+// A [class@Gtk.ListBoxRow] with an embedded text entry.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="entry-row.png" alt="entry-row"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// `AdwEntryRow` has a title that doubles as placeholder text. It shows an icon
27+// indicating that it's editable and can receive additional widgets before or
28+// after the editable part.
29+//
30+// If [property@EntryRow:show-apply-button] is set to `TRUE`, `AdwEntryRow` can
31+// show an apply button when editing its contents. This can be useful if
32+// changing its contents can result in an expensive operation, such as network
33+// activity.
34+//
35+// `AdwEntryRow` provides only minimal API and should be used with the
36+// [iface@Gtk.Editable] API.
37+//
38+// See also [class@PasswordEntryRow].
39+//
40+// ## AdwEntryRow as GtkBuildable
41+//
42+// The `AdwEntryRow` implementation of the [iface@Gtk.Buildable] interface
43+// supports adding a child at its end by specifying “suffix” or omitting the
44+// “type” attribute of a &lt;child&gt; element.
45+//
46+// It also supports adding a child as a prefix widget by specifying “prefix” as
47+// the “type” attribute of a &lt;child&gt; element.
48+//
49+// ## CSS nodes
50+//
51+// `AdwEntryRow` has a single CSS node with name `row` and the `.entry` style
52+// class.
53+type EntryRow struct {
54+ PreferencesRow
55+}
56+
57+func EntryRowNewFromInternalPtr(ptr uintptr) *EntryRow {
58+ cls := &EntryRow{}
59+ cls.Ptr = ptr
60+ return cls
61+}
62+
63+var xNewEntryRow func() uintptr
64+
65+// Creates a new `AdwEntryRow`.
66+func NewEntryRow() *gtk.Widget {
67+ NewEntryRowPtr := xNewEntryRow()
68+ if NewEntryRowPtr == 0 {
69+ return nil
70+ }
71+
72+ gobject.IncreaseRef(NewEntryRowPtr)
73+
74+ NewEntryRowCls := &gtk.Widget{}
75+ NewEntryRowCls.Ptr = NewEntryRowPtr
76+ return NewEntryRowCls
77+}
78+
79+var xEntryRowAddPrefix func(uintptr, uintptr)
80+
81+// Adds a prefix widget to @self.
82+func (x *EntryRow) AddPrefix(WidgetVar *gtk.Widget) {
83+
84+ xEntryRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
85+
86+}
87+
88+var xEntryRowAddSuffix func(uintptr, uintptr)
89+
90+// Adds a suffix widget to @self.
91+func (x *EntryRow) AddSuffix(WidgetVar *gtk.Widget) {
92+
93+ xEntryRowAddSuffix(x.GoPointer(), WidgetVar.GoPointer())
94+
95+}
96+
97+var xEntryRowGetActivatesDefault func(uintptr) bool
98+
99+// Gets whether activating the embedded entry can activate the default widget.
100+func (x *EntryRow) GetActivatesDefault() bool {
101+
102+ return xEntryRowGetActivatesDefault(x.GoPointer())
103+
104+}
105+
106+var xEntryRowGetAttributes func(uintptr) *pango.AttrList
107+
108+// Gets Pango attributes applied to the text of the embedded entry.
109+func (x *EntryRow) GetAttributes() *pango.AttrList {
110+
111+ return xEntryRowGetAttributes(x.GoPointer())
112+
113+}
114+
115+var xEntryRowGetEnableEmojiCompletion func(uintptr) bool
116+
117+// Gets whether to suggest emoji replacements on @self.
118+func (x *EntryRow) GetEnableEmojiCompletion() bool {
119+
120+ return xEntryRowGetEnableEmojiCompletion(x.GoPointer())
121+
122+}
123+
124+var xEntryRowGetInputHints func(uintptr) gtk.InputHints
125+
126+// Gets the additional input hints of @self.
127+func (x *EntryRow) GetInputHints() gtk.InputHints {
128+
129+ return xEntryRowGetInputHints(x.GoPointer())
130+
131+}
132+
133+var xEntryRowGetInputPurpose func(uintptr) gtk.InputPurpose
134+
135+// Gets the input purpose of @self.
136+func (x *EntryRow) GetInputPurpose() gtk.InputPurpose {
137+
138+ return xEntryRowGetInputPurpose(x.GoPointer())
139+
140+}
141+
142+var xEntryRowGetShowApplyButton func(uintptr) bool
143+
144+// Gets whether @self can show the apply button.
145+func (x *EntryRow) GetShowApplyButton() bool {
146+
147+ return xEntryRowGetShowApplyButton(x.GoPointer())
148+
149+}
150+
151+var xEntryRowGrabFocusWithoutSelecting func(uintptr) bool
152+
153+// Causes @self to have keyboard focus without selecting the text.
154+//
155+// See [method@Gtk.Text.grab_focus_without_selecting] for more information.
156+func (x *EntryRow) GrabFocusWithoutSelecting() bool {
157+
158+ return xEntryRowGrabFocusWithoutSelecting(x.GoPointer())
159+
160+}
161+
162+var xEntryRowRemove func(uintptr, uintptr)
163+
164+// Removes a child from @self.
165+func (x *EntryRow) Remove(WidgetVar *gtk.Widget) {
166+
167+ xEntryRowRemove(x.GoPointer(), WidgetVar.GoPointer())
168+
169+}
170+
171+var xEntryRowSetActivatesDefault func(uintptr, bool)
172+
173+// Sets whether activating the embedded entry can activate the default widget.
174+func (x *EntryRow) SetActivatesDefault(ActivatesVar bool) {
175+
176+ xEntryRowSetActivatesDefault(x.GoPointer(), ActivatesVar)
177+
178+}
179+
180+var xEntryRowSetAttributes func(uintptr, *pango.AttrList)
181+
182+// Sets Pango attributes to apply to the text of the embedded entry.
183+//
184+// The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
185+// the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.
186+func (x *EntryRow) SetAttributes(AttributesVar *pango.AttrList) {
187+
188+ xEntryRowSetAttributes(x.GoPointer(), AttributesVar)
189+
190+}
191+
192+var xEntryRowSetEnableEmojiCompletion func(uintptr, bool)
193+
194+// Sets whether to suggest emoji replacements on @self.
195+//
196+// Emoji replacement is done with :-delimited names, like `:heart:`.
197+func (x *EntryRow) SetEnableEmojiCompletion(EnableEmojiCompletionVar bool) {
198+
199+ xEntryRowSetEnableEmojiCompletion(x.GoPointer(), EnableEmojiCompletionVar)
200+
201+}
202+
203+var xEntryRowSetInputHints func(uintptr, gtk.InputHints)
204+
205+// Set additional input hints for @self.
206+//
207+// Input hints allow input methods to fine-tune their behavior.
208+//
209+// See also: [property@AdwEntryRow:input-purpose]
210+func (x *EntryRow) SetInputHints(HintsVar gtk.InputHints) {
211+
212+ xEntryRowSetInputHints(x.GoPointer(), HintsVar)
213+
214+}
215+
216+var xEntryRowSetInputPurpose func(uintptr, gtk.InputPurpose)
217+
218+// Sets the input purpose of @self.
219+//
220+// The input purpose can be used by input methods to adjust their behavior.
221+func (x *EntryRow) SetInputPurpose(PurposeVar gtk.InputPurpose) {
222+
223+ xEntryRowSetInputPurpose(x.GoPointer(), PurposeVar)
224+
225+}
226+
227+var xEntryRowSetShowApplyButton func(uintptr, bool)
228+
229+// Sets whether @self can show the apply button.
230+//
231+// When set to `TRUE`, typing text in the entry will reveal an apply button.
232+// Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
233+// emit the [signal@EntryRow::apply] signal.
234+//
235+// This is useful if changing the entry contents can trigger an expensive
236+// operation, e.g. network activity, to avoid triggering it after typing every
237+// character.
238+func (x *EntryRow) SetShowApplyButton(ShowApplyButtonVar bool) {
239+
240+ xEntryRowSetShowApplyButton(x.GoPointer(), ShowApplyButtonVar)
241+
242+}
243+
244+func (c *EntryRow) GoPointer() uintptr {
245+ return c.Ptr
246+}
247+
248+func (c *EntryRow) SetGoPointer(ptr uintptr) {
249+ c.Ptr = ptr
250+}
251+
252+// Emitted when the apply button is pressed.
253+//
254+// See [property@EntryRow:show-apply-button].
255+func (x *EntryRow) ConnectApply(cb func(EntryRow)) {
256+ fcb := func(clsPtr uintptr) {
257+ fa := EntryRow{}
258+ fa.Ptr = clsPtr
259+
260+ cb(fa)
261+
262+ }
263+ gobject.ObjectConnect(x.GoPointer(), "signal::apply", purego.NewCallback(fcb))
264+}
265+
266+// Emitted when the embedded entry is activated.
267+func (x *EntryRow) ConnectEntryActivated(cb func(EntryRow)) {
268+ fcb := func(clsPtr uintptr) {
269+ fa := EntryRow{}
270+ fa.Ptr = clsPtr
271+
272+ cb(fa)
273+
274+ }
275+ gobject.ObjectConnect(x.GoPointer(), "signal::entry-activated", purego.NewCallback(fcb))
276+}
277+
278+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
279+func (x *EntryRow) GetAccessibleRole() gtk.AccessibleRole {
280+
281+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
282+
283+}
284+
285+// Resets the accessible @property to its default value.
286+func (x *EntryRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
287+
288+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
289+
290+}
291+
292+// Resets the accessible @relation to its default value.
293+func (x *EntryRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
294+
295+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
296+
297+}
298+
299+// Resets the accessible @state to its default value.
300+func (x *EntryRow) ResetState(StateVar gtk.AccessibleState) {
301+
302+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
303+
304+}
305+
306+// Updates a list of accessible properties.
307+//
308+// See the [enum@Gtk.AccessibleProperty] documentation for the
309+// value types of accessible properties.
310+//
311+// This function should be called by `GtkWidget` types whenever
312+// an accessible property change must be communicated to assistive
313+// technologies.
314+//
315+// Example:
316+// ```c
317+// value = gtk_adjustment_get_value (adjustment);
318+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
319+//
320+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
321+// -1);
322+//
323+// ```
324+func (x *EntryRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
325+
326+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
327+
328+}
329+
330+// Updates an array of accessible properties.
331+//
332+// This function should be called by `GtkWidget` types whenever an accessible
333+// property change must be communicated to assistive technologies.
334+//
335+// This function is meant to be used by language bindings.
336+func (x *EntryRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
337+
338+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
339+
340+}
341+
342+// Updates a list of accessible relations.
343+//
344+// This function should be called by `GtkWidget` types whenever an accessible
345+// relation change must be communicated to assistive technologies.
346+//
347+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
348+// you should pass each reference individually, followed by %NULL, e.g.
349+//
350+// ```c
351+// gtk_accessible_update_relation (accessible,
352+//
353+// GTK_ACCESSIBLE_RELATION_CONTROLS,
354+// ref1, NULL,
355+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
356+// ref1, ref2, ref3, NULL,
357+// -1);
358+//
359+// ```
360+func (x *EntryRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
361+
362+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
363+
364+}
365+
366+// Updates an array of accessible relations.
367+//
368+// This function should be called by `GtkWidget` types whenever an accessible
369+// relation change must be communicated to assistive technologies.
370+//
371+// This function is meant to be used by language bindings.
372+func (x *EntryRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
373+
374+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
375+
376+}
377+
378+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
379+// documentation for the value types of accessible states.
380+//
381+// This function should be called by `GtkWidget` types whenever an accessible
382+// state change must be communicated to assistive technologies.
383+//
384+// Example:
385+// ```c
386+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
387+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
388+//
389+// GTK_ACCESSIBLE_STATE_CHECKED, value,
390+// -1);
391+//
392+// ```
393+func (x *EntryRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
394+
395+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
396+
397+}
398+
399+// Updates an array of accessible states.
400+//
401+// This function should be called by `GtkWidget` types whenever an accessible
402+// state change must be communicated to assistive technologies.
403+//
404+// This function is meant to be used by language bindings.
405+func (x *EntryRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
406+
407+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
408+
409+}
410+
411+// Gets the action name for @actionable.
412+func (x *EntryRow) GetActionName() string {
413+
414+ return gtk.XGtkActionableGetActionName(x.GoPointer())
415+
416+}
417+
418+// Gets the current target value of @actionable.
419+func (x *EntryRow) GetActionTargetValue() *glib.Variant {
420+
421+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
422+
423+}
424+
425+// Specifies the name of the action with which this widget should be
426+// associated.
427+//
428+// If @action_name is %NULL then the widget will be unassociated from
429+// any previous action.
430+//
431+// Usually this function is used when the widget is located (or will be
432+// located) within the hierarchy of a `GtkApplicationWindow`.
433+//
434+// Names are of the form “win.save” or “app.quit” for actions on the
435+// containing [class@ApplicationWindow] or its associated [class@Application],
436+// respectively. This is the same form used for actions in the [class@Gio.Menu]
437+// associated with the window.
438+func (x *EntryRow) SetActionName(ActionNameVar string) {
439+
440+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
441+
442+}
443+
444+// Sets the target of an actionable widget.
445+//
446+// This is a convenience function that calls [ctor@GLib.Variant.new] for
447+// @format_string and uses the result to call
448+// [method@Gtk.Actionable.set_action_target_value].
449+//
450+// If you are setting a string-valued target and want to set
451+// the action name at the same time, you can use
452+// [method@Gtk.Actionable.set_detailed_action_name].
453+func (x *EntryRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
454+
455+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
456+
457+}
458+
459+// Sets the target value of an actionable widget.
460+//
461+// If @target_value is %NULL then the target value is unset.
462+//
463+// The target value has two purposes. First, it is used as the parameter
464+// to activation of the action associated with the `GtkActionable` widget.
465+// Second, it is used to determine if the widget should be rendered as
466+// “active” — the widget is active if the state is equal to the given target.
467+//
468+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
469+// with string state in a typical “radio button” situation. Each button
470+// will be associated with the same action, but with a different target
471+// value for that action. Clicking on a particular button will activate
472+// the action with the target of that button, which will typically cause
473+// the action’s state to change to that value. Since the action’s state
474+// is now equal to the target value of the button, the button will now
475+// be rendered as active (and the other buttons, with different targets,
476+// rendered inactive).
477+func (x *EntryRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
478+
479+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
480+
481+}
482+
483+// Sets the action-name and associated string target value of an
484+// actionable widget.
485+//
486+// @detailed_action_name is a string in the format accepted by
487+// [func@Gio.Action.parse_detailed_name].
488+func (x *EntryRow) SetDetailedActionName(DetailedActionNameVar string) {
489+
490+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
491+
492+}
493+
494+// Gets the ID of the @buildable object.
495+//
496+// `GtkBuilder` sets the name based on the ID attribute
497+// of the &lt;object&gt; tag used to construct the @buildable.
498+func (x *EntryRow) GetBuildableId() string {
499+
500+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
501+
502+}
503+
504+// Deletes the currently selected text of the editable.
505+//
506+// This call doesn’t do anything if there is no selected text.
507+func (x *EntryRow) DeleteSelection() {
508+
509+ gtk.XGtkEditableDeleteSelection(x.GoPointer())
510+
511+}
512+
513+// Deletes a sequence of characters.
514+//
515+// The characters that are deleted are those characters at positions
516+// from @start_pos up to, but not including @end_pos. If @end_pos is
517+// negative, then the characters deleted are those from @start_pos to
518+// the end of the text.
519+//
520+// Note that the positions are specified in characters, not bytes.
521+func (x *EntryRow) DeleteText(StartPosVar int32, EndPosVar int32) {
522+
523+ gtk.XGtkEditableDeleteText(x.GoPointer(), StartPosVar, EndPosVar)
524+
525+}
526+
527+// Undoes the setup done by [method@Gtk.Editable.init_delegate].
528+//
529+// This is a helper function that should be called from dispose,
530+// before removing the delegate object.
531+func (x *EntryRow) FinishDelegate() {
532+
533+ gtk.XGtkEditableFinishDelegate(x.GoPointer())
534+
535+}
536+
537+// Gets the alignment of the editable.
538+func (x *EntryRow) GetAlignment() float32 {
539+
540+ return gtk.XGtkEditableGetAlignment(x.GoPointer())
541+
542+}
543+
544+// Retrieves a sequence of characters.
545+//
546+// The characters that are retrieved are those characters at positions
547+// from @start_pos up to, but not including @end_pos. If @end_pos is negative,
548+// then the characters retrieved are those characters from @start_pos to
549+// the end of the text.
550+//
551+// Note that positions are specified in characters, not bytes.
552+func (x *EntryRow) GetChars(StartPosVar int32, EndPosVar int32) string {
553+
554+ return gtk.XGtkEditableGetChars(x.GoPointer(), StartPosVar, EndPosVar)
555+
556+}
557+
558+// Gets the `GtkEditable` that @editable is delegating its
559+// implementation to.
560+//
561+// Typically, the delegate is a [class@Gtk.Text] widget.
562+func (x *EntryRow) GetDelegate() *gtk.EditableBase {
563+
564+ GetDelegatePtr := gtk.XGtkEditableGetDelegate(x.GoPointer())
565+ if GetDelegatePtr == 0 {
566+ return nil
567+ }
568+
569+ gobject.IncreaseRef(GetDelegatePtr)
570+
571+ GetDelegateCls := &gtk.EditableBase{}
572+ GetDelegateCls.Ptr = GetDelegatePtr
573+ return GetDelegateCls
574+
575+}
576+
577+// Retrieves whether @editable is editable.
578+func (x *EntryRow) GetEditable() bool {
579+
580+ return gtk.XGtkEditableGetEditable(x.GoPointer())
581+
582+}
583+
584+// Gets if undo/redo actions are enabled for @editable
585+func (x *EntryRow) GetEnableUndo() bool {
586+
587+ return gtk.XGtkEditableGetEnableUndo(x.GoPointer())
588+
589+}
590+
591+// Retrieves the desired maximum width of @editable, in characters.
592+func (x *EntryRow) GetMaxWidthChars() int32 {
593+
594+ return gtk.XGtkEditableGetMaxWidthChars(x.GoPointer())
595+
596+}
597+
598+// Retrieves the current position of the cursor relative
599+// to the start of the content of the editable.
600+//
601+// Note that this position is in characters, not in bytes.
602+func (x *EntryRow) GetPosition() int32 {
603+
604+ return gtk.XGtkEditableGetPosition(x.GoPointer())
605+
606+}
607+
608+// Retrieves the selection bound of the editable.
609+//
610+// @start_pos will be filled with the start of the selection and
611+// @end_pos with end. If no text was selected both will be identical
612+// and %FALSE will be returned.
613+//
614+// Note that positions are specified in characters, not bytes.
615+func (x *EntryRow) GetSelectionBounds(StartPosVar int32, EndPosVar int32) bool {
616+
617+ return gtk.XGtkEditableGetSelectionBounds(x.GoPointer(), StartPosVar, EndPosVar)
618+
619+}
620+
621+// Retrieves the contents of @editable.
622+//
623+// The returned string is owned by GTK and must not be modified or freed.
624+func (x *EntryRow) GetText() string {
625+
626+ return gtk.XGtkEditableGetText(x.GoPointer())
627+
628+}
629+
630+// Gets the number of characters of space reserved
631+// for the contents of the editable.
632+func (x *EntryRow) GetWidthChars() int32 {
633+
634+ return gtk.XGtkEditableGetWidthChars(x.GoPointer())
635+
636+}
637+
638+// Sets up a delegate for `GtkEditable`.
639+//
640+// This is assuming that the get_delegate vfunc in the `GtkEditable`
641+// interface has been set up for the @editable's type.
642+//
643+// This is a helper function that should be called in instance init,
644+// after creating the delegate object.
645+func (x *EntryRow) InitDelegate() {
646+
647+ gtk.XGtkEditableInitDelegate(x.GoPointer())
648+
649+}
650+
651+// Inserts @length bytes of @text into the contents of the
652+// widget, at position @position.
653+//
654+// Note that the position is in characters, not in bytes.
655+// The function updates @position to point after the newly
656+// inserted text.
657+func (x *EntryRow) InsertText(TextVar string, LengthVar int32, PositionVar int32) {
658+
659+ gtk.XGtkEditableInsertText(x.GoPointer(), TextVar, LengthVar, PositionVar)
660+
661+}
662+
663+// Selects a region of text.
664+//
665+// The characters that are selected are those characters at positions
666+// from @start_pos up to, but not including @end_pos. If @end_pos is
667+// negative, then the characters selected are those characters from
668+// @start_pos to the end of the text.
669+//
670+// Note that positions are specified in characters, not bytes.
671+func (x *EntryRow) SelectRegion(StartPosVar int32, EndPosVar int32) {
672+
673+ gtk.XGtkEditableSelectRegion(x.GoPointer(), StartPosVar, EndPosVar)
674+
675+}
676+
677+// Sets the alignment for the contents of the editable.
678+//
679+// This controls the horizontal positioning of the contents when
680+// the displayed text is shorter than the width of the editable.
681+func (x *EntryRow) SetAlignment(XalignVar float32) {
682+
683+ gtk.XGtkEditableSetAlignment(x.GoPointer(), XalignVar)
684+
685+}
686+
687+// Determines if the user can edit the text in the editable widget.
688+func (x *EntryRow) SetEditable(IsEditableVar bool) {
689+
690+ gtk.XGtkEditableSetEditable(x.GoPointer(), IsEditableVar)
691+
692+}
693+
694+// If enabled, changes to @editable will be saved for undo/redo
695+// actions.
696+//
697+// This results in an additional copy of text changes and are not
698+// stored in secure memory. As such, undo is forcefully disabled
699+// when [property@Gtk.Text:visibility] is set to %FALSE.
700+func (x *EntryRow) SetEnableUndo(EnableUndoVar bool) {
701+
702+ gtk.XGtkEditableSetEnableUndo(x.GoPointer(), EnableUndoVar)
703+
704+}
705+
706+// Sets the desired maximum width in characters of @editable.
707+func (x *EntryRow) SetMaxWidthChars(NCharsVar int32) {
708+
709+ gtk.XGtkEditableSetMaxWidthChars(x.GoPointer(), NCharsVar)
710+
711+}
712+
713+// Sets the cursor position in the editable to the given value.
714+//
715+// The cursor is displayed before the character with the given (base 0)
716+// index in the contents of the editable. The value must be less than
717+// or equal to the number of characters in the editable. A value of -1
718+// indicates that the position should be set after the last character
719+// of the editable. Note that @position is in characters, not in bytes.
720+func (x *EntryRow) SetPosition(PositionVar int32) {
721+
722+ gtk.XGtkEditableSetPosition(x.GoPointer(), PositionVar)
723+
724+}
725+
726+// Sets the text in the editable to the given value.
727+//
728+// This is replacing the current contents.
729+func (x *EntryRow) SetText(TextVar string) {
730+
731+ gtk.XGtkEditableSetText(x.GoPointer(), TextVar)
732+
733+}
734+
735+// Changes the size request of the editable to be about the
736+// right size for @n_chars characters.
737+//
738+// Note that it changes the size request, the size can still
739+// be affected by how you pack the widget into containers.
740+// If @n_chars is -1, the size reverts to the default size.
741+func (x *EntryRow) SetWidthChars(NCharsVar int32) {
742+
743+ gtk.XGtkEditableSetWidthChars(x.GoPointer(), NCharsVar)
744+
745+}
746+
747+func init() {
748+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
749+ if err != nil {
750+ panic(err)
751+ }
752+
753+ core.PuregoSafeRegister(&xNewEntryRow, lib, "adw_entry_row_new")
754+
755+ core.PuregoSafeRegister(&xEntryRowAddPrefix, lib, "adw_entry_row_add_prefix")
756+ core.PuregoSafeRegister(&xEntryRowAddSuffix, lib, "adw_entry_row_add_suffix")
757+ core.PuregoSafeRegister(&xEntryRowGetActivatesDefault, lib, "adw_entry_row_get_activates_default")
758+ core.PuregoSafeRegister(&xEntryRowGetAttributes, lib, "adw_entry_row_get_attributes")
759+ core.PuregoSafeRegister(&xEntryRowGetEnableEmojiCompletion, lib, "adw_entry_row_get_enable_emoji_completion")
760+ core.PuregoSafeRegister(&xEntryRowGetInputHints, lib, "adw_entry_row_get_input_hints")
761+ core.PuregoSafeRegister(&xEntryRowGetInputPurpose, lib, "adw_entry_row_get_input_purpose")
762+ core.PuregoSafeRegister(&xEntryRowGetShowApplyButton, lib, "adw_entry_row_get_show_apply_button")
763+ core.PuregoSafeRegister(&xEntryRowGrabFocusWithoutSelecting, lib, "adw_entry_row_grab_focus_without_selecting")
764+ core.PuregoSafeRegister(&xEntryRowRemove, lib, "adw_entry_row_remove")
765+ core.PuregoSafeRegister(&xEntryRowSetActivatesDefault, lib, "adw_entry_row_set_activates_default")
766+ core.PuregoSafeRegister(&xEntryRowSetAttributes, lib, "adw_entry_row_set_attributes")
767+ core.PuregoSafeRegister(&xEntryRowSetEnableEmojiCompletion, lib, "adw_entry_row_set_enable_emoji_completion")
768+ core.PuregoSafeRegister(&xEntryRowSetInputHints, lib, "adw_entry_row_set_input_hints")
769+ core.PuregoSafeRegister(&xEntryRowSetInputPurpose, lib, "adw_entry_row_set_input_purpose")
770+ core.PuregoSafeRegister(&xEntryRowSetShowApplyButton, lib, "adw_entry_row_set_show_apply_button")
771+
772+}
A v4/adw/adw-enum-list-model.go +224 -0
@@ -0,0 +1,224 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+)
10+
11+type EnumListItemClass struct {
12+ ParentClass uintptr
13+}
14+
15+type EnumListModelClass struct {
16+ ParentClass uintptr
17+}
18+
19+// `AdwEnumListItem` is the type of items in a [class@EnumListModel].
20+type EnumListItem struct {
21+ gobject.Object
22+}
23+
24+func EnumListItemNewFromInternalPtr(ptr uintptr) *EnumListItem {
25+ cls := &EnumListItem{}
26+ cls.Ptr = ptr
27+ return cls
28+}
29+
30+var xEnumListItemGetName func(uintptr) string
31+
32+// Gets the enum value name.
33+func (x *EnumListItem) GetName() string {
34+
35+ return xEnumListItemGetName(x.GoPointer())
36+
37+}
38+
39+var xEnumListItemGetNick func(uintptr) string
40+
41+// Gets the enum value nick.
42+func (x *EnumListItem) GetNick() string {
43+
44+ return xEnumListItemGetNick(x.GoPointer())
45+
46+}
47+
48+var xEnumListItemGetValue func(uintptr) int32
49+
50+// Gets the enum value.
51+func (x *EnumListItem) GetValue() int32 {
52+
53+ return xEnumListItemGetValue(x.GoPointer())
54+
55+}
56+
57+func (c *EnumListItem) GoPointer() uintptr {
58+ return c.Ptr
59+}
60+
61+func (c *EnumListItem) SetGoPointer(ptr uintptr) {
62+ c.Ptr = ptr
63+}
64+
65+// A [iface@Gio.ListModel] representing values of a given enum.
66+//
67+// `AdwEnumListModel` contains objects of type [class@EnumListItem].
68+type EnumListModel struct {
69+ gobject.Object
70+}
71+
72+func EnumListModelNewFromInternalPtr(ptr uintptr) *EnumListModel {
73+ cls := &EnumListModel{}
74+ cls.Ptr = ptr
75+ return cls
76+}
77+
78+var xNewEnumListModel func([]interface{}) uintptr
79+
80+// Creates a new `AdwEnumListModel` for @enum_type.
81+func NewEnumListModel(EnumTypeVar []interface{}) *EnumListModel {
82+ NewEnumListModelPtr := xNewEnumListModel(EnumTypeVar)
83+ if NewEnumListModelPtr == 0 {
84+ return nil
85+ }
86+
87+ NewEnumListModelCls := &EnumListModel{}
88+ NewEnumListModelCls.Ptr = NewEnumListModelPtr
89+ return NewEnumListModelCls
90+}
91+
92+var xEnumListModelFindPosition func(uintptr, int32) uint
93+
94+// Finds the position of a given enum value in @self.
95+func (x *EnumListModel) FindPosition(ValueVar int32) uint {
96+
97+ return xEnumListModelFindPosition(x.GoPointer(), ValueVar)
98+
99+}
100+
101+var xEnumListModelGetEnumType func(uintptr) []interface{}
102+
103+// Gets the type of the enum represented by @self.
104+func (x *EnumListModel) GetEnumType() []interface{} {
105+
106+ return xEnumListModelGetEnumType(x.GoPointer())
107+
108+}
109+
110+func (c *EnumListModel) GoPointer() uintptr {
111+ return c.Ptr
112+}
113+
114+func (c *EnumListModel) SetGoPointer(ptr uintptr) {
115+ c.Ptr = ptr
116+}
117+
118+// Get the item at @position.
119+//
120+// If @position is greater than the number of items in @list, %NULL is
121+// returned.
122+//
123+// %NULL is never returned for an index that is smaller than the length
124+// of the list.
125+//
126+// See also: g_list_model_get_n_items()
127+func (x *EnumListModel) GetItem(PositionVar uint) uintptr {
128+
129+ return gio.XGListModelGetItem(x.GoPointer(), PositionVar)
130+
131+}
132+
133+// Gets the type of the items in @list.
134+//
135+// All items returned from g_list_model_get_item() are of the type
136+// returned by this function, or a subtype, or if the type is an
137+// interface, they are an implementation of that interface.
138+//
139+// The item type of a #GListModel can not change during the life of the
140+// model.
141+func (x *EnumListModel) GetItemType() []interface{} {
142+
143+ return gio.XGListModelGetItemType(x.GoPointer())
144+
145+}
146+
147+// Gets the number of items in @list.
148+//
149+// Depending on the model implementation, calling this function may be
150+// less efficient than iterating the list with increasing values for
151+// @position until g_list_model_get_item() returns %NULL.
152+func (x *EnumListModel) GetNItems() uint {
153+
154+ return gio.XGListModelGetNItems(x.GoPointer())
155+
156+}
157+
158+// Get the item at @position.
159+//
160+// If @position is greater than the number of items in @list, %NULL is
161+// returned.
162+//
163+// %NULL is never returned for an index that is smaller than the length
164+// of the list.
165+//
166+// This function is meant to be used by language bindings in place
167+// of g_list_model_get_item().
168+//
169+// See also: g_list_model_get_n_items()
170+func (x *EnumListModel) GetObject(PositionVar uint) *gobject.Object {
171+
172+ GetObjectPtr := gio.XGListModelGetObject(x.GoPointer(), PositionVar)
173+ if GetObjectPtr == 0 {
174+ return nil
175+ }
176+
177+ GetObjectCls := &gobject.Object{}
178+ GetObjectCls.Ptr = GetObjectPtr
179+ return GetObjectCls
180+
181+}
182+
183+// Emits the #GListModel::items-changed signal on @list.
184+//
185+// This function should only be called by classes implementing
186+// #GListModel. It has to be called after the internal representation
187+// of @list has been updated, because handlers connected to this signal
188+// might query the new state of the list.
189+//
190+// Implementations must only make changes to the model (as visible to
191+// its consumer) in places that will not cause problems for that
192+// consumer. For models that are driven directly by a write API (such
193+// as #GListStore), changes can be reported in response to uses of that
194+// API. For models that represent remote data, changes should only be
195+// made from a fresh mainloop dispatch. It is particularly not
196+// permitted to make changes in response to a call to the #GListModel
197+// consumer API.
198+//
199+// Stated another way: in general, it is assumed that code making a
200+// series of accesses to the model via the API, without returning to the
201+// mainloop, and without calling other code, will continue to view the
202+// same contents of the model.
203+func (x *EnumListModel) ItemsChanged(PositionVar uint, RemovedVar uint, AddedVar uint) {
204+
205+ gio.XGListModelItemsChanged(x.GoPointer(), PositionVar, RemovedVar, AddedVar)
206+
207+}
208+
209+func init() {
210+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
211+ if err != nil {
212+ panic(err)
213+ }
214+
215+ core.PuregoSafeRegister(&xEnumListItemGetName, lib, "adw_enum_list_item_get_name")
216+ core.PuregoSafeRegister(&xEnumListItemGetNick, lib, "adw_enum_list_item_get_nick")
217+ core.PuregoSafeRegister(&xEnumListItemGetValue, lib, "adw_enum_list_item_get_value")
218+
219+ core.PuregoSafeRegister(&xNewEnumListModel, lib, "adw_enum_list_model_new")
220+
221+ core.PuregoSafeRegister(&xEnumListModelFindPosition, lib, "adw_enum_list_model_find_position")
222+ core.PuregoSafeRegister(&xEnumListModelGetEnumType, lib, "adw_enum_list_model_get_enum_type")
223+
224+}
A v4/adw/adw-expander-row.go +509 -0
@@ -0,0 +1,509 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type ExpanderRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to reveal widgets.
19+//
20+// &lt;picture&gt;
21+//
22+// &lt;source srcset="expander-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
23+// &lt;img src="expander-row.png" alt="expander-row"&gt;
24+//
25+// &lt;/picture&gt;
26+//
27+// The `AdwExpanderRow` widget allows the user to reveal or hide widgets below
28+// it. It also allows the user to enable the expansion of the row, allowing to
29+// disable all that the row contains.
30+//
31+// ## AdwExpanderRow as GtkBuildable
32+//
33+// The `AdwExpanderRow` implementation of the [iface@Gtk.Buildable] interface
34+// supports adding a child as an action widget by specifying “action” as the
35+// “type” attribute of a &lt;child&gt; element.
36+//
37+// It also supports adding it as a prefix widget by specifying “prefix” as the
38+// “type” attribute of a &lt;child&gt; element.
39+//
40+// ## CSS nodes
41+//
42+// `AdwExpanderRow` has a main CSS node with name `row` and the `.expander`
43+// style class. It has the `.empty` style class when it contains no children.
44+//
45+// It contains the subnodes `row.header` for its main embedded row,
46+// `list.nested` for the list it can expand, and `image.expander-row-arrow` for
47+// its arrow.
48+type ExpanderRow struct {
49+ PreferencesRow
50+}
51+
52+func ExpanderRowNewFromInternalPtr(ptr uintptr) *ExpanderRow {
53+ cls := &ExpanderRow{}
54+ cls.Ptr = ptr
55+ return cls
56+}
57+
58+var xNewExpanderRow func() uintptr
59+
60+// Creates a new `AdwExpanderRow`.
61+func NewExpanderRow() *gtk.Widget {
62+ NewExpanderRowPtr := xNewExpanderRow()
63+ if NewExpanderRowPtr == 0 {
64+ return nil
65+ }
66+
67+ gobject.IncreaseRef(NewExpanderRowPtr)
68+
69+ NewExpanderRowCls := &gtk.Widget{}
70+ NewExpanderRowCls.Ptr = NewExpanderRowPtr
71+ return NewExpanderRowCls
72+}
73+
74+var xExpanderRowAddAction func(uintptr, uintptr)
75+
76+// Adds an action widget to @self.
77+func (x *ExpanderRow) AddAction(WidgetVar *gtk.Widget) {
78+
79+ xExpanderRowAddAction(x.GoPointer(), WidgetVar.GoPointer())
80+
81+}
82+
83+var xExpanderRowAddPrefix func(uintptr, uintptr)
84+
85+// Adds a prefix widget to @self.
86+func (x *ExpanderRow) AddPrefix(WidgetVar *gtk.Widget) {
87+
88+ xExpanderRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
89+
90+}
91+
92+var xExpanderRowAddRow func(uintptr, uintptr)
93+
94+// Adds a widget to @self.
95+//
96+// The widget will appear in the expanding list below @self.
97+func (x *ExpanderRow) AddRow(ChildVar *gtk.Widget) {
98+
99+ xExpanderRowAddRow(x.GoPointer(), ChildVar.GoPointer())
100+
101+}
102+
103+var xExpanderRowGetEnableExpansion func(uintptr) bool
104+
105+// Gets whether the expansion of @self is enabled.
106+func (x *ExpanderRow) GetEnableExpansion() bool {
107+
108+ return xExpanderRowGetEnableExpansion(x.GoPointer())
109+
110+}
111+
112+var xExpanderRowGetExpanded func(uintptr) bool
113+
114+// Gets whether @self is expanded.
115+func (x *ExpanderRow) GetExpanded() bool {
116+
117+ return xExpanderRowGetExpanded(x.GoPointer())
118+
119+}
120+
121+var xExpanderRowGetIconName func(uintptr) string
122+
123+// Gets the icon name for @self.
124+func (x *ExpanderRow) GetIconName() string {
125+
126+ return xExpanderRowGetIconName(x.GoPointer())
127+
128+}
129+
130+var xExpanderRowGetShowEnableSwitch func(uintptr) bool
131+
132+// Gets whether the switch enabling the expansion of @self is visible.
133+func (x *ExpanderRow) GetShowEnableSwitch() bool {
134+
135+ return xExpanderRowGetShowEnableSwitch(x.GoPointer())
136+
137+}
138+
139+var xExpanderRowGetSubtitle func(uintptr) string
140+
141+// Gets the subtitle for @self.
142+func (x *ExpanderRow) GetSubtitle() string {
143+
144+ return xExpanderRowGetSubtitle(x.GoPointer())
145+
146+}
147+
148+var xExpanderRowGetSubtitleLines func(uintptr) bool
149+
150+// Gets the number of lines at the end of which the subtitle label will be
151+// ellipsized.
152+func (x *ExpanderRow) GetSubtitleLines() bool {
153+
154+ return xExpanderRowGetSubtitleLines(x.GoPointer())
155+
156+}
157+
158+var xExpanderRowGetTitleLines func(uintptr) bool
159+
160+// Gets the number of lines at the end of which the title label will be
161+// ellipsized.
162+func (x *ExpanderRow) GetTitleLines() bool {
163+
164+ return xExpanderRowGetTitleLines(x.GoPointer())
165+
166+}
167+
168+var xExpanderRowRemove func(uintptr, uintptr)
169+
170+func (x *ExpanderRow) Remove(ChildVar *gtk.Widget) {
171+
172+ xExpanderRowRemove(x.GoPointer(), ChildVar.GoPointer())
173+
174+}
175+
176+var xExpanderRowSetEnableExpansion func(uintptr, bool)
177+
178+// Sets whether the expansion of @self is enabled.
179+func (x *ExpanderRow) SetEnableExpansion(EnableExpansionVar bool) {
180+
181+ xExpanderRowSetEnableExpansion(x.GoPointer(), EnableExpansionVar)
182+
183+}
184+
185+var xExpanderRowSetExpanded func(uintptr, bool)
186+
187+// Sets whether @self is expanded.
188+func (x *ExpanderRow) SetExpanded(ExpandedVar bool) {
189+
190+ xExpanderRowSetExpanded(x.GoPointer(), ExpandedVar)
191+
192+}
193+
194+var xExpanderRowSetIconName func(uintptr, string)
195+
196+// Sets the icon name for @self.
197+func (x *ExpanderRow) SetIconName(IconNameVar string) {
198+
199+ xExpanderRowSetIconName(x.GoPointer(), IconNameVar)
200+
201+}
202+
203+var xExpanderRowSetShowEnableSwitch func(uintptr, bool)
204+
205+// Sets whether the switch enabling the expansion of @self is visible.
206+func (x *ExpanderRow) SetShowEnableSwitch(ShowEnableSwitchVar bool) {
207+
208+ xExpanderRowSetShowEnableSwitch(x.GoPointer(), ShowEnableSwitchVar)
209+
210+}
211+
212+var xExpanderRowSetSubtitle func(uintptr, string)
213+
214+// Sets the subtitle for @self.
215+//
216+// The subtitle is interpreted as Pango markup unless
217+// [property@PreferencesRow:use-markup] is set to `FALSE`.
218+func (x *ExpanderRow) SetSubtitle(SubtitleVar string) {
219+
220+ xExpanderRowSetSubtitle(x.GoPointer(), SubtitleVar)
221+
222+}
223+
224+var xExpanderRowSetSubtitleLines func(uintptr, int32)
225+
226+// Sets the number of lines at the end of which the subtitle label will be
227+// ellipsized.
228+//
229+// If the value is 0, the number of lines won't be limited.
230+func (x *ExpanderRow) SetSubtitleLines(SubtitleLinesVar int32) {
231+
232+ xExpanderRowSetSubtitleLines(x.GoPointer(), SubtitleLinesVar)
233+
234+}
235+
236+var xExpanderRowSetTitleLines func(uintptr, int32)
237+
238+// Sets the number of lines at the end of which the title label will be
239+// ellipsized.
240+//
241+// If the value is 0, the number of lines won't be limited.
242+func (x *ExpanderRow) SetTitleLines(TitleLinesVar int32) {
243+
244+ xExpanderRowSetTitleLines(x.GoPointer(), TitleLinesVar)
245+
246+}
247+
248+func (c *ExpanderRow) GoPointer() uintptr {
249+ return c.Ptr
250+}
251+
252+func (c *ExpanderRow) SetGoPointer(ptr uintptr) {
253+ c.Ptr = ptr
254+}
255+
256+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
257+func (x *ExpanderRow) GetAccessibleRole() gtk.AccessibleRole {
258+
259+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
260+
261+}
262+
263+// Resets the accessible @property to its default value.
264+func (x *ExpanderRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
265+
266+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
267+
268+}
269+
270+// Resets the accessible @relation to its default value.
271+func (x *ExpanderRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
272+
273+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
274+
275+}
276+
277+// Resets the accessible @state to its default value.
278+func (x *ExpanderRow) ResetState(StateVar gtk.AccessibleState) {
279+
280+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
281+
282+}
283+
284+// Updates a list of accessible properties.
285+//
286+// See the [enum@Gtk.AccessibleProperty] documentation for the
287+// value types of accessible properties.
288+//
289+// This function should be called by `GtkWidget` types whenever
290+// an accessible property change must be communicated to assistive
291+// technologies.
292+//
293+// Example:
294+// ```c
295+// value = gtk_adjustment_get_value (adjustment);
296+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
297+//
298+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
299+// -1);
300+//
301+// ```
302+func (x *ExpanderRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
303+
304+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
305+
306+}
307+
308+// Updates an array of accessible properties.
309+//
310+// This function should be called by `GtkWidget` types whenever an accessible
311+// property change must be communicated to assistive technologies.
312+//
313+// This function is meant to be used by language bindings.
314+func (x *ExpanderRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
315+
316+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
317+
318+}
319+
320+// Updates a list of accessible relations.
321+//
322+// This function should be called by `GtkWidget` types whenever an accessible
323+// relation change must be communicated to assistive technologies.
324+//
325+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
326+// you should pass each reference individually, followed by %NULL, e.g.
327+//
328+// ```c
329+// gtk_accessible_update_relation (accessible,
330+//
331+// GTK_ACCESSIBLE_RELATION_CONTROLS,
332+// ref1, NULL,
333+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
334+// ref1, ref2, ref3, NULL,
335+// -1);
336+//
337+// ```
338+func (x *ExpanderRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
339+
340+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
341+
342+}
343+
344+// Updates an array of accessible relations.
345+//
346+// This function should be called by `GtkWidget` types whenever an accessible
347+// relation change must be communicated to assistive technologies.
348+//
349+// This function is meant to be used by language bindings.
350+func (x *ExpanderRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
351+
352+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
353+
354+}
355+
356+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
357+// documentation for the value types of accessible states.
358+//
359+// This function should be called by `GtkWidget` types whenever an accessible
360+// state change must be communicated to assistive technologies.
361+//
362+// Example:
363+// ```c
364+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
365+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
366+//
367+// GTK_ACCESSIBLE_STATE_CHECKED, value,
368+// -1);
369+//
370+// ```
371+func (x *ExpanderRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
372+
373+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
374+
375+}
376+
377+// Updates an array of accessible states.
378+//
379+// This function should be called by `GtkWidget` types whenever an accessible
380+// state change must be communicated to assistive technologies.
381+//
382+// This function is meant to be used by language bindings.
383+func (x *ExpanderRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
384+
385+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
386+
387+}
388+
389+// Gets the action name for @actionable.
390+func (x *ExpanderRow) GetActionName() string {
391+
392+ return gtk.XGtkActionableGetActionName(x.GoPointer())
393+
394+}
395+
396+// Gets the current target value of @actionable.
397+func (x *ExpanderRow) GetActionTargetValue() *glib.Variant {
398+
399+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
400+
401+}
402+
403+// Specifies the name of the action with which this widget should be
404+// associated.
405+//
406+// If @action_name is %NULL then the widget will be unassociated from
407+// any previous action.
408+//
409+// Usually this function is used when the widget is located (or will be
410+// located) within the hierarchy of a `GtkApplicationWindow`.
411+//
412+// Names are of the form “win.save” or “app.quit” for actions on the
413+// containing [class@ApplicationWindow] or its associated [class@Application],
414+// respectively. This is the same form used for actions in the [class@Gio.Menu]
415+// associated with the window.
416+func (x *ExpanderRow) SetActionName(ActionNameVar string) {
417+
418+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
419+
420+}
421+
422+// Sets the target of an actionable widget.
423+//
424+// This is a convenience function that calls [ctor@GLib.Variant.new] for
425+// @format_string and uses the result to call
426+// [method@Gtk.Actionable.set_action_target_value].
427+//
428+// If you are setting a string-valued target and want to set
429+// the action name at the same time, you can use
430+// [method@Gtk.Actionable.set_detailed_action_name].
431+func (x *ExpanderRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
432+
433+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
434+
435+}
436+
437+// Sets the target value of an actionable widget.
438+//
439+// If @target_value is %NULL then the target value is unset.
440+//
441+// The target value has two purposes. First, it is used as the parameter
442+// to activation of the action associated with the `GtkActionable` widget.
443+// Second, it is used to determine if the widget should be rendered as
444+// “active” — the widget is active if the state is equal to the given target.
445+//
446+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
447+// with string state in a typical “radio button” situation. Each button
448+// will be associated with the same action, but with a different target
449+// value for that action. Clicking on a particular button will activate
450+// the action with the target of that button, which will typically cause
451+// the action’s state to change to that value. Since the action’s state
452+// is now equal to the target value of the button, the button will now
453+// be rendered as active (and the other buttons, with different targets,
454+// rendered inactive).
455+func (x *ExpanderRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
456+
457+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
458+
459+}
460+
461+// Sets the action-name and associated string target value of an
462+// actionable widget.
463+//
464+// @detailed_action_name is a string in the format accepted by
465+// [func@Gio.Action.parse_detailed_name].
466+func (x *ExpanderRow) SetDetailedActionName(DetailedActionNameVar string) {
467+
468+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
469+
470+}
471+
472+// Gets the ID of the @buildable object.
473+//
474+// `GtkBuilder` sets the name based on the ID attribute
475+// of the &lt;object&gt; tag used to construct the @buildable.
476+func (x *ExpanderRow) GetBuildableId() string {
477+
478+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
479+
480+}
481+
482+func init() {
483+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
484+ if err != nil {
485+ panic(err)
486+ }
487+
488+ core.PuregoSafeRegister(&xNewExpanderRow, lib, "adw_expander_row_new")
489+
490+ core.PuregoSafeRegister(&xExpanderRowAddAction, lib, "adw_expander_row_add_action")
491+ core.PuregoSafeRegister(&xExpanderRowAddPrefix, lib, "adw_expander_row_add_prefix")
492+ core.PuregoSafeRegister(&xExpanderRowAddRow, lib, "adw_expander_row_add_row")
493+ core.PuregoSafeRegister(&xExpanderRowGetEnableExpansion, lib, "adw_expander_row_get_enable_expansion")
494+ core.PuregoSafeRegister(&xExpanderRowGetExpanded, lib, "adw_expander_row_get_expanded")
495+ core.PuregoSafeRegister(&xExpanderRowGetIconName, lib, "adw_expander_row_get_icon_name")
496+ core.PuregoSafeRegister(&xExpanderRowGetShowEnableSwitch, lib, "adw_expander_row_get_show_enable_switch")
497+ core.PuregoSafeRegister(&xExpanderRowGetSubtitle, lib, "adw_expander_row_get_subtitle")
498+ core.PuregoSafeRegister(&xExpanderRowGetSubtitleLines, lib, "adw_expander_row_get_subtitle_lines")
499+ core.PuregoSafeRegister(&xExpanderRowGetTitleLines, lib, "adw_expander_row_get_title_lines")
500+ core.PuregoSafeRegister(&xExpanderRowRemove, lib, "adw_expander_row_remove")
501+ core.PuregoSafeRegister(&xExpanderRowSetEnableExpansion, lib, "adw_expander_row_set_enable_expansion")
502+ core.PuregoSafeRegister(&xExpanderRowSetExpanded, lib, "adw_expander_row_set_expanded")
503+ core.PuregoSafeRegister(&xExpanderRowSetIconName, lib, "adw_expander_row_set_icon_name")
504+ core.PuregoSafeRegister(&xExpanderRowSetShowEnableSwitch, lib, "adw_expander_row_set_show_enable_switch")
505+ core.PuregoSafeRegister(&xExpanderRowSetSubtitle, lib, "adw_expander_row_set_subtitle")
506+ core.PuregoSafeRegister(&xExpanderRowSetSubtitleLines, lib, "adw_expander_row_set_subtitle_lines")
507+ core.PuregoSafeRegister(&xExpanderRowSetTitleLines, lib, "adw_expander_row_set_title_lines")
508+
509+}
A v4/adw/adw-flap.go +739 -0
@@ -0,0 +1,739 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type FlapClass struct {
13+ ParentClass uintptr
14+}
15+
16+// Describes the possible folding behavior of a [class@Flap] widget.
17+type FlapFoldPolicy int
18+
19+const (
20+
21+ // Disable folding, the flap cannot reach narrow
22+ // sizes.
23+ FlapFoldPolicyNeverValue FlapFoldPolicy = 0
24+ // Keep the flap always folded.
25+ FlapFoldPolicyAlwaysValue FlapFoldPolicy = 1
26+ // Fold and unfold the flap based on available
27+ // space.
28+ FlapFoldPolicyAutoValue FlapFoldPolicy = 2
29+)
30+
31+// Describes transitions types of a [class@Flap] widget.
32+//
33+// It determines the type of animation when transitioning between children in a
34+// [class@Flap] widget, as well as which areas can be swiped via
35+// [property@Flap:swipe-to-open] and [property@Flap:swipe-to-close].
36+//
37+// New values may be added to this enum over time.
38+type FlapTransitionType int
39+
40+const (
41+
42+ // The flap slides over the content, which is
43+ // dimmed. When folded, only the flap can be swiped.
44+ FlapTransitionTypeOverValue FlapTransitionType = 0
45+ // The content slides over the flap. Only the
46+ // content can be swiped.
47+ FlapTransitionTypeUnderValue FlapTransitionType = 1
48+ // The flap slides offscreen when hidden,
49+ // neither the flap nor content overlap each other. Both widgets can be
50+ // swiped.
51+ FlapTransitionTypeSlideValue FlapTransitionType = 2
52+)
53+
54+// An adaptive container acting like a box or an overlay.
55+//
56+// &lt;picture&gt;
57+//
58+// &lt;source srcset="flap-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
59+// &lt;img src="flap-wide.png" alt="flap-wide"&gt;
60+//
61+// &lt;/picture&gt;
62+// &lt;picture&gt;
63+//
64+// &lt;source srcset="flap-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
65+// &lt;img src="flap-narrow.png" alt="flap-narrow"&gt;
66+//
67+// &lt;/picture&gt;
68+//
69+// The `AdwFlap` widget can display its children like a [class@Gtk.Box] does or
70+// like a [class@Gtk.Overlay] does, according to the
71+// [property@Flap:fold-policy] value.
72+//
73+// `AdwFlap` has at most three children: [property@Flap:content],
74+// [property@Flap:flap] and [property@Flap:separator]. Content is the primary
75+// child, flap is displayed next to it when unfolded, or overlays it when
76+// folded. Flap can be shown or hidden by changing the
77+// [property@Flap:reveal-flap] value, as well as via swipe gestures if
78+// [property@Flap:swipe-to-open] and/or [property@Flap:swipe-to-close] are set
79+// to `TRUE`.
80+//
81+// Optionally, a separator can be provided, which would be displayed between
82+// the content and the flap when there's no shadow to separate them, depending
83+// on the transition type.
84+//
85+// [property@Flap:flap] is transparent by default; add the
86+// [`.background`](style-classes.html#background) style class to it if this is
87+// unwanted.
88+//
89+// If [property@Flap:modal] is set to `TRUE`, content becomes completely
90+// inaccessible when the flap is revealed while folded.
91+//
92+// The position of the flap and separator children relative to the content is
93+// determined by orientation, as well as the [property@Flap:flap-position]
94+// value.
95+//
96+// Folding the flap will automatically hide the flap widget, and unfolding it
97+// will automatically reveal it. If this behavior is not desired, the
98+// [property@Flap:locked] property can be used to override it.
99+//
100+// Common use cases include sidebars, header bars that need to be able to
101+// overlap the window content (for example, in fullscreen mode) and bottom
102+// sheets.
103+//
104+// ## AdwFlap as GtkBuildable
105+//
106+// The `AdwFlap` implementation of the [iface@Gtk.Buildable] interface supports
107+// setting the flap child by specifying “flap” as the “type” attribute of a
108+// `&lt;child&gt;` element, and separator by specifying “separator”. Specifying
109+// “content” child type or omitting it results in setting the content child.
110+//
111+// ## CSS nodes
112+//
113+// `AdwFlap` has a single CSS node with name `flap`. The node will get the style
114+// classes `.folded` when it is folded, and `.unfolded` when it's not.
115+type Flap struct {
116+ gtk.Widget
117+}
118+
119+func FlapNewFromInternalPtr(ptr uintptr) *Flap {
120+ cls := &Flap{}
121+ cls.Ptr = ptr
122+ return cls
123+}
124+
125+var xNewFlap func() uintptr
126+
127+// Creates a new `AdwFlap`.
128+func NewFlap() *gtk.Widget {
129+ NewFlapPtr := xNewFlap()
130+ if NewFlapPtr == 0 {
131+ return nil
132+ }
133+
134+ gobject.IncreaseRef(NewFlapPtr)
135+
136+ NewFlapCls := &gtk.Widget{}
137+ NewFlapCls.Ptr = NewFlapPtr
138+ return NewFlapCls
139+}
140+
141+var xFlapGetContent func(uintptr) uintptr
142+
143+// Gets the content widget for @self.
144+func (x *Flap) GetContent() *gtk.Widget {
145+
146+ GetContentPtr := xFlapGetContent(x.GoPointer())
147+ if GetContentPtr == 0 {
148+ return nil
149+ }
150+
151+ gobject.IncreaseRef(GetContentPtr)
152+
153+ GetContentCls := &gtk.Widget{}
154+ GetContentCls.Ptr = GetContentPtr
155+ return GetContentCls
156+
157+}
158+
159+var xFlapGetFlap func(uintptr) uintptr
160+
161+// Gets the flap widget for @self.
162+func (x *Flap) GetFlap() *gtk.Widget {
163+
164+ GetFlapPtr := xFlapGetFlap(x.GoPointer())
165+ if GetFlapPtr == 0 {
166+ return nil
167+ }
168+
169+ gobject.IncreaseRef(GetFlapPtr)
170+
171+ GetFlapCls := &gtk.Widget{}
172+ GetFlapCls.Ptr = GetFlapPtr
173+ return GetFlapCls
174+
175+}
176+
177+var xFlapGetFlapPosition func(uintptr) gtk.PackType
178+
179+// Gets the flap position for @self.
180+func (x *Flap) GetFlapPosition() gtk.PackType {
181+
182+ return xFlapGetFlapPosition(x.GoPointer())
183+
184+}
185+
186+var xFlapGetFoldDuration func(uintptr) uint
187+
188+// Gets the fold transition animation duration for @self, in milliseconds.
189+func (x *Flap) GetFoldDuration() uint {
190+
191+ return xFlapGetFoldDuration(x.GoPointer())
192+
193+}
194+
195+var xFlapGetFoldPolicy func(uintptr) FlapFoldPolicy
196+
197+// Gets the fold policy for @self.
198+func (x *Flap) GetFoldPolicy() FlapFoldPolicy {
199+
200+ return xFlapGetFoldPolicy(x.GoPointer())
201+
202+}
203+
204+var xFlapGetFoldThresholdPolicy func(uintptr) FoldThresholdPolicy
205+
206+// Gets the fold threshold policy for @self.
207+func (x *Flap) GetFoldThresholdPolicy() FoldThresholdPolicy {
208+
209+ return xFlapGetFoldThresholdPolicy(x.GoPointer())
210+
211+}
212+
213+var xFlapGetFolded func(uintptr) bool
214+
215+// Gets whether @self is currently folded.
216+//
217+// See [property@Flap:fold-policy].
218+func (x *Flap) GetFolded() bool {
219+
220+ return xFlapGetFolded(x.GoPointer())
221+
222+}
223+
224+var xFlapGetLocked func(uintptr) bool
225+
226+// Gets whether @self is locked.
227+func (x *Flap) GetLocked() bool {
228+
229+ return xFlapGetLocked(x.GoPointer())
230+
231+}
232+
233+var xFlapGetModal func(uintptr) bool
234+
235+// Gets whether @self is modal.
236+func (x *Flap) GetModal() bool {
237+
238+ return xFlapGetModal(x.GoPointer())
239+
240+}
241+
242+var xFlapGetRevealFlap func(uintptr) bool
243+
244+// Gets whether the flap widget is revealed for @self.
245+func (x *Flap) GetRevealFlap() bool {
246+
247+ return xFlapGetRevealFlap(x.GoPointer())
248+
249+}
250+
251+var xFlapGetRevealParams func(uintptr) *SpringParams
252+
253+// Gets the reveal animation spring parameters for @self.
254+func (x *Flap) GetRevealParams() *SpringParams {
255+
256+ return xFlapGetRevealParams(x.GoPointer())
257+
258+}
259+
260+var xFlapGetRevealProgress func(uintptr) float64
261+
262+// Gets the current reveal progress for @self.
263+//
264+// 0 means fully hidden, 1 means fully revealed.
265+//
266+// See [property@Flap:reveal-flap].
267+func (x *Flap) GetRevealProgress() float64 {
268+
269+ return xFlapGetRevealProgress(x.GoPointer())
270+
271+}
272+
273+var xFlapGetSeparator func(uintptr) uintptr
274+
275+// Gets the separator widget for @self.
276+func (x *Flap) GetSeparator() *gtk.Widget {
277+
278+ GetSeparatorPtr := xFlapGetSeparator(x.GoPointer())
279+ if GetSeparatorPtr == 0 {
280+ return nil
281+ }
282+
283+ gobject.IncreaseRef(GetSeparatorPtr)
284+
285+ GetSeparatorCls := &gtk.Widget{}
286+ GetSeparatorCls.Ptr = GetSeparatorPtr
287+ return GetSeparatorCls
288+
289+}
290+
291+var xFlapGetSwipeToClose func(uintptr) bool
292+
293+// Gets whether @self can be closed with a swipe gesture.
294+func (x *Flap) GetSwipeToClose() bool {
295+
296+ return xFlapGetSwipeToClose(x.GoPointer())
297+
298+}
299+
300+var xFlapGetSwipeToOpen func(uintptr) bool
301+
302+// Gets whether @self can be opened with a swipe gesture.
303+func (x *Flap) GetSwipeToOpen() bool {
304+
305+ return xFlapGetSwipeToOpen(x.GoPointer())
306+
307+}
308+
309+var xFlapGetTransitionType func(uintptr) FlapTransitionType
310+
311+// Gets the type of animation used for reveal and fold transitions in @self.
312+func (x *Flap) GetTransitionType() FlapTransitionType {
313+
314+ return xFlapGetTransitionType(x.GoPointer())
315+
316+}
317+
318+var xFlapSetContent func(uintptr, uintptr)
319+
320+// Sets the content widget for @self.
321+//
322+// It's always displayed when unfolded, and partially visible when folded.
323+func (x *Flap) SetContent(ContentVar *gtk.Widget) {
324+
325+ xFlapSetContent(x.GoPointer(), ContentVar.GoPointer())
326+
327+}
328+
329+var xFlapSetFlap func(uintptr, uintptr)
330+
331+// Sets the flap widget for @self.
332+//
333+// It's only visible when [property@Flap:reveal-progress] is greater than 0.
334+func (x *Flap) SetFlap(FlapVar *gtk.Widget) {
335+
336+ xFlapSetFlap(x.GoPointer(), FlapVar.GoPointer())
337+
338+}
339+
340+var xFlapSetFlapPosition func(uintptr, gtk.PackType)
341+
342+// Sets the flap position for @self.
343+//
344+// If it's set to `GTK_PACK_START`, the flap is displayed before the content,
345+// if `GTK_PACK_END`, it's displayed after the content.
346+func (x *Flap) SetFlapPosition(PositionVar gtk.PackType) {
347+
348+ xFlapSetFlapPosition(x.GoPointer(), PositionVar)
349+
350+}
351+
352+var xFlapSetFoldDuration func(uintptr, uint)
353+
354+// Sets the fold transition animation duration for @self, in milliseconds.
355+func (x *Flap) SetFoldDuration(DurationVar uint) {
356+
357+ xFlapSetFoldDuration(x.GoPointer(), DurationVar)
358+
359+}
360+
361+var xFlapSetFoldPolicy func(uintptr, FlapFoldPolicy)
362+
363+// Sets the fold policy for @self.
364+func (x *Flap) SetFoldPolicy(PolicyVar FlapFoldPolicy) {
365+
366+ xFlapSetFoldPolicy(x.GoPointer(), PolicyVar)
367+
368+}
369+
370+var xFlapSetFoldThresholdPolicy func(uintptr, FoldThresholdPolicy)
371+
372+// Sets the fold threshold policy for @self.
373+//
374+// If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when the
375+// children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
376+// will fold as soon as children don't get their natural size.
377+//
378+// This can be useful if you have a long ellipsizing label and want to let it
379+// ellipsize instead of immediately folding.
380+func (x *Flap) SetFoldThresholdPolicy(PolicyVar FoldThresholdPolicy) {
381+
382+ xFlapSetFoldThresholdPolicy(x.GoPointer(), PolicyVar)
383+
384+}
385+
386+var xFlapSetLocked func(uintptr, bool)
387+
388+// Sets whether @self is locked.
389+//
390+// If `FALSE`, folding when the flap is revealed automatically closes it, and
391+// unfolding it when the flap is not revealed opens it. If `TRUE`,
392+// [property@Flap:reveal-flap] value never changes on its own.
393+func (x *Flap) SetLocked(LockedVar bool) {
394+
395+ xFlapSetLocked(x.GoPointer(), LockedVar)
396+
397+}
398+
399+var xFlapSetModal func(uintptr, bool)
400+
401+// Sets whether @self is modal.
402+//
403+// If `TRUE`, clicking the content widget while flap is revealed, as well as
404+// pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks are
405+// passed through to the content widget.
406+func (x *Flap) SetModal(ModalVar bool) {
407+
408+ xFlapSetModal(x.GoPointer(), ModalVar)
409+
410+}
411+
412+var xFlapSetRevealFlap func(uintptr, bool)
413+
414+// Sets whether the flap widget is revealed for @self.
415+func (x *Flap) SetRevealFlap(RevealFlapVar bool) {
416+
417+ xFlapSetRevealFlap(x.GoPointer(), RevealFlapVar)
418+
419+}
420+
421+var xFlapSetRevealParams func(uintptr, *SpringParams)
422+
423+// Sets the reveal animation spring parameters for @self.
424+//
425+// The default value is equivalent to:
426+//
427+// ```c
428+// adw_spring_params_new (1, 0.5, 500)
429+// ```
430+func (x *Flap) SetRevealParams(ParamsVar *SpringParams) {
431+
432+ xFlapSetRevealParams(x.GoPointer(), ParamsVar)
433+
434+}
435+
436+var xFlapSetSeparator func(uintptr, uintptr)
437+
438+// Sets the separator widget for @self.
439+//
440+// It's displayed between content and flap when there's no shadow to display.
441+// When exactly it's visible depends on the [property@Flap:transition-type]
442+// value.
443+func (x *Flap) SetSeparator(SeparatorVar *gtk.Widget) {
444+
445+ xFlapSetSeparator(x.GoPointer(), SeparatorVar.GoPointer())
446+
447+}
448+
449+var xFlapSetSwipeToClose func(uintptr, bool)
450+
451+// Sets whether @self can be closed with a swipe gesture.
452+//
453+// The area that can be swiped depends on the [property@Flap:transition-type]
454+// value.
455+func (x *Flap) SetSwipeToClose(SwipeToCloseVar bool) {
456+
457+ xFlapSetSwipeToClose(x.GoPointer(), SwipeToCloseVar)
458+
459+}
460+
461+var xFlapSetSwipeToOpen func(uintptr, bool)
462+
463+// Sets whether @self can be opened with a swipe gesture.
464+//
465+// The area that can be swiped depends on the [property@Flap:transition-type]
466+// value.
467+func (x *Flap) SetSwipeToOpen(SwipeToOpenVar bool) {
468+
469+ xFlapSetSwipeToOpen(x.GoPointer(), SwipeToOpenVar)
470+
471+}
472+
473+var xFlapSetTransitionType func(uintptr, FlapTransitionType)
474+
475+// Sets the type of animation used for reveal and fold transitions in @self.
476+//
477+// [property@Flap:flap] is transparent by default, which means the content will
478+// be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions; add the
479+// [`.background`](style-classes.html#background) style class to it if this is
480+// unwanted.
481+func (x *Flap) SetTransitionType(TransitionTypeVar FlapTransitionType) {
482+
483+ xFlapSetTransitionType(x.GoPointer(), TransitionTypeVar)
484+
485+}
486+
487+func (c *Flap) GoPointer() uintptr {
488+ return c.Ptr
489+}
490+
491+func (c *Flap) SetGoPointer(ptr uintptr) {
492+ c.Ptr = ptr
493+}
494+
495+// Gets the progress @self will snap back to after the gesture is canceled.
496+func (x *Flap) GetCancelProgress() float64 {
497+
498+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
499+
500+}
501+
502+// Gets the swipe distance of @self.
503+//
504+// This corresponds to how many pixels 1 unit represents.
505+func (x *Flap) GetDistance() float64 {
506+
507+ return XAdwSwipeableGetDistance(x.GoPointer())
508+
509+}
510+
511+// Gets the current progress of @self.
512+func (x *Flap) GetProgress() float64 {
513+
514+ return XAdwSwipeableGetProgress(x.GoPointer())
515+
516+}
517+
518+// Gets the snap points of @self.
519+//
520+// Each snap point represents a progress value that is considered acceptable to
521+// end the swipe on.
522+func (x *Flap) GetSnapPoints(NSnapPointsVar int32) uintptr {
523+
524+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
525+
526+}
527+
528+// Gets the area @self can start a swipe from for the given direction and
529+// gesture type.
530+//
531+// This can be used to restrict swipes to only be possible from a certain area,
532+// for example, to only allow edge swipes, or to have a draggable element and
533+// ignore swipes elsewhere.
534+//
535+// If not implemented, the default implementation returns the allocation of
536+// @self, allowing swipes from anywhere.
537+func (x *Flap) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
538+
539+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
540+
541+}
542+
543+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
544+func (x *Flap) GetAccessibleRole() gtk.AccessibleRole {
545+
546+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
547+
548+}
549+
550+// Resets the accessible @property to its default value.
551+func (x *Flap) ResetProperty(PropertyVar gtk.AccessibleProperty) {
552+
553+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
554+
555+}
556+
557+// Resets the accessible @relation to its default value.
558+func (x *Flap) ResetRelation(RelationVar gtk.AccessibleRelation) {
559+
560+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
561+
562+}
563+
564+// Resets the accessible @state to its default value.
565+func (x *Flap) ResetState(StateVar gtk.AccessibleState) {
566+
567+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
568+
569+}
570+
571+// Updates a list of accessible properties.
572+//
573+// See the [enum@Gtk.AccessibleProperty] documentation for the
574+// value types of accessible properties.
575+//
576+// This function should be called by `GtkWidget` types whenever
577+// an accessible property change must be communicated to assistive
578+// technologies.
579+//
580+// Example:
581+// ```c
582+// value = gtk_adjustment_get_value (adjustment);
583+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
584+//
585+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
586+// -1);
587+//
588+// ```
589+func (x *Flap) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
590+
591+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
592+
593+}
594+
595+// Updates an array of accessible properties.
596+//
597+// This function should be called by `GtkWidget` types whenever an accessible
598+// property change must be communicated to assistive technologies.
599+//
600+// This function is meant to be used by language bindings.
601+func (x *Flap) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
602+
603+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
604+
605+}
606+
607+// Updates a list of accessible relations.
608+//
609+// This function should be called by `GtkWidget` types whenever an accessible
610+// relation change must be communicated to assistive technologies.
611+//
612+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
613+// you should pass each reference individually, followed by %NULL, e.g.
614+//
615+// ```c
616+// gtk_accessible_update_relation (accessible,
617+//
618+// GTK_ACCESSIBLE_RELATION_CONTROLS,
619+// ref1, NULL,
620+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
621+// ref1, ref2, ref3, NULL,
622+// -1);
623+//
624+// ```
625+func (x *Flap) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
626+
627+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
628+
629+}
630+
631+// Updates an array of accessible relations.
632+//
633+// This function should be called by `GtkWidget` types whenever an accessible
634+// relation change must be communicated to assistive technologies.
635+//
636+// This function is meant to be used by language bindings.
637+func (x *Flap) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
638+
639+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
640+
641+}
642+
643+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
644+// documentation for the value types of accessible states.
645+//
646+// This function should be called by `GtkWidget` types whenever an accessible
647+// state change must be communicated to assistive technologies.
648+//
649+// Example:
650+// ```c
651+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
652+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
653+//
654+// GTK_ACCESSIBLE_STATE_CHECKED, value,
655+// -1);
656+//
657+// ```
658+func (x *Flap) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
659+
660+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
661+
662+}
663+
664+// Updates an array of accessible states.
665+//
666+// This function should be called by `GtkWidget` types whenever an accessible
667+// state change must be communicated to assistive technologies.
668+//
669+// This function is meant to be used by language bindings.
670+func (x *Flap) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
671+
672+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
673+
674+}
675+
676+// Gets the ID of the @buildable object.
677+//
678+// `GtkBuilder` sets the name based on the ID attribute
679+// of the &lt;object&gt; tag used to construct the @buildable.
680+func (x *Flap) GetBuildableId() string {
681+
682+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
683+
684+}
685+
686+// Retrieves the orientation of the @orientable.
687+func (x *Flap) GetOrientation() gtk.Orientation {
688+
689+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
690+
691+}
692+
693+// Sets the orientation of the @orientable.
694+func (x *Flap) SetOrientation(OrientationVar gtk.Orientation) {
695+
696+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
697+
698+}
699+
700+func init() {
701+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
702+ if err != nil {
703+ panic(err)
704+ }
705+
706+ core.PuregoSafeRegister(&xNewFlap, lib, "adw_flap_new")
707+
708+ core.PuregoSafeRegister(&xFlapGetContent, lib, "adw_flap_get_content")
709+ core.PuregoSafeRegister(&xFlapGetFlap, lib, "adw_flap_get_flap")
710+ core.PuregoSafeRegister(&xFlapGetFlapPosition, lib, "adw_flap_get_flap_position")
711+ core.PuregoSafeRegister(&xFlapGetFoldDuration, lib, "adw_flap_get_fold_duration")
712+ core.PuregoSafeRegister(&xFlapGetFoldPolicy, lib, "adw_flap_get_fold_policy")
713+ core.PuregoSafeRegister(&xFlapGetFoldThresholdPolicy, lib, "adw_flap_get_fold_threshold_policy")
714+ core.PuregoSafeRegister(&xFlapGetFolded, lib, "adw_flap_get_folded")
715+ core.PuregoSafeRegister(&xFlapGetLocked, lib, "adw_flap_get_locked")
716+ core.PuregoSafeRegister(&xFlapGetModal, lib, "adw_flap_get_modal")
717+ core.PuregoSafeRegister(&xFlapGetRevealFlap, lib, "adw_flap_get_reveal_flap")
718+ core.PuregoSafeRegister(&xFlapGetRevealParams, lib, "adw_flap_get_reveal_params")
719+ core.PuregoSafeRegister(&xFlapGetRevealProgress, lib, "adw_flap_get_reveal_progress")
720+ core.PuregoSafeRegister(&xFlapGetSeparator, lib, "adw_flap_get_separator")
721+ core.PuregoSafeRegister(&xFlapGetSwipeToClose, lib, "adw_flap_get_swipe_to_close")
722+ core.PuregoSafeRegister(&xFlapGetSwipeToOpen, lib, "adw_flap_get_swipe_to_open")
723+ core.PuregoSafeRegister(&xFlapGetTransitionType, lib, "adw_flap_get_transition_type")
724+ core.PuregoSafeRegister(&xFlapSetContent, lib, "adw_flap_set_content")
725+ core.PuregoSafeRegister(&xFlapSetFlap, lib, "adw_flap_set_flap")
726+ core.PuregoSafeRegister(&xFlapSetFlapPosition, lib, "adw_flap_set_flap_position")
727+ core.PuregoSafeRegister(&xFlapSetFoldDuration, lib, "adw_flap_set_fold_duration")
728+ core.PuregoSafeRegister(&xFlapSetFoldPolicy, lib, "adw_flap_set_fold_policy")
729+ core.PuregoSafeRegister(&xFlapSetFoldThresholdPolicy, lib, "adw_flap_set_fold_threshold_policy")
730+ core.PuregoSafeRegister(&xFlapSetLocked, lib, "adw_flap_set_locked")
731+ core.PuregoSafeRegister(&xFlapSetModal, lib, "adw_flap_set_modal")
732+ core.PuregoSafeRegister(&xFlapSetRevealFlap, lib, "adw_flap_set_reveal_flap")
733+ core.PuregoSafeRegister(&xFlapSetRevealParams, lib, "adw_flap_set_reveal_params")
734+ core.PuregoSafeRegister(&xFlapSetSeparator, lib, "adw_flap_set_separator")
735+ core.PuregoSafeRegister(&xFlapSetSwipeToClose, lib, "adw_flap_set_swipe_to_close")
736+ core.PuregoSafeRegister(&xFlapSetSwipeToOpen, lib, "adw_flap_set_swipe_to_open")
737+ core.PuregoSafeRegister(&xFlapSetTransitionType, lib, "adw_flap_set_transition_type")
738+
739+}
A v4/adw/adw-fold-threshold-policy.go +13 -0
@@ -0,0 +1,13 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Determines when [class@Flap] and [class@Leaflet] will fold.
5+type FoldThresholdPolicy int
6+
7+const (
8+
9+ // Folding is based on the minimum size
10+ FoldThresholdPolicyMinimumValue FoldThresholdPolicy = 0
11+ // Folding is based on the natural size
12+ FoldThresholdPolicyNaturalValue FoldThresholdPolicy = 1
13+)
A v4/adw/adw-header-bar.go +486 -0
@@ -0,0 +1,486 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type HeaderBarClass struct {
12+ ParentClass uintptr
13+}
14+
15+// Describes title centering behavior of a [class@HeaderBar] widget.
16+type CenteringPolicy int
17+
18+const (
19+
20+ // Keep the title centered when possible
21+ CenteringPolicyLooseValue CenteringPolicy = 0
22+ // Keep the title centered at all cost
23+ CenteringPolicyStrictValue CenteringPolicy = 1
24+)
25+
26+// A title bar widget.
27+//
28+// &lt;picture&gt;
29+//
30+// &lt;source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
31+// &lt;img src="header-bar.png" alt="header-bar"&gt;
32+//
33+// &lt;/picture&gt;
34+//
35+// `AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional
36+// features compared to it. Refer to `GtkHeaderBar` for details.
37+//
38+// [property@HeaderBar:centering-policy] allows to enforce strict centering of
39+// the title widget, this is useful for [class@ViewSwitcherTitle].
40+//
41+// [property@HeaderBar:show-start-title-buttons] and
42+// [property@HeaderBar:show-end-title-buttons] allow to easily create split
43+// header bar layouts using [class@Leaflet], as follows:
44+//
45+// ```xml
46+// &lt;object class="AdwLeaflet" id="leaflet"&gt;
47+//
48+// &lt;child&gt;
49+// &lt;object class="GtkBox"&gt;
50+// &lt;property name="orientation"&gt;vertical&lt;/property&gt;
51+// &lt;child&gt;
52+// &lt;object class="AdwHeaderBar"&gt;
53+// &lt;binding name="show-end-title-buttons"&gt;
54+// &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
55+// &lt;/binding&gt;
56+// &lt;/object&gt;
57+// &lt;/child&gt;
58+// &lt;!-- ... --&gt;
59+// &lt;/object&gt;
60+// &lt;/child&gt;
61+// &lt;!-- ... --&gt;
62+// &lt;child&gt;
63+// &lt;object class="GtkBox"&gt;
64+// &lt;property name="orientation"&gt;vertical&lt;/property&gt;
65+// &lt;property name="hexpand"&gt;True&lt;/property&gt;
66+// &lt;child&gt;
67+// &lt;object class="AdwHeaderBar"&gt;
68+// &lt;binding name="show-start-title-buttons"&gt;
69+// &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
70+// &lt;/binding&gt;
71+// &lt;/object&gt;
72+// &lt;/child&gt;
73+// &lt;!-- ... --&gt;
74+// &lt;/object&gt;
75+// &lt;/child&gt;
76+//
77+// &lt;/object&gt;
78+// ```
79+//
80+// &lt;picture&gt;
81+//
82+// &lt;source srcset="header-bar-split-dark.png" media="(prefers-color-scheme: dark)"&gt;
83+// &lt;img src="header-bar-split.png" alt="header-bar-split"&gt;
84+//
85+// &lt;/picture&gt;
86+//
87+// ## CSS nodes
88+//
89+// ```
90+// headerbar
91+// ╰── windowhandle
92+//
93+// ╰── box
94+// ├── widget
95+// │ ╰── box.start
96+// │ ├── windowcontrols.start
97+// │ ╰── [other children]
98+// ├── [Title Widget]
99+// ╰── widget
100+// ╰── box.end
101+// ├── [other children]
102+// ╰── windowcontrols.end
103+//
104+// ```
105+//
106+// `AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle`
107+// subnode, which contains a `box` subnode, which contains two `widget` subnodes
108+// at the start and end of the header bar, each of which contains a `box`
109+// subnode with the `.start` and `.end` style classes respectively, as well as a
110+// center node that represents the title.
111+//
112+// Each of the boxes contains a `windowcontrols` subnode, see
113+// [class@Gtk.WindowControls] for details, as well as other children.
114+//
115+// ## Accessibility
116+//
117+// `AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
118+type HeaderBar struct {
119+ gtk.Widget
120+}
121+
122+func HeaderBarNewFromInternalPtr(ptr uintptr) *HeaderBar {
123+ cls := &HeaderBar{}
124+ cls.Ptr = ptr
125+ return cls
126+}
127+
128+var xNewHeaderBar func() uintptr
129+
130+// Creates a new `AdwHeaderBar`.
131+func NewHeaderBar() *gtk.Widget {
132+ NewHeaderBarPtr := xNewHeaderBar()
133+ if NewHeaderBarPtr == 0 {
134+ return nil
135+ }
136+
137+ gobject.IncreaseRef(NewHeaderBarPtr)
138+
139+ NewHeaderBarCls := &gtk.Widget{}
140+ NewHeaderBarCls.Ptr = NewHeaderBarPtr
141+ return NewHeaderBarCls
142+}
143+
144+var xHeaderBarGetCenteringPolicy func(uintptr) CenteringPolicy
145+
146+// Gets the policy for aligning the center widget.
147+func (x *HeaderBar) GetCenteringPolicy() CenteringPolicy {
148+
149+ return xHeaderBarGetCenteringPolicy(x.GoPointer())
150+
151+}
152+
153+var xHeaderBarGetDecorationLayout func(uintptr) string
154+
155+// Gets the decoration layout for @self.
156+func (x *HeaderBar) GetDecorationLayout() string {
157+
158+ return xHeaderBarGetDecorationLayout(x.GoPointer())
159+
160+}
161+
162+var xHeaderBarGetShowEndTitleButtons func(uintptr) bool
163+
164+// Gets whether to show title buttons at the end of @self.
165+func (x *HeaderBar) GetShowEndTitleButtons() bool {
166+
167+ return xHeaderBarGetShowEndTitleButtons(x.GoPointer())
168+
169+}
170+
171+var xHeaderBarGetShowStartTitleButtons func(uintptr) bool
172+
173+// Gets whether to show title buttons at the start of @self.
174+func (x *HeaderBar) GetShowStartTitleButtons() bool {
175+
176+ return xHeaderBarGetShowStartTitleButtons(x.GoPointer())
177+
178+}
179+
180+var xHeaderBarGetTitleWidget func(uintptr) uintptr
181+
182+// Gets the title widget widget of @self.
183+func (x *HeaderBar) GetTitleWidget() *gtk.Widget {
184+
185+ GetTitleWidgetPtr := xHeaderBarGetTitleWidget(x.GoPointer())
186+ if GetTitleWidgetPtr == 0 {
187+ return nil
188+ }
189+
190+ gobject.IncreaseRef(GetTitleWidgetPtr)
191+
192+ GetTitleWidgetCls := &gtk.Widget{}
193+ GetTitleWidgetCls.Ptr = GetTitleWidgetPtr
194+ return GetTitleWidgetCls
195+
196+}
197+
198+var xHeaderBarPackEnd func(uintptr, uintptr)
199+
200+// Adds @child to @self, packed with reference to the end of @self.
201+func (x *HeaderBar) PackEnd(ChildVar *gtk.Widget) {
202+
203+ xHeaderBarPackEnd(x.GoPointer(), ChildVar.GoPointer())
204+
205+}
206+
207+var xHeaderBarPackStart func(uintptr, uintptr)
208+
209+// Adds @child to @self, packed with reference to the start of the @self.
210+func (x *HeaderBar) PackStart(ChildVar *gtk.Widget) {
211+
212+ xHeaderBarPackStart(x.GoPointer(), ChildVar.GoPointer())
213+
214+}
215+
216+var xHeaderBarRemove func(uintptr, uintptr)
217+
218+// Removes a child from @self.
219+//
220+// The child must have been added with [method@HeaderBar.pack_start],
221+// [method@HeaderBar.pack_end] or [property@HeaderBar:title-widget].
222+func (x *HeaderBar) Remove(ChildVar *gtk.Widget) {
223+
224+ xHeaderBarRemove(x.GoPointer(), ChildVar.GoPointer())
225+
226+}
227+
228+var xHeaderBarSetCenteringPolicy func(uintptr, CenteringPolicy)
229+
230+// Sets the policy for aligning the center widget.
231+func (x *HeaderBar) SetCenteringPolicy(CenteringPolicyVar CenteringPolicy) {
232+
233+ xHeaderBarSetCenteringPolicy(x.GoPointer(), CenteringPolicyVar)
234+
235+}
236+
237+var xHeaderBarSetDecorationLayout func(uintptr, string)
238+
239+// Sets the decoration layout for @self.
240+//
241+// If this property is not set, the
242+// [property@Gtk.Settings:gtk-decoration-layout] setting is used.
243+//
244+// The format of the string is button names, separated by commas. A colon
245+// separates the buttons that should appear at the start from those at the end.
246+// Recognized button names are minimize, maximize, close and icon (the window
247+// icon).
248+//
249+// For example, “icon:minimize,maximize,close” specifies an icon at the start,
250+// and minimize, maximize and close buttons at the end.
251+func (x *HeaderBar) SetDecorationLayout(LayoutVar string) {
252+
253+ xHeaderBarSetDecorationLayout(x.GoPointer(), LayoutVar)
254+
255+}
256+
257+var xHeaderBarSetShowEndTitleButtons func(uintptr, bool)
258+
259+// Sets whether to show title buttons at the end of @self.
260+//
261+// See [property@HeaderBar:show-start-title-buttons] for the other side.
262+//
263+// Which buttons are actually shown and where is determined by the
264+// [property@HeaderBar:decoration-layout] property, and by the state of the
265+// window (e.g. a close button will not be shown if the window can't be closed).
266+func (x *HeaderBar) SetShowEndTitleButtons(SettingVar bool) {
267+
268+ xHeaderBarSetShowEndTitleButtons(x.GoPointer(), SettingVar)
269+
270+}
271+
272+var xHeaderBarSetShowStartTitleButtons func(uintptr, bool)
273+
274+// Sets whether to show title buttons at the start of @self.
275+//
276+// See [property@HeaderBar:show-end-title-buttons] for the other side.
277+//
278+// Which buttons are actually shown and where is determined by the
279+// [property@HeaderBar:decoration-layout] property, and by the state of the
280+// window (e.g. a close button will not be shown if the window can't be closed).
281+func (x *HeaderBar) SetShowStartTitleButtons(SettingVar bool) {
282+
283+ xHeaderBarSetShowStartTitleButtons(x.GoPointer(), SettingVar)
284+
285+}
286+
287+var xHeaderBarSetTitleWidget func(uintptr, uintptr)
288+
289+// Sets the title widget for @self.
290+//
291+// When set to `NULL`, the header bar will display the title of the window it
292+// is contained in.
293+//
294+// To use a different title, use [class@WindowTitle]:
295+//
296+// ```xml
297+// &lt;object class="AdwHeaderBar"&gt;
298+//
299+// &lt;property name="title-widget"&gt;
300+// &lt;object class="AdwWindowTitle"&gt;
301+// &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
302+// &lt;/object&gt;
303+// &lt;/property&gt;
304+//
305+// &lt;/object&gt;
306+// ```
307+func (x *HeaderBar) SetTitleWidget(TitleWidgetVar *gtk.Widget) {
308+
309+ xHeaderBarSetTitleWidget(x.GoPointer(), TitleWidgetVar.GoPointer())
310+
311+}
312+
313+func (c *HeaderBar) GoPointer() uintptr {
314+ return c.Ptr
315+}
316+
317+func (c *HeaderBar) SetGoPointer(ptr uintptr) {
318+ c.Ptr = ptr
319+}
320+
321+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
322+func (x *HeaderBar) GetAccessibleRole() gtk.AccessibleRole {
323+
324+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
325+
326+}
327+
328+// Resets the accessible @property to its default value.
329+func (x *HeaderBar) ResetProperty(PropertyVar gtk.AccessibleProperty) {
330+
331+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
332+
333+}
334+
335+// Resets the accessible @relation to its default value.
336+func (x *HeaderBar) ResetRelation(RelationVar gtk.AccessibleRelation) {
337+
338+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
339+
340+}
341+
342+// Resets the accessible @state to its default value.
343+func (x *HeaderBar) ResetState(StateVar gtk.AccessibleState) {
344+
345+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
346+
347+}
348+
349+// Updates a list of accessible properties.
350+//
351+// See the [enum@Gtk.AccessibleProperty] documentation for the
352+// value types of accessible properties.
353+//
354+// This function should be called by `GtkWidget` types whenever
355+// an accessible property change must be communicated to assistive
356+// technologies.
357+//
358+// Example:
359+// ```c
360+// value = gtk_adjustment_get_value (adjustment);
361+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
362+//
363+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
364+// -1);
365+//
366+// ```
367+func (x *HeaderBar) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
368+
369+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
370+
371+}
372+
373+// Updates an array of accessible properties.
374+//
375+// This function should be called by `GtkWidget` types whenever an accessible
376+// property change must be communicated to assistive technologies.
377+//
378+// This function is meant to be used by language bindings.
379+func (x *HeaderBar) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
380+
381+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
382+
383+}
384+
385+// Updates a list of accessible relations.
386+//
387+// This function should be called by `GtkWidget` types whenever an accessible
388+// relation change must be communicated to assistive technologies.
389+//
390+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
391+// you should pass each reference individually, followed by %NULL, e.g.
392+//
393+// ```c
394+// gtk_accessible_update_relation (accessible,
395+//
396+// GTK_ACCESSIBLE_RELATION_CONTROLS,
397+// ref1, NULL,
398+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
399+// ref1, ref2, ref3, NULL,
400+// -1);
401+//
402+// ```
403+func (x *HeaderBar) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
404+
405+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
406+
407+}
408+
409+// Updates an array of accessible relations.
410+//
411+// This function should be called by `GtkWidget` types whenever an accessible
412+// relation change must be communicated to assistive technologies.
413+//
414+// This function is meant to be used by language bindings.
415+func (x *HeaderBar) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
416+
417+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
418+
419+}
420+
421+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
422+// documentation for the value types of accessible states.
423+//
424+// This function should be called by `GtkWidget` types whenever an accessible
425+// state change must be communicated to assistive technologies.
426+//
427+// Example:
428+// ```c
429+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
430+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
431+//
432+// GTK_ACCESSIBLE_STATE_CHECKED, value,
433+// -1);
434+//
435+// ```
436+func (x *HeaderBar) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
437+
438+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
439+
440+}
441+
442+// Updates an array of accessible states.
443+//
444+// This function should be called by `GtkWidget` types whenever an accessible
445+// state change must be communicated to assistive technologies.
446+//
447+// This function is meant to be used by language bindings.
448+func (x *HeaderBar) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
449+
450+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
451+
452+}
453+
454+// Gets the ID of the @buildable object.
455+//
456+// `GtkBuilder` sets the name based on the ID attribute
457+// of the &lt;object&gt; tag used to construct the @buildable.
458+func (x *HeaderBar) GetBuildableId() string {
459+
460+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
461+
462+}
463+
464+func init() {
465+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
466+ if err != nil {
467+ panic(err)
468+ }
469+
470+ core.PuregoSafeRegister(&xNewHeaderBar, lib, "adw_header_bar_new")
471+
472+ core.PuregoSafeRegister(&xHeaderBarGetCenteringPolicy, lib, "adw_header_bar_get_centering_policy")
473+ core.PuregoSafeRegister(&xHeaderBarGetDecorationLayout, lib, "adw_header_bar_get_decoration_layout")
474+ core.PuregoSafeRegister(&xHeaderBarGetShowEndTitleButtons, lib, "adw_header_bar_get_show_end_title_buttons")
475+ core.PuregoSafeRegister(&xHeaderBarGetShowStartTitleButtons, lib, "adw_header_bar_get_show_start_title_buttons")
476+ core.PuregoSafeRegister(&xHeaderBarGetTitleWidget, lib, "adw_header_bar_get_title_widget")
477+ core.PuregoSafeRegister(&xHeaderBarPackEnd, lib, "adw_header_bar_pack_end")
478+ core.PuregoSafeRegister(&xHeaderBarPackStart, lib, "adw_header_bar_pack_start")
479+ core.PuregoSafeRegister(&xHeaderBarRemove, lib, "adw_header_bar_remove")
480+ core.PuregoSafeRegister(&xHeaderBarSetCenteringPolicy, lib, "adw_header_bar_set_centering_policy")
481+ core.PuregoSafeRegister(&xHeaderBarSetDecorationLayout, lib, "adw_header_bar_set_decoration_layout")
482+ core.PuregoSafeRegister(&xHeaderBarSetShowEndTitleButtons, lib, "adw_header_bar_set_show_end_title_buttons")
483+ core.PuregoSafeRegister(&xHeaderBarSetShowStartTitleButtons, lib, "adw_header_bar_set_show_start_title_buttons")
484+ core.PuregoSafeRegister(&xHeaderBarSetTitleWidget, lib, "adw_header_bar_set_title_widget")
485+
486+}
A v4/adw/adw-leaflet.go +880 -0
@@ -0,0 +1,880 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type LeafletClass struct {
13+ ParentClass uintptr
14+}
15+
16+type LeafletPageClass struct {
17+ ParentClass uintptr
18+}
19+
20+// Describes the possible transitions in a [class@Leaflet] widget.
21+//
22+// New values may be added to this enumeration over time.
23+type LeafletTransitionType int
24+
25+const (
26+
27+ // Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order
28+ LeafletTransitionTypeOverValue LeafletTransitionType = 0
29+ // Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order
30+ LeafletTransitionTypeUnderValue LeafletTransitionType = 1
31+ // Slide from left, right, up or down according to the orientation, text direction and the children order
32+ LeafletTransitionTypeSlideValue LeafletTransitionType = 2
33+)
34+
35+// An adaptive container acting like a box or a stack.
36+//
37+// &lt;picture&gt;
38+//
39+// &lt;source srcset="leaflet-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
40+// &lt;img src="leaflet-wide.png" alt="leaflet-wide"&gt;
41+//
42+// &lt;/picture&gt;
43+// &lt;picture&gt;
44+//
45+// &lt;source srcset="leaflet-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
46+// &lt;img src="leaflet-narrow.png" alt="leaflet-narrow"&gt;
47+//
48+// &lt;/picture&gt;
49+//
50+// The `AdwLeaflet` widget can display its children like a [class@Gtk.Box] does
51+// or like a [class@Gtk.Stack] does, adapting to size changes by switching
52+// between the two modes.
53+//
54+// When there is enough space the children are displayed side by side, otherwise
55+// only one is displayed and the leaflet is said to be “folded”.
56+// The threshold is dictated by the preferred minimum sizes of the children.
57+// When a leaflet is folded, the children can be navigated using swipe gestures.
58+//
59+// The “over” and “under” transition types stack the children one on top of the
60+// other, while the “slide” transition puts the children side by side. While
61+// navigating to a child on the side or below can be performed by swiping the
62+// current child away, navigating to an upper child requires dragging it from
63+// the edge where it resides. This doesn't affect non-dragging swipes.
64+//
65+// ## CSS nodes
66+//
67+// `AdwLeaflet` has a single CSS node with name `leaflet`. The node will get the
68+// style classes `.folded` when it is folded, `.unfolded` when it's not, or none
69+// if it hasn't computed its fold yet.
70+type Leaflet struct {
71+ gtk.Widget
72+}
73+
74+func LeafletNewFromInternalPtr(ptr uintptr) *Leaflet {
75+ cls := &Leaflet{}
76+ cls.Ptr = ptr
77+ return cls
78+}
79+
80+var xNewLeaflet func() uintptr
81+
82+// Creates a new `AdwLeaflet`.
83+func NewLeaflet() *gtk.Widget {
84+ NewLeafletPtr := xNewLeaflet()
85+ if NewLeafletPtr == 0 {
86+ return nil
87+ }
88+
89+ gobject.IncreaseRef(NewLeafletPtr)
90+
91+ NewLeafletCls := &gtk.Widget{}
92+ NewLeafletCls.Ptr = NewLeafletPtr
93+ return NewLeafletCls
94+}
95+
96+var xLeafletAppend func(uintptr, uintptr) uintptr
97+
98+// Adds a child to @self.
99+func (x *Leaflet) Append(ChildVar *gtk.Widget) *LeafletPage {
100+
101+ AppendPtr := xLeafletAppend(x.GoPointer(), ChildVar.GoPointer())
102+ if AppendPtr == 0 {
103+ return nil
104+ }
105+
106+ gobject.IncreaseRef(AppendPtr)
107+
108+ AppendCls := &LeafletPage{}
109+ AppendCls.Ptr = AppendPtr
110+ return AppendCls
111+
112+}
113+
114+var xLeafletGetAdjacentChild func(uintptr, NavigationDirection) uintptr
115+
116+// Finds the previous or next navigatable child.
117+//
118+// This will be the same child [method@Leaflet.navigate] or swipe gestures will
119+// navigate to.
120+//
121+// If there's no child to navigate to, `NULL` will be returned instead.
122+//
123+// See [property@LeafletPage:navigatable].
124+func (x *Leaflet) GetAdjacentChild(DirectionVar NavigationDirection) *gtk.Widget {
125+
126+ GetAdjacentChildPtr := xLeafletGetAdjacentChild(x.GoPointer(), DirectionVar)
127+ if GetAdjacentChildPtr == 0 {
128+ return nil
129+ }
130+
131+ gobject.IncreaseRef(GetAdjacentChildPtr)
132+
133+ GetAdjacentChildCls := &gtk.Widget{}
134+ GetAdjacentChildCls.Ptr = GetAdjacentChildPtr
135+ return GetAdjacentChildCls
136+
137+}
138+
139+var xLeafletGetCanNavigateBack func(uintptr) bool
140+
141+// Gets whether gestures and shortcuts for navigating backward are enabled.
142+func (x *Leaflet) GetCanNavigateBack() bool {
143+
144+ return xLeafletGetCanNavigateBack(x.GoPointer())
145+
146+}
147+
148+var xLeafletGetCanNavigateForward func(uintptr) bool
149+
150+// Gets whether gestures and shortcuts for navigating forward are enabled.
151+func (x *Leaflet) GetCanNavigateForward() bool {
152+
153+ return xLeafletGetCanNavigateForward(x.GoPointer())
154+
155+}
156+
157+var xLeafletGetCanUnfold func(uintptr) bool
158+
159+// Gets whether @self can unfold.
160+func (x *Leaflet) GetCanUnfold() bool {
161+
162+ return xLeafletGetCanUnfold(x.GoPointer())
163+
164+}
165+
166+var xLeafletGetChildByName func(uintptr, string) uintptr
167+
168+// Finds the child of @self with @name.
169+//
170+// Returns `NULL` if there is no child with this name.
171+//
172+// See [property@LeafletPage:name].
173+func (x *Leaflet) GetChildByName(NameVar string) *gtk.Widget {
174+
175+ GetChildByNamePtr := xLeafletGetChildByName(x.GoPointer(), NameVar)
176+ if GetChildByNamePtr == 0 {
177+ return nil
178+ }
179+
180+ gobject.IncreaseRef(GetChildByNamePtr)
181+
182+ GetChildByNameCls := &gtk.Widget{}
183+ GetChildByNameCls.Ptr = GetChildByNamePtr
184+ return GetChildByNameCls
185+
186+}
187+
188+var xLeafletGetChildTransitionParams func(uintptr) *SpringParams
189+
190+// Gets the child transition spring parameters for @self.
191+func (x *Leaflet) GetChildTransitionParams() *SpringParams {
192+
193+ return xLeafletGetChildTransitionParams(x.GoPointer())
194+
195+}
196+
197+var xLeafletGetChildTransitionRunning func(uintptr) bool
198+
199+// Gets whether a child transition is currently running for @self.
200+func (x *Leaflet) GetChildTransitionRunning() bool {
201+
202+ return xLeafletGetChildTransitionRunning(x.GoPointer())
203+
204+}
205+
206+var xLeafletGetFoldThresholdPolicy func(uintptr) FoldThresholdPolicy
207+
208+// Gets the fold threshold policy for @self.
209+func (x *Leaflet) GetFoldThresholdPolicy() FoldThresholdPolicy {
210+
211+ return xLeafletGetFoldThresholdPolicy(x.GoPointer())
212+
213+}
214+
215+var xLeafletGetFolded func(uintptr) bool
216+
217+// Gets whether @self is folded.
218+//
219+// The leaflet will be folded if the size allocated to it is smaller than the
220+// sum of the minimum or natural sizes of the children (see
221+// [property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.
222+func (x *Leaflet) GetFolded() bool {
223+
224+ return xLeafletGetFolded(x.GoPointer())
225+
226+}
227+
228+var xLeafletGetHomogeneous func(uintptr) bool
229+
230+// Gets whether @self is homogeneous.
231+func (x *Leaflet) GetHomogeneous() bool {
232+
233+ return xLeafletGetHomogeneous(x.GoPointer())
234+
235+}
236+
237+var xLeafletGetModeTransitionDuration func(uintptr) uint
238+
239+// Gets the mode transition animation duration for @self.
240+func (x *Leaflet) GetModeTransitionDuration() uint {
241+
242+ return xLeafletGetModeTransitionDuration(x.GoPointer())
243+
244+}
245+
246+var xLeafletGetPage func(uintptr, uintptr) uintptr
247+
248+// Returns the [class@LeafletPage] object for @child.
249+func (x *Leaflet) GetPage(ChildVar *gtk.Widget) *LeafletPage {
250+
251+ GetPagePtr := xLeafletGetPage(x.GoPointer(), ChildVar.GoPointer())
252+ if GetPagePtr == 0 {
253+ return nil
254+ }
255+
256+ gobject.IncreaseRef(GetPagePtr)
257+
258+ GetPageCls := &LeafletPage{}
259+ GetPageCls.Ptr = GetPagePtr
260+ return GetPageCls
261+
262+}
263+
264+var xLeafletGetPages func(uintptr) uintptr
265+
266+// Returns a [iface@Gio.ListModel] that contains the pages of the leaflet.
267+//
268+// This can be used to keep an up-to-date view. The model also implements
269+// [iface@Gtk.SelectionModel] and can be used to track and change the visible
270+// page.
271+func (x *Leaflet) GetPages() *gtk.SelectionModelBase {
272+
273+ GetPagesPtr := xLeafletGetPages(x.GoPointer())
274+ if GetPagesPtr == 0 {
275+ return nil
276+ }
277+
278+ GetPagesCls := &gtk.SelectionModelBase{}
279+ GetPagesCls.Ptr = GetPagesPtr
280+ return GetPagesCls
281+
282+}
283+
284+var xLeafletGetTransitionType func(uintptr) LeafletTransitionType
285+
286+// Gets the type of animation used for transitions between modes and children.
287+func (x *Leaflet) GetTransitionType() LeafletTransitionType {
288+
289+ return xLeafletGetTransitionType(x.GoPointer())
290+
291+}
292+
293+var xLeafletGetVisibleChild func(uintptr) uintptr
294+
295+// Gets the widget currently visible when the leaflet is folded.
296+func (x *Leaflet) GetVisibleChild() *gtk.Widget {
297+
298+ GetVisibleChildPtr := xLeafletGetVisibleChild(x.GoPointer())
299+ if GetVisibleChildPtr == 0 {
300+ return nil
301+ }
302+
303+ gobject.IncreaseRef(GetVisibleChildPtr)
304+
305+ GetVisibleChildCls := &gtk.Widget{}
306+ GetVisibleChildCls.Ptr = GetVisibleChildPtr
307+ return GetVisibleChildCls
308+
309+}
310+
311+var xLeafletGetVisibleChildName func(uintptr) string
312+
313+// Gets the name of the currently visible child widget.
314+func (x *Leaflet) GetVisibleChildName() string {
315+
316+ return xLeafletGetVisibleChildName(x.GoPointer())
317+
318+}
319+
320+var xLeafletInsertChildAfter func(uintptr, uintptr, uintptr) uintptr
321+
322+// Inserts @child in the position after @sibling in the list of children.
323+//
324+// If @sibling is `NULL`, inserts @child at the first position.
325+func (x *Leaflet) InsertChildAfter(ChildVar *gtk.Widget, SiblingVar *gtk.Widget) *LeafletPage {
326+
327+ InsertChildAfterPtr := xLeafletInsertChildAfter(x.GoPointer(), ChildVar.GoPointer(), SiblingVar.GoPointer())
328+ if InsertChildAfterPtr == 0 {
329+ return nil
330+ }
331+
332+ gobject.IncreaseRef(InsertChildAfterPtr)
333+
334+ InsertChildAfterCls := &LeafletPage{}
335+ InsertChildAfterCls.Ptr = InsertChildAfterPtr
336+ return InsertChildAfterCls
337+
338+}
339+
340+var xLeafletNavigate func(uintptr, NavigationDirection) bool
341+
342+// Navigates to the previous or next child.
343+//
344+// The child must have the [property@LeafletPage:navigatable] property set to
345+// `TRUE`, otherwise it will be skipped.
346+//
347+// This will be the same child as returned by
348+// [method@Leaflet.get_adjacent_child] or navigated to via swipe gestures.
349+func (x *Leaflet) Navigate(DirectionVar NavigationDirection) bool {
350+
351+ return xLeafletNavigate(x.GoPointer(), DirectionVar)
352+
353+}
354+
355+var xLeafletPrepend func(uintptr, uintptr) uintptr
356+
357+// Inserts @child at the first position in @self.
358+func (x *Leaflet) Prepend(ChildVar *gtk.Widget) *LeafletPage {
359+
360+ PrependPtr := xLeafletPrepend(x.GoPointer(), ChildVar.GoPointer())
361+ if PrependPtr == 0 {
362+ return nil
363+ }
364+
365+ gobject.IncreaseRef(PrependPtr)
366+
367+ PrependCls := &LeafletPage{}
368+ PrependCls.Ptr = PrependPtr
369+ return PrependCls
370+
371+}
372+
373+var xLeafletRemove func(uintptr, uintptr)
374+
375+// Removes a child widget from @self.
376+func (x *Leaflet) Remove(ChildVar *gtk.Widget) {
377+
378+ xLeafletRemove(x.GoPointer(), ChildVar.GoPointer())
379+
380+}
381+
382+var xLeafletReorderChildAfter func(uintptr, uintptr, uintptr)
383+
384+// Moves @child to the position after @sibling in the list of children.
385+//
386+// If @sibling is `NULL`, moves @child to the first position.
387+func (x *Leaflet) ReorderChildAfter(ChildVar *gtk.Widget, SiblingVar *gtk.Widget) {
388+
389+ xLeafletReorderChildAfter(x.GoPointer(), ChildVar.GoPointer(), SiblingVar.GoPointer())
390+
391+}
392+
393+var xLeafletSetCanNavigateBack func(uintptr, bool)
394+
395+// Sets whether gestures and shortcuts for navigating backward are enabled.
396+//
397+// The supported gestures are:
398+//
399+// - One-finger swipe on touchscreens
400+// - Horizontal scrolling on touchpads (usually two-finger swipe)
401+// - Back/forward mouse buttons
402+//
403+// The keyboard back/forward keys are also supported, as well as the
404+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
405+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.
406+//
407+// If the orientation is horizontal, for right-to-left locales, gestures and
408+// shortcuts are reversed.
409+//
410+// Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
411+// be navigated to.
412+func (x *Leaflet) SetCanNavigateBack(CanNavigateBackVar bool) {
413+
414+ xLeafletSetCanNavigateBack(x.GoPointer(), CanNavigateBackVar)
415+
416+}
417+
418+var xLeafletSetCanNavigateForward func(uintptr, bool)
419+
420+// Sets whether gestures and shortcuts for navigating forward are enabled.
421+//
422+// The supported gestures are:
423+//
424+// - One-finger swipe on touchscreens
425+// - Horizontal scrolling on touchpads (usually two-finger swipe)
426+// - Back/forward mouse buttons
427+//
428+// The keyboard back/forward keys are also supported, as well as the
429+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
430+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.
431+//
432+// If the orientation is horizontal, for right-to-left locales, gestures and
433+// shortcuts are reversed.
434+//
435+// Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
436+// be navigated to.
437+func (x *Leaflet) SetCanNavigateForward(CanNavigateForwardVar bool) {
438+
439+ xLeafletSetCanNavigateForward(x.GoPointer(), CanNavigateForwardVar)
440+
441+}
442+
443+var xLeafletSetCanUnfold func(uintptr, bool)
444+
445+// Sets whether @self can unfold.
446+func (x *Leaflet) SetCanUnfold(CanUnfoldVar bool) {
447+
448+ xLeafletSetCanUnfold(x.GoPointer(), CanUnfoldVar)
449+
450+}
451+
452+var xLeafletSetChildTransitionParams func(uintptr, *SpringParams)
453+
454+// Sets the child transition spring parameters for @self.
455+//
456+// The default value is equivalent to:
457+//
458+// ```c
459+// adw_spring_params_new (1, 0.5, 500)
460+// ```
461+func (x *Leaflet) SetChildTransitionParams(ParamsVar *SpringParams) {
462+
463+ xLeafletSetChildTransitionParams(x.GoPointer(), ParamsVar)
464+
465+}
466+
467+var xLeafletSetFoldThresholdPolicy func(uintptr, FoldThresholdPolicy)
468+
469+// Sets the fold threshold policy for @self.
470+//
471+// If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
472+// children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
473+// will fold as soon as children don't get their natural size.
474+//
475+// This can be useful if you have a long ellipsizing label and want to let it
476+// ellipsize instead of immediately folding.
477+func (x *Leaflet) SetFoldThresholdPolicy(PolicyVar FoldThresholdPolicy) {
478+
479+ xLeafletSetFoldThresholdPolicy(x.GoPointer(), PolicyVar)
480+
481+}
482+
483+var xLeafletSetHomogeneous func(uintptr, bool)
484+
485+// Sets @self to be homogeneous or not.
486+//
487+// If set to `FALSE`, different children can have different size along the
488+// opposite orientation.
489+func (x *Leaflet) SetHomogeneous(HomogeneousVar bool) {
490+
491+ xLeafletSetHomogeneous(x.GoPointer(), HomogeneousVar)
492+
493+}
494+
495+var xLeafletSetModeTransitionDuration func(uintptr, uint)
496+
497+// Sets the mode transition animation duration for @self.
498+func (x *Leaflet) SetModeTransitionDuration(DurationVar uint) {
499+
500+ xLeafletSetModeTransitionDuration(x.GoPointer(), DurationVar)
501+
502+}
503+
504+var xLeafletSetTransitionType func(uintptr, LeafletTransitionType)
505+
506+// Sets the type of animation used for transitions between modes and children.
507+//
508+// The transition type can be changed without problems at runtime, so it is
509+// possible to change the animation based on the mode or child that is about to
510+// become current.
511+func (x *Leaflet) SetTransitionType(TransitionVar LeafletTransitionType) {
512+
513+ xLeafletSetTransitionType(x.GoPointer(), TransitionVar)
514+
515+}
516+
517+var xLeafletSetVisibleChild func(uintptr, uintptr)
518+
519+// Sets the widget currently visible when the leaflet is folded.
520+//
521+// The transition is determined by [property@Leaflet:transition-type] and
522+// [property@Leaflet:child-transition-params]. The transition can be cancelled
523+// by the user, in which case visible child will change back to the previously
524+// visible child.
525+func (x *Leaflet) SetVisibleChild(VisibleChildVar *gtk.Widget) {
526+
527+ xLeafletSetVisibleChild(x.GoPointer(), VisibleChildVar.GoPointer())
528+
529+}
530+
531+var xLeafletSetVisibleChildName func(uintptr, string)
532+
533+// Makes the child with the name @name visible.
534+//
535+// See [property@Leaflet:visible-child].
536+func (x *Leaflet) SetVisibleChildName(NameVar string) {
537+
538+ xLeafletSetVisibleChildName(x.GoPointer(), NameVar)
539+
540+}
541+
542+func (c *Leaflet) GoPointer() uintptr {
543+ return c.Ptr
544+}
545+
546+func (c *Leaflet) SetGoPointer(ptr uintptr) {
547+ c.Ptr = ptr
548+}
549+
550+// Gets the progress @self will snap back to after the gesture is canceled.
551+func (x *Leaflet) GetCancelProgress() float64 {
552+
553+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
554+
555+}
556+
557+// Gets the swipe distance of @self.
558+//
559+// This corresponds to how many pixels 1 unit represents.
560+func (x *Leaflet) GetDistance() float64 {
561+
562+ return XAdwSwipeableGetDistance(x.GoPointer())
563+
564+}
565+
566+// Gets the current progress of @self.
567+func (x *Leaflet) GetProgress() float64 {
568+
569+ return XAdwSwipeableGetProgress(x.GoPointer())
570+
571+}
572+
573+// Gets the snap points of @self.
574+//
575+// Each snap point represents a progress value that is considered acceptable to
576+// end the swipe on.
577+func (x *Leaflet) GetSnapPoints(NSnapPointsVar int32) uintptr {
578+
579+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
580+
581+}
582+
583+// Gets the area @self can start a swipe from for the given direction and
584+// gesture type.
585+//
586+// This can be used to restrict swipes to only be possible from a certain area,
587+// for example, to only allow edge swipes, or to have a draggable element and
588+// ignore swipes elsewhere.
589+//
590+// If not implemented, the default implementation returns the allocation of
591+// @self, allowing swipes from anywhere.
592+func (x *Leaflet) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
593+
594+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
595+
596+}
597+
598+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
599+func (x *Leaflet) GetAccessibleRole() gtk.AccessibleRole {
600+
601+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
602+
603+}
604+
605+// Resets the accessible @property to its default value.
606+func (x *Leaflet) ResetProperty(PropertyVar gtk.AccessibleProperty) {
607+
608+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
609+
610+}
611+
612+// Resets the accessible @relation to its default value.
613+func (x *Leaflet) ResetRelation(RelationVar gtk.AccessibleRelation) {
614+
615+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
616+
617+}
618+
619+// Resets the accessible @state to its default value.
620+func (x *Leaflet) ResetState(StateVar gtk.AccessibleState) {
621+
622+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
623+
624+}
625+
626+// Updates a list of accessible properties.
627+//
628+// See the [enum@Gtk.AccessibleProperty] documentation for the
629+// value types of accessible properties.
630+//
631+// This function should be called by `GtkWidget` types whenever
632+// an accessible property change must be communicated to assistive
633+// technologies.
634+//
635+// Example:
636+// ```c
637+// value = gtk_adjustment_get_value (adjustment);
638+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
639+//
640+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
641+// -1);
642+//
643+// ```
644+func (x *Leaflet) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
645+
646+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
647+
648+}
649+
650+// Updates an array of accessible properties.
651+//
652+// This function should be called by `GtkWidget` types whenever an accessible
653+// property change must be communicated to assistive technologies.
654+//
655+// This function is meant to be used by language bindings.
656+func (x *Leaflet) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
657+
658+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
659+
660+}
661+
662+// Updates a list of accessible relations.
663+//
664+// This function should be called by `GtkWidget` types whenever an accessible
665+// relation change must be communicated to assistive technologies.
666+//
667+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
668+// you should pass each reference individually, followed by %NULL, e.g.
669+//
670+// ```c
671+// gtk_accessible_update_relation (accessible,
672+//
673+// GTK_ACCESSIBLE_RELATION_CONTROLS,
674+// ref1, NULL,
675+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
676+// ref1, ref2, ref3, NULL,
677+// -1);
678+//
679+// ```
680+func (x *Leaflet) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
681+
682+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
683+
684+}
685+
686+// Updates an array of accessible relations.
687+//
688+// This function should be called by `GtkWidget` types whenever an accessible
689+// relation change must be communicated to assistive technologies.
690+//
691+// This function is meant to be used by language bindings.
692+func (x *Leaflet) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
693+
694+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
695+
696+}
697+
698+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
699+// documentation for the value types of accessible states.
700+//
701+// This function should be called by `GtkWidget` types whenever an accessible
702+// state change must be communicated to assistive technologies.
703+//
704+// Example:
705+// ```c
706+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
707+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
708+//
709+// GTK_ACCESSIBLE_STATE_CHECKED, value,
710+// -1);
711+//
712+// ```
713+func (x *Leaflet) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
714+
715+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
716+
717+}
718+
719+// Updates an array of accessible states.
720+//
721+// This function should be called by `GtkWidget` types whenever an accessible
722+// state change must be communicated to assistive technologies.
723+//
724+// This function is meant to be used by language bindings.
725+func (x *Leaflet) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
726+
727+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
728+
729+}
730+
731+// Gets the ID of the @buildable object.
732+//
733+// `GtkBuilder` sets the name based on the ID attribute
734+// of the &lt;object&gt; tag used to construct the @buildable.
735+func (x *Leaflet) GetBuildableId() string {
736+
737+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
738+
739+}
740+
741+// Retrieves the orientation of the @orientable.
742+func (x *Leaflet) GetOrientation() gtk.Orientation {
743+
744+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
745+
746+}
747+
748+// Sets the orientation of the @orientable.
749+func (x *Leaflet) SetOrientation(OrientationVar gtk.Orientation) {
750+
751+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
752+
753+}
754+
755+// An auxiliary class used by [class@Leaflet].
756+type LeafletPage struct {
757+ gobject.Object
758+}
759+
760+func LeafletPageNewFromInternalPtr(ptr uintptr) *LeafletPage {
761+ cls := &LeafletPage{}
762+ cls.Ptr = ptr
763+ return cls
764+}
765+
766+var xLeafletPageGetChild func(uintptr) uintptr
767+
768+// Gets the leaflet child to which @self belongs.
769+func (x *LeafletPage) GetChild() *gtk.Widget {
770+
771+ GetChildPtr := xLeafletPageGetChild(x.GoPointer())
772+ if GetChildPtr == 0 {
773+ return nil
774+ }
775+
776+ gobject.IncreaseRef(GetChildPtr)
777+
778+ GetChildCls := &gtk.Widget{}
779+ GetChildCls.Ptr = GetChildPtr
780+ return GetChildCls
781+
782+}
783+
784+var xLeafletPageGetName func(uintptr) string
785+
786+// Gets the name of @self.
787+func (x *LeafletPage) GetName() string {
788+
789+ return xLeafletPageGetName(x.GoPointer())
790+
791+}
792+
793+var xLeafletPageGetNavigatable func(uintptr) bool
794+
795+// Gets whether the child can be navigated to when folded.
796+func (x *LeafletPage) GetNavigatable() bool {
797+
798+ return xLeafletPageGetNavigatable(x.GoPointer())
799+
800+}
801+
802+var xLeafletPageSetName func(uintptr, string)
803+
804+// Sets the name of the @self.
805+func (x *LeafletPage) SetName(NameVar string) {
806+
807+ xLeafletPageSetName(x.GoPointer(), NameVar)
808+
809+}
810+
811+var xLeafletPageSetNavigatable func(uintptr, bool)
812+
813+// Sets whether @self can be navigated to when folded.
814+//
815+// If `FALSE`, the child will be ignored by [method@Leaflet.get_adjacent_child],
816+// [method@Leaflet.navigate], and swipe gestures.
817+//
818+// This can be used used to prevent switching to widgets like separators.
819+func (x *LeafletPage) SetNavigatable(NavigatableVar bool) {
820+
821+ xLeafletPageSetNavigatable(x.GoPointer(), NavigatableVar)
822+
823+}
824+
825+func (c *LeafletPage) GoPointer() uintptr {
826+ return c.Ptr
827+}
828+
829+func (c *LeafletPage) SetGoPointer(ptr uintptr) {
830+ c.Ptr = ptr
831+}
832+
833+func init() {
834+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
835+ if err != nil {
836+ panic(err)
837+ }
838+
839+ core.PuregoSafeRegister(&xNewLeaflet, lib, "adw_leaflet_new")
840+
841+ core.PuregoSafeRegister(&xLeafletAppend, lib, "adw_leaflet_append")
842+ core.PuregoSafeRegister(&xLeafletGetAdjacentChild, lib, "adw_leaflet_get_adjacent_child")
843+ core.PuregoSafeRegister(&xLeafletGetCanNavigateBack, lib, "adw_leaflet_get_can_navigate_back")
844+ core.PuregoSafeRegister(&xLeafletGetCanNavigateForward, lib, "adw_leaflet_get_can_navigate_forward")
845+ core.PuregoSafeRegister(&xLeafletGetCanUnfold, lib, "adw_leaflet_get_can_unfold")
846+ core.PuregoSafeRegister(&xLeafletGetChildByName, lib, "adw_leaflet_get_child_by_name")
847+ core.PuregoSafeRegister(&xLeafletGetChildTransitionParams, lib, "adw_leaflet_get_child_transition_params")
848+ core.PuregoSafeRegister(&xLeafletGetChildTransitionRunning, lib, "adw_leaflet_get_child_transition_running")
849+ core.PuregoSafeRegister(&xLeafletGetFoldThresholdPolicy, lib, "adw_leaflet_get_fold_threshold_policy")
850+ core.PuregoSafeRegister(&xLeafletGetFolded, lib, "adw_leaflet_get_folded")
851+ core.PuregoSafeRegister(&xLeafletGetHomogeneous, lib, "adw_leaflet_get_homogeneous")
852+ core.PuregoSafeRegister(&xLeafletGetModeTransitionDuration, lib, "adw_leaflet_get_mode_transition_duration")
853+ core.PuregoSafeRegister(&xLeafletGetPage, lib, "adw_leaflet_get_page")
854+ core.PuregoSafeRegister(&xLeafletGetPages, lib, "adw_leaflet_get_pages")
855+ core.PuregoSafeRegister(&xLeafletGetTransitionType, lib, "adw_leaflet_get_transition_type")
856+ core.PuregoSafeRegister(&xLeafletGetVisibleChild, lib, "adw_leaflet_get_visible_child")
857+ core.PuregoSafeRegister(&xLeafletGetVisibleChildName, lib, "adw_leaflet_get_visible_child_name")
858+ core.PuregoSafeRegister(&xLeafletInsertChildAfter, lib, "adw_leaflet_insert_child_after")
859+ core.PuregoSafeRegister(&xLeafletNavigate, lib, "adw_leaflet_navigate")
860+ core.PuregoSafeRegister(&xLeafletPrepend, lib, "adw_leaflet_prepend")
861+ core.PuregoSafeRegister(&xLeafletRemove, lib, "adw_leaflet_remove")
862+ core.PuregoSafeRegister(&xLeafletReorderChildAfter, lib, "adw_leaflet_reorder_child_after")
863+ core.PuregoSafeRegister(&xLeafletSetCanNavigateBack, lib, "adw_leaflet_set_can_navigate_back")
864+ core.PuregoSafeRegister(&xLeafletSetCanNavigateForward, lib, "adw_leaflet_set_can_navigate_forward")
865+ core.PuregoSafeRegister(&xLeafletSetCanUnfold, lib, "adw_leaflet_set_can_unfold")
866+ core.PuregoSafeRegister(&xLeafletSetChildTransitionParams, lib, "adw_leaflet_set_child_transition_params")
867+ core.PuregoSafeRegister(&xLeafletSetFoldThresholdPolicy, lib, "adw_leaflet_set_fold_threshold_policy")
868+ core.PuregoSafeRegister(&xLeafletSetHomogeneous, lib, "adw_leaflet_set_homogeneous")
869+ core.PuregoSafeRegister(&xLeafletSetModeTransitionDuration, lib, "adw_leaflet_set_mode_transition_duration")
870+ core.PuregoSafeRegister(&xLeafletSetTransitionType, lib, "adw_leaflet_set_transition_type")
871+ core.PuregoSafeRegister(&xLeafletSetVisibleChild, lib, "adw_leaflet_set_visible_child")
872+ core.PuregoSafeRegister(&xLeafletSetVisibleChildName, lib, "adw_leaflet_set_visible_child_name")
873+
874+ core.PuregoSafeRegister(&xLeafletPageGetChild, lib, "adw_leaflet_page_get_child")
875+ core.PuregoSafeRegister(&xLeafletPageGetName, lib, "adw_leaflet_page_get_name")
876+ core.PuregoSafeRegister(&xLeafletPageGetNavigatable, lib, "adw_leaflet_page_get_navigatable")
877+ core.PuregoSafeRegister(&xLeafletPageSetName, lib, "adw_leaflet_page_set_name")
878+ core.PuregoSafeRegister(&xLeafletPageSetNavigatable, lib, "adw_leaflet_page_set_navigatable")
879+
880+}
A v4/adw/adw-main.go +46 -0
@@ -0,0 +1,46 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+var xInit func()
10+
11+// Initializes Libadwaita.
12+//
13+// This function can be used instead of [func@Gtk.init] as it initializes GTK
14+// implicitly.
15+//
16+// There's no need to call this function if you're using [class@Application].
17+//
18+// If Libadwaita has already been initialized, the function will simply return.
19+//
20+// This makes sure translations, types, themes, and icons for the Adwaita
21+// library are set up properly.
22+func Init() {
23+
24+ xInit()
25+
26+}
27+
28+var xIsInitialized func() bool
29+
30+// Use this function to check if libadwaita has been initialized with
31+// [func@init].
32+func IsInitialized() bool {
33+
34+ return xIsInitialized()
35+
36+}
37+
38+func init() {
39+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
40+ if err != nil {
41+ panic(err)
42+ }
43+ core.PuregoSafeRegister(&xInit, lib, "adw_init")
44+ core.PuregoSafeRegister(&xIsInitialized, lib, "adw_is_initialized")
45+
46+}
A v4/adw/adw-message-dialog.go +928 -0
@@ -0,0 +1,928 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gio"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gsk"
11+ "github.com/jwijenbergh/puregotk/v4/gtk"
12+)
13+
14+type MessageDialogClass struct {
15+ ParentClass uintptr
16+
17+ Padding uintptr
18+}
19+
20+// Describes the possible styles of [class@MessageDialog] response buttons.
21+//
22+// See [method@MessageDialog.set_response_appearance].
23+type ResponseAppearance int
24+
25+const (
26+
27+ // the default appearance.
28+ ResponseDefaultValue ResponseAppearance = 0
29+ // used to denote important responses such as the
30+ // affirmative action.
31+ ResponseSuggestedValue ResponseAppearance = 1
32+ // used to draw attention to the potentially damaging
33+ // consequences of using the response. This appearance acts as a warning to
34+ // the user.
35+ ResponseDestructiveValue ResponseAppearance = 2
36+)
37+
38+// A dialog presenting a message or a question.
39+//
40+// &lt;picture&gt;
41+//
42+// &lt;source srcset="message-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
43+// &lt;img src="message-dialog.png" alt="message-dialog"&gt;
44+//
45+// &lt;/picture&gt;
46+//
47+// Message dialogs have a heading, a body, an optional child widget, and one or
48+// multiple responses, each presented as a button.
49+//
50+// Each response has a unique string ID, and a button label. Additionally, each
51+// response can be enabled or disabled, and can have a suggested or destructive
52+// appearance.
53+//
54+// When one of the responses is activated, or the dialog is closed, the
55+// [signal@MessageDialog::response] signal will be emitted. This signal is
56+// detailed, and the detail, as well as the `response` parameter will be set to
57+// the ID of the activated response, or to the value of the
58+// [property@MessageDialog:close-response] property if the dialog had been
59+// closed without activating any of the responses.
60+//
61+// Response buttons can be presented horizontally or vertically depending on
62+// available space.
63+//
64+// When a response is activated, `AdwMessageDialog` is closed automatically.
65+//
66+// An example of using a message dialog:
67+//
68+// ```c
69+// GtkWidget *dialog;
70+//
71+// dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
72+//
73+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
74+//
75+// _("A file named “%s” already exists. Do you want to replace it?"),
76+// filename);
77+//
78+// adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
79+//
80+// "cancel", _("_Cancel"),
81+// "replace", _("_Replace"),
82+// NULL);
83+//
84+// adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
85+//
86+// adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
87+// adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
88+//
89+// g_signal_connect (dialog, "response", G_CALLBACK (response_cb), self);
90+//
91+// gtk_window_present (GTK_WINDOW (dialog));
92+// ```
93+//
94+// ## Async API
95+//
96+// `AdwMessageDialog` can also be used via the [method@MessageDialog.choose]
97+// method. This API follows the GIO async pattern, and the result can be
98+// obtained by calling [method@MessageDialog.choose_finish], for example:
99+//
100+// ```c
101+// static void
102+// dialog_cb (AdwMessageDialog *dialog,
103+//
104+// GAsyncResult *result,
105+// MyWindow *self)
106+//
107+// {
108+// const char *response = adw_message_dialog_choose_finish (dialog, result);
109+//
110+// // ...
111+// }
112+//
113+// static void
114+// show_dialog (MyWindow *self)
115+//
116+// {
117+// GtkWidget *dialog;
118+//
119+// dialog = adw_message_dialog_new (GTK_WINDOW (self), _("Replace File?"), NULL);
120+//
121+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
122+// _("A file named “%s” already exists. Do you want to replace it?"),
123+// filename);
124+//
125+// adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
126+// "cancel", _("_Cancel"),
127+// "replace", _("_Replace"),
128+// NULL);
129+//
130+// adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
131+//
132+// adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
133+// adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
134+//
135+// adw_message_dialog_choose (ADW_MESSAGE_DIALOG (dialog), NULL, (GAsyncReadyCallback) dialog_cb, self);
136+// }
137+//
138+// ```
139+//
140+// ## AdwMessageDialog as GtkBuildable
141+//
142+// `AdwMessageDialog` supports adding responses in UI definitions by via the
143+// `&lt;responses&gt;` element that may contain multiple `&lt;response&gt;` elements, each
144+// respresenting a response.
145+//
146+// Each of the `&lt;response&gt;` elements must have the `id` attribute specifying the
147+// response ID. The contents of the element are used as the response label.
148+//
149+// Response labels can be translated with the usual `translatable`, `context`
150+// and `comments` attributes.
151+//
152+// The `&lt;response&gt;` elements can also have `enabled` and/or `appearance`
153+// attributes. See [method@MessageDialog.set_response_enabled] and
154+// [method@MessageDialog.set_response_appearance] for details.
155+//
156+// Example of an `AdwMessageDialog` UI definition:
157+//
158+// ```xml
159+// &lt;object class="AdwMessageDialog" id="dialog"&gt;
160+//
161+// &lt;property name="heading" translatable="yes"&gt;Save Changes?&lt;/property&gt;
162+// &lt;property name="body" translatable="yes"&gt;Open documents contain unsaved changes. Changes which are not saved will be permanently lost.&lt;/property&gt;
163+// &lt;property name="default-response"&gt;save&lt;/property&gt;
164+// &lt;property name="close-response"&gt;cancel&lt;/property&gt;
165+// &lt;signal name="response" handler="response_cb"/&gt;
166+// &lt;responses&gt;
167+// &lt;response id="cancel" translatable="yes"&gt;_Cancel&lt;/response&gt;
168+// &lt;response id="discard" translatable="yes" appearance="destructive"&gt;_Discard&lt;/response&gt;
169+// &lt;response id="save" translatable="yes" appearance="suggested" enabled="false"&gt;_Save&lt;/response&gt;
170+// &lt;/responses&gt;
171+//
172+// &lt;/object&gt;
173+// ```
174+//
175+// ## Accessibility
176+//
177+// `AdwMessageDialog` uses the `GTK_ACCESSIBLE_ROLE_DIALOG` role.
178+type MessageDialog struct {
179+ gtk.Window
180+}
181+
182+func MessageDialogNewFromInternalPtr(ptr uintptr) *MessageDialog {
183+ cls := &MessageDialog{}
184+ cls.Ptr = ptr
185+ return cls
186+}
187+
188+var xNewMessageDialog func(uintptr, string, string) uintptr
189+
190+// Creates a new `AdwMessageDialog`.
191+//
192+// @heading and @body can be set to `NULL`. This can be useful if they need to
193+// be formatted or use markup. In that case, set them to `NULL` and call
194+// [method@MessageDialog.format_body] or similar methods afterwards:
195+//
196+// ```c
197+// GtkWidget *dialog;
198+//
199+// dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
200+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
201+//
202+// _("A file named “%s” already exists. Do you want to replace it?"),
203+// filename);
204+//
205+// ```
206+func NewMessageDialog(ParentVar *gtk.Window, HeadingVar string, BodyVar string) *gtk.Widget {
207+ NewMessageDialogPtr := xNewMessageDialog(ParentVar.GoPointer(), HeadingVar, BodyVar)
208+ if NewMessageDialogPtr == 0 {
209+ return nil
210+ }
211+
212+ gobject.IncreaseRef(NewMessageDialogPtr)
213+
214+ NewMessageDialogCls := &gtk.Widget{}
215+ NewMessageDialogCls.Ptr = NewMessageDialogPtr
216+ return NewMessageDialogCls
217+}
218+
219+var xMessageDialogAddResponse func(uintptr, string, string)
220+
221+// Adds a response with @id and @label to @self.
222+//
223+// Responses are represented as buttons in the dialog.
224+//
225+// Response ID must be unique. It will be used in
226+// [signal@MessageDialog::response] to tell which response had been activated,
227+// as well as to inspect and modify the response later.
228+//
229+// An embedded underline in @label indicates a mnemonic.
230+//
231+// [method@MessageDialog.set_response_label] can be used to change the response
232+// label after it had been added.
233+//
234+// [method@MessageDialog.set_response_enabled] and
235+// [method@MessageDialog.set_response_appearance] can be used to customize the
236+// responses further.
237+func (x *MessageDialog) AddResponse(IdVar string, LabelVar string) {
238+
239+ xMessageDialogAddResponse(x.GoPointer(), IdVar, LabelVar)
240+
241+}
242+
243+var xMessageDialogAddResponses func(uintptr, string, ...interface{})
244+
245+// Adds multiple responses to @self.
246+//
247+// This is the same as calling [method@MessageDialog.add_response] repeatedly.
248+// The variable argument list should be `NULL`-terminated list of response IDs
249+// and labels.
250+//
251+// Example:
252+//
253+// ```c
254+// adw_message_dialog_add_responses (dialog,
255+//
256+// "cancel", _("_Cancel"),
257+// "discard", _("_Discard"),
258+// "save", _("_Save"),
259+// NULL);
260+//
261+// ```
262+func (x *MessageDialog) AddResponses(FirstIdVar string, varArgs ...interface{}) {
263+
264+ xMessageDialogAddResponses(x.GoPointer(), FirstIdVar, varArgs...)
265+
266+}
267+
268+var xMessageDialogChoose func(uintptr, uintptr, uintptr, uintptr)
269+
270+// This function shows @self to the user.
271+//
272+// The @callback will be called when the alert is dismissed. It should call
273+// [method@MessageDialog.choose_finish] to obtain the result.
274+func (x *MessageDialog) Choose(CancellableVar *gio.Cancellable, CallbackVar gio.AsyncReadyCallback, UserDataVar uintptr) {
275+
276+ xMessageDialogChoose(x.GoPointer(), CancellableVar.GoPointer(), purego.NewCallback(CallbackVar), UserDataVar)
277+
278+}
279+
280+var xMessageDialogChooseFinish func(uintptr, uintptr) string
281+
282+// Finishes the [method@MessageDialog.choose] call and returns the response ID.
283+func (x *MessageDialog) ChooseFinish(ResultVar gio.AsyncResult) string {
284+
285+ return xMessageDialogChooseFinish(x.GoPointer(), ResultVar.GoPointer())
286+
287+}
288+
289+var xMessageDialogFormatBody func(uintptr, string, ...interface{})
290+
291+// Sets the formatted body text of @self.
292+//
293+// See [property@MessageDialog:body].
294+func (x *MessageDialog) FormatBody(FormatVar string, varArgs ...interface{}) {
295+
296+ xMessageDialogFormatBody(x.GoPointer(), FormatVar, varArgs...)
297+
298+}
299+
300+var xMessageDialogFormatBodyMarkup func(uintptr, string, ...interface{})
301+
302+// Sets the formatted body text of @self with Pango markup.
303+//
304+// The @format is assumed to contain Pango markup.
305+//
306+// Special XML characters in the `printf()` arguments passed to this function
307+// will automatically be escaped as necessary, see
308+// [func@GLib.markup_printf_escaped].
309+//
310+// See [property@MessageDialog:body].
311+func (x *MessageDialog) FormatBodyMarkup(FormatVar string, varArgs ...interface{}) {
312+
313+ xMessageDialogFormatBodyMarkup(x.GoPointer(), FormatVar, varArgs...)
314+
315+}
316+
317+var xMessageDialogFormatHeading func(uintptr, string, ...interface{})
318+
319+// Sets the formatted heading of @self.
320+//
321+// See [property@MessageDialog:heading].
322+func (x *MessageDialog) FormatHeading(FormatVar string, varArgs ...interface{}) {
323+
324+ xMessageDialogFormatHeading(x.GoPointer(), FormatVar, varArgs...)
325+
326+}
327+
328+var xMessageDialogFormatHeadingMarkup func(uintptr, string, ...interface{})
329+
330+// Sets the formatted heading of @self with Pango markup.
331+//
332+// The @format is assumed to contain Pango markup.
333+//
334+// Special XML characters in the `printf()` arguments passed to this function
335+// will automatically be escaped as necessary, see
336+// [func@GLib.markup_printf_escaped].
337+//
338+// See [property@MessageDialog:heading].
339+func (x *MessageDialog) FormatHeadingMarkup(FormatVar string, varArgs ...interface{}) {
340+
341+ xMessageDialogFormatHeadingMarkup(x.GoPointer(), FormatVar, varArgs...)
342+
343+}
344+
345+var xMessageDialogGetBody func(uintptr) string
346+
347+// Gets the body text of @self.
348+func (x *MessageDialog) GetBody() string {
349+
350+ return xMessageDialogGetBody(x.GoPointer())
351+
352+}
353+
354+var xMessageDialogGetBodyUseMarkup func(uintptr) bool
355+
356+// Gets whether the body text of @self includes Pango markup.
357+func (x *MessageDialog) GetBodyUseMarkup() bool {
358+
359+ return xMessageDialogGetBodyUseMarkup(x.GoPointer())
360+
361+}
362+
363+var xMessageDialogGetCloseResponse func(uintptr) string
364+
365+// Gets the ID of the close response of @self.
366+func (x *MessageDialog) GetCloseResponse() string {
367+
368+ return xMessageDialogGetCloseResponse(x.GoPointer())
369+
370+}
371+
372+var xMessageDialogGetDefaultResponse func(uintptr) string
373+
374+// Gets the ID of the default response of @self.
375+func (x *MessageDialog) GetDefaultResponse() string {
376+
377+ return xMessageDialogGetDefaultResponse(x.GoPointer())
378+
379+}
380+
381+var xMessageDialogGetExtraChild func(uintptr) uintptr
382+
383+// Gets the child widget of @self.
384+func (x *MessageDialog) GetExtraChild() *gtk.Widget {
385+
386+ GetExtraChildPtr := xMessageDialogGetExtraChild(x.GoPointer())
387+ if GetExtraChildPtr == 0 {
388+ return nil
389+ }
390+
391+ gobject.IncreaseRef(GetExtraChildPtr)
392+
393+ GetExtraChildCls := &gtk.Widget{}
394+ GetExtraChildCls.Ptr = GetExtraChildPtr
395+ return GetExtraChildCls
396+
397+}
398+
399+var xMessageDialogGetHeading func(uintptr) string
400+
401+// Gets the heading of @self.
402+func (x *MessageDialog) GetHeading() string {
403+
404+ return xMessageDialogGetHeading(x.GoPointer())
405+
406+}
407+
408+var xMessageDialogGetHeadingUseMarkup func(uintptr) bool
409+
410+// Gets whether the heading of @self includes Pango markup.
411+func (x *MessageDialog) GetHeadingUseMarkup() bool {
412+
413+ return xMessageDialogGetHeadingUseMarkup(x.GoPointer())
414+
415+}
416+
417+var xMessageDialogGetResponseAppearance func(uintptr, string) ResponseAppearance
418+
419+// Gets the appearance of @response.
420+//
421+// See [method@MessageDialog.set_response_appearance].
422+func (x *MessageDialog) GetResponseAppearance(ResponseVar string) ResponseAppearance {
423+
424+ return xMessageDialogGetResponseAppearance(x.GoPointer(), ResponseVar)
425+
426+}
427+
428+var xMessageDialogGetResponseEnabled func(uintptr, string) bool
429+
430+// Gets whether @response is enabled.
431+//
432+// See [method@MessageDialog.set_response_enabled].
433+func (x *MessageDialog) GetResponseEnabled(ResponseVar string) bool {
434+
435+ return xMessageDialogGetResponseEnabled(x.GoPointer(), ResponseVar)
436+
437+}
438+
439+var xMessageDialogGetResponseLabel func(uintptr, string) string
440+
441+// Gets the label of @response.
442+//
443+// See [method@MessageDialog.set_response_label].
444+func (x *MessageDialog) GetResponseLabel(ResponseVar string) string {
445+
446+ return xMessageDialogGetResponseLabel(x.GoPointer(), ResponseVar)
447+
448+}
449+
450+var xMessageDialogHasResponse func(uintptr, string) bool
451+
452+// Gets whether @self has a response with the ID @response.
453+func (x *MessageDialog) HasResponse(ResponseVar string) bool {
454+
455+ return xMessageDialogHasResponse(x.GoPointer(), ResponseVar)
456+
457+}
458+
459+var xMessageDialogResponse func(uintptr, string)
460+
461+// Emits the [signal@MessageDialog::response] signal with the given response ID.
462+//
463+// Used to indicate that the user has responded to the dialog in some way.
464+func (x *MessageDialog) Response(ResponseVar string) {
465+
466+ xMessageDialogResponse(x.GoPointer(), ResponseVar)
467+
468+}
469+
470+var xMessageDialogSetBody func(uintptr, string)
471+
472+// Sets the body text of @self.
473+func (x *MessageDialog) SetBody(BodyVar string) {
474+
475+ xMessageDialogSetBody(x.GoPointer(), BodyVar)
476+
477+}
478+
479+var xMessageDialogSetBodyUseMarkup func(uintptr, bool)
480+
481+// Sets whether the body text of @self includes Pango markup.
482+//
483+// See [func@Pango.parse_markup].
484+func (x *MessageDialog) SetBodyUseMarkup(UseMarkupVar bool) {
485+
486+ xMessageDialogSetBodyUseMarkup(x.GoPointer(), UseMarkupVar)
487+
488+}
489+
490+var xMessageDialogSetCloseResponse func(uintptr, string)
491+
492+// Sets the ID of the close response of @self.
493+//
494+// It will be passed to [signal@MessageDialog::response] if the window is
495+// closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.
496+//
497+// It doesn't have to correspond to any of the responses in the dialog.
498+//
499+// The default close response is `close`.
500+func (x *MessageDialog) SetCloseResponse(ResponseVar string) {
501+
502+ xMessageDialogSetCloseResponse(x.GoPointer(), ResponseVar)
503+
504+}
505+
506+var xMessageDialogSetDefaultResponse func(uintptr, string)
507+
508+// Sets the ID of the default response of @self.
509+//
510+// If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.
511+//
512+// If set to `NULL` or to a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
513+// will do nothing.
514+func (x *MessageDialog) SetDefaultResponse(ResponseVar string) {
515+
516+ xMessageDialogSetDefaultResponse(x.GoPointer(), ResponseVar)
517+
518+}
519+
520+var xMessageDialogSetExtraChild func(uintptr, uintptr)
521+
522+// Sets the child widget of @self.
523+//
524+// The child widget is displayed below the heading and body.
525+func (x *MessageDialog) SetExtraChild(ChildVar *gtk.Widget) {
526+
527+ xMessageDialogSetExtraChild(x.GoPointer(), ChildVar.GoPointer())
528+
529+}
530+
531+var xMessageDialogSetHeading func(uintptr, string)
532+
533+// Sets the heading of @self.
534+func (x *MessageDialog) SetHeading(HeadingVar string) {
535+
536+ xMessageDialogSetHeading(x.GoPointer(), HeadingVar)
537+
538+}
539+
540+var xMessageDialogSetHeadingUseMarkup func(uintptr, bool)
541+
542+// Sets whether the heading of @self includes Pango markup.
543+//
544+// See [func@Pango.parse_markup].
545+func (x *MessageDialog) SetHeadingUseMarkup(UseMarkupVar bool) {
546+
547+ xMessageDialogSetHeadingUseMarkup(x.GoPointer(), UseMarkupVar)
548+
549+}
550+
551+var xMessageDialogSetResponseAppearance func(uintptr, string, ResponseAppearance)
552+
553+// Sets the appearance for @response.
554+//
555+// &lt;picture&gt;
556+//
557+// &lt;source srcset="message-dialog-appearance-dark.png" media="(prefers-color-scheme: dark)"&gt;
558+// &lt;img src="message-dialog-appearance.png" alt="message-dialog-appearance"&gt;
559+//
560+// &lt;/picture&gt;
561+//
562+// Use `ADW_RESPONSE_SUGGESTED` to mark important responses such as the
563+// affirmative action, like the Save button in the example.
564+//
565+// Use `ADW_RESPONSE_DESTRUCTIVE` to draw attention to the potentially damaging
566+// consequences of using @response. This appearance acts as a warning to the
567+// user. The Discard button in the example is using this appearance.
568+//
569+// The default appearance is `ADW_RESPONSE_DEFAULT`.
570+//
571+// Negative responses like Cancel or Close should use the default appearance.
572+func (x *MessageDialog) SetResponseAppearance(ResponseVar string, AppearanceVar ResponseAppearance) {
573+
574+ xMessageDialogSetResponseAppearance(x.GoPointer(), ResponseVar, AppearanceVar)
575+
576+}
577+
578+var xMessageDialogSetResponseEnabled func(uintptr, string, bool)
579+
580+// Sets whether @response is enabled.
581+//
582+// If @response is not enabled, the corresponding button will have
583+// [property@Gtk.Widget:sensitive] set to `FALSE` and it can't be activated as
584+// a default response.
585+//
586+// @response can still be used as [property@MessageDialog:close-response] while
587+// it's not enabled.
588+//
589+// Responses are enabled by default.
590+func (x *MessageDialog) SetResponseEnabled(ResponseVar string, EnabledVar bool) {
591+
592+ xMessageDialogSetResponseEnabled(x.GoPointer(), ResponseVar, EnabledVar)
593+
594+}
595+
596+var xMessageDialogSetResponseLabel func(uintptr, string, string)
597+
598+// Sets the label of @response to @label.
599+//
600+// Labels are displayed on the dialog buttons. An embedded underline in @label
601+// indicates a mnemonic.
602+func (x *MessageDialog) SetResponseLabel(ResponseVar string, LabelVar string) {
603+
604+ xMessageDialogSetResponseLabel(x.GoPointer(), ResponseVar, LabelVar)
605+
606+}
607+
608+func (c *MessageDialog) GoPointer() uintptr {
609+ return c.Ptr
610+}
611+
612+func (c *MessageDialog) SetGoPointer(ptr uintptr) {
613+ c.Ptr = ptr
614+}
615+
616+// This signal is emitted when the dialog is closed.
617+//
618+// @response will be set to the response ID of the button that had been
619+// activated.
620+//
621+// if the dialog was closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system
622+// action, @response will be set to the value of
623+// [property@MessageDialog:close-response].
624+func (x *MessageDialog) ConnectResponse(cb func(MessageDialog, string)) {
625+ fcb := func(clsPtr uintptr, ResponseVarp string) {
626+ fa := MessageDialog{}
627+ fa.Ptr = clsPtr
628+
629+ cb(fa, ResponseVarp)
630+
631+ }
632+ gobject.ObjectConnect(x.GoPointer(), "signal::response", purego.NewCallback(fcb))
633+}
634+
635+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
636+func (x *MessageDialog) GetAccessibleRole() gtk.AccessibleRole {
637+
638+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
639+
640+}
641+
642+// Resets the accessible @property to its default value.
643+func (x *MessageDialog) ResetProperty(PropertyVar gtk.AccessibleProperty) {
644+
645+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
646+
647+}
648+
649+// Resets the accessible @relation to its default value.
650+func (x *MessageDialog) ResetRelation(RelationVar gtk.AccessibleRelation) {
651+
652+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
653+
654+}
655+
656+// Resets the accessible @state to its default value.
657+func (x *MessageDialog) ResetState(StateVar gtk.AccessibleState) {
658+
659+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
660+
661+}
662+
663+// Updates a list of accessible properties.
664+//
665+// See the [enum@Gtk.AccessibleProperty] documentation for the
666+// value types of accessible properties.
667+//
668+// This function should be called by `GtkWidget` types whenever
669+// an accessible property change must be communicated to assistive
670+// technologies.
671+//
672+// Example:
673+// ```c
674+// value = gtk_adjustment_get_value (adjustment);
675+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
676+//
677+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
678+// -1);
679+//
680+// ```
681+func (x *MessageDialog) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
682+
683+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
684+
685+}
686+
687+// Updates an array of accessible properties.
688+//
689+// This function should be called by `GtkWidget` types whenever an accessible
690+// property change must be communicated to assistive technologies.
691+//
692+// This function is meant to be used by language bindings.
693+func (x *MessageDialog) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
694+
695+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
696+
697+}
698+
699+// Updates a list of accessible relations.
700+//
701+// This function should be called by `GtkWidget` types whenever an accessible
702+// relation change must be communicated to assistive technologies.
703+//
704+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
705+// you should pass each reference individually, followed by %NULL, e.g.
706+//
707+// ```c
708+// gtk_accessible_update_relation (accessible,
709+//
710+// GTK_ACCESSIBLE_RELATION_CONTROLS,
711+// ref1, NULL,
712+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
713+// ref1, ref2, ref3, NULL,
714+// -1);
715+//
716+// ```
717+func (x *MessageDialog) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
718+
719+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
720+
721+}
722+
723+// Updates an array of accessible relations.
724+//
725+// This function should be called by `GtkWidget` types whenever an accessible
726+// relation change must be communicated to assistive technologies.
727+//
728+// This function is meant to be used by language bindings.
729+func (x *MessageDialog) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
730+
731+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
732+
733+}
734+
735+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
736+// documentation for the value types of accessible states.
737+//
738+// This function should be called by `GtkWidget` types whenever an accessible
739+// state change must be communicated to assistive technologies.
740+//
741+// Example:
742+// ```c
743+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
744+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
745+//
746+// GTK_ACCESSIBLE_STATE_CHECKED, value,
747+// -1);
748+//
749+// ```
750+func (x *MessageDialog) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
751+
752+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
753+
754+}
755+
756+// Updates an array of accessible states.
757+//
758+// This function should be called by `GtkWidget` types whenever an accessible
759+// state change must be communicated to assistive technologies.
760+//
761+// This function is meant to be used by language bindings.
762+func (x *MessageDialog) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
763+
764+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
765+
766+}
767+
768+// Gets the ID of the @buildable object.
769+//
770+// `GtkBuilder` sets the name based on the ID attribute
771+// of the &lt;object&gt; tag used to construct the @buildable.
772+func (x *MessageDialog) GetBuildableId() string {
773+
774+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
775+
776+}
777+
778+// Returns the renderer that is used for this `GtkNative`.
779+func (x *MessageDialog) GetRenderer() *gsk.Renderer {
780+
781+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
782+ if GetRendererPtr == 0 {
783+ return nil
784+ }
785+
786+ gobject.IncreaseRef(GetRendererPtr)
787+
788+ GetRendererCls := &gsk.Renderer{}
789+ GetRendererCls.Ptr = GetRendererPtr
790+ return GetRendererCls
791+
792+}
793+
794+// Returns the surface of this `GtkNative`.
795+func (x *MessageDialog) GetSurface() *gdk.Surface {
796+
797+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
798+ if GetSurfacePtr == 0 {
799+ return nil
800+ }
801+
802+ gobject.IncreaseRef(GetSurfacePtr)
803+
804+ GetSurfaceCls := &gdk.Surface{}
805+ GetSurfaceCls.Ptr = GetSurfacePtr
806+ return GetSurfaceCls
807+
808+}
809+
810+// Retrieves the surface transform of @self.
811+//
812+// This is the translation from @self's surface coordinates into
813+// @self's widget coordinates.
814+func (x *MessageDialog) GetSurfaceTransform(XVar float64, YVar float64) {
815+
816+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
817+
818+}
819+
820+// Realizes a `GtkNative`.
821+//
822+// This should only be used by subclasses.
823+func (x *MessageDialog) Realize() {
824+
825+ gtk.XGtkNativeRealize(x.GoPointer())
826+
827+}
828+
829+// Unrealizes a `GtkNative`.
830+//
831+// This should only be used by subclasses.
832+func (x *MessageDialog) Unrealize() {
833+
834+ gtk.XGtkNativeUnrealize(x.GoPointer())
835+
836+}
837+
838+// Returns the display that this `GtkRoot` is on.
839+func (x *MessageDialog) GetDisplay() *gdk.Display {
840+
841+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
842+ if GetDisplayPtr == 0 {
843+ return nil
844+ }
845+
846+ gobject.IncreaseRef(GetDisplayPtr)
847+
848+ GetDisplayCls := &gdk.Display{}
849+ GetDisplayCls.Ptr = GetDisplayPtr
850+ return GetDisplayCls
851+
852+}
853+
854+// Retrieves the current focused widget within the root.
855+//
856+// Note that this is the widget that would have the focus
857+// if the root is active; if the root is not focused then
858+// `gtk_widget_has_focus (widget)` will be %FALSE for the
859+// widget.
860+func (x *MessageDialog) GetFocus() *gtk.Widget {
861+
862+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
863+ if GetFocusPtr == 0 {
864+ return nil
865+ }
866+
867+ gobject.IncreaseRef(GetFocusPtr)
868+
869+ GetFocusCls := &gtk.Widget{}
870+ GetFocusCls.Ptr = GetFocusPtr
871+ return GetFocusCls
872+
873+}
874+
875+// If @focus is not the current focus widget, and is focusable, sets
876+// it as the focus widget for the root.
877+//
878+// If @focus is %NULL, unsets the focus widget for the root.
879+//
880+// To set the focus to a particular widget in the root, it is usually
881+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
882+// this function.
883+func (x *MessageDialog) SetFocus(FocusVar *gtk.Widget) {
884+
885+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
886+
887+}
888+
889+func init() {
890+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
891+ if err != nil {
892+ panic(err)
893+ }
894+
895+ core.PuregoSafeRegister(&xNewMessageDialog, lib, "adw_message_dialog_new")
896+
897+ core.PuregoSafeRegister(&xMessageDialogAddResponse, lib, "adw_message_dialog_add_response")
898+ core.PuregoSafeRegister(&xMessageDialogAddResponses, lib, "adw_message_dialog_add_responses")
899+ core.PuregoSafeRegister(&xMessageDialogChoose, lib, "adw_message_dialog_choose")
900+ core.PuregoSafeRegister(&xMessageDialogChooseFinish, lib, "adw_message_dialog_choose_finish")
901+ core.PuregoSafeRegister(&xMessageDialogFormatBody, lib, "adw_message_dialog_format_body")
902+ core.PuregoSafeRegister(&xMessageDialogFormatBodyMarkup, lib, "adw_message_dialog_format_body_markup")
903+ core.PuregoSafeRegister(&xMessageDialogFormatHeading, lib, "adw_message_dialog_format_heading")
904+ core.PuregoSafeRegister(&xMessageDialogFormatHeadingMarkup, lib, "adw_message_dialog_format_heading_markup")
905+ core.PuregoSafeRegister(&xMessageDialogGetBody, lib, "adw_message_dialog_get_body")
906+ core.PuregoSafeRegister(&xMessageDialogGetBodyUseMarkup, lib, "adw_message_dialog_get_body_use_markup")
907+ core.PuregoSafeRegister(&xMessageDialogGetCloseResponse, lib, "adw_message_dialog_get_close_response")
908+ core.PuregoSafeRegister(&xMessageDialogGetDefaultResponse, lib, "adw_message_dialog_get_default_response")
909+ core.PuregoSafeRegister(&xMessageDialogGetExtraChild, lib, "adw_message_dialog_get_extra_child")
910+ core.PuregoSafeRegister(&xMessageDialogGetHeading, lib, "adw_message_dialog_get_heading")
911+ core.PuregoSafeRegister(&xMessageDialogGetHeadingUseMarkup, lib, "adw_message_dialog_get_heading_use_markup")
912+ core.PuregoSafeRegister(&xMessageDialogGetResponseAppearance, lib, "adw_message_dialog_get_response_appearance")
913+ core.PuregoSafeRegister(&xMessageDialogGetResponseEnabled, lib, "adw_message_dialog_get_response_enabled")
914+ core.PuregoSafeRegister(&xMessageDialogGetResponseLabel, lib, "adw_message_dialog_get_response_label")
915+ core.PuregoSafeRegister(&xMessageDialogHasResponse, lib, "adw_message_dialog_has_response")
916+ core.PuregoSafeRegister(&xMessageDialogResponse, lib, "adw_message_dialog_response")
917+ core.PuregoSafeRegister(&xMessageDialogSetBody, lib, "adw_message_dialog_set_body")
918+ core.PuregoSafeRegister(&xMessageDialogSetBodyUseMarkup, lib, "adw_message_dialog_set_body_use_markup")
919+ core.PuregoSafeRegister(&xMessageDialogSetCloseResponse, lib, "adw_message_dialog_set_close_response")
920+ core.PuregoSafeRegister(&xMessageDialogSetDefaultResponse, lib, "adw_message_dialog_set_default_response")
921+ core.PuregoSafeRegister(&xMessageDialogSetExtraChild, lib, "adw_message_dialog_set_extra_child")
922+ core.PuregoSafeRegister(&xMessageDialogSetHeading, lib, "adw_message_dialog_set_heading")
923+ core.PuregoSafeRegister(&xMessageDialogSetHeadingUseMarkup, lib, "adw_message_dialog_set_heading_use_markup")
924+ core.PuregoSafeRegister(&xMessageDialogSetResponseAppearance, lib, "adw_message_dialog_set_response_appearance")
925+ core.PuregoSafeRegister(&xMessageDialogSetResponseEnabled, lib, "adw_message_dialog_set_response_enabled")
926+ core.PuregoSafeRegister(&xMessageDialogSetResponseLabel, lib, "adw_message_dialog_set_response_label")
927+
928+}
A v4/adw/adw-navigation-direction.go +13 -0
@@ -0,0 +1,13 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Describes the direction of a swipe navigation gesture.
5+type NavigationDirection int
6+
7+const (
8+
9+ // Corresponds to start or top, depending on orientation and text direction
10+ NavigationDirectionBackValue NavigationDirection = 0
11+ // Corresponds to end or bottom, depending on orientation and text direction
12+ NavigationDirectionForwardValue NavigationDirection = 1
13+)
A v4/adw/adw-password-entry-row.go +548 -0
@@ -0,0 +1,548 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type PasswordEntryRowClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A [class@EntryRow] tailored for entering secrets.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="password-entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="password-entry-row.png" alt="password-entry-row"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// It does not show its contents in clear text, does not allow to copy it to the
26+// clipboard, and shows a warning when Caps Lock is engaged. If the underlying
27+// platform allows it, `AdwPasswordEntryRow` will also place the text in a
28+// non-pageable memory area, to avoid it being written out to disk by the
29+// operating system.
30+//
31+// It offer a way to reveal the contents in clear text.
32+//
33+// ## CSS Nodes
34+//
35+// `AdwPasswordEntryRow` has a single CSS node with name `row` that carries
36+// `.entry` and `.password` style classes.
37+type PasswordEntryRow struct {
38+ EntryRow
39+}
40+
41+func PasswordEntryRowNewFromInternalPtr(ptr uintptr) *PasswordEntryRow {
42+ cls := &PasswordEntryRow{}
43+ cls.Ptr = ptr
44+ return cls
45+}
46+
47+var xNewPasswordEntryRow func() uintptr
48+
49+// Creates a new `AdwPasswordEntryRow`.
50+func NewPasswordEntryRow() *gtk.Widget {
51+ NewPasswordEntryRowPtr := xNewPasswordEntryRow()
52+ if NewPasswordEntryRowPtr == 0 {
53+ return nil
54+ }
55+
56+ gobject.IncreaseRef(NewPasswordEntryRowPtr)
57+
58+ NewPasswordEntryRowCls := &gtk.Widget{}
59+ NewPasswordEntryRowCls.Ptr = NewPasswordEntryRowPtr
60+ return NewPasswordEntryRowCls
61+}
62+
63+func (c *PasswordEntryRow) GoPointer() uintptr {
64+ return c.Ptr
65+}
66+
67+func (c *PasswordEntryRow) SetGoPointer(ptr uintptr) {
68+ c.Ptr = ptr
69+}
70+
71+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
72+func (x *PasswordEntryRow) GetAccessibleRole() gtk.AccessibleRole {
73+
74+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
75+
76+}
77+
78+// Resets the accessible @property to its default value.
79+func (x *PasswordEntryRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
80+
81+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
82+
83+}
84+
85+// Resets the accessible @relation to its default value.
86+func (x *PasswordEntryRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
87+
88+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
89+
90+}
91+
92+// Resets the accessible @state to its default value.
93+func (x *PasswordEntryRow) ResetState(StateVar gtk.AccessibleState) {
94+
95+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
96+
97+}
98+
99+// Updates a list of accessible properties.
100+//
101+// See the [enum@Gtk.AccessibleProperty] documentation for the
102+// value types of accessible properties.
103+//
104+// This function should be called by `GtkWidget` types whenever
105+// an accessible property change must be communicated to assistive
106+// technologies.
107+//
108+// Example:
109+// ```c
110+// value = gtk_adjustment_get_value (adjustment);
111+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
112+//
113+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
114+// -1);
115+//
116+// ```
117+func (x *PasswordEntryRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
118+
119+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
120+
121+}
122+
123+// Updates an array of accessible properties.
124+//
125+// This function should be called by `GtkWidget` types whenever an accessible
126+// property change must be communicated to assistive technologies.
127+//
128+// This function is meant to be used by language bindings.
129+func (x *PasswordEntryRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
130+
131+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
132+
133+}
134+
135+// Updates a list of accessible relations.
136+//
137+// This function should be called by `GtkWidget` types whenever an accessible
138+// relation change must be communicated to assistive technologies.
139+//
140+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
141+// you should pass each reference individually, followed by %NULL, e.g.
142+//
143+// ```c
144+// gtk_accessible_update_relation (accessible,
145+//
146+// GTK_ACCESSIBLE_RELATION_CONTROLS,
147+// ref1, NULL,
148+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
149+// ref1, ref2, ref3, NULL,
150+// -1);
151+//
152+// ```
153+func (x *PasswordEntryRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
154+
155+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
156+
157+}
158+
159+// Updates an array of accessible relations.
160+//
161+// This function should be called by `GtkWidget` types whenever an accessible
162+// relation change must be communicated to assistive technologies.
163+//
164+// This function is meant to be used by language bindings.
165+func (x *PasswordEntryRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
166+
167+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
168+
169+}
170+
171+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
172+// documentation for the value types of accessible states.
173+//
174+// This function should be called by `GtkWidget` types whenever an accessible
175+// state change must be communicated to assistive technologies.
176+//
177+// Example:
178+// ```c
179+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
180+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
181+//
182+// GTK_ACCESSIBLE_STATE_CHECKED, value,
183+// -1);
184+//
185+// ```
186+func (x *PasswordEntryRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
187+
188+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
189+
190+}
191+
192+// Updates an array of accessible states.
193+//
194+// This function should be called by `GtkWidget` types whenever an accessible
195+// state change must be communicated to assistive technologies.
196+//
197+// This function is meant to be used by language bindings.
198+func (x *PasswordEntryRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
199+
200+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
201+
202+}
203+
204+// Gets the action name for @actionable.
205+func (x *PasswordEntryRow) GetActionName() string {
206+
207+ return gtk.XGtkActionableGetActionName(x.GoPointer())
208+
209+}
210+
211+// Gets the current target value of @actionable.
212+func (x *PasswordEntryRow) GetActionTargetValue() *glib.Variant {
213+
214+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
215+
216+}
217+
218+// Specifies the name of the action with which this widget should be
219+// associated.
220+//
221+// If @action_name is %NULL then the widget will be unassociated from
222+// any previous action.
223+//
224+// Usually this function is used when the widget is located (or will be
225+// located) within the hierarchy of a `GtkApplicationWindow`.
226+//
227+// Names are of the form “win.save” or “app.quit” for actions on the
228+// containing [class@ApplicationWindow] or its associated [class@Application],
229+// respectively. This is the same form used for actions in the [class@Gio.Menu]
230+// associated with the window.
231+func (x *PasswordEntryRow) SetActionName(ActionNameVar string) {
232+
233+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
234+
235+}
236+
237+// Sets the target of an actionable widget.
238+//
239+// This is a convenience function that calls [ctor@GLib.Variant.new] for
240+// @format_string and uses the result to call
241+// [method@Gtk.Actionable.set_action_target_value].
242+//
243+// If you are setting a string-valued target and want to set
244+// the action name at the same time, you can use
245+// [method@Gtk.Actionable.set_detailed_action_name].
246+func (x *PasswordEntryRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
247+
248+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
249+
250+}
251+
252+// Sets the target value of an actionable widget.
253+//
254+// If @target_value is %NULL then the target value is unset.
255+//
256+// The target value has two purposes. First, it is used as the parameter
257+// to activation of the action associated with the `GtkActionable` widget.
258+// Second, it is used to determine if the widget should be rendered as
259+// “active” — the widget is active if the state is equal to the given target.
260+//
261+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
262+// with string state in a typical “radio button” situation. Each button
263+// will be associated with the same action, but with a different target
264+// value for that action. Clicking on a particular button will activate
265+// the action with the target of that button, which will typically cause
266+// the action’s state to change to that value. Since the action’s state
267+// is now equal to the target value of the button, the button will now
268+// be rendered as active (and the other buttons, with different targets,
269+// rendered inactive).
270+func (x *PasswordEntryRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
271+
272+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
273+
274+}
275+
276+// Sets the action-name and associated string target value of an
277+// actionable widget.
278+//
279+// @detailed_action_name is a string in the format accepted by
280+// [func@Gio.Action.parse_detailed_name].
281+func (x *PasswordEntryRow) SetDetailedActionName(DetailedActionNameVar string) {
282+
283+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
284+
285+}
286+
287+// Gets the ID of the @buildable object.
288+//
289+// `GtkBuilder` sets the name based on the ID attribute
290+// of the &lt;object&gt; tag used to construct the @buildable.
291+func (x *PasswordEntryRow) GetBuildableId() string {
292+
293+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
294+
295+}
296+
297+// Deletes the currently selected text of the editable.
298+//
299+// This call doesn’t do anything if there is no selected text.
300+func (x *PasswordEntryRow) DeleteSelection() {
301+
302+ gtk.XGtkEditableDeleteSelection(x.GoPointer())
303+
304+}
305+
306+// Deletes a sequence of characters.
307+//
308+// The characters that are deleted are those characters at positions
309+// from @start_pos up to, but not including @end_pos. If @end_pos is
310+// negative, then the characters deleted are those from @start_pos to
311+// the end of the text.
312+//
313+// Note that the positions are specified in characters, not bytes.
314+func (x *PasswordEntryRow) DeleteText(StartPosVar int32, EndPosVar int32) {
315+
316+ gtk.XGtkEditableDeleteText(x.GoPointer(), StartPosVar, EndPosVar)
317+
318+}
319+
320+// Undoes the setup done by [method@Gtk.Editable.init_delegate].
321+//
322+// This is a helper function that should be called from dispose,
323+// before removing the delegate object.
324+func (x *PasswordEntryRow) FinishDelegate() {
325+
326+ gtk.XGtkEditableFinishDelegate(x.GoPointer())
327+
328+}
329+
330+// Gets the alignment of the editable.
331+func (x *PasswordEntryRow) GetAlignment() float32 {
332+
333+ return gtk.XGtkEditableGetAlignment(x.GoPointer())
334+
335+}
336+
337+// Retrieves a sequence of characters.
338+//
339+// The characters that are retrieved are those characters at positions
340+// from @start_pos up to, but not including @end_pos. If @end_pos is negative,
341+// then the characters retrieved are those characters from @start_pos to
342+// the end of the text.
343+//
344+// Note that positions are specified in characters, not bytes.
345+func (x *PasswordEntryRow) GetChars(StartPosVar int32, EndPosVar int32) string {
346+
347+ return gtk.XGtkEditableGetChars(x.GoPointer(), StartPosVar, EndPosVar)
348+
349+}
350+
351+// Gets the `GtkEditable` that @editable is delegating its
352+// implementation to.
353+//
354+// Typically, the delegate is a [class@Gtk.Text] widget.
355+func (x *PasswordEntryRow) GetDelegate() *gtk.EditableBase {
356+
357+ GetDelegatePtr := gtk.XGtkEditableGetDelegate(x.GoPointer())
358+ if GetDelegatePtr == 0 {
359+ return nil
360+ }
361+
362+ gobject.IncreaseRef(GetDelegatePtr)
363+
364+ GetDelegateCls := &gtk.EditableBase{}
365+ GetDelegateCls.Ptr = GetDelegatePtr
366+ return GetDelegateCls
367+
368+}
369+
370+// Retrieves whether @editable is editable.
371+func (x *PasswordEntryRow) GetEditable() bool {
372+
373+ return gtk.XGtkEditableGetEditable(x.GoPointer())
374+
375+}
376+
377+// Gets if undo/redo actions are enabled for @editable
378+func (x *PasswordEntryRow) GetEnableUndo() bool {
379+
380+ return gtk.XGtkEditableGetEnableUndo(x.GoPointer())
381+
382+}
383+
384+// Retrieves the desired maximum width of @editable, in characters.
385+func (x *PasswordEntryRow) GetMaxWidthChars() int32 {
386+
387+ return gtk.XGtkEditableGetMaxWidthChars(x.GoPointer())
388+
389+}
390+
391+// Retrieves the current position of the cursor relative
392+// to the start of the content of the editable.
393+//
394+// Note that this position is in characters, not in bytes.
395+func (x *PasswordEntryRow) GetPosition() int32 {
396+
397+ return gtk.XGtkEditableGetPosition(x.GoPointer())
398+
399+}
400+
401+// Retrieves the selection bound of the editable.
402+//
403+// @start_pos will be filled with the start of the selection and
404+// @end_pos with end. If no text was selected both will be identical
405+// and %FALSE will be returned.
406+//
407+// Note that positions are specified in characters, not bytes.
408+func (x *PasswordEntryRow) GetSelectionBounds(StartPosVar int32, EndPosVar int32) bool {
409+
410+ return gtk.XGtkEditableGetSelectionBounds(x.GoPointer(), StartPosVar, EndPosVar)
411+
412+}
413+
414+// Retrieves the contents of @editable.
415+//
416+// The returned string is owned by GTK and must not be modified or freed.
417+func (x *PasswordEntryRow) GetText() string {
418+
419+ return gtk.XGtkEditableGetText(x.GoPointer())
420+
421+}
422+
423+// Gets the number of characters of space reserved
424+// for the contents of the editable.
425+func (x *PasswordEntryRow) GetWidthChars() int32 {
426+
427+ return gtk.XGtkEditableGetWidthChars(x.GoPointer())
428+
429+}
430+
431+// Sets up a delegate for `GtkEditable`.
432+//
433+// This is assuming that the get_delegate vfunc in the `GtkEditable`
434+// interface has been set up for the @editable's type.
435+//
436+// This is a helper function that should be called in instance init,
437+// after creating the delegate object.
438+func (x *PasswordEntryRow) InitDelegate() {
439+
440+ gtk.XGtkEditableInitDelegate(x.GoPointer())
441+
442+}
443+
444+// Inserts @length bytes of @text into the contents of the
445+// widget, at position @position.
446+//
447+// Note that the position is in characters, not in bytes.
448+// The function updates @position to point after the newly
449+// inserted text.
450+func (x *PasswordEntryRow) InsertText(TextVar string, LengthVar int32, PositionVar int32) {
451+
452+ gtk.XGtkEditableInsertText(x.GoPointer(), TextVar, LengthVar, PositionVar)
453+
454+}
455+
456+// Selects a region of text.
457+//
458+// The characters that are selected are those characters at positions
459+// from @start_pos up to, but not including @end_pos. If @end_pos is
460+// negative, then the characters selected are those characters from
461+// @start_pos to the end of the text.
462+//
463+// Note that positions are specified in characters, not bytes.
464+func (x *PasswordEntryRow) SelectRegion(StartPosVar int32, EndPosVar int32) {
465+
466+ gtk.XGtkEditableSelectRegion(x.GoPointer(), StartPosVar, EndPosVar)
467+
468+}
469+
470+// Sets the alignment for the contents of the editable.
471+//
472+// This controls the horizontal positioning of the contents when
473+// the displayed text is shorter than the width of the editable.
474+func (x *PasswordEntryRow) SetAlignment(XalignVar float32) {
475+
476+ gtk.XGtkEditableSetAlignment(x.GoPointer(), XalignVar)
477+
478+}
479+
480+// Determines if the user can edit the text in the editable widget.
481+func (x *PasswordEntryRow) SetEditable(IsEditableVar bool) {
482+
483+ gtk.XGtkEditableSetEditable(x.GoPointer(), IsEditableVar)
484+
485+}
486+
487+// If enabled, changes to @editable will be saved for undo/redo
488+// actions.
489+//
490+// This results in an additional copy of text changes and are not
491+// stored in secure memory. As such, undo is forcefully disabled
492+// when [property@Gtk.Text:visibility] is set to %FALSE.
493+func (x *PasswordEntryRow) SetEnableUndo(EnableUndoVar bool) {
494+
495+ gtk.XGtkEditableSetEnableUndo(x.GoPointer(), EnableUndoVar)
496+
497+}
498+
499+// Sets the desired maximum width in characters of @editable.
500+func (x *PasswordEntryRow) SetMaxWidthChars(NCharsVar int32) {
501+
502+ gtk.XGtkEditableSetMaxWidthChars(x.GoPointer(), NCharsVar)
503+
504+}
505+
506+// Sets the cursor position in the editable to the given value.
507+//
508+// The cursor is displayed before the character with the given (base 0)
509+// index in the contents of the editable. The value must be less than
510+// or equal to the number of characters in the editable. A value of -1
511+// indicates that the position should be set after the last character
512+// of the editable. Note that @position is in characters, not in bytes.
513+func (x *PasswordEntryRow) SetPosition(PositionVar int32) {
514+
515+ gtk.XGtkEditableSetPosition(x.GoPointer(), PositionVar)
516+
517+}
518+
519+// Sets the text in the editable to the given value.
520+//
521+// This is replacing the current contents.
522+func (x *PasswordEntryRow) SetText(TextVar string) {
523+
524+ gtk.XGtkEditableSetText(x.GoPointer(), TextVar)
525+
526+}
527+
528+// Changes the size request of the editable to be about the
529+// right size for @n_chars characters.
530+//
531+// Note that it changes the size request, the size can still
532+// be affected by how you pack the widget into containers.
533+// If @n_chars is -1, the size reverts to the default size.
534+func (x *PasswordEntryRow) SetWidthChars(NCharsVar int32) {
535+
536+ gtk.XGtkEditableSetWidthChars(x.GoPointer(), NCharsVar)
537+
538+}
539+
540+func init() {
541+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
542+ if err != nil {
543+ panic(err)
544+ }
545+
546+ core.PuregoSafeRegister(&xNewPasswordEntryRow, lib, "adw_password_entry_row_new")
547+
548+}
A v4/adw/adw-preferences-group.go +329 -0
@@ -0,0 +1,329 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type PreferencesGroupClass struct {
12+ ParentClass uintptr
13+
14+ Padding uintptr
15+}
16+
17+// A group of preference rows.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="preferences-group-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="preferences-group.png" alt="preferences-group"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// An `AdwPreferencesGroup` represents a group or tightly related preferences,
27+// which in turn are represented by [class@PreferencesRow].
28+//
29+// To summarize the role of the preferences it gathers, a group can have both a
30+// title and a description. The title will be used by [class@PreferencesWindow]
31+// to let the user look for a preference.
32+//
33+// ## AdwPreferencesGroup as GtkBuildable
34+//
35+// The `AdwPreferencesGroup` implementation of the [iface@Gtk.Buildable] interface
36+// supports adding [class@PreferencesRow]s to the list by omitting "type". If "type"
37+// is omitted and the widget isn't a [class@PreferencesRow] the child is added to
38+// a box below the list.
39+//
40+// When the "type" attribute of a child is `header-suffix`, the child
41+// is set as the suffix on the end of the title and description.
42+//
43+// ## CSS nodes
44+//
45+// `AdwPreferencesGroup` has a single CSS node with name `preferencesgroup`.
46+//
47+// ## Accessibility
48+//
49+// `AdwPreferencesGroup` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
50+type PreferencesGroup struct {
51+ gtk.Widget
52+}
53+
54+func PreferencesGroupNewFromInternalPtr(ptr uintptr) *PreferencesGroup {
55+ cls := &PreferencesGroup{}
56+ cls.Ptr = ptr
57+ return cls
58+}
59+
60+var xNewPreferencesGroup func() uintptr
61+
62+// Creates a new `AdwPreferencesGroup`.
63+func NewPreferencesGroup() *gtk.Widget {
64+ NewPreferencesGroupPtr := xNewPreferencesGroup()
65+ if NewPreferencesGroupPtr == 0 {
66+ return nil
67+ }
68+
69+ gobject.IncreaseRef(NewPreferencesGroupPtr)
70+
71+ NewPreferencesGroupCls := &gtk.Widget{}
72+ NewPreferencesGroupCls.Ptr = NewPreferencesGroupPtr
73+ return NewPreferencesGroupCls
74+}
75+
76+var xPreferencesGroupAdd func(uintptr, uintptr)
77+
78+// Adds a child to @self.
79+func (x *PreferencesGroup) Add(ChildVar *gtk.Widget) {
80+
81+ xPreferencesGroupAdd(x.GoPointer(), ChildVar.GoPointer())
82+
83+}
84+
85+var xPreferencesGroupGetDescription func(uintptr) string
86+
87+// Gets the description of @self.
88+func (x *PreferencesGroup) GetDescription() string {
89+
90+ return xPreferencesGroupGetDescription(x.GoPointer())
91+
92+}
93+
94+var xPreferencesGroupGetHeaderSuffix func(uintptr) uintptr
95+
96+// Gets the suffix for @self's header.
97+func (x *PreferencesGroup) GetHeaderSuffix() *gtk.Widget {
98+
99+ GetHeaderSuffixPtr := xPreferencesGroupGetHeaderSuffix(x.GoPointer())
100+ if GetHeaderSuffixPtr == 0 {
101+ return nil
102+ }
103+
104+ gobject.IncreaseRef(GetHeaderSuffixPtr)
105+
106+ GetHeaderSuffixCls := &gtk.Widget{}
107+ GetHeaderSuffixCls.Ptr = GetHeaderSuffixPtr
108+ return GetHeaderSuffixCls
109+
110+}
111+
112+var xPreferencesGroupGetTitle func(uintptr) string
113+
114+// Gets the title of @self.
115+func (x *PreferencesGroup) GetTitle() string {
116+
117+ return xPreferencesGroupGetTitle(x.GoPointer())
118+
119+}
120+
121+var xPreferencesGroupRemove func(uintptr, uintptr)
122+
123+// Removes a child from @self.
124+func (x *PreferencesGroup) Remove(ChildVar *gtk.Widget) {
125+
126+ xPreferencesGroupRemove(x.GoPointer(), ChildVar.GoPointer())
127+
128+}
129+
130+var xPreferencesGroupSetDescription func(uintptr, string)
131+
132+// Sets the description for @self.
133+func (x *PreferencesGroup) SetDescription(DescriptionVar string) {
134+
135+ xPreferencesGroupSetDescription(x.GoPointer(), DescriptionVar)
136+
137+}
138+
139+var xPreferencesGroupSetHeaderSuffix func(uintptr, uintptr)
140+
141+// Sets the suffix for @self's header.
142+//
143+// Displayed above the list, next to the title and description.
144+//
145+// Suffixes are commonly used to show a button or a spinner for the whole group.
146+func (x *PreferencesGroup) SetHeaderSuffix(SuffixVar *gtk.Widget) {
147+
148+ xPreferencesGroupSetHeaderSuffix(x.GoPointer(), SuffixVar.GoPointer())
149+
150+}
151+
152+var xPreferencesGroupSetTitle func(uintptr, string)
153+
154+// Sets the title for @self.
155+func (x *PreferencesGroup) SetTitle(TitleVar string) {
156+
157+ xPreferencesGroupSetTitle(x.GoPointer(), TitleVar)
158+
159+}
160+
161+func (c *PreferencesGroup) GoPointer() uintptr {
162+ return c.Ptr
163+}
164+
165+func (c *PreferencesGroup) SetGoPointer(ptr uintptr) {
166+ c.Ptr = ptr
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *PreferencesGroup) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *PreferencesGroup) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *PreferencesGroup) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *PreferencesGroup) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *PreferencesGroup) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *PreferencesGroup) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *PreferencesGroup) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *PreferencesGroup) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *PreferencesGroup) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *PreferencesGroup) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the ID of the @buildable object.
303+//
304+// `GtkBuilder` sets the name based on the ID attribute
305+// of the &lt;object&gt; tag used to construct the @buildable.
306+func (x *PreferencesGroup) GetBuildableId() string {
307+
308+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
309+
310+}
311+
312+func init() {
313+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
314+ if err != nil {
315+ panic(err)
316+ }
317+
318+ core.PuregoSafeRegister(&xNewPreferencesGroup, lib, "adw_preferences_group_new")
319+
320+ core.PuregoSafeRegister(&xPreferencesGroupAdd, lib, "adw_preferences_group_add")
321+ core.PuregoSafeRegister(&xPreferencesGroupGetDescription, lib, "adw_preferences_group_get_description")
322+ core.PuregoSafeRegister(&xPreferencesGroupGetHeaderSuffix, lib, "adw_preferences_group_get_header_suffix")
323+ core.PuregoSafeRegister(&xPreferencesGroupGetTitle, lib, "adw_preferences_group_get_title")
324+ core.PuregoSafeRegister(&xPreferencesGroupRemove, lib, "adw_preferences_group_remove")
325+ core.PuregoSafeRegister(&xPreferencesGroupSetDescription, lib, "adw_preferences_group_set_description")
326+ core.PuregoSafeRegister(&xPreferencesGroupSetHeaderSuffix, lib, "adw_preferences_group_set_header_suffix")
327+ core.PuregoSafeRegister(&xPreferencesGroupSetTitle, lib, "adw_preferences_group_set_title")
328+
329+}
A v4/adw/adw-preferences-page.go +332 -0
@@ -0,0 +1,332 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type PreferencesPageClass struct {
12+ ParentClass uintptr
13+
14+ Padding uintptr
15+}
16+
17+// A page from [class@PreferencesWindow].
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="preferences-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="preferences-page.png" alt="preferences-page"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// The `AdwPreferencesPage` widget gathers preferences groups into a single page
27+// of a preferences window.
28+//
29+// ## CSS nodes
30+//
31+// `AdwPreferencesPage` has a single CSS node with name `preferencespage`.
32+//
33+// ## Accessibility
34+//
35+// `AdwPreferencesPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
36+type PreferencesPage struct {
37+ gtk.Widget
38+}
39+
40+func PreferencesPageNewFromInternalPtr(ptr uintptr) *PreferencesPage {
41+ cls := &PreferencesPage{}
42+ cls.Ptr = ptr
43+ return cls
44+}
45+
46+var xNewPreferencesPage func() uintptr
47+
48+// Creates a new `AdwPreferencesPage`.
49+func NewPreferencesPage() *gtk.Widget {
50+ NewPreferencesPagePtr := xNewPreferencesPage()
51+ if NewPreferencesPagePtr == 0 {
52+ return nil
53+ }
54+
55+ gobject.IncreaseRef(NewPreferencesPagePtr)
56+
57+ NewPreferencesPageCls := &gtk.Widget{}
58+ NewPreferencesPageCls.Ptr = NewPreferencesPagePtr
59+ return NewPreferencesPageCls
60+}
61+
62+var xPreferencesPageAdd func(uintptr, uintptr)
63+
64+// Adds a preferences group to @self.
65+func (x *PreferencesPage) Add(GroupVar *PreferencesGroup) {
66+
67+ xPreferencesPageAdd(x.GoPointer(), GroupVar.GoPointer())
68+
69+}
70+
71+var xPreferencesPageGetIconName func(uintptr) string
72+
73+// Gets the icon name for @self.
74+func (x *PreferencesPage) GetIconName() string {
75+
76+ return xPreferencesPageGetIconName(x.GoPointer())
77+
78+}
79+
80+var xPreferencesPageGetName func(uintptr) string
81+
82+// Gets the name of @self.
83+func (x *PreferencesPage) GetName() string {
84+
85+ return xPreferencesPageGetName(x.GoPointer())
86+
87+}
88+
89+var xPreferencesPageGetTitle func(uintptr) string
90+
91+// Gets the title of @self.
92+func (x *PreferencesPage) GetTitle() string {
93+
94+ return xPreferencesPageGetTitle(x.GoPointer())
95+
96+}
97+
98+var xPreferencesPageGetUseUnderline func(uintptr) bool
99+
100+// Gets whether an embedded underline in the title indicates a mnemonic.
101+func (x *PreferencesPage) GetUseUnderline() bool {
102+
103+ return xPreferencesPageGetUseUnderline(x.GoPointer())
104+
105+}
106+
107+var xPreferencesPageRemove func(uintptr, uintptr)
108+
109+// Removes a group from @self.
110+func (x *PreferencesPage) Remove(GroupVar *PreferencesGroup) {
111+
112+ xPreferencesPageRemove(x.GoPointer(), GroupVar.GoPointer())
113+
114+}
115+
116+var xPreferencesPageScrollToTop func(uintptr)
117+
118+// Scrolls the scrolled window of @self to the top.
119+func (x *PreferencesPage) ScrollToTop() {
120+
121+ xPreferencesPageScrollToTop(x.GoPointer())
122+
123+}
124+
125+var xPreferencesPageSetIconName func(uintptr, string)
126+
127+// Sets the icon name for @self.
128+func (x *PreferencesPage) SetIconName(IconNameVar string) {
129+
130+ xPreferencesPageSetIconName(x.GoPointer(), IconNameVar)
131+
132+}
133+
134+var xPreferencesPageSetName func(uintptr, string)
135+
136+// Sets the name of @self.
137+func (x *PreferencesPage) SetName(NameVar string) {
138+
139+ xPreferencesPageSetName(x.GoPointer(), NameVar)
140+
141+}
142+
143+var xPreferencesPageSetTitle func(uintptr, string)
144+
145+// Sets the title of @self.
146+func (x *PreferencesPage) SetTitle(TitleVar string) {
147+
148+ xPreferencesPageSetTitle(x.GoPointer(), TitleVar)
149+
150+}
151+
152+var xPreferencesPageSetUseUnderline func(uintptr, bool)
153+
154+// Sets whether an embedded underline in the title indicates a mnemonic.
155+func (x *PreferencesPage) SetUseUnderline(UseUnderlineVar bool) {
156+
157+ xPreferencesPageSetUseUnderline(x.GoPointer(), UseUnderlineVar)
158+
159+}
160+
161+func (c *PreferencesPage) GoPointer() uintptr {
162+ return c.Ptr
163+}
164+
165+func (c *PreferencesPage) SetGoPointer(ptr uintptr) {
166+ c.Ptr = ptr
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *PreferencesPage) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *PreferencesPage) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *PreferencesPage) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *PreferencesPage) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *PreferencesPage) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *PreferencesPage) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *PreferencesPage) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *PreferencesPage) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *PreferencesPage) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *PreferencesPage) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the ID of the @buildable object.
303+//
304+// `GtkBuilder` sets the name based on the ID attribute
305+// of the &lt;object&gt; tag used to construct the @buildable.
306+func (x *PreferencesPage) GetBuildableId() string {
307+
308+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
309+
310+}
311+
312+func init() {
313+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
314+ if err != nil {
315+ panic(err)
316+ }
317+
318+ core.PuregoSafeRegister(&xNewPreferencesPage, lib, "adw_preferences_page_new")
319+
320+ core.PuregoSafeRegister(&xPreferencesPageAdd, lib, "adw_preferences_page_add")
321+ core.PuregoSafeRegister(&xPreferencesPageGetIconName, lib, "adw_preferences_page_get_icon_name")
322+ core.PuregoSafeRegister(&xPreferencesPageGetName, lib, "adw_preferences_page_get_name")
323+ core.PuregoSafeRegister(&xPreferencesPageGetTitle, lib, "adw_preferences_page_get_title")
324+ core.PuregoSafeRegister(&xPreferencesPageGetUseUnderline, lib, "adw_preferences_page_get_use_underline")
325+ core.PuregoSafeRegister(&xPreferencesPageRemove, lib, "adw_preferences_page_remove")
326+ core.PuregoSafeRegister(&xPreferencesPageScrollToTop, lib, "adw_preferences_page_scroll_to_top")
327+ core.PuregoSafeRegister(&xPreferencesPageSetIconName, lib, "adw_preferences_page_set_icon_name")
328+ core.PuregoSafeRegister(&xPreferencesPageSetName, lib, "adw_preferences_page_set_name")
329+ core.PuregoSafeRegister(&xPreferencesPageSetTitle, lib, "adw_preferences_page_set_title")
330+ core.PuregoSafeRegister(&xPreferencesPageSetUseUnderline, lib, "adw_preferences_page_set_use_underline")
331+
332+}
A v4/adw/adw-preferences-row.go +385 -0
@@ -0,0 +1,385 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type PreferencesRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to present preferences.
19+//
20+// The `AdwPreferencesRow` widget has a title that [class@PreferencesWindow]
21+// will use to let the user look for a preference. It doesn't present the title
22+// in any way and lets you present the preference as you please.
23+//
24+// [class@ActionRow] and its derivatives are convenient to use as preference
25+// rows as they take care of presenting the preference's title while letting you
26+// compose the inputs of the preference around it.
27+type PreferencesRow struct {
28+ gtk.ListBoxRow
29+}
30+
31+func PreferencesRowNewFromInternalPtr(ptr uintptr) *PreferencesRow {
32+ cls := &PreferencesRow{}
33+ cls.Ptr = ptr
34+ return cls
35+}
36+
37+var xNewPreferencesRow func() uintptr
38+
39+// Creates a new `AdwPreferencesRow`.
40+func NewPreferencesRow() *gtk.Widget {
41+ NewPreferencesRowPtr := xNewPreferencesRow()
42+ if NewPreferencesRowPtr == 0 {
43+ return nil
44+ }
45+
46+ gobject.IncreaseRef(NewPreferencesRowPtr)
47+
48+ NewPreferencesRowCls := &gtk.Widget{}
49+ NewPreferencesRowCls.Ptr = NewPreferencesRowPtr
50+ return NewPreferencesRowCls
51+}
52+
53+var xPreferencesRowGetTitle func(uintptr) string
54+
55+// Gets the title of the preference represented by @self.
56+func (x *PreferencesRow) GetTitle() string {
57+
58+ return xPreferencesRowGetTitle(x.GoPointer())
59+
60+}
61+
62+var xPreferencesRowGetTitleSelectable func(uintptr) bool
63+
64+// Gets whether the user can copy the title from the label
65+func (x *PreferencesRow) GetTitleSelectable() bool {
66+
67+ return xPreferencesRowGetTitleSelectable(x.GoPointer())
68+
69+}
70+
71+var xPreferencesRowGetUseMarkup func(uintptr) bool
72+
73+// Gets whether to use Pango markup for the title label.
74+func (x *PreferencesRow) GetUseMarkup() bool {
75+
76+ return xPreferencesRowGetUseMarkup(x.GoPointer())
77+
78+}
79+
80+var xPreferencesRowGetUseUnderline func(uintptr) bool
81+
82+// Gets whether an embedded underline in the title indicates a mnemonic.
83+func (x *PreferencesRow) GetUseUnderline() bool {
84+
85+ return xPreferencesRowGetUseUnderline(x.GoPointer())
86+
87+}
88+
89+var xPreferencesRowSetTitle func(uintptr, string)
90+
91+// Sets the title of the preference represented by @self.
92+//
93+// The title is interpreted as Pango markup unless
94+// [property@PreferencesRow:use-markup] is set to `FALSE`.
95+func (x *PreferencesRow) SetTitle(TitleVar string) {
96+
97+ xPreferencesRowSetTitle(x.GoPointer(), TitleVar)
98+
99+}
100+
101+var xPreferencesRowSetTitleSelectable func(uintptr, bool)
102+
103+// Sets whether the user can copy the title from the label
104+//
105+// See also [property@Gtk.Label:selectable].
106+func (x *PreferencesRow) SetTitleSelectable(TitleSelectableVar bool) {
107+
108+ xPreferencesRowSetTitleSelectable(x.GoPointer(), TitleSelectableVar)
109+
110+}
111+
112+var xPreferencesRowSetUseMarkup func(uintptr, bool)
113+
114+// Sets whether to use Pango markup for the title label.
115+//
116+// Subclasses may also use it for other labels, such as subtitle.
117+//
118+// See also [func@Pango.parse_markup].
119+func (x *PreferencesRow) SetUseMarkup(UseMarkupVar bool) {
120+
121+ xPreferencesRowSetUseMarkup(x.GoPointer(), UseMarkupVar)
122+
123+}
124+
125+var xPreferencesRowSetUseUnderline func(uintptr, bool)
126+
127+// Sets whether an embedded underline in the title indicates a mnemonic.
128+func (x *PreferencesRow) SetUseUnderline(UseUnderlineVar bool) {
129+
130+ xPreferencesRowSetUseUnderline(x.GoPointer(), UseUnderlineVar)
131+
132+}
133+
134+func (c *PreferencesRow) GoPointer() uintptr {
135+ return c.Ptr
136+}
137+
138+func (c *PreferencesRow) SetGoPointer(ptr uintptr) {
139+ c.Ptr = ptr
140+}
141+
142+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
143+func (x *PreferencesRow) GetAccessibleRole() gtk.AccessibleRole {
144+
145+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
146+
147+}
148+
149+// Resets the accessible @property to its default value.
150+func (x *PreferencesRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
151+
152+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
153+
154+}
155+
156+// Resets the accessible @relation to its default value.
157+func (x *PreferencesRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
158+
159+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
160+
161+}
162+
163+// Resets the accessible @state to its default value.
164+func (x *PreferencesRow) ResetState(StateVar gtk.AccessibleState) {
165+
166+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
167+
168+}
169+
170+// Updates a list of accessible properties.
171+//
172+// See the [enum@Gtk.AccessibleProperty] documentation for the
173+// value types of accessible properties.
174+//
175+// This function should be called by `GtkWidget` types whenever
176+// an accessible property change must be communicated to assistive
177+// technologies.
178+//
179+// Example:
180+// ```c
181+// value = gtk_adjustment_get_value (adjustment);
182+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
183+//
184+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
185+// -1);
186+//
187+// ```
188+func (x *PreferencesRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
189+
190+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
191+
192+}
193+
194+// Updates an array of accessible properties.
195+//
196+// This function should be called by `GtkWidget` types whenever an accessible
197+// property change must be communicated to assistive technologies.
198+//
199+// This function is meant to be used by language bindings.
200+func (x *PreferencesRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
201+
202+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
203+
204+}
205+
206+// Updates a list of accessible relations.
207+//
208+// This function should be called by `GtkWidget` types whenever an accessible
209+// relation change must be communicated to assistive technologies.
210+//
211+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
212+// you should pass each reference individually, followed by %NULL, e.g.
213+//
214+// ```c
215+// gtk_accessible_update_relation (accessible,
216+//
217+// GTK_ACCESSIBLE_RELATION_CONTROLS,
218+// ref1, NULL,
219+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
220+// ref1, ref2, ref3, NULL,
221+// -1);
222+//
223+// ```
224+func (x *PreferencesRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
225+
226+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
227+
228+}
229+
230+// Updates an array of accessible relations.
231+//
232+// This function should be called by `GtkWidget` types whenever an accessible
233+// relation change must be communicated to assistive technologies.
234+//
235+// This function is meant to be used by language bindings.
236+func (x *PreferencesRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
237+
238+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
239+
240+}
241+
242+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
243+// documentation for the value types of accessible states.
244+//
245+// This function should be called by `GtkWidget` types whenever an accessible
246+// state change must be communicated to assistive technologies.
247+//
248+// Example:
249+// ```c
250+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
251+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
252+//
253+// GTK_ACCESSIBLE_STATE_CHECKED, value,
254+// -1);
255+//
256+// ```
257+func (x *PreferencesRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
258+
259+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
260+
261+}
262+
263+// Updates an array of accessible states.
264+//
265+// This function should be called by `GtkWidget` types whenever an accessible
266+// state change must be communicated to assistive technologies.
267+//
268+// This function is meant to be used by language bindings.
269+func (x *PreferencesRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
270+
271+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
272+
273+}
274+
275+// Gets the action name for @actionable.
276+func (x *PreferencesRow) GetActionName() string {
277+
278+ return gtk.XGtkActionableGetActionName(x.GoPointer())
279+
280+}
281+
282+// Gets the current target value of @actionable.
283+func (x *PreferencesRow) GetActionTargetValue() *glib.Variant {
284+
285+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
286+
287+}
288+
289+// Specifies the name of the action with which this widget should be
290+// associated.
291+//
292+// If @action_name is %NULL then the widget will be unassociated from
293+// any previous action.
294+//
295+// Usually this function is used when the widget is located (or will be
296+// located) within the hierarchy of a `GtkApplicationWindow`.
297+//
298+// Names are of the form “win.save” or “app.quit” for actions on the
299+// containing [class@ApplicationWindow] or its associated [class@Application],
300+// respectively. This is the same form used for actions in the [class@Gio.Menu]
301+// associated with the window.
302+func (x *PreferencesRow) SetActionName(ActionNameVar string) {
303+
304+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
305+
306+}
307+
308+// Sets the target of an actionable widget.
309+//
310+// This is a convenience function that calls [ctor@GLib.Variant.new] for
311+// @format_string and uses the result to call
312+// [method@Gtk.Actionable.set_action_target_value].
313+//
314+// If you are setting a string-valued target and want to set
315+// the action name at the same time, you can use
316+// [method@Gtk.Actionable.set_detailed_action_name].
317+func (x *PreferencesRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
318+
319+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
320+
321+}
322+
323+// Sets the target value of an actionable widget.
324+//
325+// If @target_value is %NULL then the target value is unset.
326+//
327+// The target value has two purposes. First, it is used as the parameter
328+// to activation of the action associated with the `GtkActionable` widget.
329+// Second, it is used to determine if the widget should be rendered as
330+// “active” — the widget is active if the state is equal to the given target.
331+//
332+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
333+// with string state in a typical “radio button” situation. Each button
334+// will be associated with the same action, but with a different target
335+// value for that action. Clicking on a particular button will activate
336+// the action with the target of that button, which will typically cause
337+// the action’s state to change to that value. Since the action’s state
338+// is now equal to the target value of the button, the button will now
339+// be rendered as active (and the other buttons, with different targets,
340+// rendered inactive).
341+func (x *PreferencesRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
342+
343+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
344+
345+}
346+
347+// Sets the action-name and associated string target value of an
348+// actionable widget.
349+//
350+// @detailed_action_name is a string in the format accepted by
351+// [func@Gio.Action.parse_detailed_name].
352+func (x *PreferencesRow) SetDetailedActionName(DetailedActionNameVar string) {
353+
354+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
355+
356+}
357+
358+// Gets the ID of the @buildable object.
359+//
360+// `GtkBuilder` sets the name based on the ID attribute
361+// of the &lt;object&gt; tag used to construct the @buildable.
362+func (x *PreferencesRow) GetBuildableId() string {
363+
364+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
365+
366+}
367+
368+func init() {
369+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
370+ if err != nil {
371+ panic(err)
372+ }
373+
374+ core.PuregoSafeRegister(&xNewPreferencesRow, lib, "adw_preferences_row_new")
375+
376+ core.PuregoSafeRegister(&xPreferencesRowGetTitle, lib, "adw_preferences_row_get_title")
377+ core.PuregoSafeRegister(&xPreferencesRowGetTitleSelectable, lib, "adw_preferences_row_get_title_selectable")
378+ core.PuregoSafeRegister(&xPreferencesRowGetUseMarkup, lib, "adw_preferences_row_get_use_markup")
379+ core.PuregoSafeRegister(&xPreferencesRowGetUseUnderline, lib, "adw_preferences_row_get_use_underline")
380+ core.PuregoSafeRegister(&xPreferencesRowSetTitle, lib, "adw_preferences_row_set_title")
381+ core.PuregoSafeRegister(&xPreferencesRowSetTitleSelectable, lib, "adw_preferences_row_set_title_selectable")
382+ core.PuregoSafeRegister(&xPreferencesRowSetUseMarkup, lib, "adw_preferences_row_set_use_markup")
383+ core.PuregoSafeRegister(&xPreferencesRowSetUseUnderline, lib, "adw_preferences_row_set_use_underline")
384+
385+}
A v4/adw/adw-preferences-window.go +491 -0
@@ -0,0 +1,491 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gsk"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type PreferencesWindowClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A window to present an application's preferences.
20+//
21+// &lt;picture&gt;
22+//
23+// &lt;source srcset="preferences-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
24+// &lt;img src="preferences-window.png" alt="preferences-window"&gt;
25+//
26+// &lt;/picture&gt;
27+//
28+// The `AdwPreferencesWindow` widget presents an application's preferences
29+// gathered into pages and groups. The preferences are searchable by the user.
30+//
31+// ## CSS nodes
32+//
33+// `AdwPreferencesWindow` has a main CSS node with the name `window` and the
34+// style class `.preferences`.
35+type PreferencesWindow struct {
36+ Window
37+}
38+
39+func PreferencesWindowNewFromInternalPtr(ptr uintptr) *PreferencesWindow {
40+ cls := &PreferencesWindow{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewPreferencesWindow func() uintptr
46+
47+// Creates a new `AdwPreferencesWindow`.
48+func NewPreferencesWindow() *gtk.Widget {
49+ NewPreferencesWindowPtr := xNewPreferencesWindow()
50+ if NewPreferencesWindowPtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewPreferencesWindowPtr)
55+
56+ NewPreferencesWindowCls := &gtk.Widget{}
57+ NewPreferencesWindowCls.Ptr = NewPreferencesWindowPtr
58+ return NewPreferencesWindowCls
59+}
60+
61+var xPreferencesWindowAdd func(uintptr, uintptr)
62+
63+// Adds a preferences page to @self.
64+func (x *PreferencesWindow) Add(PageVar *PreferencesPage) {
65+
66+ xPreferencesWindowAdd(x.GoPointer(), PageVar.GoPointer())
67+
68+}
69+
70+var xPreferencesWindowAddToast func(uintptr, uintptr)
71+
72+// Displays @toast.
73+//
74+// See [method@ToastOverlay.add_toast].
75+func (x *PreferencesWindow) AddToast(ToastVar *Toast) {
76+
77+ xPreferencesWindowAddToast(x.GoPointer(), ToastVar.GoPointer())
78+
79+}
80+
81+var xPreferencesWindowCloseSubpage func(uintptr)
82+
83+// Closes the current subpage.
84+//
85+// If there is no presented subpage, this does nothing.
86+func (x *PreferencesWindow) CloseSubpage() {
87+
88+ xPreferencesWindowCloseSubpage(x.GoPointer())
89+
90+}
91+
92+var xPreferencesWindowGetCanNavigateBack func(uintptr) bool
93+
94+// Gets whether gestures and shortcuts for closing subpages are enabled.
95+func (x *PreferencesWindow) GetCanNavigateBack() bool {
96+
97+ return xPreferencesWindowGetCanNavigateBack(x.GoPointer())
98+
99+}
100+
101+var xPreferencesWindowGetSearchEnabled func(uintptr) bool
102+
103+// Gets whether search is enabled for @self.
104+func (x *PreferencesWindow) GetSearchEnabled() bool {
105+
106+ return xPreferencesWindowGetSearchEnabled(x.GoPointer())
107+
108+}
109+
110+var xPreferencesWindowGetVisiblePage func(uintptr) uintptr
111+
112+// Gets the currently visible page of @self.
113+func (x *PreferencesWindow) GetVisiblePage() *PreferencesPage {
114+
115+ GetVisiblePagePtr := xPreferencesWindowGetVisiblePage(x.GoPointer())
116+ if GetVisiblePagePtr == 0 {
117+ return nil
118+ }
119+
120+ gobject.IncreaseRef(GetVisiblePagePtr)
121+
122+ GetVisiblePageCls := &PreferencesPage{}
123+ GetVisiblePageCls.Ptr = GetVisiblePagePtr
124+ return GetVisiblePageCls
125+
126+}
127+
128+var xPreferencesWindowGetVisiblePageName func(uintptr) string
129+
130+// Gets the name of currently visible page of @self.
131+func (x *PreferencesWindow) GetVisiblePageName() string {
132+
133+ return xPreferencesWindowGetVisiblePageName(x.GoPointer())
134+
135+}
136+
137+var xPreferencesWindowPresentSubpage func(uintptr, uintptr)
138+
139+// Sets @subpage as the window's subpage and opens it.
140+//
141+// The transition can be cancelled by the user, in which case visible child will
142+// change back to the previously visible child.
143+func (x *PreferencesWindow) PresentSubpage(SubpageVar *gtk.Widget) {
144+
145+ xPreferencesWindowPresentSubpage(x.GoPointer(), SubpageVar.GoPointer())
146+
147+}
148+
149+var xPreferencesWindowRemove func(uintptr, uintptr)
150+
151+// Removes a page from @self.
152+func (x *PreferencesWindow) Remove(PageVar *PreferencesPage) {
153+
154+ xPreferencesWindowRemove(x.GoPointer(), PageVar.GoPointer())
155+
156+}
157+
158+var xPreferencesWindowSetCanNavigateBack func(uintptr, bool)
159+
160+// Sets whether gestures and shortcuts for closing subpages are enabled.
161+//
162+// The supported gestures are:
163+//
164+// - One-finger swipe on touchscreens
165+// - Horizontal scrolling on touchpads (usually two-finger swipe)
166+// - Back mouse button
167+//
168+// The keyboard back key is also supported, as well as the
169+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.
170+//
171+// For right-to-left locales, gestures and shortcuts are reversed.
172+func (x *PreferencesWindow) SetCanNavigateBack(CanNavigateBackVar bool) {
173+
174+ xPreferencesWindowSetCanNavigateBack(x.GoPointer(), CanNavigateBackVar)
175+
176+}
177+
178+var xPreferencesWindowSetSearchEnabled func(uintptr, bool)
179+
180+// Sets whether search is enabled for @self.
181+func (x *PreferencesWindow) SetSearchEnabled(SearchEnabledVar bool) {
182+
183+ xPreferencesWindowSetSearchEnabled(x.GoPointer(), SearchEnabledVar)
184+
185+}
186+
187+var xPreferencesWindowSetVisiblePage func(uintptr, uintptr)
188+
189+// Makes @page the visible page of @self.
190+func (x *PreferencesWindow) SetVisiblePage(PageVar *PreferencesPage) {
191+
192+ xPreferencesWindowSetVisiblePage(x.GoPointer(), PageVar.GoPointer())
193+
194+}
195+
196+var xPreferencesWindowSetVisiblePageName func(uintptr, string)
197+
198+// Makes the page with the given name visible.
199+//
200+// See [property@ViewStack:visible-child].
201+func (x *PreferencesWindow) SetVisiblePageName(NameVar string) {
202+
203+ xPreferencesWindowSetVisiblePageName(x.GoPointer(), NameVar)
204+
205+}
206+
207+func (c *PreferencesWindow) GoPointer() uintptr {
208+ return c.Ptr
209+}
210+
211+func (c *PreferencesWindow) SetGoPointer(ptr uintptr) {
212+ c.Ptr = ptr
213+}
214+
215+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
216+func (x *PreferencesWindow) GetAccessibleRole() gtk.AccessibleRole {
217+
218+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
219+
220+}
221+
222+// Resets the accessible @property to its default value.
223+func (x *PreferencesWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
224+
225+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
226+
227+}
228+
229+// Resets the accessible @relation to its default value.
230+func (x *PreferencesWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
231+
232+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
233+
234+}
235+
236+// Resets the accessible @state to its default value.
237+func (x *PreferencesWindow) ResetState(StateVar gtk.AccessibleState) {
238+
239+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
240+
241+}
242+
243+// Updates a list of accessible properties.
244+//
245+// See the [enum@Gtk.AccessibleProperty] documentation for the
246+// value types of accessible properties.
247+//
248+// This function should be called by `GtkWidget` types whenever
249+// an accessible property change must be communicated to assistive
250+// technologies.
251+//
252+// Example:
253+// ```c
254+// value = gtk_adjustment_get_value (adjustment);
255+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
256+//
257+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
258+// -1);
259+//
260+// ```
261+func (x *PreferencesWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
262+
263+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
264+
265+}
266+
267+// Updates an array of accessible properties.
268+//
269+// This function should be called by `GtkWidget` types whenever an accessible
270+// property change must be communicated to assistive technologies.
271+//
272+// This function is meant to be used by language bindings.
273+func (x *PreferencesWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
274+
275+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
276+
277+}
278+
279+// Updates a list of accessible relations.
280+//
281+// This function should be called by `GtkWidget` types whenever an accessible
282+// relation change must be communicated to assistive technologies.
283+//
284+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
285+// you should pass each reference individually, followed by %NULL, e.g.
286+//
287+// ```c
288+// gtk_accessible_update_relation (accessible,
289+//
290+// GTK_ACCESSIBLE_RELATION_CONTROLS,
291+// ref1, NULL,
292+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
293+// ref1, ref2, ref3, NULL,
294+// -1);
295+//
296+// ```
297+func (x *PreferencesWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
298+
299+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
300+
301+}
302+
303+// Updates an array of accessible relations.
304+//
305+// This function should be called by `GtkWidget` types whenever an accessible
306+// relation change must be communicated to assistive technologies.
307+//
308+// This function is meant to be used by language bindings.
309+func (x *PreferencesWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
310+
311+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
312+
313+}
314+
315+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
316+// documentation for the value types of accessible states.
317+//
318+// This function should be called by `GtkWidget` types whenever an accessible
319+// state change must be communicated to assistive technologies.
320+//
321+// Example:
322+// ```c
323+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
324+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
325+//
326+// GTK_ACCESSIBLE_STATE_CHECKED, value,
327+// -1);
328+//
329+// ```
330+func (x *PreferencesWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
331+
332+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
333+
334+}
335+
336+// Updates an array of accessible states.
337+//
338+// This function should be called by `GtkWidget` types whenever an accessible
339+// state change must be communicated to assistive technologies.
340+//
341+// This function is meant to be used by language bindings.
342+func (x *PreferencesWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
343+
344+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
345+
346+}
347+
348+// Gets the ID of the @buildable object.
349+//
350+// `GtkBuilder` sets the name based on the ID attribute
351+// of the &lt;object&gt; tag used to construct the @buildable.
352+func (x *PreferencesWindow) GetBuildableId() string {
353+
354+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
355+
356+}
357+
358+// Returns the renderer that is used for this `GtkNative`.
359+func (x *PreferencesWindow) GetRenderer() *gsk.Renderer {
360+
361+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
362+ if GetRendererPtr == 0 {
363+ return nil
364+ }
365+
366+ gobject.IncreaseRef(GetRendererPtr)
367+
368+ GetRendererCls := &gsk.Renderer{}
369+ GetRendererCls.Ptr = GetRendererPtr
370+ return GetRendererCls
371+
372+}
373+
374+// Returns the surface of this `GtkNative`.
375+func (x *PreferencesWindow) GetSurface() *gdk.Surface {
376+
377+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
378+ if GetSurfacePtr == 0 {
379+ return nil
380+ }
381+
382+ gobject.IncreaseRef(GetSurfacePtr)
383+
384+ GetSurfaceCls := &gdk.Surface{}
385+ GetSurfaceCls.Ptr = GetSurfacePtr
386+ return GetSurfaceCls
387+
388+}
389+
390+// Retrieves the surface transform of @self.
391+//
392+// This is the translation from @self's surface coordinates into
393+// @self's widget coordinates.
394+func (x *PreferencesWindow) GetSurfaceTransform(XVar float64, YVar float64) {
395+
396+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
397+
398+}
399+
400+// Realizes a `GtkNative`.
401+//
402+// This should only be used by subclasses.
403+func (x *PreferencesWindow) Realize() {
404+
405+ gtk.XGtkNativeRealize(x.GoPointer())
406+
407+}
408+
409+// Unrealizes a `GtkNative`.
410+//
411+// This should only be used by subclasses.
412+func (x *PreferencesWindow) Unrealize() {
413+
414+ gtk.XGtkNativeUnrealize(x.GoPointer())
415+
416+}
417+
418+// Returns the display that this `GtkRoot` is on.
419+func (x *PreferencesWindow) GetDisplay() *gdk.Display {
420+
421+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
422+ if GetDisplayPtr == 0 {
423+ return nil
424+ }
425+
426+ gobject.IncreaseRef(GetDisplayPtr)
427+
428+ GetDisplayCls := &gdk.Display{}
429+ GetDisplayCls.Ptr = GetDisplayPtr
430+ return GetDisplayCls
431+
432+}
433+
434+// Retrieves the current focused widget within the root.
435+//
436+// Note that this is the widget that would have the focus
437+// if the root is active; if the root is not focused then
438+// `gtk_widget_has_focus (widget)` will be %FALSE for the
439+// widget.
440+func (x *PreferencesWindow) GetFocus() *gtk.Widget {
441+
442+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
443+ if GetFocusPtr == 0 {
444+ return nil
445+ }
446+
447+ gobject.IncreaseRef(GetFocusPtr)
448+
449+ GetFocusCls := &gtk.Widget{}
450+ GetFocusCls.Ptr = GetFocusPtr
451+ return GetFocusCls
452+
453+}
454+
455+// If @focus is not the current focus widget, and is focusable, sets
456+// it as the focus widget for the root.
457+//
458+// If @focus is %NULL, unsets the focus widget for the root.
459+//
460+// To set the focus to a particular widget in the root, it is usually
461+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
462+// this function.
463+func (x *PreferencesWindow) SetFocus(FocusVar *gtk.Widget) {
464+
465+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
466+
467+}
468+
469+func init() {
470+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
471+ if err != nil {
472+ panic(err)
473+ }
474+
475+ core.PuregoSafeRegister(&xNewPreferencesWindow, lib, "adw_preferences_window_new")
476+
477+ core.PuregoSafeRegister(&xPreferencesWindowAdd, lib, "adw_preferences_window_add")
478+ core.PuregoSafeRegister(&xPreferencesWindowAddToast, lib, "adw_preferences_window_add_toast")
479+ core.PuregoSafeRegister(&xPreferencesWindowCloseSubpage, lib, "adw_preferences_window_close_subpage")
480+ core.PuregoSafeRegister(&xPreferencesWindowGetCanNavigateBack, lib, "adw_preferences_window_get_can_navigate_back")
481+ core.PuregoSafeRegister(&xPreferencesWindowGetSearchEnabled, lib, "adw_preferences_window_get_search_enabled")
482+ core.PuregoSafeRegister(&xPreferencesWindowGetVisiblePage, lib, "adw_preferences_window_get_visible_page")
483+ core.PuregoSafeRegister(&xPreferencesWindowGetVisiblePageName, lib, "adw_preferences_window_get_visible_page_name")
484+ core.PuregoSafeRegister(&xPreferencesWindowPresentSubpage, lib, "adw_preferences_window_present_subpage")
485+ core.PuregoSafeRegister(&xPreferencesWindowRemove, lib, "adw_preferences_window_remove")
486+ core.PuregoSafeRegister(&xPreferencesWindowSetCanNavigateBack, lib, "adw_preferences_window_set_can_navigate_back")
487+ core.PuregoSafeRegister(&xPreferencesWindowSetSearchEnabled, lib, "adw_preferences_window_set_search_enabled")
488+ core.PuregoSafeRegister(&xPreferencesWindowSetVisiblePage, lib, "adw_preferences_window_set_visible_page")
489+ core.PuregoSafeRegister(&xPreferencesWindowSetVisiblePageName, lib, "adw_preferences_window_set_visible_page_name")
490+
491+}
A v4/adw/adw-split-button.go +594 -0
@@ -0,0 +1,594 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type SplitButtonClass struct {
14+ ParentClass uintptr
15+}
16+
17+// A combined button and dropdown widget.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="split-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="split-button.png" alt="split-button"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// `AdwSplitButton` is typically used to present a set of actions in a menu,
27+// but allow access to one of them with a single click.
28+//
29+// The API is very similar to [class@Gtk.Button] and [class@Gtk.MenuButton], see
30+// their documentation for details.
31+//
32+// ## CSS nodes
33+//
34+// ```
35+// splitbutton[.image-button][.text-button]
36+// ├── button
37+// │ ╰── &lt;content&gt;
38+// ├── separator
39+// ╰── menubutton
40+//
41+// ╰── button.toggle
42+// ╰── arrow
43+//
44+// ```
45+//
46+// `AdwSplitButton`'s CSS node is called `splitbutton`. It contains the css
47+// nodes: `button`, `separator`, `menubutton`. See [class@Gtk.MenuButton]
48+// documentation for the `menubutton` contents.
49+//
50+// The main CSS node will contain the `.image-button` or `.text-button` style
51+// classes matching the button contents. The nested button nodes will never
52+// contain them.
53+//
54+// ## Accessibility
55+//
56+// `AdwSplitButton` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
57+type SplitButton struct {
58+ gtk.Widget
59+}
60+
61+func SplitButtonNewFromInternalPtr(ptr uintptr) *SplitButton {
62+ cls := &SplitButton{}
63+ cls.Ptr = ptr
64+ return cls
65+}
66+
67+var xNewSplitButton func() uintptr
68+
69+// Creates a new `AdwSplitButton`.
70+func NewSplitButton() *gtk.Widget {
71+ NewSplitButtonPtr := xNewSplitButton()
72+ if NewSplitButtonPtr == 0 {
73+ return nil
74+ }
75+
76+ gobject.IncreaseRef(NewSplitButtonPtr)
77+
78+ NewSplitButtonCls := &gtk.Widget{}
79+ NewSplitButtonCls.Ptr = NewSplitButtonPtr
80+ return NewSplitButtonCls
81+}
82+
83+var xSplitButtonGetChild func(uintptr) uintptr
84+
85+// Gets the child widget.
86+func (x *SplitButton) GetChild() *gtk.Widget {
87+
88+ GetChildPtr := xSplitButtonGetChild(x.GoPointer())
89+ if GetChildPtr == 0 {
90+ return nil
91+ }
92+
93+ gobject.IncreaseRef(GetChildPtr)
94+
95+ GetChildCls := &gtk.Widget{}
96+ GetChildCls.Ptr = GetChildPtr
97+ return GetChildCls
98+
99+}
100+
101+var xSplitButtonGetDirection func(uintptr) gtk.ArrowType
102+
103+// Gets the direction in which the popup will be popped up.
104+func (x *SplitButton) GetDirection() gtk.ArrowType {
105+
106+ return xSplitButtonGetDirection(x.GoPointer())
107+
108+}
109+
110+var xSplitButtonGetDropdownTooltip func(uintptr) string
111+
112+// Gets the tooltip of the dropdown button of @self.
113+func (x *SplitButton) GetDropdownTooltip() string {
114+
115+ return xSplitButtonGetDropdownTooltip(x.GoPointer())
116+
117+}
118+
119+var xSplitButtonGetIconName func(uintptr) string
120+
121+// Gets the name of the icon used to automatically populate the button.
122+func (x *SplitButton) GetIconName() string {
123+
124+ return xSplitButtonGetIconName(x.GoPointer())
125+
126+}
127+
128+var xSplitButtonGetLabel func(uintptr) string
129+
130+// Gets the label for @self.
131+func (x *SplitButton) GetLabel() string {
132+
133+ return xSplitButtonGetLabel(x.GoPointer())
134+
135+}
136+
137+var xSplitButtonGetMenuModel func(uintptr) uintptr
138+
139+// Gets the menu model from which the popup will be created.
140+func (x *SplitButton) GetMenuModel() *gio.MenuModel {
141+
142+ GetMenuModelPtr := xSplitButtonGetMenuModel(x.GoPointer())
143+ if GetMenuModelPtr == 0 {
144+ return nil
145+ }
146+
147+ gobject.IncreaseRef(GetMenuModelPtr)
148+
149+ GetMenuModelCls := &gio.MenuModel{}
150+ GetMenuModelCls.Ptr = GetMenuModelPtr
151+ return GetMenuModelCls
152+
153+}
154+
155+var xSplitButtonGetPopover func(uintptr) uintptr
156+
157+// Gets the popover that will be popped up when the dropdown is clicked.
158+func (x *SplitButton) GetPopover() *gtk.Popover {
159+
160+ GetPopoverPtr := xSplitButtonGetPopover(x.GoPointer())
161+ if GetPopoverPtr == 0 {
162+ return nil
163+ }
164+
165+ gobject.IncreaseRef(GetPopoverPtr)
166+
167+ GetPopoverCls := &gtk.Popover{}
168+ GetPopoverCls.Ptr = GetPopoverPtr
169+ return GetPopoverCls
170+
171+}
172+
173+var xSplitButtonGetUseUnderline func(uintptr) bool
174+
175+// Gets whether an underline in the text indicates a mnemonic.
176+func (x *SplitButton) GetUseUnderline() bool {
177+
178+ return xSplitButtonGetUseUnderline(x.GoPointer())
179+
180+}
181+
182+var xSplitButtonPopdown func(uintptr)
183+
184+// Dismisses the menu.
185+func (x *SplitButton) Popdown() {
186+
187+ xSplitButtonPopdown(x.GoPointer())
188+
189+}
190+
191+var xSplitButtonPopup func(uintptr)
192+
193+// Pops up the menu.
194+func (x *SplitButton) Popup() {
195+
196+ xSplitButtonPopup(x.GoPointer())
197+
198+}
199+
200+var xSplitButtonSetChild func(uintptr, uintptr)
201+
202+// Sets the child widget.
203+//
204+// Setting the child widget will set [property@SplitButton:label] and
205+// [property@SplitButton:icon-name] to `NULL`.
206+func (x *SplitButton) SetChild(ChildVar *gtk.Widget) {
207+
208+ xSplitButtonSetChild(x.GoPointer(), ChildVar.GoPointer())
209+
210+}
211+
212+var xSplitButtonSetDirection func(uintptr, gtk.ArrowType)
213+
214+// Sets the direction in which the popup will be popped up.
215+//
216+// The dropdown arrow icon will point at the same direction.
217+//
218+// If the does not fit in the available space in the given direction, GTK will
219+// try its best to keep it inside the screen and fully visible.
220+//
221+// If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.
222+func (x *SplitButton) SetDirection(DirectionVar gtk.ArrowType) {
223+
224+ xSplitButtonSetDirection(x.GoPointer(), DirectionVar)
225+
226+}
227+
228+var xSplitButtonSetDropdownTooltip func(uintptr, string)
229+
230+// Sets the tooltip of the dropdown button of @self.
231+//
232+// The tooltip can be marked up with the Pango text markup language.
233+func (x *SplitButton) SetDropdownTooltip(TooltipVar string) {
234+
235+ xSplitButtonSetDropdownTooltip(x.GoPointer(), TooltipVar)
236+
237+}
238+
239+var xSplitButtonSetIconName func(uintptr, string)
240+
241+// Sets the name of the icon used to automatically populate the button.
242+//
243+// Setting the icon name will set [property@SplitButton:label] and
244+// [property@SplitButton:child] to `NULL`.
245+func (x *SplitButton) SetIconName(IconNameVar string) {
246+
247+ xSplitButtonSetIconName(x.GoPointer(), IconNameVar)
248+
249+}
250+
251+var xSplitButtonSetLabel func(uintptr, string)
252+
253+// Sets the label for @self.
254+//
255+// Setting the label will set [property@SplitButton:icon-name] and
256+// [property@SplitButton:child] to `NULL`.
257+func (x *SplitButton) SetLabel(LabelVar string) {
258+
259+ xSplitButtonSetLabel(x.GoPointer(), LabelVar)
260+
261+}
262+
263+var xSplitButtonSetMenuModel func(uintptr, uintptr)
264+
265+// Sets the menu model from which the popup will be created.
266+//
267+// If the menu model is `NULL`, the dropdown is disabled.
268+//
269+// A [class@Gtk.Popover] will be created from the menu model with
270+// [ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
271+// documented for this function.
272+//
273+// If [property@SplitButton:popover] is already set, it will be dissociated from
274+// the button, and the property is set to `NULL`.
275+func (x *SplitButton) SetMenuModel(MenuModelVar *gio.MenuModel) {
276+
277+ xSplitButtonSetMenuModel(x.GoPointer(), MenuModelVar.GoPointer())
278+
279+}
280+
281+var xSplitButtonSetPopover func(uintptr, uintptr)
282+
283+// Sets the popover that will be popped up when the dropdown is clicked.
284+//
285+// If the popover is `NULL`, the dropdown is disabled.
286+//
287+// If [property@SplitButton:menu-model] is set, the menu model is dissociated
288+// from the button, and the property is set to `NULL`.
289+func (x *SplitButton) SetPopover(PopoverVar *gtk.Popover) {
290+
291+ xSplitButtonSetPopover(x.GoPointer(), PopoverVar.GoPointer())
292+
293+}
294+
295+var xSplitButtonSetUseUnderline func(uintptr, bool)
296+
297+// Sets whether an underline in the text indicates a mnemonic.
298+//
299+// See [property@SplitButton:label].
300+func (x *SplitButton) SetUseUnderline(UseUnderlineVar bool) {
301+
302+ xSplitButtonSetUseUnderline(x.GoPointer(), UseUnderlineVar)
303+
304+}
305+
306+func (c *SplitButton) GoPointer() uintptr {
307+ return c.Ptr
308+}
309+
310+func (c *SplitButton) SetGoPointer(ptr uintptr) {
311+ c.Ptr = ptr
312+}
313+
314+// Emitted to animate press then release.
315+//
316+// This is an action signal. Applications should never connect to this signal,
317+// but use the [signal@SplitButton::clicked] signal.
318+func (x *SplitButton) ConnectActivate(cb func(SplitButton)) {
319+ fcb := func(clsPtr uintptr) {
320+ fa := SplitButton{}
321+ fa.Ptr = clsPtr
322+
323+ cb(fa)
324+
325+ }
326+ gobject.ObjectConnect(x.GoPointer(), "signal::activate", purego.NewCallback(fcb))
327+}
328+
329+// Emitted when the button has been activated (pressed and released).
330+func (x *SplitButton) ConnectClicked(cb func(SplitButton)) {
331+ fcb := func(clsPtr uintptr) {
332+ fa := SplitButton{}
333+ fa.Ptr = clsPtr
334+
335+ cb(fa)
336+
337+ }
338+ gobject.ObjectConnect(x.GoPointer(), "signal::clicked", purego.NewCallback(fcb))
339+}
340+
341+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
342+func (x *SplitButton) GetAccessibleRole() gtk.AccessibleRole {
343+
344+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
345+
346+}
347+
348+// Resets the accessible @property to its default value.
349+func (x *SplitButton) ResetProperty(PropertyVar gtk.AccessibleProperty) {
350+
351+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
352+
353+}
354+
355+// Resets the accessible @relation to its default value.
356+func (x *SplitButton) ResetRelation(RelationVar gtk.AccessibleRelation) {
357+
358+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
359+
360+}
361+
362+// Resets the accessible @state to its default value.
363+func (x *SplitButton) ResetState(StateVar gtk.AccessibleState) {
364+
365+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
366+
367+}
368+
369+// Updates a list of accessible properties.
370+//
371+// See the [enum@Gtk.AccessibleProperty] documentation for the
372+// value types of accessible properties.
373+//
374+// This function should be called by `GtkWidget` types whenever
375+// an accessible property change must be communicated to assistive
376+// technologies.
377+//
378+// Example:
379+// ```c
380+// value = gtk_adjustment_get_value (adjustment);
381+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
382+//
383+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
384+// -1);
385+//
386+// ```
387+func (x *SplitButton) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
388+
389+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
390+
391+}
392+
393+// Updates an array of accessible properties.
394+//
395+// This function should be called by `GtkWidget` types whenever an accessible
396+// property change must be communicated to assistive technologies.
397+//
398+// This function is meant to be used by language bindings.
399+func (x *SplitButton) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
400+
401+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
402+
403+}
404+
405+// Updates a list of accessible relations.
406+//
407+// This function should be called by `GtkWidget` types whenever an accessible
408+// relation change must be communicated to assistive technologies.
409+//
410+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
411+// you should pass each reference individually, followed by %NULL, e.g.
412+//
413+// ```c
414+// gtk_accessible_update_relation (accessible,
415+//
416+// GTK_ACCESSIBLE_RELATION_CONTROLS,
417+// ref1, NULL,
418+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
419+// ref1, ref2, ref3, NULL,
420+// -1);
421+//
422+// ```
423+func (x *SplitButton) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
424+
425+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
426+
427+}
428+
429+// Updates an array of accessible relations.
430+//
431+// This function should be called by `GtkWidget` types whenever an accessible
432+// relation change must be communicated to assistive technologies.
433+//
434+// This function is meant to be used by language bindings.
435+func (x *SplitButton) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
436+
437+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
438+
439+}
440+
441+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
442+// documentation for the value types of accessible states.
443+//
444+// This function should be called by `GtkWidget` types whenever an accessible
445+// state change must be communicated to assistive technologies.
446+//
447+// Example:
448+// ```c
449+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
450+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
451+//
452+// GTK_ACCESSIBLE_STATE_CHECKED, value,
453+// -1);
454+//
455+// ```
456+func (x *SplitButton) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
457+
458+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
459+
460+}
461+
462+// Updates an array of accessible states.
463+//
464+// This function should be called by `GtkWidget` types whenever an accessible
465+// state change must be communicated to assistive technologies.
466+//
467+// This function is meant to be used by language bindings.
468+func (x *SplitButton) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
469+
470+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
471+
472+}
473+
474+// Gets the action name for @actionable.
475+func (x *SplitButton) GetActionName() string {
476+
477+ return gtk.XGtkActionableGetActionName(x.GoPointer())
478+
479+}
480+
481+// Gets the current target value of @actionable.
482+func (x *SplitButton) GetActionTargetValue() *glib.Variant {
483+
484+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
485+
486+}
487+
488+// Specifies the name of the action with which this widget should be
489+// associated.
490+//
491+// If @action_name is %NULL then the widget will be unassociated from
492+// any previous action.
493+//
494+// Usually this function is used when the widget is located (or will be
495+// located) within the hierarchy of a `GtkApplicationWindow`.
496+//
497+// Names are of the form “win.save” or “app.quit” for actions on the
498+// containing [class@ApplicationWindow] or its associated [class@Application],
499+// respectively. This is the same form used for actions in the [class@Gio.Menu]
500+// associated with the window.
501+func (x *SplitButton) SetActionName(ActionNameVar string) {
502+
503+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
504+
505+}
506+
507+// Sets the target of an actionable widget.
508+//
509+// This is a convenience function that calls [ctor@GLib.Variant.new] for
510+// @format_string and uses the result to call
511+// [method@Gtk.Actionable.set_action_target_value].
512+//
513+// If you are setting a string-valued target and want to set
514+// the action name at the same time, you can use
515+// [method@Gtk.Actionable.set_detailed_action_name].
516+func (x *SplitButton) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
517+
518+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
519+
520+}
521+
522+// Sets the target value of an actionable widget.
523+//
524+// If @target_value is %NULL then the target value is unset.
525+//
526+// The target value has two purposes. First, it is used as the parameter
527+// to activation of the action associated with the `GtkActionable` widget.
528+// Second, it is used to determine if the widget should be rendered as
529+// “active” — the widget is active if the state is equal to the given target.
530+//
531+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
532+// with string state in a typical “radio button” situation. Each button
533+// will be associated with the same action, but with a different target
534+// value for that action. Clicking on a particular button will activate
535+// the action with the target of that button, which will typically cause
536+// the action’s state to change to that value. Since the action’s state
537+// is now equal to the target value of the button, the button will now
538+// be rendered as active (and the other buttons, with different targets,
539+// rendered inactive).
540+func (x *SplitButton) SetActionTargetValue(TargetValueVar *glib.Variant) {
541+
542+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
543+
544+}
545+
546+// Sets the action-name and associated string target value of an
547+// actionable widget.
548+//
549+// @detailed_action_name is a string in the format accepted by
550+// [func@Gio.Action.parse_detailed_name].
551+func (x *SplitButton) SetDetailedActionName(DetailedActionNameVar string) {
552+
553+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
554+
555+}
556+
557+// Gets the ID of the @buildable object.
558+//
559+// `GtkBuilder` sets the name based on the ID attribute
560+// of the &lt;object&gt; tag used to construct the @buildable.
561+func (x *SplitButton) GetBuildableId() string {
562+
563+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
564+
565+}
566+
567+func init() {
568+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
569+ if err != nil {
570+ panic(err)
571+ }
572+
573+ core.PuregoSafeRegister(&xNewSplitButton, lib, "adw_split_button_new")
574+
575+ core.PuregoSafeRegister(&xSplitButtonGetChild, lib, "adw_split_button_get_child")
576+ core.PuregoSafeRegister(&xSplitButtonGetDirection, lib, "adw_split_button_get_direction")
577+ core.PuregoSafeRegister(&xSplitButtonGetDropdownTooltip, lib, "adw_split_button_get_dropdown_tooltip")
578+ core.PuregoSafeRegister(&xSplitButtonGetIconName, lib, "adw_split_button_get_icon_name")
579+ core.PuregoSafeRegister(&xSplitButtonGetLabel, lib, "adw_split_button_get_label")
580+ core.PuregoSafeRegister(&xSplitButtonGetMenuModel, lib, "adw_split_button_get_menu_model")
581+ core.PuregoSafeRegister(&xSplitButtonGetPopover, lib, "adw_split_button_get_popover")
582+ core.PuregoSafeRegister(&xSplitButtonGetUseUnderline, lib, "adw_split_button_get_use_underline")
583+ core.PuregoSafeRegister(&xSplitButtonPopdown, lib, "adw_split_button_popdown")
584+ core.PuregoSafeRegister(&xSplitButtonPopup, lib, "adw_split_button_popup")
585+ core.PuregoSafeRegister(&xSplitButtonSetChild, lib, "adw_split_button_set_child")
586+ core.PuregoSafeRegister(&xSplitButtonSetDirection, lib, "adw_split_button_set_direction")
587+ core.PuregoSafeRegister(&xSplitButtonSetDropdownTooltip, lib, "adw_split_button_set_dropdown_tooltip")
588+ core.PuregoSafeRegister(&xSplitButtonSetIconName, lib, "adw_split_button_set_icon_name")
589+ core.PuregoSafeRegister(&xSplitButtonSetLabel, lib, "adw_split_button_set_label")
590+ core.PuregoSafeRegister(&xSplitButtonSetMenuModel, lib, "adw_split_button_set_menu_model")
591+ core.PuregoSafeRegister(&xSplitButtonSetPopover, lib, "adw_split_button_set_popover")
592+ core.PuregoSafeRegister(&xSplitButtonSetUseUnderline, lib, "adw_split_button_set_use_underline")
593+
594+}
A v4/adw/adw-spring-animation.go +288 -0
@@ -0,0 +1,288 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type SpringAnimationClass struct {
12+}
13+
14+// A spring-based [class@Animation].
15+//
16+// `AdwSpringAnimation` implements an animation driven by a physical model of a
17+// spring described by [struct@SpringParams], with a resting position in
18+// [property@SpringAnimation:value-to], stretched to
19+// [property@SpringAnimation:value-from].
20+//
21+// Since the animation is physically simulated, spring animations don't have a
22+// fixed duration. The animation will stop when the simulated spring comes to a
23+// rest - when the amplitude of the oscillations becomes smaller than
24+// [property@SpringAnimation:epsilon], or immediately when it reaches
25+// [property@SpringAnimation:value-to] if
26+// [property@SpringAnimation:clamp] is set to `TRUE`. The estimated duration can
27+// be obtained with [property@SpringAnimation:estimated-duration].
28+//
29+// Due to the nature of spring-driven motion the animation can overshoot
30+// [property@SpringAnimation:value-to] before coming to a rest. Whether the
31+// animation will overshoot or not depends on the damping ratio of the spring.
32+// See [struct@SpringParams] for more information about specific damping ratio
33+// values.
34+//
35+// If [property@SpringAnimation:clamp] is `TRUE`, the animation will abruptly
36+// end as soon as it reaches the final value, preventing overshooting.
37+//
38+// Animations can have an initial velocity value, set via
39+// [property@SpringAnimation:initial-velocity], which adjusts the curve without
40+// changing the duration. This makes spring animations useful for deceleration
41+// at the end of gestures.
42+//
43+// If the initial and final values are equal, and the initial velocity is not 0,
44+// the animation value will bounce and return to its resting position.
45+type SpringAnimation struct {
46+ Animation
47+}
48+
49+func SpringAnimationNewFromInternalPtr(ptr uintptr) *SpringAnimation {
50+ cls := &SpringAnimation{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewSpringAnimation func(uintptr, float64, float64, *SpringParams, uintptr) uintptr
56+
57+// Creates a new `AdwSpringAnimation` on @widget.
58+//
59+// The animation will animate @target from @from to @to with the dynamics of a
60+// spring described by @spring_params.
61+func NewSpringAnimation(WidgetVar *gtk.Widget, FromVar float64, ToVar float64, SpringParamsVar *SpringParams, TargetVar *AnimationTarget) *Animation {
62+ NewSpringAnimationPtr := xNewSpringAnimation(WidgetVar.GoPointer(), FromVar, ToVar, SpringParamsVar, TargetVar.GoPointer())
63+ if NewSpringAnimationPtr == 0 {
64+ return nil
65+ }
66+
67+ gobject.IncreaseRef(NewSpringAnimationPtr)
68+
69+ NewSpringAnimationCls := &Animation{}
70+ NewSpringAnimationCls.Ptr = NewSpringAnimationPtr
71+ return NewSpringAnimationCls
72+}
73+
74+var xSpringAnimationCalculateValue func(uintptr, uint) float64
75+
76+// Calculates the value @self will have at @time.
77+//
78+// The time starts at 0 and ends at
79+// [property@SpringAnimation:estimated_duration].
80+//
81+// See also [method@SpringAnimation.calculate_velocity].
82+func (x *SpringAnimation) CalculateValue(TimeVar uint) float64 {
83+
84+ return xSpringAnimationCalculateValue(x.GoPointer(), TimeVar)
85+
86+}
87+
88+var xSpringAnimationCalculateVelocity func(uintptr, uint) float64
89+
90+// Calculates the velocity @self will have at @time.
91+//
92+// The time starts at 0 and ends at
93+// [property@SpringAnimation:estimated_duration].
94+//
95+// See also [method@SpringAnimation.calculate_value].
96+func (x *SpringAnimation) CalculateVelocity(TimeVar uint) float64 {
97+
98+ return xSpringAnimationCalculateVelocity(x.GoPointer(), TimeVar)
99+
100+}
101+
102+var xSpringAnimationGetClamp func(uintptr) bool
103+
104+// Gets whether @self should be clamped.
105+func (x *SpringAnimation) GetClamp() bool {
106+
107+ return xSpringAnimationGetClamp(x.GoPointer())
108+
109+}
110+
111+var xSpringAnimationGetEpsilon func(uintptr) float64
112+
113+// Gets the precision of the spring.
114+func (x *SpringAnimation) GetEpsilon() float64 {
115+
116+ return xSpringAnimationGetEpsilon(x.GoPointer())
117+
118+}
119+
120+var xSpringAnimationGetEstimatedDuration func(uintptr) uint
121+
122+// Gets the estimated duration of @self, in milliseconds.
123+//
124+// Can be [const@DURATION_INFINITE] if the spring damping is set to 0.
125+func (x *SpringAnimation) GetEstimatedDuration() uint {
126+
127+ return xSpringAnimationGetEstimatedDuration(x.GoPointer())
128+
129+}
130+
131+var xSpringAnimationGetInitialVelocity func(uintptr) float64
132+
133+// Gets the initial velocity of @self.
134+func (x *SpringAnimation) GetInitialVelocity() float64 {
135+
136+ return xSpringAnimationGetInitialVelocity(x.GoPointer())
137+
138+}
139+
140+var xSpringAnimationGetSpringParams func(uintptr) *SpringParams
141+
142+// Gets the physical parameters of the spring of @self.
143+func (x *SpringAnimation) GetSpringParams() *SpringParams {
144+
145+ return xSpringAnimationGetSpringParams(x.GoPointer())
146+
147+}
148+
149+var xSpringAnimationGetValueFrom func(uintptr) float64
150+
151+// Gets the value @self will animate from.
152+func (x *SpringAnimation) GetValueFrom() float64 {
153+
154+ return xSpringAnimationGetValueFrom(x.GoPointer())
155+
156+}
157+
158+var xSpringAnimationGetValueTo func(uintptr) float64
159+
160+// Gets the value @self will animate to.
161+func (x *SpringAnimation) GetValueTo() float64 {
162+
163+ return xSpringAnimationGetValueTo(x.GoPointer())
164+
165+}
166+
167+var xSpringAnimationGetVelocity func(uintptr) float64
168+
169+// Gets the current velocity of @self.
170+func (x *SpringAnimation) GetVelocity() float64 {
171+
172+ return xSpringAnimationGetVelocity(x.GoPointer())
173+
174+}
175+
176+var xSpringAnimationSetClamp func(uintptr, bool)
177+
178+// Sets whether @self should be clamped.
179+//
180+// If set to `TRUE`, the animation will abruptly end as soon as it reaches the
181+// final value, preventing overshooting.
182+//
183+// It won't prevent overshooting [property@SpringAnimation:value-from] if a
184+// relative negative [property@SpringAnimation:initial-velocity] is set.
185+func (x *SpringAnimation) SetClamp(ClampVar bool) {
186+
187+ xSpringAnimationSetClamp(x.GoPointer(), ClampVar)
188+
189+}
190+
191+var xSpringAnimationSetEpsilon func(uintptr, float64)
192+
193+// Sets the precision of the spring.
194+//
195+// The level of precision used to determine when the animation has come to a
196+// rest, that is, when the amplitude of the oscillations becomes smaller than
197+// this value.
198+//
199+// If the epsilon value is too small, the animation will take a long time to
200+// stop after the animated value has stopped visibly changing.
201+//
202+// If the epsilon value is too large, the animation will end prematurely.
203+//
204+// The default value is 0.001.
205+func (x *SpringAnimation) SetEpsilon(EpsilonVar float64) {
206+
207+ xSpringAnimationSetEpsilon(x.GoPointer(), EpsilonVar)
208+
209+}
210+
211+var xSpringAnimationSetInitialVelocity func(uintptr, float64)
212+
213+// Sets the initial velocity of @self.
214+//
215+// Initial velocity affects only the animation curve, but not its duration.
216+func (x *SpringAnimation) SetInitialVelocity(VelocityVar float64) {
217+
218+ xSpringAnimationSetInitialVelocity(x.GoPointer(), VelocityVar)
219+
220+}
221+
222+var xSpringAnimationSetSpringParams func(uintptr, *SpringParams)
223+
224+// Sets the physical parameters of the spring of @self.
225+func (x *SpringAnimation) SetSpringParams(SpringParamsVar *SpringParams) {
226+
227+ xSpringAnimationSetSpringParams(x.GoPointer(), SpringParamsVar)
228+
229+}
230+
231+var xSpringAnimationSetValueFrom func(uintptr, float64)
232+
233+// Sets the value @self will animate from.
234+//
235+// The animation will start at this value and end at
236+// [property@SpringAnimation:value-to].
237+func (x *SpringAnimation) SetValueFrom(ValueVar float64) {
238+
239+ xSpringAnimationSetValueFrom(x.GoPointer(), ValueVar)
240+
241+}
242+
243+var xSpringAnimationSetValueTo func(uintptr, float64)
244+
245+// Sets the value @self will animate to.
246+//
247+// The animation will start at [property@SpringAnimation:value-from] and end at
248+// this value.
249+func (x *SpringAnimation) SetValueTo(ValueVar float64) {
250+
251+ xSpringAnimationSetValueTo(x.GoPointer(), ValueVar)
252+
253+}
254+
255+func (c *SpringAnimation) GoPointer() uintptr {
256+ return c.Ptr
257+}
258+
259+func (c *SpringAnimation) SetGoPointer(ptr uintptr) {
260+ c.Ptr = ptr
261+}
262+
263+func init() {
264+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
265+ if err != nil {
266+ panic(err)
267+ }
268+
269+ core.PuregoSafeRegister(&xNewSpringAnimation, lib, "adw_spring_animation_new")
270+
271+ core.PuregoSafeRegister(&xSpringAnimationCalculateValue, lib, "adw_spring_animation_calculate_value")
272+ core.PuregoSafeRegister(&xSpringAnimationCalculateVelocity, lib, "adw_spring_animation_calculate_velocity")
273+ core.PuregoSafeRegister(&xSpringAnimationGetClamp, lib, "adw_spring_animation_get_clamp")
274+ core.PuregoSafeRegister(&xSpringAnimationGetEpsilon, lib, "adw_spring_animation_get_epsilon")
275+ core.PuregoSafeRegister(&xSpringAnimationGetEstimatedDuration, lib, "adw_spring_animation_get_estimated_duration")
276+ core.PuregoSafeRegister(&xSpringAnimationGetInitialVelocity, lib, "adw_spring_animation_get_initial_velocity")
277+ core.PuregoSafeRegister(&xSpringAnimationGetSpringParams, lib, "adw_spring_animation_get_spring_params")
278+ core.PuregoSafeRegister(&xSpringAnimationGetValueFrom, lib, "adw_spring_animation_get_value_from")
279+ core.PuregoSafeRegister(&xSpringAnimationGetValueTo, lib, "adw_spring_animation_get_value_to")
280+ core.PuregoSafeRegister(&xSpringAnimationGetVelocity, lib, "adw_spring_animation_get_velocity")
281+ core.PuregoSafeRegister(&xSpringAnimationSetClamp, lib, "adw_spring_animation_set_clamp")
282+ core.PuregoSafeRegister(&xSpringAnimationSetEpsilon, lib, "adw_spring_animation_set_epsilon")
283+ core.PuregoSafeRegister(&xSpringAnimationSetInitialVelocity, lib, "adw_spring_animation_set_initial_velocity")
284+ core.PuregoSafeRegister(&xSpringAnimationSetSpringParams, lib, "adw_spring_animation_set_spring_params")
285+ core.PuregoSafeRegister(&xSpringAnimationSetValueFrom, lib, "adw_spring_animation_set_value_from")
286+ core.PuregoSafeRegister(&xSpringAnimationSetValueTo, lib, "adw_spring_animation_set_value_to")
287+
288+}
A v4/adw/adw-spring-params.go +35 -0
@@ -0,0 +1,35 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Physical parameters of a spring for [class@SpringAnimation].
5+//
6+// Any spring can be described by three parameters: mass, stiffness and damping.
7+//
8+// An undamped spring will produce an oscillatory motion which will go on
9+// forever.
10+//
11+// The frequency and amplitude of the oscillations will be determined by the
12+// stiffness (how "strong" the spring is) and its mass (how much "inertia" it
13+// has).
14+//
15+// If damping is larger than 0, the amplitude of that oscillating motion will
16+// exponientally decrease over time. If that damping is strong enough that the
17+// spring can't complete a full oscillation, it's called an overdamped spring.
18+//
19+// If we the spring can oscillate, it's called an underdamped spring.
20+//
21+// The value between these two behaviors is called critical damping; a
22+// critically damped spring will comes to rest in the minimum possible time
23+// without producing oscillations.
24+//
25+// The damping can be replaced by damping ratio, which produces the following
26+// springs:
27+//
28+// * 0: an undamped spring.
29+// * Between 0 and 1: an underdamped spring.
30+// * 1: a critically damped spring.
31+// * Larger than 1: an overdamped spring.
32+//
33+// As such
34+type SpringParams struct {
35+}
A v4/adw/adw-squeezer.go +619 -0 collapsed to keep the page light
A v4/adw/adw-status-page.go +347 -0
@@ -0,0 +1,347 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type StatusPageClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A page used for empty/error states and similar use-cases.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="status-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="status-page.png" alt="status-page"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// The `AdwStatusPage` widget can have an icon, a title, a description and a
26+// custom widget which is displayed below them.
27+//
28+// ## CSS nodes
29+//
30+// `AdwStatusPage` has a main CSS node with name `statuspage`.
31+//
32+// `AdwStatusPage` can use the
33+// [`.compact`](style-classes.html#compact-status-page) style class for when it
34+// needs to fit into a small space such a sidebar or a popover.
35+type StatusPage struct {
36+ gtk.Widget
37+}
38+
39+func StatusPageNewFromInternalPtr(ptr uintptr) *StatusPage {
40+ cls := &StatusPage{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewStatusPage func() uintptr
46+
47+// Creates a new `AdwStatusPage`.
48+func NewStatusPage() *gtk.Widget {
49+ NewStatusPagePtr := xNewStatusPage()
50+ if NewStatusPagePtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewStatusPagePtr)
55+
56+ NewStatusPageCls := &gtk.Widget{}
57+ NewStatusPageCls.Ptr = NewStatusPagePtr
58+ return NewStatusPageCls
59+}
60+
61+var xStatusPageGetChild func(uintptr) uintptr
62+
63+// Gets the child widget of @self.
64+func (x *StatusPage) GetChild() *gtk.Widget {
65+
66+ GetChildPtr := xStatusPageGetChild(x.GoPointer())
67+ if GetChildPtr == 0 {
68+ return nil
69+ }
70+
71+ gobject.IncreaseRef(GetChildPtr)
72+
73+ GetChildCls := &gtk.Widget{}
74+ GetChildCls.Ptr = GetChildPtr
75+ return GetChildCls
76+
77+}
78+
79+var xStatusPageGetDescription func(uintptr) string
80+
81+// Gets the description for @self.
82+func (x *StatusPage) GetDescription() string {
83+
84+ return xStatusPageGetDescription(x.GoPointer())
85+
86+}
87+
88+var xStatusPageGetIconName func(uintptr) string
89+
90+// Gets the icon name for @self.
91+func (x *StatusPage) GetIconName() string {
92+
93+ return xStatusPageGetIconName(x.GoPointer())
94+
95+}
96+
97+var xStatusPageGetPaintable func(uintptr) uintptr
98+
99+// Gets the paintable for @self.
100+func (x *StatusPage) GetPaintable() *gdk.PaintableBase {
101+
102+ GetPaintablePtr := xStatusPageGetPaintable(x.GoPointer())
103+ if GetPaintablePtr == 0 {
104+ return nil
105+ }
106+
107+ gobject.IncreaseRef(GetPaintablePtr)
108+
109+ GetPaintableCls := &gdk.PaintableBase{}
110+ GetPaintableCls.Ptr = GetPaintablePtr
111+ return GetPaintableCls
112+
113+}
114+
115+var xStatusPageGetTitle func(uintptr) string
116+
117+// Gets the title for @self.
118+func (x *StatusPage) GetTitle() string {
119+
120+ return xStatusPageGetTitle(x.GoPointer())
121+
122+}
123+
124+var xStatusPageSetChild func(uintptr, uintptr)
125+
126+// Sets the child widget of @self.
127+func (x *StatusPage) SetChild(ChildVar *gtk.Widget) {
128+
129+ xStatusPageSetChild(x.GoPointer(), ChildVar.GoPointer())
130+
131+}
132+
133+var xStatusPageSetDescription func(uintptr, string)
134+
135+// Sets the description for @self.
136+//
137+// The description is displayed below the title.
138+func (x *StatusPage) SetDescription(DescriptionVar string) {
139+
140+ xStatusPageSetDescription(x.GoPointer(), DescriptionVar)
141+
142+}
143+
144+var xStatusPageSetIconName func(uintptr, string)
145+
146+// Sets the icon name for @self.
147+//
148+// Changing this will set [property@StatusPage:paintable] to `NULL`.
149+func (x *StatusPage) SetIconName(IconNameVar string) {
150+
151+ xStatusPageSetIconName(x.GoPointer(), IconNameVar)
152+
153+}
154+
155+var xStatusPageSetPaintable func(uintptr, uintptr)
156+
157+// Sets the paintable for @self.
158+//
159+// Changing this will set [property@StatusPage:icon-name] to `NULL`.
160+func (x *StatusPage) SetPaintable(PaintableVar gdk.Paintable) {
161+
162+ xStatusPageSetPaintable(x.GoPointer(), PaintableVar.GoPointer())
163+
164+}
165+
166+var xStatusPageSetTitle func(uintptr, string)
167+
168+// Sets the title for @self.
169+//
170+// The title is displayed below the icon.
171+func (x *StatusPage) SetTitle(TitleVar string) {
172+
173+ xStatusPageSetTitle(x.GoPointer(), TitleVar)
174+
175+}
176+
177+func (c *StatusPage) GoPointer() uintptr {
178+ return c.Ptr
179+}
180+
181+func (c *StatusPage) SetGoPointer(ptr uintptr) {
182+ c.Ptr = ptr
183+}
184+
185+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
186+func (x *StatusPage) GetAccessibleRole() gtk.AccessibleRole {
187+
188+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
189+
190+}
191+
192+// Resets the accessible @property to its default value.
193+func (x *StatusPage) ResetProperty(PropertyVar gtk.AccessibleProperty) {
194+
195+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
196+
197+}
198+
199+// Resets the accessible @relation to its default value.
200+func (x *StatusPage) ResetRelation(RelationVar gtk.AccessibleRelation) {
201+
202+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
203+
204+}
205+
206+// Resets the accessible @state to its default value.
207+func (x *StatusPage) ResetState(StateVar gtk.AccessibleState) {
208+
209+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
210+
211+}
212+
213+// Updates a list of accessible properties.
214+//
215+// See the [enum@Gtk.AccessibleProperty] documentation for the
216+// value types of accessible properties.
217+//
218+// This function should be called by `GtkWidget` types whenever
219+// an accessible property change must be communicated to assistive
220+// technologies.
221+//
222+// Example:
223+// ```c
224+// value = gtk_adjustment_get_value (adjustment);
225+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
226+//
227+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
228+// -1);
229+//
230+// ```
231+func (x *StatusPage) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
232+
233+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
234+
235+}
236+
237+// Updates an array of accessible properties.
238+//
239+// This function should be called by `GtkWidget` types whenever an accessible
240+// property change must be communicated to assistive technologies.
241+//
242+// This function is meant to be used by language bindings.
243+func (x *StatusPage) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
244+
245+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
246+
247+}
248+
249+// Updates a list of accessible relations.
250+//
251+// This function should be called by `GtkWidget` types whenever an accessible
252+// relation change must be communicated to assistive technologies.
253+//
254+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
255+// you should pass each reference individually, followed by %NULL, e.g.
256+//
257+// ```c
258+// gtk_accessible_update_relation (accessible,
259+//
260+// GTK_ACCESSIBLE_RELATION_CONTROLS,
261+// ref1, NULL,
262+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
263+// ref1, ref2, ref3, NULL,
264+// -1);
265+//
266+// ```
267+func (x *StatusPage) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
268+
269+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
270+
271+}
272+
273+// Updates an array of accessible relations.
274+//
275+// This function should be called by `GtkWidget` types whenever an accessible
276+// relation change must be communicated to assistive technologies.
277+//
278+// This function is meant to be used by language bindings.
279+func (x *StatusPage) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
280+
281+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
282+
283+}
284+
285+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
286+// documentation for the value types of accessible states.
287+//
288+// This function should be called by `GtkWidget` types whenever an accessible
289+// state change must be communicated to assistive technologies.
290+//
291+// Example:
292+// ```c
293+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
294+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
295+//
296+// GTK_ACCESSIBLE_STATE_CHECKED, value,
297+// -1);
298+//
299+// ```
300+func (x *StatusPage) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
301+
302+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
303+
304+}
305+
306+// Updates an array of accessible states.
307+//
308+// This function should be called by `GtkWidget` types whenever an accessible
309+// state change must be communicated to assistive technologies.
310+//
311+// This function is meant to be used by language bindings.
312+func (x *StatusPage) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
313+
314+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
315+
316+}
317+
318+// Gets the ID of the @buildable object.
319+//
320+// `GtkBuilder` sets the name based on the ID attribute
321+// of the &lt;object&gt; tag used to construct the @buildable.
322+func (x *StatusPage) GetBuildableId() string {
323+
324+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
325+
326+}
327+
328+func init() {
329+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
330+ if err != nil {
331+ panic(err)
332+ }
333+
334+ core.PuregoSafeRegister(&xNewStatusPage, lib, "adw_status_page_new")
335+
336+ core.PuregoSafeRegister(&xStatusPageGetChild, lib, "adw_status_page_get_child")
337+ core.PuregoSafeRegister(&xStatusPageGetDescription, lib, "adw_status_page_get_description")
338+ core.PuregoSafeRegister(&xStatusPageGetIconName, lib, "adw_status_page_get_icon_name")
339+ core.PuregoSafeRegister(&xStatusPageGetPaintable, lib, "adw_status_page_get_paintable")
340+ core.PuregoSafeRegister(&xStatusPageGetTitle, lib, "adw_status_page_get_title")
341+ core.PuregoSafeRegister(&xStatusPageSetChild, lib, "adw_status_page_set_child")
342+ core.PuregoSafeRegister(&xStatusPageSetDescription, lib, "adw_status_page_set_description")
343+ core.PuregoSafeRegister(&xStatusPageSetIconName, lib, "adw_status_page_set_icon_name")
344+ core.PuregoSafeRegister(&xStatusPageSetPaintable, lib, "adw_status_page_set_paintable")
345+ core.PuregoSafeRegister(&xStatusPageSetTitle, lib, "adw_status_page_set_title")
346+
347+}
A v4/adw/adw-style-manager.go +180 -0 collapsed to keep the page light
A v4/adw/adw-swipe-tracker.go +258 -0 collapsed to keep the page light
A v4/adw/adw-swipeable.go +109 -0
@@ -0,0 +1,109 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+)
9+
10+// An interface for swipeable widgets.
11+type SwipeableInterface struct {
12+ Parent uintptr
13+
14+ Padding uintptr
15+}
16+
17+// An interface for swipeable widgets.
18+//
19+// The `AdwSwipeable` interface is implemented by all swipeable widgets.
20+//
21+// See [class@SwipeTracker] for details about implementing it.
22+type Swipeable interface {
23+ GoPointer() uintptr
24+ SetGoPointer(uintptr)
25+ GetCancelProgress() float64
26+ GetDistance() float64
27+ GetProgress() float64
28+ GetSnapPoints(NSnapPointsVar int32) uintptr
29+ GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle)
30+}
31+type SwipeableBase struct {
32+ Ptr uintptr
33+}
34+
35+func (x *SwipeableBase) GoPointer() uintptr {
36+ return x.Ptr
37+}
38+
39+func (x *SwipeableBase) SetGoPointer(ptr uintptr) {
40+ x.Ptr = ptr
41+}
42+
43+// Gets the progress @self will snap back to after the gesture is canceled.
44+func (x *SwipeableBase) GetCancelProgress() float64 {
45+
46+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
47+
48+}
49+
50+// Gets the swipe distance of @self.
51+//
52+// This corresponds to how many pixels 1 unit represents.
53+func (x *SwipeableBase) GetDistance() float64 {
54+
55+ return XAdwSwipeableGetDistance(x.GoPointer())
56+
57+}
58+
59+// Gets the current progress of @self.
60+func (x *SwipeableBase) GetProgress() float64 {
61+
62+ return XAdwSwipeableGetProgress(x.GoPointer())
63+
64+}
65+
66+// Gets the snap points of @self.
67+//
68+// Each snap point represents a progress value that is considered acceptable to
69+// end the swipe on.
70+func (x *SwipeableBase) GetSnapPoints(NSnapPointsVar int32) uintptr {
71+
72+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
73+
74+}
75+
76+// Gets the area @self can start a swipe from for the given direction and
77+// gesture type.
78+//
79+// This can be used to restrict swipes to only be possible from a certain area,
80+// for example, to only allow edge swipes, or to have a draggable element and
81+// ignore swipes elsewhere.
82+//
83+// If not implemented, the default implementation returns the allocation of
84+// @self, allowing swipes from anywhere.
85+func (x *SwipeableBase) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
86+
87+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
88+
89+}
90+
91+var XAdwSwipeableGetCancelProgress func(uintptr) float64
92+var XAdwSwipeableGetDistance func(uintptr) float64
93+var XAdwSwipeableGetProgress func(uintptr) float64
94+var XAdwSwipeableGetSnapPoints func(uintptr, int32) uintptr
95+var XAdwSwipeableGetSwipeArea func(uintptr, NavigationDirection, bool, *gdk.Rectangle)
96+
97+func init() {
98+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
99+ if err != nil {
100+ panic(err)
101+ }
102+
103+ core.PuregoSafeRegister(&XAdwSwipeableGetCancelProgress, lib, "adw_swipeable_get_cancel_progress")
104+ core.PuregoSafeRegister(&XAdwSwipeableGetDistance, lib, "adw_swipeable_get_distance")
105+ core.PuregoSafeRegister(&XAdwSwipeableGetProgress, lib, "adw_swipeable_get_progress")
106+ core.PuregoSafeRegister(&XAdwSwipeableGetSnapPoints, lib, "adw_swipeable_get_snap_points")
107+ core.PuregoSafeRegister(&XAdwSwipeableGetSwipeArea, lib, "adw_swipeable_get_swipe_area")
108+
109+}
A v4/adw/adw-tab-bar.go +485 -0 collapsed to keep the page light
A v4/adw/adw-tab-button.go +373 -0 collapsed to keep the page light
A v4/adw/adw-tab-overview.go +601 -0 collapsed to keep the page light
A v4/adw/adw-tab-view.go +1637 -0 collapsed to keep the page light
A v4/adw/adw-timed-animation.go +232 -0 collapsed to keep the page light
A v4/adw/adw-toast-overlay.go +292 -0 collapsed to keep the page light
A v4/adw/adw-toast.go +484 -0 collapsed to keep the page light
A v4/adw/adw-version.go +66 -0 collapsed to keep the page light
A v4/adw/adw-view-stack.go +842 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher-bar.go +308 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher-title.go +379 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher.go +290 -0 collapsed to keep the page light
A v4/adw/adw-window-title.go +261 -0 collapsed to keep the page light
A v4/adw/adw-window.go +382 -0 collapsed to keep the page light
A v4/cairo/main.go +510 -0 collapsed to keep the page light
A v4/gdk/gdkapplaunchcontext.go +149 -0 collapsed to keep the page light
A v4/gdk/gdkcairo.go +101 -0 collapsed to keep the page light
A v4/gdk/gdkcairocontext.go +58 -0 collapsed to keep the page light
A v4/gdk/gdkclipboard.go +378 -0 collapsed to keep the page light
A v4/gdk/gdkcontentdeserializer.go +267 -0 collapsed to keep the page light
A v4/gdk/gdkcontentformats.go +54 -0 collapsed to keep the page light
A v4/gdk/gdkcontentprovider.go +231 -0 collapsed to keep the page light
A v4/gdk/gdkcontentserializer.go +268 -0 collapsed to keep the page light
A v4/gdk/gdkcursor.go +205 -0 collapsed to keep the page light
A v4/gdk/gdkdevice.go +375 -0 collapsed to keep the page light
A v4/gdk/gdkdevicepad.go +112 -0 collapsed to keep the page light
A v4/gdk/gdkdevicetool.go +113 -0 collapsed to keep the page light
A v4/gdk/gdkdisplay.go +564 -0 collapsed to keep the page light
A v4/gdk/gdkdisplaymanager.go +196 -0 collapsed to keep the page light
A v4/gdk/gdkdrag.go +274 -0 collapsed to keep the page light
A v4/gdk/gdkdragsurface.go +48 -0
@@ -0,0 +1,48 @@
1+// Package gdk was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package gdk
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+// The `GdkDragSurfaceInterface` implementation is private to GDK.
10+type DragSurfaceInterface struct {
11+}
12+
13+// A `GdkDragSurface` is an interface for surfaces used during DND.
14+type DragSurface interface {
15+ GoPointer() uintptr
16+ SetGoPointer(uintptr)
17+ Present(WidthVar int32, HeightVar int32) bool
18+}
19+type DragSurfaceBase struct {
20+ Ptr uintptr
21+}
22+
23+func (x *DragSurfaceBase) GoPointer() uintptr {
24+ return x.Ptr
25+}
26+
27+func (x *DragSurfaceBase) SetGoPointer(ptr uintptr) {
28+ x.Ptr = ptr
29+}
30+
31+// Present @drag_surface.
32+func (x *DragSurfaceBase) Present(WidthVar int32, HeightVar int32) bool {
33+
34+ return XGdkDragSurfacePresent(x.GoPointer(), WidthVar, HeightVar)
35+
36+}
37+
38+var XGdkDragSurfacePresent func(uintptr, int32, int32) bool
39+
40+func init() {
41+ lib, err := purego.Dlopen(core.GetPath("GDK"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
42+ if err != nil {
43+ panic(err)
44+ }
45+
46+ core.PuregoSafeRegister(&XGdkDragSurfacePresent, lib, "gdk_drag_surface_present")
47+
48+}
A v4/gdk/gdkdrawcontext.go +164 -0 collapsed to keep the page light
A v4/gdk/gdkdrop.go +264 -0 collapsed to keep the page light
A v4/gdk/gdkenums.go +255 -0 collapsed to keep the page light
A v4/gdk/gdkevents.go +1222 -0 collapsed to keep the page light
A v4/gdk/gdkframeclock.go +351 -0 collapsed to keep the page light
A v4/gdk/gdkframetimings.go +13 -0 collapsed to keep the page light
A v4/gdk/gdkglcontext.go +399 -0 collapsed to keep the page light
A v4/gdk/gdkgltexture.go +296 -0 collapsed to keep the page light
A v4/gdk/gdkkeys.go +120 -0 collapsed to keep the page light
A v4/gdk/gdkmemorytexture.go +280 -0 collapsed to keep the page light
A v4/gdk/gdkmonitor.go +222 -0 collapsed to keep the page light
A v4/gdk/gdkpaintable.go +301 -0 collapsed to keep the page light
A v4/gdk/gdkpango.go +60 -0 collapsed to keep the page light
A v4/gdk/gdkpixbuf.go +61 -0 collapsed to keep the page light
A v4/gdk/gdkpopup.go +143 -0 collapsed to keep the page light
A v4/gdk/gdkpopuplayout.go +77 -0 collapsed to keep the page light
A v4/gdk/gdkrgba.go +21 -0 collapsed to keep the page light
A v4/gdk/gdkseat.go +202 -0 collapsed to keep the page light
A v4/gdk/gdksnapshot.go +28 -0 collapsed to keep the page light
A v4/gdk/gdksurface.go +566 -0 collapsed to keep the page light
A v4/gdk/gdktexture.go +536 -0 collapsed to keep the page light
A v4/gdk/gdktoplevel.go +399 -0 collapsed to keep the page light
A v4/gdk/gdktoplevellayout.go +14 -0 collapsed to keep the page light
A v4/gdk/gdktoplevelsize.go +29 -0 collapsed to keep the page light
A v4/gdk/gdktypes.go +71 -0 collapsed to keep the page light
A v4/gdk/gdkvulkancontext.go +94 -0 collapsed to keep the page light
A v4/gdk/main.go +53 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-animation.go +405 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-core.go +86 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-io.go +245 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-loader.go +359 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +86 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-transform.go +59 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf.go +1394 -0 collapsed to keep the page light
A v4/gdkpixbuf/main.go +76 -0 collapsed to keep the page light
A v4/gio/gaction.go +276 -0 collapsed to keep the page light
A v4/gio/gactiongroup.go +357 -0 collapsed to keep the page light
A v4/gio/gactionmap.go +168 -0 collapsed to keep the page light
A v4/gio/gappinfo.go +777 -0 collapsed to keep the page light
A v4/gio/gapplication.go +1388 -0 collapsed to keep the page light
A v4/gio/gapplicationcommandline.go +463 -0 collapsed to keep the page light
A v4/gio/gasyncinitable.go +237 -0 collapsed to keep the page light
A v4/gio/gasyncresult.go +186 -0 collapsed to keep the page light
A v4/gio/gbufferedinputstream.go +281 -0 collapsed to keep the page light
A v4/gio/gbufferedoutputstream.go +187 -0 collapsed to keep the page light
A v4/gio/gcancellable.go +362 -0 collapsed to keep the page light
A v4/gio/gcharsetconverter.go +228 -0 collapsed to keep the page light
A v4/gio/gcontenttype.go +240 -0 collapsed to keep the page light
A v4/gio/gconverter.go +150 -0 collapsed to keep the page light
A v4/gio/gconverterinputstream.go +141 -0 collapsed to keep the page light
A v4/gio/gconverteroutputstream.go +167 -0 collapsed to keep the page light
A v4/gio/gcredentials.go +194 -0 collapsed to keep the page light
A v4/gio/gdatagrambased.go +282 -0 collapsed to keep the page light
A v4/gio/gdatainputstream.go +451 -0 collapsed to keep the page light
A v4/gio/gdataoutputstream.go +217 -0 collapsed to keep the page light
A v4/gio/gdbusaddress.go +140 -0 collapsed to keep the page light
A v4/gio/gdbusconnection.go +277 -0 collapsed to keep the page light
A v4/gio/gdbuserror.go +156 -0 collapsed to keep the page light
A v4/gio/gdbusinterface.go +105 -0 collapsed to keep the page light
A v4/gio/gdbusinterfaceskeleton.go +298 -0 collapsed to keep the page light
A v4/gio/gdbusintrospection.go +114 -0 collapsed to keep the page light
A v4/gio/gdbusnameowning.go +134 -0 collapsed to keep the page light
A v4/gio/gdbusnamewatching.go +115 -0 collapsed to keep the page light
A v4/gio/gdbusobject.go +81 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanager.go +101 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanagerclient.go +437 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanagerserver.go +217 -0 collapsed to keep the page light
A v4/gio/gdbusobjectproxy.go +115 -0 collapsed to keep the page light
A v4/gio/gdbusobjectskeleton.go +176 -0 collapsed to keep the page light
A v4/gio/gdbusproxy.go +712 -0 collapsed to keep the page light
A v4/gio/gdbusutils.go +213 -0 collapsed to keep the page light
A v4/gio/gdebugcontroller.go +73 -0 collapsed to keep the page light
A v4/gio/gdebugcontrollerdbus.go +287 -0 collapsed to keep the page light
A v4/gio/gdesktopappinfo.go +663 -0 collapsed to keep the page light
A v4/gio/gdrive.go +388 -0 collapsed to keep the page light
A v4/gio/gdtlsclientconnection.go +130 -0 collapsed to keep the page light
A v4/gio/gdtlsconnection.go +536 -0 collapsed to keep the page light
A v4/gio/gdtlsserverconnection.go +55 -0 collapsed to keep the page light
A v4/gio/gemblem.go +145 -0 collapsed to keep the page light
A v4/gio/gemblemedicon.go +154 -0 collapsed to keep the page light
A v4/gio/gfile.go +2758 -0 large diff (2758 lines changed): collapsed
A v4/gio/gfileattribute.go +19 -0 collapsed to keep the page light
A v4/gio/gfiledescriptorbased.go +54 -0 collapsed to keep the page light
A v4/gio/gfileenumerator.go +313 -0 collapsed to keep the page light
A v4/gio/gfileicon.go +154 -0 collapsed to keep the page light
A v4/gio/gfileinfo.go +876 -0 collapsed to keep the page light
A v4/gio/gfileinputstream.go +166 -0 collapsed to keep the page light
A v4/gio/gfileiostream.go +197 -0 collapsed to keep the page light
A v4/gio/gfilemonitor.go +142 -0 collapsed to keep the page light
A v4/gio/gfilenamecompleter.go +101 -0 collapsed to keep the page light
A v4/gio/gfileoutputstream.go +191 -0 collapsed to keep the page light
A v4/gio/gfilterinputstream.go +83 -0 collapsed to keep the page light
A v4/gio/gfilteroutputstream.go +83 -0 collapsed to keep the page light
A v4/gio/gicon.go +167 -0 collapsed to keep the page light
A v4/gio/ginetaddress.go +272 -0 collapsed to keep the page light
A v4/gio/ginetaddressmask.go +194 -0 collapsed to keep the page light
A v4/gio/ginetsocketaddress.go +176 -0 collapsed to keep the page light
A v4/gio/ginitable.go +130 -0 collapsed to keep the page light
A v4/gio/ginputstream.go +430 -0 collapsed to keep the page light
A v4/gio/gio-2.0.go +5784 -0 large diff (5784 lines changed): collapsed
A v4/gio/gioenums.go +1790 -0 collapsed to keep the page light
A v4/gio/gioerror.go +31 -0 collapsed to keep the page light
A v4/gio/giomodule.go +248 -0 collapsed to keep the page light
A v4/gio/gioscheduler.go +46 -0 collapsed to keep the page light
A v4/gio/giostream.go +257 -0 collapsed to keep the page light
A v4/gio/giotypes.go +351 -0 collapsed to keep the page light
A v4/gio/glistmodel.go +192 -0 collapsed to keep the page light
A v4/gio/gliststore.go +286 -0 collapsed to keep the page light
A v4/gio/gloadableicon.go +87 -0 collapsed to keep the page light
A v4/gio/gmemoryinputstream.go +228 -0 collapsed to keep the page light
A v4/gio/gmemorymonitor.go +102 -0 collapsed to keep the page light
A v4/gio/gmemoryoutputstream.go +340 -0 collapsed to keep the page light
A v4/gio/gmenumodel.go +534 -0 collapsed to keep the page light
A v4/gio/gmount.go +448 -0 collapsed to keep the page light
A v4/gio/gmountoperation.go +383 -0 collapsed to keep the page light
A v4/gio/gnativesocketaddress.go +104 -0 collapsed to keep the page light
A v4/gio/gnativevolumemonitor.go +24 -0 collapsed to keep the page light
A v4/gio/gnetworkaddress.go +179 -0 collapsed to keep the page light
A v4/gio/gnetworking.go +28 -0 collapsed to keep the page light
A v4/gio/gnetworkmonitor.go +171 -0 collapsed to keep the page light
A v4/gio/gnetworkservice.go +169 -0 collapsed to keep the page light
A v4/gio/goutputstream.go +660 -0 collapsed to keep the page light
A v4/gio/gpermission.go +211 -0 collapsed to keep the page light
A v4/gio/gpollableinputstream.go +122 -0 collapsed to keep the page light
A v4/gio/gpollableoutputstream.go +157 -0 collapsed to keep the page light
A v4/gio/gpollableutils.go +108 -0 collapsed to keep the page light
A v4/gio/gpowerprofilemonitor.go +91 -0 collapsed to keep the page light
A v4/gio/gproxy.go +125 -0 collapsed to keep the page light
A v4/gio/gproxyaddress.go +186 -0 collapsed to keep the page light
A v4/gio/gproxyaddressenumerator.go +37 -0 collapsed to keep the page light
A v4/gio/gproxyresolver.go +124 -0 collapsed to keep the page light
A v4/gio/gremoteactiongroup.go +96 -0 collapsed to keep the page light
A v4/gio/gresolver.go +348 -0 collapsed to keep the page light
A v4/gio/gresource.go +143 -0 collapsed to keep the page light
A v4/gio/gseekable.go +125 -0 collapsed to keep the page light
A v4/gio/gsettings.go +1357 -0 collapsed to keep the page light
A v4/gio/gsettingsbackend.go +310 -0 collapsed to keep the page light
A v4/gio/gsettingsschema.go +146 -0 collapsed to keep the page light
A v4/gio/gsimpleactiongroup.go +441 -0 collapsed to keep the page light
A v4/gio/gsimpleasyncresult.go +576 -0 collapsed to keep the page light
A v4/gio/gsimpleproxyresolver.go +143 -0 collapsed to keep the page light
A v4/gio/gsocket.go +1353 -0 collapsed to keep the page light
A v4/gio/gsocketaddress.go +143 -0 collapsed to keep the page light
A v4/gio/gsocketaddressenumerator.go +117 -0 collapsed to keep the page light
A v4/gio/gsocketclient.go +713 -0 collapsed to keep the page light
A v4/gio/gsocketconnectable.go +155 -0 collapsed to keep the page light
A v4/gio/gsocketconnection.go +166 -0 collapsed to keep the page light
A v4/gio/gsocketcontrolmessage.go +111 -0 collapsed to keep the page light
A v4/gio/gsocketlistener.go +327 -0 collapsed to keep the page light
A v4/gio/gsocketservice.go +162 -0 collapsed to keep the page light
A v4/gio/gsrvtarget.go +26 -0 collapsed to keep the page light
A v4/gio/gtask.go +1138 -0 collapsed to keep the page light
A v4/gio/gtcpconnection.go +72 -0 collapsed to keep the page light
A v4/gio/gtcpwrapperconnection.go +82 -0 collapsed to keep the page light
A v4/gio/gthemedicon.go +183 -0 collapsed to keep the page light
A v4/gio/gthreadedsocketservice.go +88 -0 collapsed to keep the page light
A v4/gio/gtlsbackend.go +175 -0 collapsed to keep the page light
A v4/gio/gtlscertificate.go +357 -0 collapsed to keep the page light
A v4/gio/gtlsclientconnection.go +210 -0 collapsed to keep the page light
A v4/gio/gtlsconnection.go +521 -0 collapsed to keep the page light
A v4/gio/gtlsdatabase.go +339 -0 collapsed to keep the page light
A v4/gio/gtlsfiledatabase.go +61 -0 collapsed to keep the page light
A v4/gio/gtlsinteraction.go +260 -0 collapsed to keep the page light
A v4/gio/gtlspassword.go +175 -0 collapsed to keep the page light
A v4/gio/gtlsserverconnection.go +60 -0 collapsed to keep the page light
A v4/gio/gunixconnection.go +208 -0 collapsed to keep the page light
A v4/gio/gunixcredentialsmessage.go +112 -0 collapsed to keep the page light
A v4/gio/gunixfdlist.go +192 -0 collapsed to keep the page light
A v4/gio/gunixfdmessage.go +151 -0 collapsed to keep the page light
A v4/gio/gunixinputstream.go +160 -0 collapsed to keep the page light
A v4/gio/gunixmounts.go +429 -0 collapsed to keep the page light
A v4/gio/gunixoutputstream.go +186 -0 collapsed to keep the page light
A v4/gio/gunixsocketaddress.go +233 -0 collapsed to keep the page light
A v4/gio/gvfs.go +166 -0 collapsed to keep the page light
A v4/gio/gvolume.go +352 -0 collapsed to keep the page light
A v4/gio/gvolumemonitor.go +271 -0 collapsed to keep the page light
A v4/gio/gzlibcompressor.go +190 -0 collapsed to keep the page light
A v4/gio/gzlibdecompressor.go +177 -0 collapsed to keep the page light
A v4/gio/main.go +25 -0 collapsed to keep the page light
A v4/glib/garray.go +177 -0 collapsed to keep the page light
A v4/glib/gasyncqueue.go +8 -0 collapsed to keep the page light
A v4/glib/gatomic.go +321 -0 collapsed to keep the page light
A v4/glib/gbacktrace.go +96 -0 collapsed to keep the page light
A v4/glib/gbase64.go +110 -0 collapsed to keep the page light
A v4/glib/gbitlock.go +128 -0 collapsed to keep the page light
A v4/glib/gbookmarkfile.go +31 -0 collapsed to keep the page light
A v4/glib/gcharset.go +143 -0 collapsed to keep the page light
A v4/glib/gchecksum.go +93 -0 collapsed to keep the page light
A v4/glib/gconvert.go +356 -0 collapsed to keep the page light
A v4/glib/gdataset.go +261 -0 collapsed to keep the page light
A v4/glib/gdate.go +296 -0 collapsed to keep the page light
A v4/glib/gdatetime.go +9 -0 collapsed to keep the page light
A v4/glib/gdir.go +6 -0 collapsed to keep the page light
A v4/glib/genviron.go +154 -0 collapsed to keep the page light
A v4/glib/gerror.go +143 -0 collapsed to keep the page light
A v4/glib/gfileutils.go +716 -0 collapsed to keep the page light
A v4/glib/ggettext.go +135 -0 collapsed to keep the page light
A v4/glib/ghash.go +441 -0 collapsed to keep the page light
A v4/glib/ghmac.go +61 -0 collapsed to keep the page light
A v4/glib/ghook.go +154 -0 collapsed to keep the page light
A v4/glib/ghostutils.go +89 -0 collapsed to keep the page light
A v4/glib/giochannel.go +237 -0 collapsed to keep the page light
A v4/glib/gkeyfile.go +46 -0 collapsed to keep the page light
A v4/glib/glib-2.0.go +46 -0 collapsed to keep the page light
A v4/glib/glib-types.go +35 -0 collapsed to keep the page light
A v4/glib/glib-unix.go +174 -0 collapsed to keep the page light
A v4/glib/glibconfig.go +11 -0 collapsed to keep the page light
A v4/glib/glist.go +36 -0 collapsed to keep the page light
A v4/glib/gmain.go +826 -0 collapsed to keep the page light
A v4/glib/gmappedfile.go +8 -0 collapsed to keep the page light
A v4/glib/gmarkup.go +228 -0 collapsed to keep the page light
A v4/glib/gmem.go +273 -0 collapsed to keep the page light
A v4/glib/gmessages.go +815 -0 collapsed to keep the page light
A v4/glib/gnode.go +83 -0 collapsed to keep the page light
A v4/glib/goption.go +136 -0 collapsed to keep the page light
A v4/glib/gpattern.go +71 -0 collapsed to keep the page light
A v4/glib/gpoll.go +55 -0 collapsed to keep the page light
A v4/glib/gprimes.go +30 -0 collapsed to keep the page light
A v4/glib/gprintf.go +122 -0 collapsed to keep the page light
A v4/glib/gqsort.go +28 -0 collapsed to keep the page light
A v4/glib/gquark.go +120 -0 collapsed to keep the page light
A v4/glib/gqueue.go +12 -0 collapsed to keep the page light
A v4/glib/grand.go +74 -0 collapsed to keep the page light
A v4/glib/grcbox.go +205 -0 collapsed to keep the page light
A v4/glib/grefcount.go +103 -0 collapsed to keep the page light
A v4/glib/grefstring.go +95 -0 collapsed to keep the page light
A v4/glib/gregex.go +536 -0 collapsed to keep the page light
A v4/glib/gscanner.go +203 -0 collapsed to keep the page light
A v4/glib/gsequence.go +145 -0 collapsed to keep the page light
A v4/glib/gshell.go +110 -0 collapsed to keep the page light
A v4/glib/gslice.go +142 -0 collapsed to keep the page light
A v4/glib/gslist.go +35 -0 collapsed to keep the page light
A v4/glib/gspawn.go +550 -0 collapsed to keep the page light
A v4/glib/gstdio.go +103 -0 collapsed to keep the page light
A v4/glib/gstrfuncs.go +1089 -0 collapsed to keep the page light
A v4/glib/gstring.go +11 -0 collapsed to keep the page light
A v4/glib/gstringchunk.go +7 -0 collapsed to keep the page light
A v4/glib/gstrvbuilder.go +18 -0 collapsed to keep the page light
A v4/glib/gtestutils.go +1164 -0 collapsed to keep the page light
A v4/glib/gthread.go +436 -0 collapsed to keep the page light
A v4/glib/gthreadpool.go +105 -0 collapsed to keep the page light
A v4/glib/gtimer.go +60 -0 collapsed to keep the page light
A v4/glib/gtimezone.go +27 -0 collapsed to keep the page light
A v4/glib/gtrashstack.go +65 -0 collapsed to keep the page light
A v4/glib/gtree.go +24 -0 collapsed to keep the page light
A v4/glib/gtypes.go +106 -0 collapsed to keep the page light
A v4/glib/gunicode.go +1566 -0 collapsed to keep the page light
A v4/glib/guri.go +600 -0 collapsed to keep the page light
A v4/glib/gutils.go +744 -0 collapsed to keep the page light
A v4/glib/guuid.go +44 -0 collapsed to keep the page light
A v4/glib/gvariant.go +582 -0 collapsed to keep the page light
A v4/glib/gvarianttype.go +238 -0 collapsed to keep the page light
A v4/glib/gversion.go +39 -0 collapsed to keep the page light
A v4/glib/main.go +159 -0 collapsed to keep the page light
A v4/gmodule/gmodule.go +106 -0 collapsed to keep the page light
A v4/gmodule/main.go +25 -0 collapsed to keep the page light
A v4/gobject/gbinding.go +38 -0 collapsed to keep the page light
A v4/gobject/gboxed.go +61 -0 collapsed to keep the page light
A v4/gobject/gclosure.go +172 -0 collapsed to keep the page light
A v4/gobject/genums.go +220 -0 collapsed to keep the page light
A v4/gobject/gmarshal.go +260 -0 collapsed to keep the page light
A v4/gobject/gobject-2.0.go +723 -0 collapsed to keep the page light
A v4/gobject/gobject.go +1326 -0 collapsed to keep the page light
A v4/gobject/gparam.go +411 -0 collapsed to keep the page light
A v4/gobject/gparamspecs.go +929 -0 collapsed to keep the page light
A v4/gobject/gsignal.go +765 -0 collapsed to keep the page light
A v4/gobject/gsourceclosure.go +49 -0 collapsed to keep the page light
A v4/gobject/gtype.go +1114 -0 collapsed to keep the page light
A v4/gobject/gtypemodule.go +204 -0 collapsed to keep the page light
A v4/gobject/gtypeplugin.go +29 -0 collapsed to keep the page light
A v4/gobject/gvalue.go +73 -0 collapsed to keep the page light
A v4/gobject/gvaluearray.go +11 -0 collapsed to keep the page light
A v4/gobject/gvaluetypes.go +48 -0 collapsed to keep the page light
A v4/gobject/main.go +4 -0 collapsed to keep the page light
A v4/gobject/more.go +94 -0 collapsed to keep the page light
A v4/graphene/graphene-box.go +98 -0 collapsed to keep the page light
A v4/graphene/graphene-config.go +22 -0 collapsed to keep the page light
A v4/graphene/graphene-euler.go +91 -0 collapsed to keep the page light
A v4/graphene/graphene-frustum.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-matrix.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-plane.go +12 -0 collapsed to keep the page light
A v4/graphene/graphene-point.go +32 -0 collapsed to keep the page light
A v4/graphene/graphene-point3d.go +34 -0 collapsed to keep the page light
A v4/graphene/graphene-quad.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-quaternion.go +16 -0 collapsed to keep the page light
A v4/graphene/graphene-ray.go +27 -0 collapsed to keep the page light
A v4/graphene/graphene-rect.go +56 -0 collapsed to keep the page light
A v4/graphene/graphene-size.go +33 -0 collapsed to keep the page light
A v4/graphene/graphene-sphere.go +9 -0 collapsed to keep the page light
A v4/graphene/graphene-triangle.go +11 -0 collapsed to keep the page light
A v4/graphene/graphene-vec2.go +63 -0 collapsed to keep the page light
A v4/graphene/graphene-vec3.go +78 -0 collapsed to keep the page light
A v4/graphene/graphene-vec4.go +89 -0 collapsed to keep the page light
A v4/gsk/gskbroadwayrenderer.go +59 -0 collapsed to keep the page light
A v4/gsk/gskcairorenderer.go +63 -0 collapsed to keep the page light
A v4/gsk/gskenums.go +221 -0 collapsed to keep the page light
A v4/gsk/gskglrenderer.go +52 -0 collapsed to keep the page light
A v4/gsk/gskglshader.go +432 -0 collapsed to keep the page light
A v4/gsk/gskrenderer.go +177 -0 collapsed to keep the page light
A v4/gsk/gskrendernode.go +250 -0 collapsed to keep the page light
A v4/gsk/gskrendernodeimpl.go +1884 -0 collapsed to keep the page light
A v4/gsk/gskroundedrect.go +21 -0 collapsed to keep the page light
A v4/gsk/gsktransform.go +32 -0 collapsed to keep the page light
A v4/gsk/gsktypes.go +14 -0 collapsed to keep the page light
A v4/gsk/main.go +59 -0 collapsed to keep the page light
A v4/gtk/gtkaboutdialog.go +819 -0 collapsed to keep the page light
A v4/gtk/gtkaccelgroup.go +161 -0 collapsed to keep the page light
A v4/gtk/gtkaccessible.go +243 -0 collapsed to keep the page light
A v4/gtk/gtkactionable.go +153 -0 collapsed to keep the page light
A v4/gtk/gtkactionbar.go +321 -0 collapsed to keep the page light
A v4/gtk/gtkadjustment.go +299 -0 collapsed to keep the page light
A v4/gtk/gtkappchooser.go +91 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserbutton.go +426 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserdialog.go +413 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserwidget.go +410 -0 collapsed to keep the page light
A v4/gtk/gtkapplication.go +812 -0 collapsed to keep the page light
A v4/gtk/gtkapplicationwindow.go +778 -0 collapsed to keep the page light
A v4/gtk/gtkaspectframe.go +320 -0 collapsed to keep the page light
A v4/gtk/gtkassistant.go +809 -0 collapsed to keep the page light
A v4/gtk/gtkatcontext.go +107 -0 collapsed to keep the page light
A v4/gtk/gtkbinlayout.go +60 -0 collapsed to keep the page light
A v4/gtk/gtkbitset.go +64 -0 collapsed to keep the page light
A v4/gtk/gtkbookmarklist.go +225 -0 collapsed to keep the page light
A v4/gtk/gtkboolfilter.go +110 -0 collapsed to keep the page light
A v4/gtk/gtkborder.go +15 -0 collapsed to keep the page light
A v4/gtk/gtkbox.go +376 -0 collapsed to keep the page light
A v4/gtk/gtkboxlayout.go +149 -0 collapsed to keep the page light
A v4/gtk/gtkbuildable.go +75 -0 collapsed to keep the page light
A v4/gtk/gtkbuilder.go +706 -0 collapsed to keep the page light
A v4/gtk/gtkbuilderlistitemfactory.go +137 -0 collapsed to keep the page light
A v4/gtk/gtkbuilderscope.go +168 -0 collapsed to keep the page light
A v4/gtk/gtkbutton.go +543 -0 collapsed to keep the page light
A v4/gtk/gtkcalendar.go +445 -0 collapsed to keep the page light
A v4/gtk/gtkcellarea.go +1168 -0 collapsed to keep the page light
A v4/gtk/gtkcellareabox.go +234 -0 collapsed to keep the page light
A v4/gtk/gtkcellareacontext.go +236 -0 collapsed to keep the page light
A v4/gtk/gtkcelleditable.go +82 -0 collapsed to keep the page light
A v4/gtk/gtkcelllayout.go +303 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderer.go +483 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendereraccel.go +93 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderercombo.go +92 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererpixbuf.go +72 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererprogress.go +70 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererspin.go +67 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererspinner.go +65 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderertext.go +104 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderertoggle.go +149 -0 collapsed to keep the page light
A v4/gtk/gtkcellview.go +530 -0 collapsed to keep the page light
A v4/gtk/gtkcenterbox.go +364 -0 collapsed to keep the page light
A v4/gtk/gtkcenterlayout.go +195 -0 collapsed to keep the page light
A v4/gtk/gtkcheckbutton.go +553 -0 collapsed to keep the page light
A v4/gtk/gtkcolorbutton.go +365 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooser.go +114 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooserdialog.go +371 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooserwidget.go +271 -0 collapsed to keep the page light
A v4/gtk/gtkcolorutils.go +41 -0 collapsed to keep the page light
A v4/gtk/gtkcolumnview.go +627 -0 collapsed to keep the page light
A v4/gtk/gtkcolumnviewcolumn.go +311 -0 collapsed to keep the page light
A v4/gtk/gtkcombobox.go +918 -0 collapsed to keep the page light
A v4/gtk/gtkcomboboxtext.go +538 -0 collapsed to keep the page light
A v4/gtk/gtkconstraint.go +253 -0 collapsed to keep the page light
A v4/gtk/gtkconstraintguide.go +179 -0 collapsed to keep the page light
A v4/gtk/gtkconstraintlayout.go +490 -0 collapsed to keep the page light
A v4/gtk/gtkcssenums.go +40 -0 collapsed to keep the page light
A v4/gtk/gtkcsserror.go +25 -0 collapsed to keep the page light
A v4/gtk/gtkcsslocation.go +26 -0 collapsed to keep the page light
A v4/gtk/gtkcssprovider.go +190 -0 collapsed to keep the page light
A v4/gtk/gtkcsssection.go +9 -0 collapsed to keep the page light
A v4/gtk/gtkcustomfilter.go +86 -0 collapsed to keep the page light
A v4/gtk/gtkcustomlayout.go +72 -0 collapsed to keep the page light
A v4/gtk/gtkcustomsorter.go +78 -0 collapsed to keep the page light
A v4/gtk/gtkdebug.go +89 -0 collapsed to keep the page light
A v4/gtk/gtkdialog.go +741 -0 collapsed to keep the page light
A v4/gtk/gtkdirectorylist.go +317 -0 collapsed to keep the page light
A v4/gtk/gtkdragicon.go +335 -0 collapsed to keep the page light
A v4/gtk/gtkdragsource.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkdrawingarea.go +388 -0 collapsed to keep the page light
A v4/gtk/gtkdropcontrollermotion.go +142 -0 collapsed to keep the page light
A v4/gtk/gtkdropdown.go +489 -0 collapsed to keep the page light
A v4/gtk/gtkdroptarget.go +365 -0 collapsed to keep the page light
A v4/gtk/gtkdroptargetasync.go +237 -0 collapsed to keep the page light
A v4/gtk/gtkeditable.go +572 -0 collapsed to keep the page light
A v4/gtk/gtkeditablelabel.go +508 -0 collapsed to keep the page light
A v4/gtk/gtkemojichooser.go +302 -0 collapsed to keep the page light
A v4/gtk/gtkentry.go +1419 -0 collapsed to keep the page light
A v4/gtk/gtkentrybuffer.go +226 -0 collapsed to keep the page light
A v4/gtk/gtkentrycompletion.go +595 -0 collapsed to keep the page light
A v4/gtk/gtkenums.go +1512 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontroller.go +226 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerfocus.go +124 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerkey.go +165 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerlegacy.go +70 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollermotion.go +119 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerscroll.go +203 -0 collapsed to keep the page light
A v4/gtk/gtkexpander.go +507 -0 collapsed to keep the page light
A v4/gtk/gtkexpression.go +711 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooser.go +532 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooserdialog.go +820 -0 collapsed to keep the page light
A v4/gtk/gtkfilechoosernative.go +596 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooserwidget.go +783 -0 collapsed to keep the page light
A v4/gtk/gtkfilefilter.go +244 -0 collapsed to keep the page light
A v4/gtk/gtkfilter.go +170 -0 collapsed to keep the page light
A v4/gtk/gtkfilterlistmodel.go +282 -0 collapsed to keep the page light
A v4/gtk/gtkfixed.go +309 -0 collapsed to keep the page light
A v4/gtk/gtkfixedlayout.go +129 -0 collapsed to keep the page light
A v4/gtk/gtkflattenlistmodel.go +200 -0 collapsed to keep the page light
A v4/gtk/gtkflowbox.go +1130 -0 collapsed to keep the page light
A v4/gtk/gtkfontbutton.go +565 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooser.go +347 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooserdialog.go +539 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooserwidget.go +429 -0 collapsed to keep the page light
A v4/gtk/gtkframe.go +355 -0 collapsed to keep the page light
A v4/gtk/gtkgesture.go +506 -0 collapsed to keep the page light
A v4/gtk/gtkgestureclick.go +119 -0 collapsed to keep the page light
A v4/gtk/gtkgesturedrag.go +127 -0 collapsed to keep the page light
A v4/gtk/gtkgesturelongpress.go +118 -0 collapsed to keep the page light
A v4/gtk/gtkgesturepan.go +100 -0 collapsed to keep the page light
A v4/gtk/gtkgesturerotate.go +85 -0 collapsed to keep the page light
A v4/gtk/gtkgesturesingle.go +152 -0 collapsed to keep the page light
A v4/gtk/gtkgesturestylus.go +183 -0 collapsed to keep the page light
A v4/gtk/gtkgestureswipe.go +94 -0 collapsed to keep the page light
A v4/gtk/gtkgesturezoom.go +87 -0 collapsed to keep the page light
A v4/gtk/gtkglarea.go +592 -0 collapsed to keep the page light
A v4/gtk/gtkgrid.go +577 -0 collapsed to keep the page light
A v4/gtk/gtkgridlayout.go +302 -0 collapsed to keep the page light
A v4/gtk/gtkgridview.go +519 -0 collapsed to keep the page light
A v4/gtk/gtkheaderbar.go +407 -0 collapsed to keep the page light
A v4/gtk/gtkicontheme.go +622 -0 collapsed to keep the page light
A v4/gtk/gtkiconview.go +1373 -0 collapsed to keep the page light
A v4/gtk/gtkimage.go +618 -0 collapsed to keep the page light
A v4/gtk/gtkimcontext.go +384 -0 collapsed to keep the page light
A v4/gtk/gtkimcontextsimple.go +122 -0 collapsed to keep the page light
A v4/gtk/gtkimmulticontext.go +90 -0 collapsed to keep the page light
A v4/gtk/gtkinfobar.go +528 -0 collapsed to keep the page light
A v4/gtk/gtkinscription.go +469 -0 collapsed to keep the page light
A v4/gtk/gtklabel.go +1201 -0 collapsed to keep the page light
A v4/gtk/gtklayoutchild.go +87 -0 collapsed to keep the page light
A v4/gtk/gtklayoutmanager.go +191 -0 collapsed to keep the page light
A v4/gtk/gtklevelbar.go +494 -0 collapsed to keep the page light
A v4/gtk/gtklinkbutton.go +391 -0 collapsed to keep the page light
A v4/gtk/gtklistbase.go +275 -0 collapsed to keep the page light
A v4/gtk/gtklistbox.go +1290 -0 collapsed to keep the page light
A v4/gtk/gtklistitem.go +195 -0 collapsed to keep the page light
A v4/gtk/gtklistitemfactory.go +73 -0 collapsed to keep the page light
A v4/gtk/gtkliststore.go +955 -0 collapsed to keep the page light
A v4/gtk/gtklistview.go +560 -0 collapsed to keep the page light
A v4/gtk/gtklockbutton.go +347 -0 collapsed to keep the page light
A v4/gtk/gtkmain.go +148 -0 collapsed to keep the page light
A v4/gtk/gtkmaplistmodel.go +250 -0 collapsed to keep the page light
A v4/gtk/gtkmediacontrols.go +234 -0 collapsed to keep the page light
A v4/gtk/gtkmediafile.go +385 -0 collapsed to keep the page light
A v4/gtk/gtkmediastream.go +687 -0 collapsed to keep the page light
A v4/gtk/gtkmenubutton.go +607 -0 collapsed to keep the page light
A v4/gtk/gtkmessagedialog.go +526 -0 collapsed to keep the page light
A v4/gtk/gtkmountoperation.go +144 -0 collapsed to keep the page light
A v4/gtk/gtkmultifilter.go +459 -0 collapsed to keep the page light
A v4/gtk/gtkmultiselection.go +305 -0 collapsed to keep the page light
A v4/gtk/gtkmultisorter.go +193 -0 collapsed to keep the page light
A v4/gtk/gtknative.go +148 -0 collapsed to keep the page light
A v4/gtk/gtknativedialog.go +217 -0 collapsed to keep the page light
A v4/gtk/gtknoselection.go +308 -0 collapsed to keep the page light
A v4/gtk/gtknotebook.go +1060 -0 collapsed to keep the page light
A v4/gtk/gtknumericsorter.go +117 -0 collapsed to keep the page light
A v4/gtk/gtkorientable.go +62 -0 collapsed to keep the page light
A v4/gtk/gtkoverlay.go +354 -0 collapsed to keep the page light
A v4/gtk/gtkoverlaylayout.go +124 -0 collapsed to keep the page light
A v4/gtk/gtkpadcontroller.go +173 -0 collapsed to keep the page light
A v4/gtk/gtkpagesetup.go +412 -0 collapsed to keep the page light
A v4/gtk/gtkpagesetupunixdialog.go +377 -0 collapsed to keep the page light
A v4/gtk/gtkpaned.go +561 -0 collapsed to keep the page light
A v4/gtk/gtkpapersize.go +51 -0 collapsed to keep the page light
A v4/gtk/gtkpasswordentry.go +545 -0 collapsed to keep the page light
A v4/gtk/gtkpasswordentrybuffer.go +57 -0 collapsed to keep the page light
A v4/gtk/gtkpicture.go +569 -0 collapsed to keep the page light
A v4/gtk/gtkpopover.go +620 -0 collapsed to keep the page light
A v4/gtk/gtkpopovermenu.go +471 -0 collapsed to keep the page light
A v4/gtk/gtkpopovermenubar.go +282 -0 collapsed to keep the page light
A v4/gtk/gtkprintcontext.go +264 -0 collapsed to keep the page light
A v4/gtk/gtkprinter.go +399 -0 collapsed to keep the page light
A v4/gtk/gtkprintjob.go +429 -0 collapsed to keep the page light
A v4/gtk/gtkprintoperation.go +1049 -0 collapsed to keep the page light
A v4/gtk/gtkprintoperationpreview.go +86 -0 collapsed to keep the page light
A v4/gtk/gtkprintsettings.go +901 -0 collapsed to keep the page light
A v4/gtk/gtkprintunixdialog.go +579 -0 collapsed to keep the page light
A v4/gtk/gtkprogressbar.go +434 -0 collapsed to keep the page light
A v4/gtk/gtkrange.go +572 -0 collapsed to keep the page light
A v4/gtk/gtkrecentmanager.go +307 -0 collapsed to keep the page light
A v4/gtk/gtkrender.go +187 -0 collapsed to keep the page light
A v4/gtk/gtkrevealer.go +360 -0 collapsed to keep the page light
A v4/gtk/gtkroot.go +111 -0 collapsed to keep the page light
A v4/gtk/gtkscale.go +510 -0 collapsed to keep the page light
A v4/gtk/gtkscalebutton.go +401 -0 collapsed to keep the page light
A v4/gtk/gtkscrollable.go +185 -0 collapsed to keep the page light
A v4/gtk/gtkscrollbar.go +283 -0 collapsed to keep the page light
A v4/gtk/gtkscrolledwindow.go +814 -0 collapsed to keep the page light
A v4/gtk/gtksearchbar.go +373 -0 collapsed to keep the page light
A v4/gtk/gtksearchentry.go +649 -0 collapsed to keep the page light
A v4/gtk/gtkselectionfiltermodel.go +184 -0 collapsed to keep the page light
A v4/gtk/gtkselectionmodel.go +244 -0 collapsed to keep the page light
A v4/gtk/gtkseparator.go +225 -0 collapsed to keep the page light
A v4/gtk/gtksettings.go +75 -0 collapsed to keep the page light
A v4/gtk/gtkshortcut.go +166 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutaction.go +368 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutcontroller.go +307 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutlabel.go +242 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutmanager.go +39 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutsgroup.go +188 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutssection.go +209 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutsshortcut.go +201 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutswindow.go +354 -0 collapsed to keep the page light
A v4/gtk/gtkshortcuttrigger.go +437 -0 collapsed to keep the page light
A v4/gtk/gtkshow.go +55 -0 collapsed to keep the page light
A v4/gtk/gtksignallistitemfactory.go +167 -0 collapsed to keep the page light
A v4/gtk/gtksingleselection.go +411 -0 collapsed to keep the page light
A v4/gtk/gtksizegroup.go +194 -0 collapsed to keep the page light
A v4/gtk/gtksizerequest.go +41 -0 collapsed to keep the page light
A v4/gtk/gtkslicelistmodel.go +233 -0 collapsed to keep the page light
A v4/gtk/gtksnapshot.go +688 -0 collapsed to keep the page light
A v4/gtk/gtksorter.go +175 -0 collapsed to keep the page light
A v4/gtk/gtksortlistmodel.go +289 -0 collapsed to keep the page light
A v4/gtk/gtkspinbutton.go +1050 -0 collapsed to keep the page light
A v4/gtk/gtkspinner.go +251 -0 collapsed to keep the page light
A v4/gtk/gtkstack.go +948 -0 collapsed to keep the page light
A v4/gtk/gtkstacksidebar.go +243 -0 collapsed to keep the page light
A v4/gtk/gtkstackswitcher.go +272 -0 collapsed to keep the page light
A v4/gtk/gtkstatusbar.go +316 -0 collapsed to keep the page light
A v4/gtk/gtkstringfilter.go +180 -0 collapsed to keep the page light
A v4/gtk/gtkstringlist.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkstringsorter.go +118 -0 collapsed to keep the page light
A v4/gtk/gtkstylecontext.go +353 -0 collapsed to keep the page light
A v4/gtk/gtkstyleprovider.go +27 -0 collapsed to keep the page light
A v4/gtk/gtkswitch.go +393 -0 collapsed to keep the page light
A v4/gtk/gtksymbolicpaintable.go +65 -0 collapsed to keep the page light
A v4/gtk/gtktestatcontext.go +98 -0 collapsed to keep the page light
A v4/gtk/gtktestutils.go +74 -0 collapsed to keep the page light
A v4/gtk/gtktext.go +1176 -0 collapsed to keep the page light
A v4/gtk/gtktextbuffer.go +1494 -0 collapsed to keep the page light
A v4/gtk/gtktextchild.go +111 -0 collapsed to keep the page light
A v4/gtk/gtktextiter.go +62 -0 collapsed to keep the page light
A v4/gtk/gtktextmark.go +177 -0 collapsed to keep the page light
A v4/gtk/gtktexttag.go +125 -0 collapsed to keep the page light
A v4/gtk/gtktexttagtable.go +201 -0 collapsed to keep the page light
A v4/gtk/gtktextview.go +1722 -0 collapsed to keep the page light
A v4/gtk/gtktogglebutton.go +473 -0 collapsed to keep the page light
A v4/gtk/gtktooltip.go +157 -0 collapsed to keep the page light
A v4/gtk/gtktreednd.go +167 -0 collapsed to keep the page light
A v4/gtk/gtktreeexpander.go +340 -0 collapsed to keep the page light
A v4/gtk/gtktreelistmodel.go +472 -0 collapsed to keep the page light
A v4/gtk/gtktreelistrowsorter.go +104 -0 collapsed to keep the page light
A v4/gtk/gtktreemodel.go +739 -0 collapsed to keep the page light
A v4/gtk/gtktreemodelfilter.go +662 -0 collapsed to keep the page light
A v4/gtk/gtktreemodelsort.go +697 -0 collapsed to keep the page light
A v4/gtk/gtktreeselection.go +323 -0 collapsed to keep the page light
A v4/gtk/gtktreesortable.go +140 -0 collapsed to keep the page light
A v4/gtk/gtktreestore.go +868 -0 collapsed to keep the page light
A v4/gtk/gtktreeview.go +1829 -0 collapsed to keep the page light
A v4/gtk/gtktreeviewcolumn.go +819 -0 collapsed to keep the page light
A v4/gtk/gtktypes.go +23 -0 collapsed to keep the page light
A v4/gtk/gtkversion.go +122 -0 collapsed to keep the page light
A v4/gtk/gtkvideo.go +420 -0 collapsed to keep the page light
A v4/gtk/gtkviewport.go +358 -0 collapsed to keep the page light
A v4/gtk/gtkvolumebutton.go +217 -0 collapsed to keep the page light
A v4/gtk/gtkwidget.go +3604 -0 collapsed to keep the page light
A v4/gtk/gtkwidgetpaintable.go +249 -0 collapsed to keep the page light
A v4/gtk/gtkwindow.go +1301 -0 collapsed to keep the page light
A v4/gtk/gtkwindowcontrols.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkwindowgroup.go +105 -0 collapsed to keep the page light
A v4/gtk/gtkwindowhandle.go +241 -0 collapsed to keep the page light
A v4/gtk/main.go +61 -0 collapsed to keep the page light
A v4/pango/main.go +25 -0 collapsed to keep the page light
A v4/pango/pango-attributes.go +854 -0 collapsed to keep the page light
A v4/pango/pango-bidi-type.go +127 -0 collapsed to keep the page light
A v4/pango/pango-break.go +131 -0 collapsed to keep the page light
A v4/pango/pango-color.go +12 -0 collapsed to keep the page light
A v4/pango/pango-context.go +406 -0 collapsed to keep the page light
A v4/pango/pango-coverage.go +174 -0 collapsed to keep the page light
A v4/pango/pango-direction.go +42 -0 collapsed to keep the page light
A v4/pango/pango-font.go +688 -0 collapsed to keep the page light
A v4/pango/pango-fontmap.go +174 -0 collapsed to keep the page light
A v4/pango/pango-fontset.go +157 -0 collapsed to keep the page light
A v4/pango/pango-glyph-item.go +81 -0 collapsed to keep the page light
A v4/pango/pango-glyph.go +199 -0 collapsed to keep the page light
A v4/pango/pango-gravity.go +132 -0 collapsed to keep the page light
A v4/pango/pango-item.go +105 -0 collapsed to keep the page light
A v4/pango/pango-language.go +96 -0 collapsed to keep the page light
A v4/pango/pango-layout.go +1265 -0 collapsed to keep the page light
A v4/pango/pango-markup.go +88 -0 collapsed to keep the page light
A v4/pango/pango-matrix.go +25 -0 collapsed to keep the page light
A v4/pango/pango-renderer.go +362 -0 collapsed to keep the page light
A v4/pango/pango-script.go +332 -0 collapsed to keep the page light
A v4/pango/pango-tabs.go +59 -0 collapsed to keep the page light
A v4/pango/pango-types.go +92 -0 collapsed to keep the page light
A v4/pango/pango-utils.go +304 -0 collapsed to keep the page light
A v4/pangocairo/pangocairo.go +543 -0 collapsed to keep the page light

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