class
	EV_ADD_REMOVE_LIST

General
	cluster: contrib_mswin
	description: 
		"Abstraction of a list in which you can add/modify/remove items.
		+-----------------------------+
		| `first'                     |
		|  .....                      |
		| `last'                      |
		+-----------------------------+
		+-----------------------------+
		|                             |
		+-----------------------------+
		+------+ +---------+ +--------+
		| Add  | |  Apply  | | Remove |
		+------+ +---------+ +--------+"
	create: make

Ancestors
	EV_VERTICAL_BOX

Action sequences
	add_actions: EV_NOTIFY_ACTION_SEQUENCE
	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
	focus_in_actions: EV_NOTIFY_ACTION_SEQUENCE
	focus_out_actions: EV_NOTIFY_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
	modify_actions: EV_NOTIFY_ACTION_SEQUENCE
	mouse_wheel_actions: EV_INTEGER_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_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	remove_actions: EV_NOTIFY_ACTION_SEQUENCE
	resize_actions: EV_GEOMETRY_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	actual_drop_target_agent: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_ABSTRACT_PICK_AND_DROPABLE]
	after: BOOLEAN
	background_color: EV_COLOR
	background_pixmap: EV_PIXMAP
	before: BOOLEAN
	border_width: INTEGER_32
	client_height: INTEGER_32
	client_width: INTEGER_32
	count: INTEGER_32
	cursor: EV_DYNAMIC_LIST_CURSOR [EV_WIDGET]
	data: ANY
	default_key_processing_handler: PREDICATE [ANY, TUPLE [EV_KEY]]
	deny_cursor: EV_POINTER_STYLE
	exhausted: BOOLEAN
	Extendible: BOOLEAN
	first: [like item] EV_WIDGET
	for_all (test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN]): BOOLEAN
	foreground_color: EV_COLOR
	Full: BOOLEAN
	has (v: [like item] EV_WIDGET): BOOLEAN
	has_capture: BOOLEAN
	has_focus: BOOLEAN
	has_recursive (an_item: [like item] EV_WIDGET): BOOLEAN
	height: INTEGER_32
	help_context: FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT]
	i_th alias "[]" (i: INTEGER_32): [like item] EV_WIDGET
	id_freed: BOOLEAN
	id_object (an_id: INTEGER_32): IDENTIFIED
	index: INTEGER_32
	index_of (v: [like item] EV_WIDGET; i: INTEGER_32): INTEGER_32
	index_set: INTEGER_INTERVAL
	infix "@" (i: INTEGER_32): [like item] EV_WIDGET
	is_destroyed: BOOLEAN
	is_displayed: BOOLEAN
	is_dockable: BOOLEAN
	is_docking_enabled: BOOLEAN
	is_empty: BOOLEAN
	is_equal (other: [like Current] EV_ADD_REMOVE_LIST): BOOLEAN
	is_external_docking_enabled: BOOLEAN
	is_external_docking_relative: BOOLEAN
	is_homogeneous: BOOLEAN
	is_inserted (v: EV_WIDGET): BOOLEAN
	is_item_expanded (an_item: EV_WIDGET): BOOLEAN
	is_parent_recursive (a_widget: EV_WIDGET): BOOLEAN
	is_sensitive: BOOLEAN
	is_show_requested: BOOLEAN
	isfirst: BOOLEAN
	islast: BOOLEAN
	item: EV_WIDGET
	last: [like item] EV_WIDGET
	linear_representation: LINEAR [EV_WIDGET]
	list: EV_LIST
	may_contain (v: EV_WIDGET): BOOLEAN
	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
	object_id: INTEGER_32
	occurrences (v: [like item] EV_WIDGET): INTEGER_32
	off: BOOLEAN
	padding: INTEGER_32
	padding_width: INTEGER_32
	parent: EV_CONTAINER
	parent_of_source_allows_docking: BOOLEAN
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	pebble_positioning_enabled: BOOLEAN
	pebble_x_position: INTEGER_32
	pebble_y_position: INTEGER_32
	pointer_position: EV_COORDINATE
	pointer_style: EV_POINTER_STYLE
	prunable: BOOLEAN
	readable: BOOLEAN
	real_source: EV_DOCKABLE_SOURCE
	real_target: EV_DOCKABLE_TARGET
	retrieve_item_by_data (some_data: ANY; should_compare_objects: BOOLEAN): EV_WIDGET
	retrieve_items_by_data (some_data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_WIDGET]
	same (other: EV_ANY): BOOLEAN
	screen_x: INTEGER_32
	screen_y: INTEGER_32
	sequential_occurrences (v: [like item] EV_WIDGET): INTEGER_32
	source_has_current_recursive (source: EV_DOCKABLE_SOURCE): BOOLEAN
	target_name: STRING_GENERAL
	text_field: EV_TEXT_FIELD
	there_exists (test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN]): BOOLEAN
	valid_cursor (p: CURSOR): BOOLEAN
	valid_cursor_index (i: INTEGER_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN
	vbox_count: INTEGER_32
	vbox_is_empty: BOOLEAN
	veto_dock_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN]
	width: INTEGER_32
	writable: BOOLEAN
	x_position: INTEGER_32
	y_position: INTEGER_32

