use nappgui_sys::{updown_OnClick, updown_create, updown_tooltip};
use crate::util::macros::callback;
pub struct UpDown {
pub(crate) inner: *mut nappgui_sys::UpDown,
}
impl UpDown {
pub(crate) fn new(ptr: *mut nappgui_sys::UpDown) -> Self {
if ptr.is_null() {
panic!("ptr is null");
}
Self { inner: ptr }
}
pub fn create() -> Self {
let updown = unsafe { updown_create() };
Self::new(updown)
}
callback! {
pub on_click(UpDown) => updown_OnClick;
}
pub fn tooltip(&self, tooltip: &str) {
let tooltip = std::ffi::CString::new(tooltip).unwrap();
unsafe { updown_tooltip(self.inner, tooltip.as_ptr()) }
}
}