libadwaita 0.5.3

Rust bindings for libadwaita
Documentation
[external_libraries]
Gio = {min_version = "2.66"}
[options]
girs_directories = ["../gir-files", "../"]
library = "Adw"
version = "1"
min_cfg_version = "1"
target_path = "."
use_gi_docgen = true
work_mode = "normal"
generate_safety_asserts = true
deprecate_by_min_version = true
# with this option enabled, versions for gir and gir-files saved only to one file to minimize noise
single_version_file = true
generate_builder = true
trust_return_value_nullability = true

external_libraries = [
   "GLib",
   "GObject",
   "Gdk",
   "GdkPixbuf",
   "Gtk",
   "Pango",
]

generate = [
    "Adw.AboutWindow",
    "Adw.ActionRow",
    "Adw.AnimationState",
    "Adw.Avatar",
    "Adw.Banner",
    "Adw.Bin",
    "Adw.BreakpointBin",
    "Adw.BreakpointConditionLengthType",
    "Adw.BreakpointConditionRatioType",
    "Adw.ButtonContent",
    "Adw.CarouselIndicatorDots",
    "Adw.CarouselIndicatorLines",
    "Adw.CenteringPolicy",
    "Adw.Clamp",
    "Adw.ClampLayout",
    "Adw.ClampScrollable",
    "Adw.ColorScheme",
    "Adw.ComboRow",
    "Adw.Easing",
    "Adw.EntryRow",
    "Adw.ExpanderRow",
    "Adw.FoldThresholdPolicy",
    "Adw.Flap",
    "Adw.FlapFoldPolicy",
    "Adw.FlapTransitionType",
    "Adw.EnumListItem",
    "Adw.HeaderBar",
    "Adw.Leaflet",
    "Adw.LeafletTransitionType",
    "Adw.LengthUnit",
    "Adw.NavigationDirection",
    "Adw.NavigationPage",
    "Adw.NavigationSplitView",
    "Adw.NavigationView",
    "Adw.OverlaySplitView",
    "Adw.PasswordEntryRow",
    "Adw.PreferencesGroup",
    "Adw.PreferencesPage",
    "Adw.PreferencesRow",
    "Adw.PreferencesWindow",
    "Adw.ResponseAppearance",
    "Adw.SplitButton",
    "Adw.SpringAnimation",
    "Adw.SpringParams",
    "Adw.Squeezer",
    "Adw.SqueezerTransitionType",
    "Adw.StatusPage",
    "Adw.SwipeTracker",
    "Adw.SwitchRow",
    "Adw.Swipeable",
    "Adw.TabButton",
    "Adw.TabOverview",
    "Adw.TabViewShortcuts",
    "Adw.TimedAnimation",
    "Adw.ToastPriority",
    "Adw.ToolbarStyle",
    "Adw.ToolbarView",
    "Adw.ViewStack",
    "Adw.ViewSwitcher",
    "Adw.ViewSwitcherBar",
    "Adw.ViewSwitcherPolicy",
    "Adw.ViewSwitcherTitle",
    "Adw.WindowTitle",
]

manual = [
    "GLib.Variant",
    "GObject.Object",
    "GObject.ParamSpec",
    "GObject.Value",
    "Gdk.Cursor",
    "Gdk.Display",
    "Gdk.DragAction",
    "Gdk.Paintable",
    "Gdk.Rectangle",
    "Gdk.Texture",
    "Gio.Application",
    "Gio.ApplicationFlags",
    "Gio.ActionGroup",
    "Gio.ActionMap",
    "Gio.Cancellable",
    "Gio.Icon",
    "Gio.ListModel",
    "Gio.MenuModel",
    "Gtk.Accessible",
    "Gtk.AccessibleRole",
    "Gtk.Actionable",
    "Gtk.Adjustment",
    "Gtk.Align",
    "Gtk.Application",
    "Gtk.ApplicationWindow",
    "Gtk.ArrowType",
    "Gtk.Buildable",
    "Gtk.ConstraintTarget",
    "Gtk.Editable",
    "Gtk.Entry",
    "Gtk.Expression",
    "Gtk.HeaderBar",
    "Gtk.InputHints",
    "Gtk.InputPurpose",
    "Gtk.LayoutManager",
    "Gtk.License",
    "Gtk.ListBoxRow",
    "Gtk.ListItemFactory",
    "Gtk.ListView",
    "Gtk.Native",
    "Gtk.Orientable",
    "Gtk.Orientation",
    "Gtk.Overflow",
    "Gtk.PackType",
    "Gtk.Popover",
    "Gtk.Root",
    "Gtk.Scrollable",
    "Gtk.ScrollablePolicy",
    "Gtk.ScrolledWindow",
    "Gtk.SelectionModel",
    "Gtk.Settings",
    "Gtk.ShortcutManager",
    "Gtk.SpinButtonUpdatePolicy",
    "Gtk.Stack",
    "Gtk.Widget",
    "Pango.AttrList",
    "Pango.EllipsizeMode",
]

