// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Application.html).
pub type Application
///|
pub(open) trait IApplication {
fn as_application(Self) -> Application
}
///|
pub impl IApplication for Application with fn as_application(self) {
self
}
///|
#borrow(application_id)
extern "c" fn moonbit_adw_application_new(
application_id : @glib.Nullable[Bytes],
flags : Int,
) -> Application = "moonbit_adw_application_new"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/ctor.Application.new.html).
pub fn Application::new(
application_id : String?,
flags : @gio.ApplicationFlags,
) -> Application {
moonbit_adw_application_new(
match application_id {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
flags.to_int(),
)
}
///|
pub fn Application::as_gtk_application(self : Application) -> @gtk.Application = "%identity"
///|
pub impl @gtk.IApplication for Application with fn as_application(self) {
self.as_gtk_application()
}
///|
pub fn Application::as_gio_application(self : Application) -> @gio.Application = "%identity"
///|
pub impl @gio.IApplication for Application with fn as_application(self) {
self.as_gio_application()
}
///|
pub fn Application::as_gobject_object(self : Application) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for Application with fn as_object(self) {
self.as_gobject_object()
}
///|
pub fn Application::as_gio_action_group(self : Application) -> @gio.ActionGroup = "%identity"
///|
pub impl @gio.IActionGroup for Application with fn as_action_group(self) {
self.as_gio_action_group()
}