class
	EV_MENU_IMP

General
	cluster: implementation_mswin
	description: "EiffelVision menu. Mswindows implementation."
	create: make

Ancestors
	EV_MENU_I*
	EV_MENU_ITEM_IMP
	EV_MENU_ITEM_LIST_IMP*

Action sequences
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_item_select_actions: EV_MENU_ITEM_SELECT_ACTION_SEQUENCE
	create_pick_actions: EV_PND_START_ACTION_SEQUENCE
	create_pick_ended_actions: EV_PND_FINISHED_ACTION_SEQUENCE
	create_pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	create_pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	create_pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	create_select_actions: EV_NOTIFY_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	item_select_actions: EV_MENU_ITEM_SELECT_ACTION_SEQUENCE
	new_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]
	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
	remove_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]
	select_actions: EV_NOTIFY_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	awaiting_movement: BOOLEAN
	capture_enabled: BOOLEAN
	count: INTEGER_32
	cursor: EV_DYNAMIC_LIST_CURSOR [EV_MENU_ITEM]
	Default_accept_cursor: EV_POINTER_STYLE
	Default_deny_cursor: EV_POINTER_STYLE
	Default_pixmaps: EV_STOCK_PIXMAPS
	deny_cursor: EV_POINTER_STYLE
	dockable_dialog_target: EV_DOCKABLE_DIALOG
	Drag_and_drop_starting_movement: INTEGER_32
	exists: BOOLEAN
	foreground_window: WEL_WINDOW
	Global_drag_targets: ARRAYED_LIST [INTEGER_32]
	Global_pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
	has (v: [like item] EV_MENU_ITEM): BOOLEAN
	has_heavy_capture: BOOLEAN
	i_th (i: INTEGER_32): [like item] EV_MENU_ITEM
	id: INTEGER_32
	id_string (an_id: INTEGER_32): STRING_32
	index: INTEGER_32
	index_of (v: [like item] EV_MENU_ITEM; i: INTEGER_32): INTEGER_32
	Insert_label: EV_CELL
	Insert_label_imp: EV_CELL_I
	Insert_sep: EV_TOOL_BAR_SEPARATOR
	Insert_sep_imp: EV_TOOL_BAR_SEPARATOR_I
	internal_non_sensitive: BOOLEAN
	Internal_screen: EV_SCREEN
	is_sensitive: BOOLEAN
	is_transport_enabled: BOOLEAN
	is_window (hwnd: POINTER): BOOLEAN
	item: EV_MENU_ITEM
	item_by_data (data: ANY): [like item] EV_MENU_ITEM
	item_checked (an_id: INTEGER_32): BOOLEAN
	item_enabled (an_id: INTEGER_32): BOOLEAN
	item_exists (an_id: INTEGER_32): BOOLEAN
	key_down (virtual_key: INTEGER_32): BOOLEAN
	key_locked (virtual_key: INTEGER_32): BOOLEAN
	key_to_string (key_data: INTEGER_32): STRING_32
	mode_is_drag_and_drop: BOOLEAN
	mode_is_pick_and_drop: BOOLEAN
	mode_is_target_menu: BOOLEAN
	object_id: INTEGER_32
	off: BOOLEAN
	original_pressure: REAL_64
	original_x: INTEGER_32
	original_x_offset: INTEGER_16
	original_x_tilt: REAL_64
	original_y: INTEGER_32
	original_y_offset: INTEGER_16
	original_y_tilt: REAL_64
	originating_source: EV_DOCKABLE_SOURCE_I
	parent: EV_MENU_ITEM_LIST
	parent_imp: EV_MENU_ITEM_LIST_IMP
	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
	pixmap_equal_to (a_pixmap: EV_PIXMAP): BOOLEAN
	pixmap_imp: EV_PIXMAP_IMP_STATE
	pnd_original_parent: EV_PICK_AND_DROPABLE_ITEM_HOLDER_IMP
	pointer_x: INTEGER_16
	pointer_y: INTEGER_16
	popup_exists (position: INTEGER_32): BOOLEAN
	popup_menu (position: INTEGER_32): WEL_MENU
	position_enabled (position: INTEGER_32): BOOLEAN
	position_to_item_id (position: INTEGER_32): INTEGER_32
	resource_string_id (an_id: INTEGER_32): STRING_32
	retrieve_item_by_data (data: ANY; should_compare_objects: BOOLEAN): EV_MENU_ITEM
	retrieve_items_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_MENU_ITEM]
	rubber_band_is_drawn: BOOLEAN
	shared: BOOLEAN
	source_being_docked: EV_DOCKABLE_SOURCE_I
	system_directory: STRING_32
	text: STRING_32
	tick_count: INTEGER_32
	transport_executing: BOOLEAN
	user_is_sensitive: BOOLEAN
	valid_cursor (p: CURSOR): BOOLEAN
	wel_count: INTEGER_32
	wel_item: POINTER
	widget_imp_at_pointer_position: EV_WIDGET_IMP
	window_of_item (hwnd: POINTER): WEL_WINDOW
	windows_directory: STRING_32