[[object]]
name = "Gtk.Window"
status = "manual"
trait_name = "GtkWindowExt"
    [[object.property]]
    name = "child"
    # adw use content not child, using it could result in a crash
    ignore = true

[[object]]
name = "Adw.*"
status = "generate"
    [[object.constant]]
    name = "VERSION_S"
    ignore = true
    [[object.function]]
    name = "get_enable_animations"
    rename = "is_animations_enabled"
    [[object.function]]
    name = "init"
    manual = true
    [[object.function]]
    name = "show_about_window"
    ignore = true # C only function, replaced by AboutWindow::builder

[[object]]
name = "Adw.Animation"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.AnimationTarget"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.Application"
status = "generate"
builder_postprocess = "Application::register_startup_hook(&ret);"
trait_name = "AdwApplicationExt"
    [[object.function]]
    name = "new"
    manual = true

[[object]]
name = "Adw.ApplicationWindow"
status = "generate"
trait_name = "AdwApplicationWindowExt"

[[object]]
name = "Adw.Breakpoint"
status = "generate"
generate_builder = false
    [[object.function]]
    pattern = "(add_setters_valist|add_setters)"
    ignore = true # C only functions, add_setters replaced by add_settersv
    [[object.function]]
    name = "add_settersv"
    rename = "add_setters"
    manual = true
    [[object.function]]
    name = "set_condition"
        [[object.function.parameter]]
        name = "condition"
        const = true # iter shouldn't be mutable here

[[object]]
name = "Adw.BreakpointCondition"
status = "generate"
    [[object.function]]
    name = "to_string"
        [[object.function.parameter]]
        name = "self"
        const = true # iter shouldn't be mutable here
    [[object.function]]
    name = "parse"
        [object.function.return]
        nullable = true
        nullable_return_is_error = "Invalid condition"

[[object]]
name = "Adw.CallbackAnimationTarget"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.Carousel"
status = "generate"
    [[object.function]]
    name = "get_nth_page"
    manual = true # assert n < n_pages

[[object]]
name = "Adw.EnumListModel"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.LeafletPage"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.MessageDialog"
status = "generate"
manual_traits = ["MessageDialogExtManual"]
    [[object.function]]
    name = "add_responses"
    manual = true
    [[object.function]]
    pattern = "(format_body|format_body_markup|format_heading|format_heading_markup)"
    ignore = true # C only function
    [[object.function]]
    name = "get_response_label"
    manual = true # assert has_response
    [[object.function]]
    name = "choose"
    manual = true

[[object]]
name = "Adw.PropertyAnimationTarget"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.SpinRow"
status = "generate"
    [[object.signal]]
    name = "input"
    manual = true

[[object]]
name = "Adw.StyleManager"
status = "generate"
generate_builder = false
    [[object.function]]
    name = "get_system_supports_color_schemes"
    rename = "system_supports_color_schemes"

[[object]]
name = "Adw.SqueezerPage"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.TabBar"
status = "generate"
    [[object.function]]
    name = "setup_extra_drop_target"
    manual = true # somehow gir fails to handle functions that have a array with a specific length
    [[object.signal]]
    name = "extra-drag-drop"
    ignore = true # manual: *mut gobject_ffi::GValue doesn't implement glib::from_glib_borrow

[[object]]
name = "Adw.TabView"
status = "generate"
    [[object.function]]
    name = "get_nth_page"
    manual = true # assert n < n_pages

[[object]]
name = "Adw.Toast"
status = "generate"
    [[object.function]]
    name = "new_format"
    ignore = true # C only function
    [[object.function]]
    name = "set_action_target"
    manual = true
    [[object.property]]
    name = "action-target"
    generate = ["notify"]

[[object]]
name = "Adw.ToastOverlay"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.TabPage"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.ViewStackPage"
status = "generate"
generate_builder = false

[[object]]
name = "Adw.ViewStackPages"
status = "generate"
generate_builder = false
version = "1.4"

[[object]]
name = "Adw.Window"
status = "generate"
trait_name = "AdwWindowExt"