pub unsafe trait MenuExt: WidgetExt {
Show 37 methods
    // Required methods
    fn find_item(&self, name: &str) -> Option<MenuItem>;
    fn set_item(&mut self, item: &MenuItem) -> bool;
    fn find_index(&self, label: &str) -> i32;
    fn text_font(&self) -> Font;
    fn set_text_font(&mut self, c: Font);
    fn text_size(&self) -> i32;
    fn set_text_size(&mut self, c: i32);
    fn text_color(&self) -> Color;
    fn set_text_color(&mut self, c: Color);
    fn add<F: FnMut(&mut Self) + 'static>(
        &mut self,
        name: &str,
        shortcut: Shortcut,
        flag: MenuFlag,
        cb: F,
    ) -> i32
       where Self: Sized;
    fn insert<F: FnMut(&mut Self) + 'static>(
        &mut self,
        idx: i32,
        name: &str,
        shortcut: Shortcut,
        flag: MenuFlag,
        cb: F,
    ) -> i32
       where Self: Sized;
    fn add_emit<T: 'static + Clone + Send + Sync>(
        &mut self,
        label: &str,
        shortcut: Shortcut,
        flag: MenuFlag,
        sender: Sender<T>,
        msg: T,
    ) -> i32
       where Self: Sized;
    fn insert_emit<T: 'static + Clone + Send + Sync>(
        &mut self,
        idx: i32,
        label: &str,
        shortcut: Shortcut,
        flag: MenuFlag,
        sender: Sender<T>,
        msg: T,
    ) -> i32
       where Self: Sized;
    fn remove(&mut self, idx: i32);
    fn add_choice(&mut self, text: &str) -> i32;
    fn choice(&self) -> Option<String>;
    fn value(&self) -> i32;
    fn set_value(&mut self, v: i32) -> bool;
    fn clear(&mut self);
    fn clear_submenu(&mut self, idx: i32) -> Result<(), FltkError>;
    unsafe fn unsafe_clear(&mut self);
    fn size(&self) -> i32;
    fn text(&self, idx: i32) -> Option<String>;
    fn at(&self, idx: i32) -> Option<MenuItem>;
    fn mode(&self, idx: i32) -> MenuFlag;
    fn set_mode(&mut self, idx: i32, flag: MenuFlag);
    fn end(&mut self);
    fn set_down_frame(&mut self, f: FrameType);
    fn down_frame(&self) -> FrameType;
    fn global(&mut self);
    fn menu(&self) -> Option<MenuItem>;
    unsafe fn set_menu(&mut self, item: MenuItem);
    fn item_pathname(
        &self,
        item: Option<&MenuItem>,
    ) -> Result<String, FltkError>;
    fn set_menu_frame(&mut self, f: FrameType);
    fn menu_frame(&self) -> FrameType;
    fn mvalue(&self) -> Option<MenuItem>;
    fn prev_mvalue(&self) -> Option<MenuItem>;
}Expand description
Defines the methods implemented by all menu widgets
These are found in the menu module: MenuBar, SysMenuBar, Choice, MenuButton …etc.
Menus function in 2 main ways which are discussed in the wiki
§Safety
fltk-rs traits depend on some FLTK internal code
§Warning
fltk-rs traits are non-exhaustive,
to avoid future breakage if you try to implement them manually,
use the Deref and DerefMut pattern or the widget_extends! macro
Required Methods§
Sourcefn find_index(&self, label: &str) -> i32
 
fn find_index(&self, label: &str) -> i32
Find an item’s index by its label
Sourcefn set_text_font(&mut self, c: Font)
 
fn set_text_font(&mut self, c: Font)
Sets the text font
Sourcefn set_text_size(&mut self, c: i32)
 
fn set_text_size(&mut self, c: i32)
Sets the text size
Sourcefn text_color(&self) -> Color
 
fn text_color(&self) -> Color
Return the text color
Sourcefn set_text_color(&mut self, c: Color)
 
fn set_text_color(&mut self, c: Color)
Sets the text color
Sourcefn add<F: FnMut(&mut Self) + 'static>(
    &mut self,
    name: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    cb: F,
) -> i32where
    Self: Sized,
 
fn add<F: FnMut(&mut Self) + 'static>(
    &mut self,
    name: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    cb: F,
) -> i32where
    Self: Sized,
