    class
    	EV_TREE_ITEM

    General
    	cluster: interface
    	description:
    		"Item for use with EV_TREE.
    		A tree item is also a tree-item container because if
    		we create a tree-item with a tree-item as parent, the
    		parent will become a subtree."
    	keywords: "tree, item, leaf, node, branch"
    	create: make_with_text, default_create

    Ancestors
    	EV_TREE_NODE*

    Action sequences
    	collapse_actions: EV_NOTIFY_ACTION_SEQUENCE
    	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
    	deselect_actions: EV_NOTIFY_ACTION_SEQUENCE
    	drop_actions: EV_PND_ACTION_SEQUENCE
    	expand_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
    	after: BOOLEAN
    	before: BOOLEAN
    	Changeable_comparison_criterion: BOOLEAN
    	count: INTEGER_32
    	cursor: EV_DYNAMIC_LIST_CURSOR [EV_TREE_NODE]
    	data: ANY
    	deny_cursor: EV_POINTER_STYLE
    	exhausted: BOOLEAN
    	Extendible: BOOLEAN
    	first: [like item] EV_TREE_NODE
    	for_all (test: FUNCTION [ANY, TUPLE [EV_TREE_NODE], BOOLEAN]): BOOLEAN
    	Full: BOOLEAN
    	has (v: [like item] EV_TREE_NODE): BOOLEAN
    	has_recursively (an_item: EV_TREE_NODE): BOOLEAN
    	i_th alias "[]" (i: INTEGER_32): [like item] EV_TREE_NODE
    	id_object (an_id: INTEGER_32): IDENTIFIED
    	index: INTEGER_32
    	index_of (v: [like item] EV_TREE_NODE; i: INTEGER_32): INTEGER_32
    	index_set: INTEGER_INTERVAL
    	infix "@" (i: INTEGER_32): [like item] EV_TREE_NODE
    	is_destroyed: BOOLEAN
    	is_empty: BOOLEAN
    	is_equal (other: [like Current] EV_TREE_ITEM): BOOLEAN
    	is_expandable: BOOLEAN
    	is_expanded: BOOLEAN
    	is_inserted (v: EV_TREE_NODE): BOOLEAN
    	is_parent_recursive (a_list: EV_TREE_NODE): BOOLEAN
    	is_selectable: BOOLEAN
    	is_selected: BOOLEAN
    	isfirst: BOOLEAN
    	islast: BOOLEAN
    	item: EV_TREE_NODE
    	last: [like item] EV_TREE_NODE
    	linear_representation: LINEAR [EV_TREE_NODE]
    	mode_is_drag_and_drop: BOOLEAN
    	mode_is_pick_and_drop: BOOLEAN
    	mode_is_target_menu: BOOLEAN
    	object_comparison: BOOLEAN
    	object_id: INTEGER_32
    	occurrences (v: [like item] EV_TREE_NODE): INTEGER_32
    	off: BOOLEAN
    	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: EV_PIXMAP
    	prunable: BOOLEAN
    	readable: BOOLEAN
    	retrieve_item_by_data (some_data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_item_recursively_by_data (some_data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_items_by_data (some_data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	retrieve_items_recursively_by_data (some_data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	same (other: EV_ANY): BOOLEAN
    	sequential_occurrences (v: [like item] EV_TREE_NODE): INTEGER_32
    	target_name: STRING_GENERAL
    	text: STRING_32
    	there_exists (test: FUNCTION [ANY, TUPLE [EV_TREE_NODE], BOOLEAN]): BOOLEAN
    	tooltip: STRING_32
    	valid_cursor (p: CURSOR): BOOLEAN
    	valid_cursor_index (i: INTEGER_32): BOOLEAN
    	valid_index (i: INTEGER_32): BOOLEAN
    	writable: BOOLEAN

    Commands
    	append (s: SEQUENCE [[like item] EV_TREE_NODE])
    	back
    	collapse
    	compare_objects
    	compare_references
    	copy (other: [like Current] EV_TREE_ITEM)
    	destroy
    	disable_pebble_positioning
    	disable_select
    	dl_force (v: [like item] EV_TREE_NODE)
    	do_all (action: PROCEDURE [ANY, TUPLE [EV_TREE_NODE]])
    	do_if (action: PROCEDURE [ANY, TUPLE [EV_TREE_NODE]]; test: FUNCTION [ANY, TUPLE [EV_TREE_NODE], BOOLEAN])
    	enable_pebble_positioning
    	enable_select
    	expand
    	extend (v: [like item] EV_TREE_NODE)
    	fill (other: CONTAINER [EV_TREE_NODE])
    	finish
    	force (v: [like item] EV_TREE_NODE)
    	forth
    	go_i_th (i: INTEGER_32)
    	go_to (p: CURSOR)
    	merge_left (other: [like Current] EV_TREE_ITEM)
    	merge_right (other: [like Current] EV_TREE_ITEM)
    	move (i: INTEGER_32)
    	prune (v: [like item] EV_TREE_NODE)
    	prune_all (v: [like item] EV_TREE_NODE)
    	put (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]])
    	remove
    	remove_left
    	remove_pebble
    	remove_pixmap
    	remove_right
    	remove_text
    	remove_tooltip
    	replace (v: [like item] EV_TREE_NODE)
    	search (v: [like item] EV_TREE_NODE)
    	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
    	set_data (some_data: [like data] ANY)
    	set_deny_cursor (a_cursor: [like deny_cursor] EV_POINTER_STYLE)
    	set_drag_and_drop_mode
    	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_target_menu_mode
    	set_target_name (a_name: STRING_GENERAL)
    	set_text (a_text: STRING_GENERAL)
    	set_tooltip (a_tooltip: STRING_GENERAL)
    	start
    	swap (i: INTEGER_32)
    	toggle
    	wipe_out