// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/class.EventController.html).
pub type EventController
///|
pub(open) trait IEventController {
fn as_event_controller(Self) -> EventController
fn get_current_event_device(Self) -> @gdk.Device? = _
fn get_current_event_state(Self) -> @gdk.ModifierType = _
fn get_current_event_time(Self) -> UInt = _
fn get_name(Self) -> String? = _
fn get_propagation_limit(Self) -> PropagationLimit = _
fn get_propagation_phase(Self) -> PropagationPhase = _
fn get_widget(Self) -> Widget? = _
fn reset(Self) -> Unit = _
fn set_name(Self, String?) -> Unit = _
fn set_propagation_limit(Self, PropagationLimit) -> Unit = _
fn set_propagation_phase(Self, PropagationPhase) -> Unit = _
fn set_static_name(Self, String?) -> Unit = _
}
///|
pub impl IEventController for EventController with fn as_event_controller(self) {
self
}
///|
#borrow(self_)
extern "c" fn moonbit_gtk_event_controller_get_current_event_device(
self_ : EventController,
) -> @glib.Nullable[@gdk.Device] = "moonbit_gtk_event_controller_get_current_event_device"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_current_event_device.html).
pub fn EventController::get_current_event_device(
self : EventController,
) -> @gdk.Device? {
let raw_result = moonbit_gtk_event_controller_get_current_event_device(self)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_gtk_event_controller_get_current_event_state(
self_ : EventController,
) -> Int = "moonbit_gtk_event_controller_get_current_event_state"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_current_event_state.html).
pub fn EventController::get_current_event_state(
self : EventController,
) -> @gdk.ModifierType {
@gdk.ModifierType::from_int(
moonbit_gtk_event_controller_get_current_event_state(self),
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_current_event_time.html).
#borrow(self)
pub extern "c" fn EventController::get_current_event_time(
self : EventController,
) -> UInt = "moonbit_gtk_event_controller_get_current_event_time"
///|
#borrow(self_)
extern "c" fn moonbit_gtk_event_controller_get_name(
self_ : EventController,
) -> @glib.Nullable[Bytes] = "moonbit_gtk_event_controller_get_name"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_name.html).
pub fn EventController::get_name(self : EventController) -> String? {
let result = moonbit_gtk_event_controller_get_name(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_propagation_limit.html).
#borrow(self)
pub extern "c" fn EventController::get_propagation_limit(
self : EventController,
) -> PropagationLimit = "moonbit_gtk_event_controller_get_propagation_limit"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_propagation_phase.html).
#borrow(self)
pub extern "c" fn EventController::get_propagation_phase(
self : EventController,
) -> PropagationPhase = "moonbit_gtk_event_controller_get_propagation_phase"
///|
#borrow(self_)
extern "c" fn moonbit_gtk_event_controller_get_widget(
self_ : EventController,
) -> @glib.Nullable[Widget] = "moonbit_gtk_event_controller_get_widget"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.get_widget.html).
pub fn EventController::get_widget(self : EventController) -> Widget? {
let raw_result = moonbit_gtk_event_controller_get_widget(self)
raw_result.to_option()
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.reset.html).
#borrow(self)
pub extern "c" fn EventController::reset(self : EventController) = "moonbit_gtk_event_controller_reset"
///|
#borrow(self_, name)
extern "c" fn moonbit_gtk_event_controller_set_name(
self_ : EventController,
name : @glib.Nullable[Bytes],
) = "moonbit_gtk_event_controller_set_name"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.set_name.html).
pub fn EventController::set_name(
self : EventController,
name : String?,
) -> Unit {
moonbit_gtk_event_controller_set_name(
self,
match name {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.set_propagation_limit.html).
#borrow(self)
pub extern "c" fn EventController::set_propagation_limit(
self : EventController,
limit : PropagationLimit,
) = "moonbit_gtk_event_controller_set_propagation_limit"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.set_propagation_phase.html).
#borrow(self)
pub extern "c" fn EventController::set_propagation_phase(
self : EventController,
phase : PropagationPhase,
) = "moonbit_gtk_event_controller_set_propagation_phase"
///|
#borrow(self_, name)
extern "c" fn moonbit_gtk_event_controller_set_static_name(
self_ : EventController,
name : @glib.Nullable[Bytes],
) = "moonbit_gtk_event_controller_set_static_name"
///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/method.EventController.set_static_name.html).
pub fn EventController::set_static_name(
self : EventController,
name : String?,
) -> Unit {
moonbit_gtk_event_controller_set_static_name(
self,
match name {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
)
}
///|
impl IEventController with fn get_current_event_device(self) -> @gdk.Device? {
self.as_event_controller().get_current_event_device()
}
///|
impl IEventController with fn get_current_event_state(self) -> @gdk.ModifierType {
self.as_event_controller().get_current_event_state()
}
///|
impl IEventController with fn get_current_event_time(self) -> UInt {
self.as_event_controller().get_current_event_time()
}
///|
impl IEventController with fn get_name(self) -> String? {
self.as_event_controller().get_name()
}
///|
impl IEventController with fn get_propagation_limit(self) -> PropagationLimit {
self.as_event_controller().get_propagation_limit()
}
///|
impl IEventController with fn get_propagation_phase(self) -> PropagationPhase {
self.as_event_controller().get_propagation_phase()
}
///|
impl IEventController with fn get_widget(self) -> Widget? {
self.as_event_controller().get_widget()
}
///|
impl IEventController with fn reset(self) -> Unit {
self.as_event_controller().reset()
}
///|
impl IEventController with fn set_name(self, name) -> Unit {
self.as_event_controller().set_name(name)
}
///|
impl IEventController with fn set_propagation_limit(self, limit) -> Unit {
self.as_event_controller().set_propagation_limit(limit)
}
///|
impl IEventController with fn set_propagation_phase(self, phase) -> Unit {
self.as_event_controller().set_propagation_phase(phase)
}
///|
impl IEventController with fn set_static_name(self, name) -> Unit {
self.as_event_controller().set_static_name(name)
}
///|
pub fn EventController::as_gobject_object(
self : EventController,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for EventController with fn as_object(self) {
self.as_gobject_object()
}