winio-ui-android 0.2.0-beta.2

Android backend for winio.
use inherit_methods_macro::inherit_methods;

use crate::{
    Result,
    menu::{MenuBar, SubMenuButton},
    vm_exec,
};

#[derive(Debug)]
pub struct MenuBarItem {
    inner: SubMenuButton,
}

#[inherit_methods(from = "self.inner")]
impl MenuBarItem {
    pub fn new(parent: &MenuBar) -> Result<Self> {
        vm_exec(|env| {
            Ok(Self {
                inner: SubMenuButton::new(env, parent.menu())?,
            })
        })
    }

    pub fn is_enabled(&self) -> Result<bool>;

    pub fn set_enabled(&mut self, enabled: bool) -> Result<()>;

    pub fn text(&self) -> Result<String>;

    pub fn set_text(&mut self, s: impl AsRef<str>) -> Result<()>;
}

winio_handle::impl_as_menu_container!(MenuBarItem, inner);