    class
    	EV_TOOL_BAR_DROP_DOWN_BUTTON_IMP

    General
    	cluster: implementation_mswin
    	description: "EiffelVision tool-bar dropdown button, mswindows implementation."
    	create: make

    Ancestors
    	EV_TOOL_BAR_BUTTON_IMP
    	EV_TOOL_BAR_DROP_DOWN_BUTTON_I*

    Action sequences
    	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_drop_down_actions: EV_NOTIFY_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
    	dock_ended_actions: EV_NOTIFY_ACTION_SEQUENCE
    	dock_started_actions: EV_NOTIFY_ACTION_SEQUENCE
    	drop_actions: EV_PND_ACTION_SEQUENCE
    	drop_down_actions: EV_NOTIFY_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
    	awaiting_movement: BOOLEAN
    	capture_enabled: BOOLEAN
    	closest_dockable_target: EV_DOCKABLE_TARGET
    	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
    	Drag_cursor: EV_POINTER_STYLE
    	enabled_before: BOOLEAN
    	foreground_window: WEL_WINDOW
    	get_next_target (a_widget: EV_WIDGET): EV_DOCKABLE_TARGET
    	Global_drag_targets: ARRAYED_LIST [INTEGER_32]
    	Global_pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
    	gray_pixmap: EV_PIXMAP
    	has_gray_pixmap: BOOLEAN
    	has_heavy_capture: BOOLEAN
    	has_parent: BOOLEAN
    	has_pixmap: BOOLEAN
    	id: INTEGER_32
    	Ilc_color: INTEGER_32
    	Ilc_color16: INTEGER_32
    	Ilc_color24: INTEGER_32
    	Ilc_color32: INTEGER_32
    	Ilc_color4: INTEGER_32
    	Ilc_color8: INTEGER_32
    	Ilc_colorddb: INTEGER_32
    	Ilc_mask: INTEGER_32
    	Ild_normal: INTEGER_32
    	image_index: INTEGER_32
    	index: 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_dock_executing: BOOLEAN
    	is_dockable: BOOLEAN
    	is_external_docking_enabled: BOOLEAN
    	is_external_docking_relative: BOOLEAN
    	is_sensitive: BOOLEAN
    	is_transport_enabled: BOOLEAN
    	is_window (hwnd: POINTER): 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
    	not_external_docking_enabled: BOOLEAN
    	not_is_external_docking_relative: BOOLEAN
    	original_parent_position: INTEGER_32
    	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_ITEM_LIST [EV_ITEM]
    	parent_imp: EV_TOOL_BAR_IMP
    	parent_is_sensitive: BOOLEAN
    	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
    	real_source: EV_DOCKABLE_SOURCE
    	real_text: STRING_32
    	resource_string_id (an_id: INTEGER_32): STRING_32
    	rubber_band_is_drawn: BOOLEAN
    	source_being_docked: EV_DOCKABLE_SOURCE_I
    	system_directory: STRING_32
    	text: STRING_32
    	text_length: INTEGER_32
    	tick_count: INTEGER_32
    	tooltip: STRING_32
    	top_level_window_imp: EV_WINDOW_IMP
    	transport_executing: BOOLEAN
    	ttdt_automatic: INTEGER_32
    	ttdt_autopop: INTEGER_32
    	ttdt_initial: INTEGER_32
    	ttdt_reshow: INTEGER_32
    	Ttf_centertip: INTEGER_32
    	Ttf_idishwnd: INTEGER_32
    	Ttf_rtlreading: INTEGER_32
    	Ttf_subclass: INTEGER_32
    	ttm_activate: INTEGER_32
    	ttm_addtool: INTEGER_32
    	ttm_deltool: INTEGER_32
    	ttm_enumtools: INTEGER_32
    	ttm_getcurrenttool: INTEGER_32
    	ttm_getdelaytime: INTEGER_32
    	ttm_getmaxtipwidth: INTEGER_32
    	ttm_gettext: INTEGER_32
    	ttm_gettipbkcolor: INTEGER_32
    	ttm_gettiptextcolor: INTEGER_32
    	ttm_gettoolcount: INTEGER_32
    	ttm_gettoolinfo: INTEGER_32
    	ttm_hittest: INTEGER_32
    	ttm_newtoolrect: INTEGER_32
    	ttm_relayevent: INTEGER_32
    	ttm_setdelaytime: INTEGER_32
    	ttm_setmaxtipwidth: INTEGER_32
    	ttm_settipbkcolor: INTEGER_32
    	ttm_settiptextcolor: INTEGER_32
    	ttm_settoolinfo: INTEGER_32
    	ttm_updatetiptext: INTEGER_32
    	ttm_windowfrompoint: INTEGER_32
    	tts_alwaystip: INTEGER_32
    	tts_noprefix: INTEGER_32
    	user_is_sensitive: BOOLEAN
    	wel_text: STRING_32
    	widget_imp_at_pointer_position: EV_WIDGET_IMP
    	window_of_item (hwnd: POINTER): WEL_WINDOW
    	windows_directory: STRING_32

    Commands
    	check_drag_and_drop_release (a_x, a_y: INTEGER_32)
    	check_dragable_release (a_x, a_y: INTEGER_32)
    	close_dockable_dialog (dockable_dialog: EV_DOCKABLE_DIALOG)
    	complete_dock
    	disable_dockable
    	disable_external_docking
    	disable_external_docking_relative
    	disable_pebble_positioning
    	disable_sensitive
    	disable_sensitive_internal
    	disable_transport
    	dragable_motion (a_x, a_y, a_screen_x, a_screen_y: INTEGER_32)
    	dragable_press (a_x, a_y, a_button, a_screen_x, a_screen_y: INTEGER_32)
    	enable_dockable
    	enable_external_docking
    	enable_external_docking_relative
    	enable_pebble_positioning
    	enable_sensitive
    	enable_sensitive_internal
    	enable_transport
    	escape_pnd
    	hide_cursor
    	internal_disable_dockable
    	internal_enable_dockable
    	message_beep_asterisk
    	message_beep_exclamation
    	message_beep_hand
    	message_beep_ok
    	message_beep_question
    	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)
    	release_capture
    	release_heavy_capture
    	remove_gray_pixmap
    	remove_insert_label
    	remove_insert_sep
    	remove_pebble
    	remove_pixmap
    	remove_real_source
    	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
    	set_capture
    	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_gray_pixmap (p: EV_PIXMAP)
    	set_heavy_capture
    	set_parent_imp (a_parent_imp: [like parent_imp] EV_TOOL_BAR_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 (p: EV_PIXMAP)
    	set_pixmap_in_parent
    	set_pnd_original_parent
    	set_pointer_style (c: EV_POINTER_STYLE)
    	set_real_source (dockable_source: EV_DOCKABLE_SOURCE)
    	set_target_menu_mode
    	set_text (a_text: STRING_GENERAL)
    	set_tooltip (a_tooltip: STRING_GENERAL)
    	show_cursor
    	update_for_pick_and_drop (starting: BOOLEAN)
    	user_disable_sensitive
    	user_enable_sensitive
    	wel_set_text (txt: STRING_GENERAL)