deferred class
	EV_GRID_I

General
	cluster: implementation_mswin
	description: 
		"Widget which is a combination of an EV_TREE and an EV_MULTI_COLUMN_LIST.
		Implementation Interface."

Ancestors
	EV_CELL_I*
	EV_GRID_ACTION_SEQUENCES_I*
	EV_SHARED_APPLICATION
	EV_TOOLTIPABLE_I*
	REFACTORING_HELPER

Action sequences
	column_deselect_actions: ACTION_SEQUENCE [TUPLE [EV_GRID_COLUMN]]
	column_select_actions: ACTION_SEQUENCE [TUPLE [EV_GRID_COLUMN]]
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	dock_ended_actions: EV_NOTIFY_ACTION_SEQUENCE
	dock_started_actions: EV_NOTIFY_ACTION_SEQUENCE
	docked_actions: EV_DOCKABLE_SOURCE_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	file_drop_actions: ACTION_SEQUENCE [TUPLE [LIST [STRING_32]]]
	fill_background_actions: ACTION_SEQUENCE [TUPLE [EV_DRAWABLE, INTEGER_32, INTEGER_32, INTEGER_32, INTEGER_32]]
	focus_in_actions: EV_NOTIFY_ACTION_SEQUENCE
	focus_out_actions: EV_NOTIFY_ACTION_SEQUENCE
	item_activate_actions: ACTION_SEQUENCE [TUPLE [EV_GRID_ITEM, EV_POPUP_WINDOW]]
	item_deactivate_actions: EV_GRID_ITEM_ACTION_SEQUENCE
	item_deselect_actions: EV_GRID_ITEM_ACTION_SEQUENCE
	item_drop_actions: ACTION_SEQUENCE [TUPLE [EV_GRID_ITEM, ANY]]
	item_select_actions: EV_GRID_ITEM_ACTION_SEQUENCE
	key_press_actions: EV_KEY_ACTION_SEQUENCE
	key_press_string_actions: EV_KEY_STRING_ACTION_SEQUENCE
	key_release_actions: EV_KEY_ACTION_SEQUENCE
	mouse_wheel_actions: EV_INTEGER_ACTION_SEQUENCE
	new_item_actions: EV_NEW_ITEM_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_button_press_item_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32, INTEGER_32, EV_GRID_ITEM]]
	pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_button_release_item_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32, INTEGER_32, EV_GRID_ITEM]]
	pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_double_press_item_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32, INTEGER_32, EV_GRID_ITEM]]
	pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_enter_item_actions: ACTION_SEQUENCE [TUPLE [BOOLEAN, EV_GRID_ITEM]]
	pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_leave_item_actions: ACTION_SEQUENCE [TUPLE [BOOLEAN, EV_GRID_ITEM]]
	pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	pointer_motion_item_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32, EV_GRID_ITEM]]
	post_draw_overlay_actions: ACTION_SEQUENCE [TUPLE [EV_DRAWABLE, EV_GRID_ITEM, INTEGER_32, INTEGER_32]]
	pre_draw_overlay_actions: ACTION_SEQUENCE [TUPLE [EV_DRAWABLE, EV_GRID_ITEM, INTEGER_32, INTEGER_32]]
	resize_actions: EV_GEOMETRY_ACTION_SEQUENCE
	row_collapse_actions: EV_GRID_ROW_ACTION_SEQUENCE
	row_deselect_actions: EV_GRID_ROW_ACTION_SEQUENCE
	row_expand_actions: EV_GRID_ROW_ACTION_SEQUENCE
	row_select_actions: EV_GRID_ROW_ACTION_SEQUENCE
	virtual_position_changed_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32]]
	virtual_size_changed_actions: ACTION_SEQUENCE [TUPLE [INTEGER_32, INTEGER_32]]

