    class
    	EV_TREE_NODE_IMP

    General
    	cluster: implementation_mswin
    	description: "Eiffel Vision tree node. Mswindows implementation."
    	create: make

    Ancestors
    	EV_ITEM_IMP*
    	EV_ITEM_LIST_IMP* [reference G -> EV_ITEM, reference H -> EV_ITEM_IMP]
    	EV_TEXTABLE_IMP*
    	EV_TOOLTIPABLE_IMP*
    	EV_TREE_NODE_ACTION_SEQUENCES_IMP*
    	EV_TREE_NODE_I*
    	WEL_ILC_CONSTANTS
    	WEL_TREE_VIEW_ITEM
    	WEL_TVIS_CONSTANTS
    	WEL_TVI_CONSTANTS
    	WEL_TVM_CONSTANTS

    Action sequences
    	collapse_actions: EV_NOTIFY_ACTION_SEQUENCE
    	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_collapse_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_deselect_actions: EV_NOTIFY_ACTION_SEQUENCE
    	create_expand_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
    	deselect_actions: EV_NOTIFY_ACTION_SEQUENCE
    	drop_actions: EV_PND_ACTION_SEQUENCE
    	expand_actions: EV_NOTIFY_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
    	children_is_valid: BOOLEAN
    	children_nb: INTEGER_32
    	count: INTEGER_32
    	cursor: EV_DYNAMIC_LIST_CURSOR [EV_TREE_NODE]
    	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
    	find_item_recursively_by_data (data: ANY): EV_TREE_NODE
    	foreground_window: WEL_WINDOW
    	Global_drag_targets: ARRAYED_LIST [INTEGER_32]
    	Global_pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
    	h_item: POINTER
    	has (v: [like item] EV_TREE_NODE): BOOLEAN
    	has_heavy_capture: BOOLEAN
    	has_recursively (an_item: [like item] EV_TREE_NODE): BOOLEAN
    	i_th (i: INTEGER_32): [like item] EV_TREE_NODE
    	index: INTEGER_32
    	index_of (v: [like item] EV_TREE_NODE; 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_screen: EV_SCREEN
    	is_equal (other: [like Current] EV_TREE_NODE_IMP): BOOLEAN
    	is_selectable: BOOLEAN
    	is_transport_enabled: BOOLEAN
    	is_window (hwnd: POINTER): BOOLEAN
    	item: EV_TREE_NODE
    	item_by_data (data: ANY): [like item] EV_TREE_NODE
    	key_down (virtual_key: INTEGER_32): BOOLEAN
    	key_locked (virtual_key: INTEGER_32): BOOLEAN
    	key_to_string (key_data: INTEGER_32): STRING_32
    	lparam: INTEGER_32
    	lparam_is_valid: BOOLEAN
    	mask: INTEGER_32
    	mode_is_drag_and_drop: BOOLEAN
    	mode_is_pick_and_drop: BOOLEAN
    	mode_is_target_menu: BOOLEAN
    	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_TREE_NODE_LIST
    	parent_tree: EV_TREE
    	pebble: ANY
    	pebble_function: FUNCTION [ANY, TUPLE, ANY]
    	pebble_positioning_enabled: BOOLEAN
    	pebble_x_position: INTEGER_32
    	pebble_y_position: INTEGER_32
    	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
    	resource_string_id (an_id: INTEGER_32): STRING_32
    	retrieve_item_by_data (data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_item_recursively_by_data (data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_items_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	retrieve_items_recursively_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	rubber_band_is_drawn: BOOLEAN
    	shared: BOOLEAN
    	source_being_docked: EV_DOCKABLE_SOURCE_I
    	state: INTEGER_32
    	state_is_valid: BOOLEAN
    	state_mask: INTEGER_32
    	Structure_size: INTEGER_32
    	system_directory: STRING_32
    	text: STRING_32
    	text_is_valid: BOOLEAN
    	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
    	valid_cursor (p: CURSOR): BOOLEAN
    	wel_item: POINTER
    	widget_imp_at_pointer_position: EV_WIDGET_IMP
    	window_of_item (hwnd: POINTER): WEL_WINDOW
    	windows_directory: STRING_32

    Commands
    	add_mask (a_mask_value: INTEGER_32)
    	append (s: SEQUENCE [EV_TREE_NODE])
    	back
    	check_drag_and_drop_release (a_x, a_y: INTEGER_32)
    	copy (other: [like Current] EV_TREE_NODE_IMP)
    	disable_pebble_positioning
    	disable_transport
    	dispose
    	enable_pebble_positioning
    	enable_transport
    	escape_pnd
    	extend (v: [like item] EV_TREE_NODE)
    	forth
    	go_i_th (i: INTEGER_32)
    	go_to (p: CURSOR)
    	hide_cursor
    	initialize_with_character (a_character: CHARACTER_8)
    	memory_copy (source_pointer: POINTER; length: INTEGER_32)
    	merge_left (other: [like interface] EV_TREE_NODE)
    	merge_right (other: [like interface] EV_TREE_NODE)
    	message_beep_asterisk
    	message_beep_exclamation
    	message_beep_hand
    	message_beep_ok
    	message_beep_question
    	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)
    	prune (v: [like item] EV_TREE_NODE)
    	put_front (v: [like item] EV_TREE_NODE)
    	put_i_th (v: [like item] EV_TREE_NODE; i: INTEGER_32)
    	put_left (v: [like item] EV_TREE_NODE)
    	put_right (v: [like item] EV_TREE_NODE)
    	recursive_do_all (action: PROCEDURE [ANY, TUPLE [EV_TREE_NODE]])
    	release_capture
    	release_heavy_capture
    	remove
    	remove_insert_label
    	remove_insert_sep
    	remove_left
    	remove_pebble
    	remove_right
    	replace (v: [like item] EV_TREE_NODE)
    	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_h_item (a_h_item: POINTER)
    	set_heavy_capture
    	set_image (image_normal, image_selected: INTEGER_32)
    	set_item (an_item: POINTER)
    	set_lparam (a_lparam: INTEGER_32)
    	set_mask (a_mask_value: INTEGER_32)
    	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_pointer_style (c: EV_POINTER_STYLE)
    	set_shared
    	set_state (a_state: INTEGER_32)
    	set_target_menu_mode
    	set_text (a_text: STRING_GENERAL)
    	set_unshared
    	show_cursor
    	start
    	structure_initialize
    	wipe_out

    Constraints
    	internal children not void when not parented