    class
    	EV_APPLICATION

    General
    	cluster: interface
    	description:
    		"Eiffel Vision Application.
    		To start an Eiffel Vision application: create exactly oneEV_APPLICATION object and call `launch' after setting up initialwindow(s)"
    	keywords: "application, accelerator, event loop"

    Ancestors
    	EV_ANY*
    	EV_APPLICATION_ACTION_SEQUENCES*

    Action sequences
    	cancel_actions: EV_PND_ACTION_SEQUENCE
    	destroy_actions: EV_NOTIFY_ACTION_SEQUENCE
    	drop_actions: EV_PND_ACTION_SEQUENCE
    	focus_in_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET]]
    	focus_out_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET]]
    	idle_actions: EV_NOTIFY_ACTION_SEQUENCE
    	key_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, EV_KEY]]
    	key_press_string_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, STRING_GENERAL]]
    	key_release_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, EV_KEY]]
    	mouse_wheel_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32]]
    	pick_actions: EV_PND_ACTION_SEQUENCE
    	pnd_motion_actions: EV_PND_MOTION_ACTION_SEQUENCE
    	pointer_button_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
    	pointer_button_release_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
    	pointer_double_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
    	pointer_motion_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32]]
    	post_launch_actions: EV_NOTIFY_ACTION_SEQUENCE
    	theme_changed_actions: EV_NOTIFY_ACTION_SEQUENCE
    	uncaught_exception_actions: ACTION_SEQUENCE [TUPLE [EXCEPTION]]

    Queries
    	alt_pressed: BOOLEAN
    	captured_widget: EV_WIDGET
    	clipboard: EV_CLIPBOARD
    	contextual_help_accelerator: EV_ACCELERATOR
    	ctrl_pressed: BOOLEAN
    	data: ANY
    	Default_tooltip_delay: INTEGER_32
    	focused_widget: EV_WIDGET
    	help_accelerator: EV_ACCELERATOR
    	help_engine: EV_HELP_ENGINE
    	is_destroyed: BOOLEAN
    	is_launched: BOOLEAN
    	locked_window: EV_WINDOW
    	shift_pressed: BOOLEAN
    	tooltip_delay: INTEGER_32
    	windows: LINEAR [EV_WINDOW]

    Commands
    	add_idle_action (a_idle_action: PROCEDURE [ANY, TUPLE])
    	copy (other: [like Current] EV_APPLICATION)
    	destroy
    	display_help_for_widget (a_widget: EV_WIDGET)
    	do_once_on_idle (an_action: PROCEDURE [ANY, TUPLE])
    	enable_contextual_help
    	launch
    	process_events
    	process_events_until_stopped
    	remove_idle_action (a_idle_action: PROCEDURE [ANY, TUPLE])
    	set_contextual_help_accelerator (an_accelerator: EV_ACCELERATOR)
    	set_data (some_data: [like data] ANY)
    	set_help_accelerator (an_accelerator: EV_ACCELERATOR)
    	set_help_engine (an_engine: EV_HELP_ENGINE)
    	set_tooltip_delay (a_delay: INTEGER_32)
    	sleep (msec: INTEGER_32)
    	stop_processing

    Constraints
    	tooltip delay not negative
    	windows not void