// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/class.Frame.html).
pub type Frame
///|
pub(open) trait IFrame {
fn as_frame(Self) -> Frame
fn get_child(Self) -> Widget? = _
fn get_label(Self) -> String? = _
fn get_label_align(Self) -> Float = _
fn get_label_widget(Self) -> Widget? = _
fn set_child(Self, &IWidget?) -> Unit = _
fn set_label(Self, String?) -> Unit = _
fn set_label_align(Self, Float) -> Unit = _
fn set_label_widget(Self, &IWidget?) -> Unit = _
}
///|
pub impl IFrame for Frame with fn as_frame(self) {
self
}
///|
/// Implementation contract for Frame.compute_child_allocation. Self is the retained MoonBit state; the second parameter is the invoked Frame object.
pub(open) trait VFrameComputeChildAllocation {
fn compute_child_allocation(Self, Frame, @gdk.Rectangle) -> Unit
}
///|
#borrow(label)
extern "c" fn moonbit_gtk_frame_new(label : @glib.Nullable[Bytes]) -> Frame = "moonbit_gtk_frame_new"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/ctor.Frame.new.html).
pub fn Frame::new(label : String?) -> Frame {
moonbit_gtk_frame_new(
match label {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
)
}
///|
#borrow(self_)
extern "c" fn moonbit_gtk_frame_get_child(
self_ : Frame,
) -> @glib.Nullable[Widget] = "moonbit_gtk_frame_get_child"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.get_child.html).
pub fn Frame::get_child(self : Frame) -> Widget? {
let raw_result = moonbit_gtk_frame_get_child(self)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_gtk_frame_get_label(
self_ : Frame,
) -> @glib.Nullable[Bytes] = "moonbit_gtk_frame_get_label"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.get_label.html).
pub fn Frame::get_label(self : Frame) -> String? {
let result = moonbit_gtk_frame_get_label(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.get_label_align.html).
#borrow(self)
pub extern "c" fn Frame::get_label_align(self : Frame) -> Float = "moonbit_gtk_frame_get_label_align"
///|
#borrow(self_)
extern "c" fn moonbit_gtk_frame_get_label_widget(
self_ : Frame,
) -> @glib.Nullable[Widget] = "moonbit_gtk_frame_get_label_widget"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.get_label_widget.html).
pub fn Frame::get_label_widget(self : Frame) -> Widget? {
let raw_result = moonbit_gtk_frame_get_label_widget(self)
raw_result.to_option()
}
///|
#borrow(self_, child)
extern "c" fn moonbit_gtk_frame_set_child(
self_ : Frame,
child : @glib.Nullable[Widget],
) = "moonbit_gtk_frame_set_child"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.set_child.html).
pub fn Frame::set_child(self : Frame, child : &IWidget?) -> Unit {
moonbit_gtk_frame_set_child(
self,
match child {
Some(v) => @glib.Nullable::some(v.as_widget())
None => @glib.Nullable::null()
},
)
}
///|
#borrow(self_, label)
extern "c" fn moonbit_gtk_frame_set_label(
self_ : Frame,
label : @glib.Nullable[Bytes],
) = "moonbit_gtk_frame_set_label"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.set_label.html).
pub fn Frame::set_label(self : Frame, label : String?) -> Unit {
moonbit_gtk_frame_set_label(
self,
match label {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.set_label_align.html).
#borrow(self)
pub extern "c" fn Frame::set_label_align(self : Frame, xalign : Float) = "moonbit_gtk_frame_set_label_align"
///|
#borrow(self_, label_widget)
extern "c" fn moonbit_gtk_frame_set_label_widget(
self_ : Frame,
label_widget : @glib.Nullable[Widget],
) = "moonbit_gtk_frame_set_label_widget"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.Frame.set_label_widget.html).
pub fn Frame::set_label_widget(self : Frame, label_widget : &IWidget?) -> Unit {
moonbit_gtk_frame_set_label_widget(
self,
match label_widget {
Some(v) => @glib.Nullable::some(v.as_widget())
None => @glib.Nullable::null()
},
)
}
///|
impl IFrame with fn get_child(self) -> Widget? {
self.as_frame().get_child()
}
///|
impl IFrame with fn get_label(self) -> String? {
self.as_frame().get_label()
}
///|
impl IFrame with fn get_label_align(self) -> Float {
self.as_frame().get_label_align()
}
///|
impl IFrame with fn get_label_widget(self) -> Widget? {
self.as_frame().get_label_widget()
}
///|
impl IFrame with fn set_child(self, child) -> Unit {
self.as_frame().set_child(child)
}
///|
impl IFrame with fn set_label(self, label) -> Unit {
self.as_frame().set_label(label)
}
///|
impl IFrame with fn set_label_align(self, xalign) -> Unit {
self.as_frame().set_label_align(xalign)
}
///|
impl IFrame with fn set_label_widget(self, label_widget) -> Unit {
self.as_frame().set_label_widget(label_widget)
}
///|
pub fn Frame::as_widget(self : Frame) -> Widget = "%identity"
///|
pub impl IWidget for Frame with fn as_widget(self) {
self.as_widget()
}
///|
pub fn Frame::as_gobject_object(self : Frame) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for Frame with fn as_object(self) {
self.as_gobject_object()
}