class
	EV_MODEL_WORLD_CELL

General
	cluster: interface
	description: 
		"An EV_FIGURE_WORLD_CELL is an EV_CELL with scrollbars displaying
		`world' in the cell. Whenever the `world' does not fit into the frame
		the scrolling area is resized to make sure that every part of the world
		is reachable through the scrollbars. If a figure is moved closer to the
		frame border then `autoscroll_border' the frame starts to scroll.
		If the user clicks into the frame but not onto a figure the frame can
		be moved arround with the %"hand%". A buffer is used to prefend flickering.
		The buffer size as well as the drawing_area size is constant no matter 
		how large the world is.
		
		example:
		
		create figure_world_cell.make_with_world (create EV_FIGURE_WORLD)
		figure_world_cell.world.extend (create {EV_FIGURE_LINE}.make_with_positions (0, 0, 100, 100))
		horizontal_box.extend (figure_world_cell)
		"
	create: make_with_world

Ancestors
	EV_CELL
	EV_SHARED_APPLICATION

Action sequences
	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
	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
	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]
	autoscroll_border: INTEGER_32
	background_color: EV_COLOR
	background_pixmap: EV_PIXMAP
	client_height: INTEGER_32
	client_width: INTEGER_32
	count: INTEGER_32
	data: ANY
	default_key_processing_handler: PREDICATE [ANY, TUPLE [EV_KEY]]
	deny_cursor: EV_POINTER_STYLE
	drawing_area: EV_DRAWING_AREA
	Ev_application: EV_APPLICATION
	extendible: BOOLEAN
	foreground_color: EV_COLOR
	full: BOOLEAN
	has (v: 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]
	horizontal_scrollbar: EV_HORIZONTAL_SCROLL_BAR
	id_freed: BOOLEAN
	id_object (an_id: INTEGER_32): IDENTIFIED
	is_autoscroll_enabled: BOOLEAN
	is_destroyed: BOOLEAN
	is_displayed: BOOLEAN
	is_dockable: BOOLEAN
	is_docking_enabled: BOOLEAN
	is_empty: BOOLEAN
	is_external_docking_enabled: BOOLEAN
	is_external_docking_relative: BOOLEAN
	is_inserted (v: EV_WIDGET): BOOLEAN
	is_parent_recursive (a_widget: EV_WIDGET): BOOLEAN
	is_resize_enabled: BOOLEAN
	is_scrollbar_enabled: BOOLEAN
	is_sensitive: BOOLEAN
	is_show_requested: BOOLEAN
	item: EV_WIDGET
	linear_representation: LINEAR [[like item] EV_WIDGET]
	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
	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
	projector: EV_MODEL_BUFFER_PROJECTOR
	prunable: BOOLEAN
	readable: BOOLEAN
	real_source: EV_DOCKABLE_SOURCE
	real_target: EV_DOCKABLE_TARGET
	screen_x: INTEGER_32
	screen_y: INTEGER_32
	scroll_speed: REAL_64
	source_has_current_recursive (source: EV_DOCKABLE_SOURCE): BOOLEAN
	target_name: STRING_GENERAL
	vertical_scrollbar: EV_VERTICAL_SCROLL_BAR
	veto_dock_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN]
	width: INTEGER_32
	world: EV_MODEL_WORLD
	world_border: INTEGER_32
	writable: BOOLEAN
	x_position: INTEGER_32
	y_position: INTEGER_32

Commands
	center_pointer
	copy (other: [like Current] EV_MODEL_WORLD_CELL)
	crop
	cut
	destroy
	disable_capture
	disable_dockable
	disable_docking
	disable_external_docking
	disable_external_docking_relative
	disable_pebble_positioning
	disable_resize
	disable_scrollbars
	disable_sensitive
	enable_capture
	enable_dockable
	enable_docking
	enable_external_docking
	enable_external_docking_relative
	enable_pebble_positioning
	enable_resize
	enable_scrollbars
	enable_sensitive
	extend (v: [like item] EV_WIDGET)
	fill (other: CONTAINER [EV_WIDGET])
	fit_to_screen
	free_id
	hide
	merge_radio_button_groups (other: EV_CONTAINER)
	process_events_and_idle
	propagate_background_color
	propagate_foreground_color
	prune (v: EV_WIDGET)
	prune_all (v: EV_WIDGET)
	put (v: [like item] EV_WIDGET)
	refresh_now
	remove_background_pixmap
	remove_default_key_processing_handler
	remove_help_context
	remove_pebble
	remove_real_source
	remove_real_target
	replace (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_autoscroll_border (a_border: [like autoscroll_border] INTEGER_32)
	set_background_color (a_color: [like background_color] EV_COLOR)
	set_background_pixmap (a_pixmap: EV_PIXMAP)
	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_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_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_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_scroll_speed (a_scroll_speed: [like scroll_speed] REAL_64)
	set_target_menu_mode
	set_target_name (a_name: STRING_GENERAL)
	set_veto_dock_function (a_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN])
	set_world (a_world: [like world] EV_MODEL_WORLD)
	set_world_border (a_border: [like world_border] INTEGER_32)
	show
	unmerge_radio_button_groups (other: EV_CONTAINER)
	wipe_out

Constraints
	scroll speed positive