Queries
	accept_cursor: EV_POINTER_STYLE
	activate_window: EV_POPUP_WINDOW
	actual_drop_target_agent: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_ABSTRACT_PICK_AND_DROPABLE]
	are_column_separators_enabled: BOOLEAN
	are_columns_drawn_above_rows: BOOLEAN
	are_row_separators_enabled: BOOLEAN
	are_tree_node_connectors_shown: BOOLEAN
	background_color: EV_COLOR
	background_pixmap: EV_PIXMAP
	cell_item: EV_WIDGET
	client_height: INTEGER_32
	client_width: INTEGER_32
	closest_dockable_target: EV_DOCKABLE_TARGET
	column (a_column: INTEGER_32): EV_GRID_COLUMN
	column_at_virtual_position (a_virtual_x: INTEGER_32): EV_GRID_COLUMN
	column_count: INTEGER_32
	column_displayed (a_column: INTEGER_32): BOOLEAN
	currently_active_item: EV_GRID_ITEM
	Default_accept_cursor: EV_POINTER_STYLE
	Default_deny_cursor: EV_POINTER_STYLE
	default_key_processing_handler: PREDICATE [ANY, TUPLE [EV_KEY]]
	Default_pixmaps: EV_STOCK_PIXMAPS
	deny_cursor: EV_POINTER_STYLE
	displayed_background_color (a_column, a_row: INTEGER_32): EV_COLOR
	displayed_column (i: INTEGER_32): EV_GRID_COLUMN
	displayed_column_count: INTEGER_32
	dockable_dialog_target: EV_DOCKABLE_DIALOG
	Drag_cursor: EV_POINTER_STYLE
	drawables_have_focus: BOOLEAN
	dynamic_content_function: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_GRID_ITEM]
	first_visible_column: EV_GRID_COLUMN
	first_visible_row: EV_GRID_ROW
	focused_selection_color: EV_COLOR
	focused_selection_text_color: EV_COLOR
	foreground_color: EV_COLOR
	get_next_target (a_widget: EV_WIDGET): EV_DOCKABLE_TARGET
	Global_drag_targets: ARRAYED_LIST [INTEGER_32]
	Global_pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
	has_capture: BOOLEAN
	has_focus: BOOLEAN
	has_horizontal_scrolling_per_item_just_changed: BOOLEAN
	has_vertical_scrolling_per_item_just_changed: BOOLEAN
	height: INTEGER_32
	help_context: FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT]
	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_non_sensitive: BOOLEAN
	internal_pointer_style: EV_POINTER_STYLE
	Internal_screen: EV_SCREEN
	is_always_selected: BOOLEAN
	is_column_resize_immediate: BOOLEAN
	is_content_partially_dynamic: BOOLEAN
	is_displayed: BOOLEAN
	is_dock_executing: BOOLEAN
	is_dockable: BOOLEAN
	is_docking_enabled: BOOLEAN
	is_external_docking_enabled: BOOLEAN
	is_external_docking_relative: BOOLEAN
	is_header_displayed: BOOLEAN
	is_horizontal_offset_set_to_zero_when_items_smaller_than_viewable_width: BOOLEAN
	is_horizontal_overscroll_enabled: BOOLEAN
	is_horizontal_scroll_bar_show_requested: BOOLEAN
	is_horizontal_scrolling_per_item: BOOLEAN
	is_item_height_changing: BOOLEAN
	is_multiple_item_selection_enabled: BOOLEAN
	is_multiple_row_selection_enabled: BOOLEAN
	is_multiple_selection_enabled: BOOLEAN
	is_resizing_divider_enabled: BOOLEAN
	is_resizing_divider_solid: BOOLEAN
	is_row_height_fixed: BOOLEAN
	is_row_selection_enabled: BOOLEAN
	is_selection_keyboard_handling_enabled: BOOLEAN
	is_selection_on_click_enabled: BOOLEAN
	is_selection_on_single_button_click_enabled: BOOLEAN
	is_show_requested: BOOLEAN
	is_single_item_selection_enabled: BOOLEAN
	is_single_row_selection_enabled: BOOLEAN
	is_transport_enabled: BOOLEAN
	is_tree_enabled: BOOLEAN
	is_vertical_overscroll_enabled: BOOLEAN
	is_vertical_scroll_bar_show_requested: BOOLEAN
	is_vertical_scrolling_per_item: BOOLEAN
	item (a_column, a_row: INTEGER_32): EV_GRID_ITEM
	item_accept_cursor_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], EV_POINTER_STYLE]
	item_accepts_pebble (a_item: EV_GRID_ITEM; a_pebble: ANY): BOOLEAN
	item_at_virtual_position (a_virtual_x, a_virtual_y: INTEGER_32): EV_GRID_ITEM
	item_deny_cursor_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], EV_POINTER_STYLE]
	item_pebble_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], ANY]
	item_target: EV_GRID_ITEM
	item_veto_pebble_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM, ANY], BOOLEAN]
	last_visible_column: EV_GRID_COLUMN
	last_visible_row: EV_GRID_ROW
	locked_indexes: ARRAYED_LIST [EV_GRID_LOCKED_I]
	maximum_virtual_x_position: INTEGER_32
	maximum_virtual_y_position: INTEGER_32
	merged_radio_button_groups: ARRAYED_LIST [EV_CONTAINER]
	minimum_height: INTEGER_32
	minimum_width: INTEGER_32
	mode_is_drag_and_drop: BOOLEAN
	mode_is_pick_and_drop: BOOLEAN
	mode_is_target_menu: BOOLEAN
	non_focused_selection_color: EV_COLOR
	non_focused_selection_text_color: EV_COLOR
	not_external_docking_enabled: BOOLEAN
	not_is_external_docking_relative: BOOLEAN
	original_parent_position: INTEGER_32
	original_x_offset: INTEGER_16
	original_y_offset: INTEGER_16
	originating_source: EV_DOCKABLE_SOURCE_I
	parent: EV_CONTAINER
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	pebble_positioning_enabled: BOOLEAN
	pebble_x_position: INTEGER_32
	pebble_y_position: INTEGER_32
	pixels_displayed_after_final_column: INTEGER_32
	pixels_displayed_after_final_row: INTEGER_32
	pixmap_equal_to (a_pixmap: EV_PIXMAP): BOOLEAN
	pointer_position: EV_COORDINATE
	pointer_style: EV_POINTER_STYLE
	pointer_x: INTEGER_16
	pointer_y: INTEGER_16
	real_source: EV_DOCKABLE_SOURCE
	real_target: EV_DOCKABLE_TARGET
	row (a_row: INTEGER_32): EV_GRID_ROW
	row_at_virtual_position (a_virtual_y: INTEGER_32; ignore_locked_rows: BOOLEAN): EV_GRID_ROW
	row_count: INTEGER_32
	row_height: INTEGER_32
	rubber_band_is_drawn: BOOLEAN
	screen_x: INTEGER_32
	screen_y: INTEGER_32
	selected_columns: ARRAYED_LIST [EV_GRID_COLUMN]
	selected_items: ARRAYED_LIST [EV_GRID_ITEM]
	selected_rows: ARRAYED_LIST [EV_GRID_ROW]
	separator_color: EV_COLOR
	source_being_docked: EV_DOCKABLE_SOURCE_I
	subrow_indent: INTEGER_32
	to_implement_assertion (comment: STRING_8): BOOLEAN
	tooltip: STRING_32
	tree_node_connector_color: EV_COLOR
	user_is_sensitive: BOOLEAN
	user_pebble_function_intermediary (a_x, a_y: INTEGER_32): ANY
	user_pebble_function_intermediary_locked (a_x, a_y: INTEGER_32; locked: EV_GRID_LOCKED_I): ANY
	veto_dock_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN]
	veto_pebble_function_intermediary (a_pebble: ANY): BOOLEAN
	viewable_height: INTEGER_32
	viewable_row_indexes: ARRAYED_LIST [INTEGER_32]
	viewable_width: INTEGER_32
	viewable_x_offset: INTEGER_32
	viewable_y_offset: INTEGER_32
	virtual_height: INTEGER_32
	virtual_width: INTEGER_32
	virtual_x_position: INTEGER_32
	virtual_y_position: INTEGER_32
	visible_column_indexes: ARRAYED_LIST [INTEGER_32]
	visible_row_count: INTEGER_32
	visible_row_indexes: ARRAYED_LIST [INTEGER_32]
	width: INTEGER_32
	x_position: INTEGER_32
	y_position: INTEGER_32

