class interface MENU_BAR
creation
make (par: OVERLAPPED_WINDOW)
-- Create a menu bar, when set up, the menubar shall be attach-ed
-- to the parent window.
require
valid: par /= Void
ensure
done: is_valid;
keep_reference: par = parent
feature(s) from MEMORY
-- Removal :
dispose
-- Low-level API free resource
full_collect
-- Force a full collection cycle if garbage collection is
-- enabled; do nothing otherwise.
feature(s) from MENU
-- Menu items management
add_popup (item: POPUP_MENU)
-- Add a popup menu at the end of the current menu.
-- It cannot be removed.
require
valid_menu: is_valid;
valid_item: item /= Void
add_separator
-- Add a separator at the end of the current menu.
-- It cannot be removed.
require
valid: is_valid
add_item (item: MENU_ITEM)
-- Add an item at the end of the current menu.
-- Use item.detach to remove the item.
require
valid_menu: is_valid;
existing_item: item /= Void;
unattached_item: not item.is_valid
ensure
attached: item.is_valid
feature(s) from MENU
is_valid: BOOLEAN
feature(s) from MENU_BAR
-- Installation & Destruction
attach
-- Attach menu bar to parent window, attachment should be done
-- when the menu is completed.
require
valid: is_valid
feature(s) from MENU_BAR
-- Action(s)
paint
-- Update a menu bar.
require
valid: is_valid
invariant
valid_parent: parent /= Void;
items_ok: items /= Void;
end of MENU_BAR