    class
    	EV_GRID_ROW_I

    General
    	cluster: implementation_mswin
    	description: "Representation of a row of an EV_GRID"
    	create: make

    Ancestors
    	EV_DESELECTABLE_I*
    	EV_GRID_ROW_ACTION_SEQUENCES_I
    	HASHABLE*
    	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
    	foreground_color: EV_COLOR
    	has_subrow (a_row: EV_GRID_ROW): BOOLEAN
    	height: INTEGER_32
    	index: INTEGER_32
    	index_of_first_item: INTEGER_32
    	index_of_first_item_value: INTEGER_32
    	internal_are_all_non_void_items_selected: BOOLEAN
    	internal_height: INTEGER_32
    	internal_is_selected: BOOLEAN
    	is_ensured_expandable: BOOLEAN
    	is_expandable: BOOLEAN
    	is_expanded: BOOLEAN
    	is_hashable: BOOLEAN
    	is_locked: BOOLEAN
    	is_selectable: BOOLEAN
    	is_selected: BOOLEAN
    	is_show_requested: BOOLEAN
    	item (i: INTEGER_32): EV_GRID_ITEM
    	locked_position: INTEGER_32
    	locked_row: EV_GRID_LOCKED_ROW_I
    	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
    	subrow_index: INTEGER_32
    	to_implement_assertion (comment: STRING_8): BOOLEAN
    	virtual_y_position: INTEGER_32
    	virtual_y_position_unlocked: INTEGER_32

    Commands
    	collapse
    	ensure_expandable
    	ensure_non_expandable
    	ensure_visible
    	expand
    	fixme (comment: STRING_8)
    	hide
    	internal_update_selection (a_selection_state: BOOLEAN)
    	lock_at_position (a_position: INTEGER_32)
    	redraw
    	set_background_color (a_color: EV_COLOR)
    	set_foreground_color (a_color: EV_COLOR)
    	set_height (a_height: INTEGER_32)
    	show
    	to_implement (comment: STRING_8)
    	unlock

    Constraints
    	no subrows implies not expanded
    	subrows not void
    	hash code valid