Commands
	append (s: SEQUENCE [EV_MENU_ITEM])
	append_bitmap (bitmap: WEL_BITMAP; an_id: INTEGER_32)
	append_popup (a_menu: WEL_MENU; a_title: STRING_GENERAL)
	append_separator
	append_string (a_string: STRING_GENERAL; an_id: INTEGER_32)
	append_string_with_break (a_string: STRING_GENERAL; an_id: INTEGER_32; has_separator: BOOLEAN)
	back
	check_drag_and_drop_release (a_x, a_y: INTEGER_32)
	check_item (an_id: INTEGER_32)
	delete_item (an_id: INTEGER_32)
	delete_position (position: INTEGER_32)
	disable_item (an_id: INTEGER_32)
	disable_pebble_positioning
	disable_position (position: INTEGER_32)
	disable_transport
	enable_item (an_id: INTEGER_32)
	enable_pebble_positioning
	enable_position (position: INTEGER_32)
	enable_transport
	escape_pnd
	extend (v: [like item] EV_MENU_ITEM)
	forth
	go_i_th (i: INTEGER_32)
	go_to (p: CURSOR)
	hide_cursor
	hilite_menu_item (window: WEL_COMPOSITE_WINDOW; an_id: INTEGER_32)
	insert_bitmap (bitmap: WEL_BITMAP; a_position, an_id: INTEGER_32)
	insert_popup (a_menu: WEL_MENU; a_position: INTEGER_32; a_title: STRING_GENERAL)
	insert_separator (a_position: INTEGER_32)
	insert_string (a_string: STRING_GENERAL; a_position, an_id: INTEGER_32)
	merge_left (other: [like interface] EV_MENU)
	merge_right (other: [like interface] EV_MENU)
	message_beep_asterisk
	message_beep_exclamation
	message_beep_hand
	message_beep_ok
	message_beep_question
	modify_string (a_string: STRING_GENERAL; an_id: INTEGER_32)
	move (i: INTEGER_32)
	output_debug_string (s: STRING_GENERAL)
	pnd_motion (a_x, a_y, a_screen_x, a_screen_y: INTEGER_32)
	pnd_press (a_x, a_y, a_button, a_screen_x, a_screen_y: INTEGER_32)
	print_radio_group (g: [like radio_group] LINKED_LIST [EV_RADIO_MENU_ITEM_IMP])
	print_radio_groups
	prune (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_insert_label
	remove_insert_sep
	remove_left
	remove_pebble
	remove_pixmap
	remove_position (position: INTEGER_32)
	remove_right
	replace (v: [like item] EV_MENU_ITEM)
	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
	set_cursor_position_absolute (x, y: INTEGER_32)
	set_deny_cursor (a_cursor: [like deny_cursor] EV_POINTER_STYLE)
	set_drag_and_drop_mode
	set_item (an_item: POINTER)
	set_parent_imp (a_parent_imp: [like parent_imp] EV_MENU_ITEM_LIST_IMP)
	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_pnd_original_parent
	set_pointer_style (c: EV_POINTER_STYLE)
	set_shared
	set_target_menu_mode
	set_text (a_text: STRING_GENERAL)
	set_unshared
	show_cursor
	show_track (x, y: INTEGER_32; window: WEL_COMPOSITE_WINDOW)
	show_track_with_option (x, y: INTEGER_32; window: WEL_COMPOSITE_WINDOW; option: INTEGER_32; rect: WEL_RECT)
	start
	uncheck_item (an_id: INTEGER_32)
	unhilite_menu_item (window: WEL_COMPOSITE_WINDOW; an_id: INTEGER_32)
	user_disable_sensitive
	user_enable_sensitive
	wipe_out