// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/iface.ActionMap.html).
pub type ActionMap
///|
pub(open) trait IActionMap {
fn as_action_map(Self) -> ActionMap
fn add_action(Self, &IAction) -> Unit = _
fn lookup_action(Self, String) -> Action? = _
fn remove_action(Self, String) -> Unit = _
}
///|
pub impl IActionMap for ActionMap with fn as_action_map(self) {
self
}
///|
/// Implementation contract for ActionMap.add_action. Self is the retained MoonBit state; the second parameter is the invoked ActionMap object.
pub(open) trait VActionMapAddAction {
fn add_action(Self, ActionMap, &IAction) -> Unit
}
///|
/// Implementation contract for ActionMap.remove_action. Self is the retained MoonBit state; the second parameter is the invoked ActionMap object.
pub(open) trait VActionMapRemoveAction {
fn remove_action(Self, ActionMap, String) -> Unit
}
///|
#borrow(self_, action)
extern "c" fn moonbit_g_action_map_add_action(
self_ : ActionMap,
action : Action,
) = "moonbit_g_action_map_add_action"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.ActionMap.add_action.html).
pub fn ActionMap::add_action(self : ActionMap, action : &IAction) -> Unit {
moonbit_g_action_map_add_action(self, action.as_action())
}
///|
#borrow(self_, action_name)
extern "c" fn moonbit_g_action_map_lookup_action(
self_ : ActionMap,
action_name : Bytes,
) -> @glib.Nullable[Action] = "moonbit_g_action_map_lookup_action"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.ActionMap.lookup_action.html).
pub fn ActionMap::lookup_action(
self : ActionMap,
action_name : String,
) -> Action? {
let raw_result = moonbit_g_action_map_lookup_action(
self,
@encoding/utf8.encode(action_name),
)
raw_result.to_option()
}
///|
#borrow(self_, action_name)
extern "c" fn moonbit_g_action_map_remove_action(
self_ : ActionMap,
action_name : Bytes,
) = "moonbit_g_action_map_remove_action"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.ActionMap.remove_action.html).
pub fn ActionMap::remove_action(self : ActionMap, action_name : String) -> Unit {
moonbit_g_action_map_remove_action(self, @encoding/utf8.encode(action_name))
}
///|
impl IActionMap with fn add_action(self, action) -> Unit {
self.as_action_map().add_action(action)
}
///|
impl IActionMap with fn lookup_action(self, action_name) -> Action? {
self.as_action_map().lookup_action(action_name)
}
///|
impl IActionMap with fn remove_action(self, action_name) -> Unit {
self.as_action_map().remove_action(action_name)
}