class
	EV_MENU

General
	cluster: interface
	description: "Drop down menu containing EV_MENU_ITEMs"
	keywords: "menu, bar, drop down, popup"
	create: make_with_text, make_with_text_and_action, default_create

Ancestors
	EV_MENU_ITEM
	EV_MENU_ITEM_LIST*

Action sequences
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	item_select_actions: EV_MENU_ITEM_SELECT_ACTION_SEQUENCE
	pick_actions: EV_PND_START_ACTION_SEQUENCE
	pick_ended_actions: EV_PND_FINISHED_ACTION_SEQUENCE
	pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	select_actions: EV_NOTIFY_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	after: BOOLEAN
	before: BOOLEAN
	Changeable_comparison_criterion: BOOLEAN
	count: INTEGER_32
	cursor: EV_DYNAMIC_LIST_CURSOR [EV_MENU_ITEM]
	data: ANY
	deny_cursor: EV_POINTER_STYLE
	exhausted: BOOLEAN
	Extendible: BOOLEAN
	first: [like item] EV_MENU_ITEM
	for_all (test: FUNCTION [ANY, TUPLE [EV_MENU_ITEM], BOOLEAN]): BOOLEAN
	Full: BOOLEAN
	has (v: [like item] EV_MENU_ITEM): BOOLEAN
	i_th alias "[]" (i: INTEGER_32): [like item] EV_MENU_ITEM
	id_object (an_id: INTEGER_32): IDENTIFIED
	index: INTEGER_32
	index_of (v: [like item] EV_MENU_ITEM; i: INTEGER_32): INTEGER_32
	index_set: INTEGER_INTERVAL
	infix "@" (i: INTEGER_32): [like item] EV_MENU_ITEM
	is_destroyed: BOOLEAN
	is_empty: BOOLEAN
	is_equal (other: [like Current] EV_MENU): BOOLEAN
	is_inserted (v: EV_MENU_ITEM): BOOLEAN
	is_parent_recursive (a_list: [like item] EV_MENU_ITEM): BOOLEAN
	is_sensitive: BOOLEAN
	isfirst: BOOLEAN
	islast: BOOLEAN
	item: EV_MENU_ITEM
	last: [like item] EV_MENU_ITEM
	linear_representation: LINEAR [EV_MENU_ITEM]
	mode_is_drag_and_drop: BOOLEAN
	mode_is_pick_and_drop: BOOLEAN
	mode_is_target_menu: BOOLEAN
	object_comparison: BOOLEAN
	object_id: INTEGER_32
	occurrences (v: [like item] EV_MENU_ITEM): INTEGER_32
	off: BOOLEAN
	parent: EV_MENU_ITEM_LIST
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	pebble_positioning_enabled: BOOLEAN
	pebble_x_position: INTEGER_32
	pebble_y_position: INTEGER_32
	pixmap: EV_PIXMAP
	prunable: BOOLEAN
	readable: BOOLEAN
	retrieve_item_by_data (some_data: ANY; should_compare_objects: BOOLEAN): EV_MENU_ITEM
	retrieve_items_by_data (some_data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_MENU_ITEM]
	same (other: EV_ANY): BOOLEAN
	sequential_occurrences (v: [like item] EV_MENU_ITEM): INTEGER_32
	target_name: STRING_GENERAL
	text: STRING_32
	there_exists (test: FUNCTION [ANY, TUPLE [EV_MENU_ITEM], BOOLEAN]): BOOLEAN
	valid_cursor (p: CURSOR): BOOLEAN
	valid_cursor_index (i: INTEGER_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN
	writable: BOOLEAN

Commands
	append (s: SEQUENCE [[like item] EV_MENU_ITEM])
	back
	compare_objects
	compare_references
	copy (other: [like Current] EV_MENU)
	destroy
	disable_pebble_positioning
	disable_sensitive
	dl_force (v: [like item] EV_MENU_ITEM)
	do_all (action: PROCEDURE [ANY, TUPLE [EV_MENU_ITEM]])
	do_if (action: PROCEDURE [ANY, TUPLE [EV_MENU_ITEM]]; test: FUNCTION [ANY, TUPLE [EV_MENU_ITEM], BOOLEAN])
	enable_pebble_positioning
	enable_sensitive
	extend (v: [like item] EV_MENU_ITEM)
	fill (other: CONTAINER [EV_MENU_ITEM])
	finish
	force (v: [like item] EV_MENU_ITEM)
	forth
	go_i_th (i: INTEGER_32)
	go_to (p: CURSOR)
	merge_left (other: [like Current] EV_MENU)
	merge_right (other: [like Current] EV_MENU)
	move (i: INTEGER_32)
	prune (v: [like item] EV_MENU_ITEM)
	prune_all (v: [like item] EV_MENU_ITEM)
	put (v: [like item] EV_MENU_ITEM)
	put_front (v: [like item] EV_MENU_ITEM)
	put_i_th (v: [like item] EV_MENU_ITEM; i: INTEGER_32)
	put_left (v: [like item] EV_MENU_ITEM)
	put_right (v: [like item] EV_MENU_ITEM)
	remove
	remove_left
	remove_pebble
	remove_pixmap
	remove_right
	remove_text
	replace (v: [like item] EV_MENU_ITEM)
	search (v: [like item] EV_MENU_ITEM)
	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
	set_data (some_data: [like data] ANY)
	set_deny_cursor (a_cursor: [like deny_cursor] EV_POINTER_STYLE)
	set_drag_and_drop_mode
	set_pebble (a_pebble: [like pebble] ANY)
	set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY])
	set_pebble_position (a_x, a_y: INTEGER_32)
	set_pick_and_drop_mode
	set_pixmap (a_pixmap: EV_PIXMAP)
	set_target_menu_mode
	set_target_name (a_name: STRING_GENERAL)
	set_text (a_text: STRING_GENERAL)
	show
	show_at (a_widget: EV_WIDGET; a_x, a_y: INTEGER_32)
	start
	swap (i: INTEGER_32)
	wipe_out

Constraints
	one selected radio item per separator