Commands
	activate_item (a_item: EV_GRID_ITEM)
	clear
	close_dockable_dialog (dockable_dialog: EV_DOCKABLE_DIALOG)
	complete_dock
	deactivate_item (a_item: EV_GRID_ITEM)
	disable_always_selected
	disable_capture
	disable_column_resize_immediate
	disable_column_separators
	disable_columns_drawn_above_rows
	disable_dockable
	disable_docking
	disable_drawables_have_focus
	disable_dynamic_content
	disable_external_docking
	disable_external_docking_relative
	disable_full_redraw_on_virtual_position_change
	disable_horizontal_offset_set_to_zero_when_items_smaller_than_viewable_width
	disable_horizontal_overscroll
	disable_horizontal_scrolling_per_item
	disable_pebble_positioning
	disable_resizing_divider
	disable_row_height_fixed
	disable_row_separators
	disable_selection_keyboard_handling
	disable_selection_on_click
	disable_solid_resizing_divider
	disable_transport
	disable_tree
	disable_vertical_overscroll
	disable_vertical_scrolling_per_item
	drop_action_intermediary (a_pebble: ANY)
	enable_always_selected
	enable_capture
	enable_column_resize_immediate
	enable_column_separators
	enable_columns_drawn_above_rows
	enable_dockable
	enable_docking
	enable_drawables_have_focus
	enable_external_docking
	enable_external_docking_relative
	enable_full_redraw_on_virtual_position_change
	enable_horizontal_overscroll
	enable_horizontal_scrolling_per_item
	enable_multiple_item_selection
	enable_multiple_row_selection
	enable_partial_dynamic_content
	enable_pebble_positioning
	enable_resizing_divider
	enable_row_height_fixed
	enable_row_separators
	enable_selection_keyboard_handling
	enable_selection_on_click
	enable_selection_on_single_button_click
	enable_single_item_selection
	enable_single_row_selection
	enable_solid_resizing_divider
	enable_transport
	enable_tree
	enable_vertical_overscroll
	enable_vertical_scrolling_per_item
	extend (an_item: [like cell_item] EV_WIDGET)
	fixme (comment: STRING_8)
	hide
	hide_column (a_column: INTEGER_32)
	hide_header
	hide_horizontal_scroll_bar
	hide_tree_node_connectors
	hide_vertical_scroll_bar
	insert_new_column (a_index: INTEGER_32)
	insert_new_rows (rows_to_insert, i: INTEGER_32)
	insert_new_rows_parented (rows_to_insert, i: INTEGER_32; a_parent_row: EV_GRID_ROW)
	internal_disable_dockable
	internal_enable_dockable
	lock_update
	merge_radio_button_groups (other: EV_CONTAINER)
	move_columns (i, j, n: INTEGER_32)
	move_rows_to_parent (i, j, n: INTEGER_32; a_parent_row: EV_GRID_ROW)
	propagate_background_color
	propagate_foreground_color
	recompute_horizontal_scroll_bar
	redraw
	refresh_now
	remove_background_pixmap
	remove_column (a_column: INTEGER_32)
	remove_default_key_processing_handler
	remove_help_context
	remove_insert_label
	remove_insert_sep
	remove_pebble
	remove_real_source
	remove_real_target
	remove_row (a_row: INTEGER_32)
	remove_rows (lower_index, upper_index: INTEGER_32)
	remove_selection
	replace (v: [like cell_item] EV_WIDGET)
	select_column (a_column: INTEGER_32)
	select_row (a_row: INTEGER_32)
	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
	set_actual_drop_target_agent (an_agent: [like actual_drop_target_agent] FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_ABSTRACT_PICK_AND_DROPABLE])
	set_background_color (a_color: [like background_color] EV_COLOR)
	set_background_pixmap (a_pixmap: EV_PIXMAP)
	set_column_count_to (a_column_count: INTEGER_32)
	set_default_colors
	set_default_key_processing_handler (a_handler: [like default_key_processing_handler] PREDICATE [ANY, TUPLE [EV_KEY]])
	set_deny_cursor (a_cursor: [like deny_cursor] EV_POINTER_STYLE)
	set_drag_and_drop_mode
	set_dynamic_content_function (a_function: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_GRID_ITEM])
	set_first_visible_row (a_row: INTEGER_32)
	set_focus
	set_focused_selection_color (a_color: EV_COLOR)
	set_focused_selection_text_color (a_color: EV_COLOR)
	set_foreground_color (a_color: [like foreground_color] EV_COLOR)
	set_help_context (an_help_context: [like help_context] FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT])
	set_item (a_column, a_row: INTEGER_32; a_item: EV_GRID_ITEM)
	set_item_accept_cursor_function (a_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], EV_POINTER_STYLE])
	set_item_deny_cursor_function (a_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], EV_POINTER_STYLE])
	set_item_pebble_function (a_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM], ANY])
	set_item_veto_pebble_function (a_function: FUNCTION [ANY, TUPLE [EV_GRID_ITEM, ANY], BOOLEAN])
	set_minimum_height (a_minimum_height: INTEGER_32)
	set_minimum_size (a_minimum_width, a_minimum_height: INTEGER_32)
	set_minimum_width (a_minimum_width: INTEGER_32)
	set_node_pixmaps (an_expand_node_pixmap, a_collapse_node_pixmap: EV_PIXMAP)
	set_non_focused_selection_color (a_color: EV_COLOR)
	set_non_focused_selection_text_color (a_color: EV_COLOR)
	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_real_source (dockable_source: EV_DOCKABLE_SOURCE)
	set_real_target (a_target: EV_DOCKABLE_TARGET)
	set_row_count_to (a_row_count: INTEGER_32)
	set_row_height (a_row_height: INTEGER_32)
	set_separator_color (a_color: EV_COLOR)
	set_subrow_indent (a_subrow_indent: INTEGER_32)
	set_target_menu_mode
	set_tooltip (a_tooltip: STRING_GENERAL)
	set_tree_node_connector_color (a_color: EV_COLOR)
	set_veto_dock_function (a_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN])
	set_virtual_position (virtual_x, virtual_y: INTEGER_32)
	show
	show_column (a_column: INTEGER_32)
	show_header
	show_horizontal_scroll_bar
	show_tree_node_connectors
	show_vertical_scroll_bar
	to_implement (comment: STRING_8)
	unlock_column (a_column: EV_GRID_COLUMN_I)
	unlock_row (a_row: EV_GRID_ROW_I)
	unlock_update
	unmerge_radio_button_groups (other: EV_CONTAINER)
	user_disable_sensitive
	user_enable_sensitive
	wipe_out

Constraints
	drawer not void
	drawable not void
	header positioned corrently
	internal client y valid while vertical scrollbar hidden
	internal client y valid while vertical scrollbar shown
	internal client x valid while horizontal scrollbar hidden
	internal client x valid while horizontal scrollbar shown
	row heights fixed implies row offsets void
	row lists count equal
	displayed column count not greater than column count
	computed visible row count equals row when not users row offsets
	computed visible row count no greater than rows
	tree disabled implies visible rows equal hidden rows
	internal viewport positions equal to viewports
	tree node connector color not void