    class
    	EV_MENU_BAR_IMP

    General
    	cluster: implementation_mswin
    	description: "Eiffel Vision menu bar. Mswindows implementation."
    	create: make

    Ancestors
    	EV_MENU_BAR_I*
    	EV_MENU_ITEM_LIST_IMP*

    Action sequences
    	create_item_select_actions: EV_MENU_ITEM_SELECT_ACTION_SEQUENCE
    	item_select_actions: EV_MENU_ITEM_SELECT_ACTION_SEQUENCE
    	new_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]
    	remove_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]

    Queries
    	count: INTEGER_32
    	cursor: EV_DYNAMIC_LIST_CURSOR [EV_MENU_ITEM]
    	exists: BOOLEAN
    	has (v: [like item] EV_MENU_ITEM): BOOLEAN
    	i_th (i: INTEGER_32): [like item] EV_MENU_ITEM
    	id_string (an_id: INTEGER_32): STRING_32
    	index: INTEGER_32
    	index_of (v: [like item] EV_MENU_ITEM; i: INTEGER_32): INTEGER_32
    	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
    	off: BOOLEAN
    	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
    	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]
    	shared: BOOLEAN
    	valid_cursor (p: CURSOR): BOOLEAN
    	wel_count: INTEGER_32
    	wel_item: POINTER

    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_item (an_id: INTEGER_32)
    	delete_item (an_id: INTEGER_32)
    	delete_position (position: INTEGER_32)
    	disable_item (an_id: INTEGER_32)
    	disable_position (position: INTEGER_32)
    	dispose
    	enable_item (an_id: INTEGER_32)
    	enable_position (position: INTEGER_32)
    	extend (v: [like item] EV_MENU_ITEM)
    	forth
    	go_i_th (i: INTEGER_32)
    	go_to (p: 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_BAR)
    	merge_right (other: [like interface] EV_MENU_BAR)
    	modify_string (a_string: STRING_GENERAL; an_id: INTEGER_32)
    	move (i: 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_left
    	remove_position (position: INTEGER_32)
    	remove_right
    	replace (v: [like item] EV_MENU_ITEM)
    	set_item (an_item: POINTER)
    	set_shared
    	set_unshared
    	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)
    	wipe_out