class interface HEAD_MENU_ITEM
creation
make (s: STRING)
-- Create head menu item.
require
valid_string: s /= Void
ensure
not_attached: not is_valid
feature(s) from MENU_ITEM
-- Attributes
is_valid: BOOLEAN
-- Is this item valid and attached to a parent menu?
enabled: BOOLEAN
-- Is this item enabled or disabled?
require
valid: is_valid
is_checked: BOOLEAN
-- Does this item have a visible check mark?
require
valid: is_valid
feature(s) from MENU_ITEM
-- Update
set_name (s: STRING)
-- Set name. It will not be modified in the actual
-- after the parent MENU has been attached.
require
valid_string: s /= Void;
valid_menu: is_valid
set_help (hs: STRING)
-- Set the optional help string associated with this item.
require
valid_string: hs /= Void
set_command (gc: GUI_COMMAND)
-- Optional selection command (if when_selected not redefined).
require
nothing: -- Void means no callback command
ensure
keep_reference: command = gc
set_prepare_command (gc: GUI_COMMAND)
-- Optional preparation command (if when_prepared not redefined).
require
nothing: -- Void means no callback command
ensure
keep_reference: pre_command = gc
set_leader (lead: HEAD_MENU_ITEM)
-- Set optional leading menu item for radio-type items.
require
valid_lead: lead /= Void;
not_leader: lead /= Current
ensure
keep_reference: lead = leader
feature(s) from MENU_ITEM
-- Setup
enable
-- Enable menu item.
require
valid: is_valid
ensure
done: enabled
disable
-- Grey out menu item.
require
valid: is_valid
ensure
done: not enabled
check_mark
-- Set check mark.
require
valid: is_valid
ensure
done: is_checked
uncheck_mark
-- Unset check mark.
require
valid: is_valid
ensure
done: not is_checked
detach
-- Remove this item from its menu.
require
attached: is_valid
ensure
detached: not is_valid
feature(s) from MENU_ITEM
-- Accelerator
has_accelerator: BOOLEAN
-- Has this item got an associated keyboard accelerator?
set_accelerator (newacc: ACCELERATOR)
-- Set associated keyboard accelerator.
require
ok: newacc /= Void
ensure
keep_reference: accelerator = newacc;
done: has_accelerator
feature(s) from MENU_ITEM
-- Action
execute
-- Simulate selection of menu item.
end of HEAD_MENU_ITEM