Trait fltk::prelude::MenuExt

source ·
pub unsafe trait MenuExt: WidgetExt {
Show 35 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;
}
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

Implementors§