use std::convert::TryFrom;
use ncursesw::{ChtypeChar, ComplexChar, WideString, WINDOW};
use crate::{NCurseswWinError, gen::HasHandle};
pub trait HasInsFunctions: HasHandle<WINDOW> {
fn insch(&self, ch: ChtypeChar) -> result!(()) {
Ok(ncursesw::winsch(self._handle(), ch)?)
}
fn insnstr<S: Into<String>>(&self, str: S, length: Option<u16>) -> result!(()) {
Ok(ncursesw::winsnstr(self._handle(), str, option_length!(length)?)?)
}
fn ins_nwstr(&self, wstr: &WideString, length: Option<u16>) -> result!(()) {
Ok(ncursesw::wins_nwstr(self._handle(), wstr, option_length!(length)?)?)
}
fn insstr<S: Into<String>>(&self, str: S) -> result!(()) {
Ok(ncursesw::winsstr(self._handle(), str)?)
}
fn ins_wch(&self, wch: ComplexChar) -> result!(()) {
Ok(ncursesw::wins_wch(self._handle(), wch)?)
}
fn ins_wstr(&self, wstr: &WideString) -> result!(()) {
Ok(ncursesw::wins_wstr(self._handle(), wstr)?)
}
}