class
	EV_MODEL_MOVE_HANDLE

General
	cluster: interface
	description: 
		"Handles that allow the user to control certain EV_MODELs
		in an EV_MODEL_WORLD."
	keywords: "point, handle, move, resize, grab"
	create: make_filled, default_create

Ancestors
	EV_MODEL_GROUP

Action sequences
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	end_actions: EV_NOTIFY_ACTION_SEQUENCE
	move_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	pick_actions: EV_PND_START_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
	rotate_actions: EV_DOUBLE_VALUE_CHANGE_ACTION_SEQUENCE
	scale_x_actions: EV_DOUBLE_VALUE_CHANGE_ACTION_SEQUENCE
	scale_y_actions: EV_DOUBLE_VALUE_CHANGE_ACTION_SEQUENCE
	start_actions: EV_NOTIFY_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	after: BOOLEAN
	angle: REAL_64
	are_events_sended_to_group: BOOLEAN
	before: BOOLEAN
	bounding_box: EV_RECTANGLE
	capacity: INTEGER_32
	changeable_comparison_criterion: BOOLEAN
	count: INTEGER_32
	cursor: ARRAYED_LIST_CURSOR
	deep_elements: LIST [EV_MODEL]
	deny_cursor: EV_POINTER_STYLE
	duplicate (n: INTEGER_32): [like Current] EV_MODEL_MOVE_HANDLE
	exhausted: BOOLEAN
	Extendible: BOOLEAN
	first: [like item] EV_MODEL
	for_all (test: FUNCTION [ANY, TUPLE [EV_MODEL], BOOLEAN]): BOOLEAN
	full: BOOLEAN
	group: EV_MODEL_GROUP
	has (v: [like item] EV_MODEL): BOOLEAN
	has_capture: BOOLEAN
	has_deep (figure: EV_MODEL): BOOLEAN
	i_th alias "[]" (i: INTEGER_32): [like item] EV_MODEL
	id: INTEGER_32
	id_object (an_id: INTEGER_32): IDENTIFIED
	index: INTEGER_32
	index_of (v: [like item] EV_MODEL; i: INTEGER_32): INTEGER_32
	index_set: INTEGER_INTERVAL
	infix "@" (i: INTEGER_32): [like item] EV_MODEL
	invalid_rectangle: EV_RECTANGLE
	is_always_shown: BOOLEAN
	is_center_valid: BOOLEAN
	is_empty: BOOLEAN
	is_grouped: BOOLEAN
	is_hashable: BOOLEAN
	is_in_group: BOOLEAN
	is_in_world: BOOLEAN
	is_inserted (v: EV_MODEL): BOOLEAN
	is_moving: BOOLEAN
	is_rotatable: BOOLEAN
	is_rotating: BOOLEAN
	is_scalable: BOOLEAN
	is_scaling: BOOLEAN
	is_sensitive: BOOLEAN
	is_show_requested: BOOLEAN
	is_snapping: BOOLEAN
	is_transformable: BOOLEAN
	isfirst: BOOLEAN
	islast: BOOLEAN
	item: EV_MODEL
	last: [like first] EV_MODEL
	linear_representation: LINEAR [EV_MODEL]
	maximum_x: INTEGER_32
	maximum_y: INTEGER_32
	minimum_x: INTEGER_32
	minimum_y: INTEGER_32
	move_button: INTEGER_32
	object_comparison: BOOLEAN
	object_id: INTEGER_32
	occurrences (v: [like item] EV_MODEL): INTEGER_32
	off: BOOLEAN
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	point: EV_COORDINATE
	point_count: INTEGER_32
	point_relative: EV_COORDINATE
	point_x: INTEGER_32
	point_x_relative: INTEGER_32
	point_y: INTEGER_32
	point_y_relative: INTEGER_32
	pointer_style: EV_POINTER_STYLE
	position_on_figure (a_x, a_y: INTEGER_32): BOOLEAN
	prunable: BOOLEAN
	readable: BOOLEAN
	real_position_agent: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], TUPLE [INTEGER_32, INTEGER_32]]
	rotate_button: INTEGER_32
	scale_button: INTEGER_32
	sequential_occurrences (v: [like item] EV_MODEL): INTEGER_32
	target_name: STRING_GENERAL
	there_exists (test: FUNCTION [ANY, TUPLE [EV_MODEL], BOOLEAN]): BOOLEAN
	update_rectangle: EV_RECTANGLE
	valid_cursor (p: CURSOR): BOOLEAN
	valid_cursor_index (i: INTEGER_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN
	world: EV_MODEL_WORLD
	writable: BOOLEAN
	x: INTEGER_32
	y: INTEGER_32

Commands
	append (s: SEQUENCE [EV_MODEL])
	back
	bring_forward (a_figure: EV_MODEL)
	bring_to_front (a_figure: EV_MODEL)
	center_invalidate
	compare_objects
	compare_references
	disable_always_shown
	disable_capture
	disable_events_sended_to_group
	disable_moving
	disable_rotating
	disable_scaling
	disable_sensitive
	disable_snapping
	do_all (action: PROCEDURE [ANY, TUPLE [EV_MODEL]])
	do_if (action: PROCEDURE [ANY, TUPLE [EV_MODEL]]; test: FUNCTION [ANY, TUPLE [EV_MODEL], BOOLEAN])
	enable_always_shown
	enable_capture
	enable_events_sended_to_group
	enable_moving
	enable_rotating
	enable_scaling
	enable_sensitive
	enable_snapping
	extend (v: [like item] EV_MODEL)
	fill (other: CONTAINER [EV_MODEL])
	finish
	force (v: [like item] EV_MODEL)
	force_i_th (fig: [like item] EV_MODEL; i: INTEGER_32)
	forth
	go_i_th (i: INTEGER_32)
	go_to (p: CURSOR)
	hide
	insert (fig: [like item] EV_MODEL; i: INTEGER_32)
	invalidate
	list_make (n: INTEGER_32)
	make_filled (n: INTEGER_32)
	make_from_array (a: ARRAY [EV_MODEL])
	merge_left (other: [like Current] EV_MODEL_MOVE_HANDLE)
	merge_right (other: [like Current] EV_MODEL_MOVE_HANDLE)
	move (i: INTEGER_32)
	prune (v: [like item] EV_MODEL)
	prune_all (fig: [like item] EV_MODEL)
	put (v: [like item] EV_MODEL)
	put_front (v: [like item] EV_MODEL)
	put_left (v: [like item] EV_MODEL)
	put_right (v: [like item] EV_MODEL)
	regroup
	remove
	remove_left
	remove_pebble
	remove_right
	replace (fig: [like item] EV_MODEL)
	resize (new_capacity: INTEGER_32)
	rotate (an_angle: REAL_64)
	rotate_around (an_angle: REAL_64; ax, ay: INTEGER_32)
	scale (a_scale: REAL_64)
	scale_abs (a_scale: REAL_64)
	scale_x (a_scale_x: REAL_64)
	scale_x_abs (a_scale_x: REAL_64)
	scale_y (a_scale_y: REAL_64)
	scale_y_abs (a_scale_y: REAL_64)
	search (v: [like item] EV_MODEL)
	send_backward (a_figure: EV_MODEL)
	send_to_back (a_figure: EV_MODEL)
	set_accept_cursor (a_cursor: EV_POINTER_STYLE)
	set_deny_cursor (a_cursor: EV_POINTER_STYLE)
	set_maximum_x (a_x: INTEGER_32)
	set_maximum_y (a_y: INTEGER_32)
	set_minimum_x (a_x: INTEGER_32)
	set_minimum_y (a_y: INTEGER_32)
	set_move_button (nr: INTEGER_32)
	set_pebble (a_pebble: [like pebble] ANY)
	set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY])
	set_point_position (a_x, a_y: INTEGER_32)
	set_point_position_relative (ax, ay: INTEGER_32)
	set_pointer_style (a_cursor: [like pointer_style] EV_POINTER_STYLE)
	set_real_position_agent (an_agent: [like real_position_agent] FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], TUPLE [INTEGER_32, INTEGER_32]])
	set_rotate_button (nr: INTEGER_32)
	set_scale_button (nr: INTEGER_32)
	set_target_name (a_name: STRING_GENERAL)
	set_x (a_x: INTEGER_32)
	set_x_y (a_x, a_y: INTEGER_32)
	set_y (a_y: INTEGER_32)
	show
	snap_to_grid
	start
	swap (i: INTEGER_32)
	transform (a_transformation: EV_MODEL_TRANSFORMATION)
	ungroup
	validate
	wipe_out