Add a menu item along with its callback. The characters “&”, “/”, “\”, and “_” (underscore) are treated as special characters in the label string. The “&” character specifies that the following character is an accelerator and will be underlined. The “\” character is used to escape the next character in the string. Labels starting with the “_” (underscore) character cause a divider to be placed after that menu item. Takes the menu item as a closure argument
Sourcefn insert<F: FnMut(&mut Self) + 'static>(
    &mut self,
    idx: i32,
    name: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    cb: F,
) -> i32where
    Self: Sized,
 
fn insert<F: FnMut(&mut Self) + 'static>(
    &mut self,
    idx: i32,
    name: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    cb: F,
) -> i32where
    Self: Sized,
Inserts a menu item at an index along with its callback. The characters “&”, “/”, “\”, and “_” (underscore) are treated as special characters in the label string. The “&” character specifies that the following character is an accelerator and will be underlined. The “\” character is used to escape the next character in the string. Labels starting with the “_” (underscore) character cause a divider to be placed after that menu item. Takes the menu item as a closure argument
Sourcefn add_emit<T: 'static + Clone + Send + Sync>(
    &mut self,
    label: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    sender: Sender<T>,
    msg: T,
) -> i32where
    Self: Sized,
 
fn add_emit<T: 'static + Clone + Send + Sync>(
    &mut self,
    label: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    sender: Sender<T>,
    msg: T,
) -> i32where
    Self: Sized,
Add a menu item along with an emit (sender and message). The characters “&”, “/”, “\”, and “_” (underscore) are treated as special characters in the label string. The “&” character specifies that the following character is an accelerator and will be underlined. The “\” character is used to escape the next character in the string. Labels starting with the “_” (underscore) character cause a divider to be placed after that menu item.
Sourcefn insert_emit<T: 'static + Clone + Send + Sync>(
    &mut self,
    idx: i32,
    label: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    sender: Sender<T>,
    msg: T,
) -> i32where
    Self: Sized,
 
fn insert_emit<T: 'static + Clone + Send + Sync>(
    &mut self,
    idx: i32,
    label: &str,
    shortcut: Shortcut,
    flag: MenuFlag,
    sender: Sender<T>,
    msg: T,
) -> i32where
    Self: Sized,
Inserts a menu item along with an emit (sender and message). The characters “&”, “/”, “\”, and “_” (underscore) are treated as special characters in the label string. The “&” character specifies that the following character is an accelerator and will be underlined. The “\” character is used to escape the next character in the string. Labels starting with the “_” (underscore) character cause a divider to be placed after that menu item.
Sourcefn add_choice(&mut self, text: &str) -> i32
 
fn add_choice(&mut self, text: &str) -> i32
Adds a simple text option to the Choice and MenuButton widgets.
The characters “&”, “/”, “\”, “|”, and “_” (underscore) are treated as special characters in the label string. The “&” character specifies that the following character is an accelerator and will be underlined.
The “\” character is used to escape the next character in the string. Labels starting with the “_” (underscore) character cause a divider to be placed after that menu item.
Sourcefn value(&self) -> i32
 
fn value(&self) -> i32
Get index into menu of the last item chosen, returns -1 if no item was chosen
Sourcefn set_value(&mut self, v: i32) -> bool
 
fn set_value(&mut self, v: i32) -> bool
Set index into menu of the last item chosen,return true if the new value is different than the old one
Clears a submenu by index
§Errors
Errors on failure to clear the submenu, failure returns an FltkErrorKind::FailedOperation
Sourceunsafe fn unsafe_clear(&mut self)
 
unsafe fn unsafe_clear(&mut self)
Clears the items in a menu, effectively deleting them, and recursively force-cleans capturing callbacks
§Safety
Deletes user_data and any captured objects in the callback
Sourcefn set_down_frame(&mut self, f: FrameType)
 
fn set_down_frame(&mut self, f: FrameType)
Set the down_box of the widget
Sourcefn down_frame(&self) -> FrameType
 
fn down_frame(&self) -> FrameType
Get the down frame type of the widget
Get the menu element
Set the menu element
§Safety
The MenuItem must be in a format recognized by FLTK (Empty CMenuItem after submenus and at the end of the menu)
Sourcefn item_pathname(&self, item: Option<&MenuItem>) -> Result<String, FltkError>
 
fn item_pathname(&self, item: Option<&MenuItem>) -> Result<String, FltkError>
Get an item’s pathname
Set the menu’s popup frame type
Get the menu’s popup frame type
Sourcefn prev_mvalue(&self) -> Option<MenuItem>
 
fn prev_mvalue(&self) -> Option<MenuItem>
Get the previously selected menu item