// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/class.HeaderBar.html).
pub type HeaderBar
///|
pub(open) trait IHeaderBar {
fn as_header_bar(Self) -> HeaderBar
fn get_decoration_layout(Self) -> String? = _
fn get_show_title_buttons(Self) -> Bool = _
fn get_title_widget(Self) -> Widget? = _
fn get_use_native_controls(Self) -> Bool = _
fn pack_end(Self, &IWidget) -> Unit = _
fn pack_start(Self, &IWidget) -> Unit = _
fn remove(Self, &IWidget) -> Unit = _
fn set_decoration_layout(Self, String?) -> Unit = _
fn set_show_title_buttons(Self, Bool) -> Unit = _
fn set_title_widget(Self, &IWidget?) -> Unit = _
fn set_use_native_controls(Self, Bool) -> Unit = _
}
///|
pub impl IHeaderBar for HeaderBar with fn as_header_bar(self) {
self
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/ctor.HeaderBar.new.html).
pub extern "c" fn HeaderBar::new() -> HeaderBar = "moonbit_gtk_header_bar_new"
///|
#borrow(self_)
extern "c" fn moonbit_gtk_header_bar_get_decoration_layout(
self_ : HeaderBar,
) -> @glib.Nullable[Bytes] = "moonbit_gtk_header_bar_get_decoration_layout"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.get_decoration_layout.html).
pub fn HeaderBar::get_decoration_layout(self : HeaderBar) -> String? {
let result = moonbit_gtk_header_bar_get_decoration_layout(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.get_show_title_buttons.html).
#borrow(self)
pub extern "c" fn HeaderBar::get_show_title_buttons(self : HeaderBar) -> Bool = "moonbit_gtk_header_bar_get_show_title_buttons"
///|
#borrow(self_)
extern "c" fn moonbit_gtk_header_bar_get_title_widget(
self_ : HeaderBar,
) -> @glib.Nullable[Widget] = "moonbit_gtk_header_bar_get_title_widget"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.get_title_widget.html).
pub fn HeaderBar::get_title_widget(self : HeaderBar) -> Widget? {
let raw_result = moonbit_gtk_header_bar_get_title_widget(self)
raw_result.to_option()
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.get_use_native_controls.html).
#borrow(self)
pub extern "c" fn HeaderBar::get_use_native_controls(self : HeaderBar) -> Bool = "moonbit_gtk_header_bar_get_use_native_controls"
///|
#borrow(self_, child)
extern "c" fn moonbit_gtk_header_bar_pack_end(
self_ : HeaderBar,
child : Widget,
) = "moonbit_gtk_header_bar_pack_end"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.pack_end.html).
pub fn HeaderBar::pack_end(self : HeaderBar, child : &IWidget) -> Unit {
moonbit_gtk_header_bar_pack_end(self, child.as_widget())
}
///|
#borrow(self_, child)
extern "c" fn moonbit_gtk_header_bar_pack_start(
self_ : HeaderBar,
child : Widget,
) = "moonbit_gtk_header_bar_pack_start"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.pack_start.html).
pub fn HeaderBar::pack_start(self : HeaderBar, child : &IWidget) -> Unit {
moonbit_gtk_header_bar_pack_start(self, child.as_widget())
}
///|
#borrow(self_, child)
extern "c" fn moonbit_gtk_header_bar_remove(self_ : HeaderBar, child : Widget) = "moonbit_gtk_header_bar_remove"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.remove.html).
pub fn HeaderBar::remove(self : HeaderBar, child : &IWidget) -> Unit {
moonbit_gtk_header_bar_remove(self, child.as_widget())
}
///|
#borrow(self_, layout)
extern "c" fn moonbit_gtk_header_bar_set_decoration_layout(
self_ : HeaderBar,
layout : @glib.Nullable[Bytes],
) = "moonbit_gtk_header_bar_set_decoration_layout"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.set_decoration_layout.html).
pub fn HeaderBar::set_decoration_layout(
self : HeaderBar,
layout : String?,
) -> Unit {
moonbit_gtk_header_bar_set_decoration_layout(
self,
match layout {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.set_show_title_buttons.html).
#borrow(self)
pub extern "c" fn HeaderBar::set_show_title_buttons(
self : HeaderBar,
setting : Bool,
) = "moonbit_gtk_header_bar_set_show_title_buttons"
///|
#borrow(self_, title_widget)
extern "c" fn moonbit_gtk_header_bar_set_title_widget(
self_ : HeaderBar,
title_widget : @glib.Nullable[Widget],
) = "moonbit_gtk_header_bar_set_title_widget"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.set_title_widget.html).
pub fn HeaderBar::set_title_widget(
self : HeaderBar,
title_widget : &IWidget?,
) -> Unit {
moonbit_gtk_header_bar_set_title_widget(
self,
match title_widget {
Some(v) => @glib.Nullable::some(v.as_widget())
None => @glib.Nullable::null()
},
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.HeaderBar.set_use_native_controls.html).
#borrow(self)
pub extern "c" fn HeaderBar::set_use_native_controls(
self : HeaderBar,
setting : Bool,
) = "moonbit_gtk_header_bar_set_use_native_controls"
///|
impl IHeaderBar with fn get_decoration_layout(self) -> String? {
self.as_header_bar().get_decoration_layout()
}
///|
impl IHeaderBar with fn get_show_title_buttons(self) -> Bool {
self.as_header_bar().get_show_title_buttons()
}
///|
impl IHeaderBar with fn get_title_widget(self) -> Widget? {
self.as_header_bar().get_title_widget()
}
///|
impl IHeaderBar with fn get_use_native_controls(self) -> Bool {
self.as_header_bar().get_use_native_controls()
}
///|
impl IHeaderBar with fn pack_end(self, child) -> Unit {
self.as_header_bar().pack_end(child)
}
///|
impl IHeaderBar with fn pack_start(self, child) -> Unit {
self.as_header_bar().pack_start(child)
}
///|
impl IHeaderBar with fn remove(self, child) -> Unit {
self.as_header_bar().remove(child)
}
///|
impl IHeaderBar with fn set_decoration_layout(self, layout) -> Unit {
self.as_header_bar().set_decoration_layout(layout)
}
///|
impl IHeaderBar with fn set_show_title_buttons(self, setting) -> Unit {
self.as_header_bar().set_show_title_buttons(setting)
}
///|
impl IHeaderBar with fn set_title_widget(self, title_widget) -> Unit {
self.as_header_bar().set_title_widget(title_widget)
}
///|
impl IHeaderBar with fn set_use_native_controls(self, setting) -> Unit {
self.as_header_bar().set_use_native_controls(setting)
}
///|
pub fn HeaderBar::as_widget(self : HeaderBar) -> Widget = "%identity"
///|
pub impl IWidget for HeaderBar with fn as_widget(self) {
self.as_widget()
}
///|
pub fn HeaderBar::as_gobject_object(self : HeaderBar) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for HeaderBar with fn as_object(self) {
self.as_gobject_object()
}