Trait MenuExt

Source
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§

Source

fn find_item(&self, name: &str) -> Option<MenuItem>

Get a menu item by name

Source

fn set_item(&mut self, item: &MenuItem) -> bool

Set selected item

Source

fn find_index(&self, label: &str) -> i32

Find an item’s index by its label

Source

fn text_font(&self) -> Font

Return the text font

Source

fn set_text_font(&mut self, c: Font)

Sets the text font

Source

fn text_size(&self) -> i32

Return the text size

Source

fn set_text_size(&mut self, c: i32)

Sets the text size

Source

fn text_color(&self) -> Color

Return the text color

Source

fn set_text_color(&mut self, c: Color)

Sets the text color

Source

fn add<F: FnMut(&mut Self) + 'static>( &mut self, name: &str, shortcut: Shortcut, flag: MenuFlag, cb: F, ) -> i32
where 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

Source

fn insert<F: FnMut(&mut Self) + 'static>( &mut self, idx: i32, name: &str, shortcut: Shortcut, flag: MenuFlag, cb: F, ) -> i32
where 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

Source

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,

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.

Source

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,

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.

Source

fn remove(&mut self, idx: i32)

Remove a menu item by index

Source

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.

Source

fn choice(&self) -> Option<String>

Gets the user choice from the Choice and MenuButton widgets

Source

fn value(&self) -> i32

Get index into menu of the last item chosen, returns -1 if no item was chosen

Source

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

Source

fn clear(&mut self)

Clears the items in a menu, effectively deleting them.

Source

fn clear_submenu(&mut self, idx: i32) -> Result<(), FltkError>

Clears a submenu by index

§Errors

Errors on failure to clear the submenu, failure returns an FltkErrorKind::FailedOperation

Source

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

Source

fn size(&self) -> i32

Get the size of the menu widget

Source

fn text(&self, idx: i32) -> Option<String>

Get the text label of the menu item at index idx

Source

fn at(&self, idx: i32) -> Option<MenuItem>

Get the menu item at an index

Source

fn mode(&self, idx: i32) -> MenuFlag

Get the mode of a menu item by index and flag

Source

fn set_mode(&mut self, idx: i32, flag: MenuFlag)

Set the mode of a menu item

Source

fn end(&mut self)

End the menu

Source

fn set_down_frame(&mut self, f: FrameType)

Set the down_box of the widget

Source

fn down_frame(&self) -> FrameType

Get the down frame type of the widget

Source

fn global(&mut self)

Make a menu globally accessible from any window

Source

fn menu(&self) -> Option<MenuItem>

Get the menu element

Source

unsafe fn set_menu(&mut self, item: MenuItem)

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)

Source

fn item_pathname(&self, item: Option<&MenuItem>) -> Result<String, FltkError>

Get an item’s pathname

Source

fn set_menu_frame(&mut self, f: FrameType)

Set the menu’s popup frame type

Source

fn menu_frame(&self) -> FrameType

Get the menu’s popup frame type

Source

fn mvalue(&self) -> Option<MenuItem>

Get the selected menu item

Source

fn prev_mvalue(&self) -> Option<MenuItem>

Get the previously selected menu item

Implementors§