class
	EV_GRID_ROW

General
	cluster: interface
	description: "Representation of a row of an EV_GRID"
	create: default_create

Ancestors
	EV_DESELECTABLE*
	EV_GRID_ROW_ACTION_SEQUENCES
	REFACTORING_HELPER

Action sequences
	collapse_actions: EV_NOTIFY_ACTION_SEQUENCE
	deselect_actions: EV_NOTIFY_ACTION_SEQUENCE
	expand_actions: EV_NOTIFY_ACTION_SEQUENCE
	select_actions: EV_NOTIFY_ACTION_SEQUENCE

Queries
	background_color: EV_COLOR
	count: INTEGER_32
	data: ANY
	foreground_color: EV_COLOR
	has_subrow (a_row: EV_GRID_ROW): BOOLEAN
	height: INTEGER_32
	index: INTEGER_32
	index_of_first_item: INTEGER_32
	is_destroyed: BOOLEAN
	is_expandable: BOOLEAN
	is_expanded: BOOLEAN
	is_index_valid_for_item_removal_if_tree_node (a_index: INTEGER_32): BOOLEAN
	is_index_valid_for_item_setting_if_tree_node (a_index: INTEGER_32): BOOLEAN
	is_locked: BOOLEAN
	is_part_of_tree_structure: BOOLEAN
	is_selectable: BOOLEAN
	is_selected: BOOLEAN
	is_show_requested: BOOLEAN
	item (i: INTEGER_32): EV_GRID_ITEM
	locked_position: INTEGER_32
	parent: EV_GRID
	parent_row: EV_GRID_ROW
	parent_row_root: EV_GRID_ROW
	selected_items: ARRAYED_LIST [EV_GRID_ITEM]
	subrow (i: INTEGER_32): EV_GRID_ROW
	subrow_count: INTEGER_32
	subrow_count_recursive: INTEGER_32
	to_implement_assertion (comment: STRING_8): BOOLEAN
	virtual_y_position: INTEGER_32
	virtual_y_position_unlocked: INTEGER_32

Commands
	add_subrow (a_row: EV_GRID_ROW)
	clear
	collapse
	copy (other: [like Current] EV_GRID_ROW)
	destroy
	disable_select
	enable_select
	ensure_expandable
	ensure_non_expandable
	ensure_visible
	expand
	fixme (comment: STRING_8)
	hide
	insert_subrow (subrow_index: INTEGER_32)
	insert_subrows (rows_to_insert, subrow_index: INTEGER_32)
	lock
	lock_at_position (a_position: INTEGER_32)
	redraw
	remove_subrow (a_row: EV_GRID_ROW)
	set_background_color (a_color: EV_COLOR)
	set_data (some_data: [like data] ANY)
	set_foreground_color (a_color: EV_COLOR)
	set_height (a_height: INTEGER_32)
	set_item (i: INTEGER_32; a_item: EV_GRID_ITEM)
	show
	to_implement (comment: STRING_8)
	toggle
	unlock

Constraints
	no subrows implies not expanded
	tree disabled in parent implies no subrows
	virtual position and virtual position unlocked equal when not locked