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