Commands
	append (s: SEQUENCE [[like item] EV_WIDGET])
	back
	center_pointer
	copy (other: [like Current] EV_ADD_REMOVE_LIST)
	destroy
	disable_capture
	disable_dockable
	disable_docking
	disable_external_docking
	disable_external_docking_relative
	disable_homogeneous
	disable_item_expand (an_item: EV_WIDGET)
	disable_pebble_positioning
	disable_sensitive
	dl_force (v: [like item] EV_WIDGET)
	do_all (action: PROCEDURE [ANY, TUPLE [EV_WIDGET]])
	do_if (action: PROCEDURE [ANY, TUPLE [EV_WIDGET]]; test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN])
	enable_capture
	enable_dockable
	enable_docking
	enable_external_docking
	enable_external_docking_relative
	enable_homogeneous
	enable_item_expand (an_item: EV_WIDGET)
	enable_pebble_positioning
	enable_sensitive
	extend (v: [like item] EV_WIDGET)
	fill (other: CONTAINER [EV_WIDGET])
	finish
	force (v: [like item] EV_WIDGET)
	forth
	free_id
	go_i_th (i: INTEGER_32)
	go_to (p: CURSOR)
	hide
	merge_left (other: [like Current] EV_ADD_REMOVE_LIST)
	merge_radio_button_groups (other: EV_CONTAINER)
	merge_right (other: [like Current] EV_ADD_REMOVE_LIST)
	move (i: INTEGER_32)
	propagate_background_color
	propagate_foreground_color
	prune (v: [like item] EV_WIDGET)
	prune_all (v: [like item] EV_WIDGET)
	put (v: [like item] EV_WIDGET)
	put_front (v: [like item] EV_WIDGET)
	put_i_th (v: [like item] EV_WIDGET; i: INTEGER_32)
	put_left (v: [like item] EV_WIDGET)
	put_right (v: [like item] EV_WIDGET)
	refresh_now
	remove
	remove_background_pixmap
	remove_default_key_processing_handler
	remove_help_context
	remove_left
	remove_pebble
	remove_real_source
	remove_real_target
	remove_right
	replace (v: [like item] EV_WIDGET)
	reset
	search (v: [like item] EV_WIDGET)
	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_border_width (value: INTEGER_32)
	set_data (some_data: [like data] ANY)
	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_display_error_message (p: [like display_error_message] PROCEDURE [ANY, TUPLE [STRING_32]])
	set_drag_and_drop_mode
	set_focus
	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_is_entry_valid (f: [like is_entry_valid] FUNCTION [ANY, TUPLE [STRING_32], 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_padding (value: INTEGER_32)
	set_padding_width (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 (a_cursor: [like pointer_style] EV_POINTER_STYLE)
	set_real_source (dockable_source: EV_DOCKABLE_SOURCE)
	set_real_target (a_target: EV_DOCKABLE_TARGET)
	set_target_menu_mode
	set_target_name (a_name: STRING_GENERAL)
	set_veto_dock_function (a_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN])
	show
	start
	swap (i: INTEGER_32)
	unmerge_radio_button_groups (other: EV_CONTAINER)
	wipe_out

Constraints
	list not void
	text field not void
	add actions not void
	remove actions not void
	modify actions not void
	add button not void
	apply button not void
	remove button not void