class
	EV_APPLICATION_IMP

General
	cluster: implementation_mswin
	description: "Eiffel Vision application. Mswindows implementation."
	create: make

Ancestors
	EV_APPLICATION_ACTION_SEQUENCES_IMP*
	EV_APPLICATION_I*
	WEL_APPLICATION*
	WEL_CONSTANTS
	WEL_ICC_CONSTANTS
	WEL_TOOLTIP_CONSTANTS
	WEL_VK_CONSTANTS
	WEL_WINDOWS_VERSION
	WEL_WORD_OPERATIONS

Action sequences
	accelerator_actions (an_accelerator: EV_ACCELERATOR): EV_NOTIFY_ACTION_SEQUENCE
	cancel_actions: EV_PND_ACTION_SEQUENCE
	create_cancel_actions: EV_PND_ACTION_SEQUENCE
	create_destroy_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_drop_actions: EV_PND_ACTION_SEQUENCE
	create_focus_in_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET]]
	create_focus_out_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET]]
	create_idle_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_key_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, EV_KEY]]
	create_key_press_string_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, STRING_32]]
	create_key_release_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, EV_KEY]]
	create_mouse_wheel_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32]]
	create_pick_actions: EV_PND_ACTION_SEQUENCE
	create_pnd_motion_actions: EV_PND_MOTION_ACTION_SEQUENCE
	create_pointer_button_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
	create_pointer_button_release_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
	create_pointer_double_press_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32, INTEGER_32]]
	create_pointer_motion_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32, INTEGER_32]]
	create_post_launch_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_theme_changed_actions: EV_NOTIFY_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
	internal_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_32]]
	key_release_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, EV_KEY]]
	mouse_wheel_actions: ACTION_SEQUENCE [TUPLE [EV_WIDGET, INTEGER_32]]
	once_idle_actions: EV_NOTIFY_ACTION_SEQUENCE
	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
	Accelerators: WEL_ACCELERATORS
	alt_pressed: BOOLEAN
	application: WEL_APPLICATION
	application_main_window: WEL_COMPOSITE_WINDOW
	assertion_violation: BOOLEAN
	Capture_heavy: INTEGER_32
	Capture_normal: INTEGER_32
	capture_type: INTEGER_32
	captured_widget: EV_WIDGET
	Check_instruction: INTEGER_32
	Class_invariant: INTEGER_32
	class_name: STRING_8
	clipboard: EV_CLIPBOARD
	Com_exception: INTEGER_32
	contextual_help_accelerator: EV_ACCELERATOR
	Create_on_deferred: INTEGER_32
	ctrl_pressed: BOOLEAN
	Default_show_command: INTEGER_32
	Developer_exception: INTEGER_32
	developer_exception_name: STRING_8
	do_once_idle_actions_agent: PROCEDURE [EV_APPLICATION_I, TUPLE]
	Dollar_applied_to_melted_feature: INTEGER_32
	Eiffel_runtime_fatal_error: INTEGER_32
	Eiffel_runtime_panic: INTEGER_32
	exception: INTEGER_32
	exception_dialog: EV_DIALOG
	Exception_in_signal_handler: INTEGER_32
	exception_trace: STRING_8
	External_exception: INTEGER_32
	Floating_point_exception: INTEGER_32
	focused_widget: EV_WIDGET
	help_accelerator: EV_ACCELERATOR
	help_engine: EV_HELP_ENGINE
	idle_action_enabled: BOOLEAN
	Incorrect_inspect_value: INTEGER_32
	interface: EV_APPLICATION
	Internal_tooltip: WEL_TOOLTIP
	Io_exception: INTEGER_32
	is_application_main_window (window: WEL_COMPOSITE_WINDOW): BOOLEAN
	is_developer_exception: BOOLEAN
	is_developer_exception_of_name (name: STRING_8): BOOLEAN
	is_dialog (hwnd: POINTER): BOOLEAN
	is_signal: BOOLEAN
	is_system_exception: BOOLEAN
	key_pressed (virtual_key: INTEGER_32): BOOLEAN
	locked_window: EV_WINDOW
	Loop_invariant: INTEGER_32
	Loop_variant: INTEGER_32
	meaning (except: INTEGER_32): STRING_8
	new_exception: EXCEPTION
	No_more_memory: INTEGER_32
	Number_of_codes: INTEGER_32
	Operating_system_exception: INTEGER_32
	original_class_name: STRING_8
	original_exception: INTEGER_32
	original_recipient_name: STRING_8
	original_tag_name: STRING_8
	Out_of_memory: INTEGER_32
	pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
	Postcondition: INTEGER_32
	Precondition: INTEGER_32
	recipient_name: STRING_8
	Rescue_exception: INTEGER_32
	Resumption_failed: INTEGER_32
	Retrieve_exception: INTEGER_32
	Routine_failure: INTEGER_32
	runable: BOOLEAN
	Runtime_check_exception: INTEGER_32
	Runtime_io_exception: INTEGER_32
	shift_pressed: BOOLEAN
	Show_exception_dialog: BOOLEAN
	Signal_exception: INTEGER_32
	Silly_main_window: EV_INTERNAL_SILLY_WINDOW_IMP
	tag_name: STRING_8
	try_lock: BOOLEAN
	uncaught_exception_actions_called: BOOLEAN
	valid_code (c: INTEGER_32): BOOLEAN
	Vk_0: INTEGER_32
	Vk_1: INTEGER_32
	Vk_2: INTEGER_32
	Vk_3: INTEGER_32
	Vk_4: INTEGER_32
	Vk_5: INTEGER_32
	Vk_6: INTEGER_32
	Vk_7: INTEGER_32
	Vk_8: INTEGER_32
	Vk_9: INTEGER_32
	Vk_a: INTEGER_32
	Vk_add: INTEGER_32
	Vk_alt: INTEGER_32
	Vk_apps: INTEGER_32
	Vk_b: INTEGER_32
	Vk_back: INTEGER_32
	Vk_c: INTEGER_32
	Vk_cancel: INTEGER_32
	Vk_capital: INTEGER_32
	Vk_clear: INTEGER_32
	Vk_control: INTEGER_32
	Vk_d: INTEGER_32
	Vk_decimal: INTEGER_32
	Vk_delete: INTEGER_32
	Vk_divide: INTEGER_32
	Vk_down: INTEGER_32
	Vk_e: INTEGER_32
	Vk_end: INTEGER_32
	Vk_escape: INTEGER_32
	Vk_execute: INTEGER_32
	Vk_f: INTEGER_32
	Vk_f1: INTEGER_32
	Vk_f10: INTEGER_32
	Vk_f11: INTEGER_32
	Vk_f12: INTEGER_32
	Vk_f13: INTEGER_32
	Vk_f14: INTEGER_32
	Vk_f15: INTEGER_32
	Vk_f16: INTEGER_32
	Vk_f17: INTEGER_32
	Vk_f18: INTEGER_32
	Vk_f19: INTEGER_32
	Vk_f2: INTEGER_32
	Vk_f20: INTEGER_32
	Vk_f21: INTEGER_32
	Vk_f22: INTEGER_32
	Vk_f23: INTEGER_32
	Vk_f24: INTEGER_32
	Vk_f3: INTEGER_32
	Vk_f4: INTEGER_32
	Vk_f5: INTEGER_32
	Vk_f6: INTEGER_32
	Vk_f7: INTEGER_32
	Vk_f8: INTEGER_32
	Vk_f9: INTEGER_32
	Vk_g: INTEGER_32
	Vk_h: INTEGER_32
	Vk_help: INTEGER_32
	Vk_home: INTEGER_32
	Vk_i: INTEGER_32
	Vk_insert: INTEGER_32
	Vk_j: INTEGER_32
	Vk_k: INTEGER_32
	Vk_l: INTEGER_32
	Vk_lbutton: INTEGER_32
	Vk_lcontrol: INTEGER_32
	Vk_left: INTEGER_32
	Vk_lmenu: INTEGER_32
	Vk_lshift: INTEGER_32
	Vk_m: INTEGER_32
	Vk_mbutton: INTEGER_32
	Vk_menu: INTEGER_32
	Vk_multiply: INTEGER_32
	Vk_n: INTEGER_32
	Vk_next: INTEGER_32
	Vk_numlock: INTEGER_32
	Vk_numpad0: INTEGER_32
	Vk_numpad1: INTEGER_32
	Vk_numpad2: INTEGER_32
	Vk_numpad3: INTEGER_32
	Vk_numpad4: INTEGER_32
	Vk_numpad5: INTEGER_32
	Vk_numpad6: INTEGER_32
	Vk_numpad7: INTEGER_32
	Vk_numpad8: INTEGER_32
	Vk_numpad9: INTEGER_32
	Vk_o: INTEGER_32
	Vk_p: INTEGER_32
	Vk_pause: INTEGER_32
	Vk_print: INTEGER_32
	Vk_prior: INTEGER_32
	Vk_q: INTEGER_32
	Vk_r: INTEGER_32
	Vk_rbutton: INTEGER_32
	Vk_rcontrol: INTEGER_32
	Vk_return: INTEGER_32
	Vk_right: INTEGER_32
	Vk_rmenu: INTEGER_32
	Vk_rshift: INTEGER_32
	Vk_s: INTEGER_32
	Vk_scroll: INTEGER_32
	Vk_select: INTEGER_32
	Vk_separator: INTEGER_32
	Vk_shift: INTEGER_32
	Vk_snapshot: INTEGER_32
	Vk_space: INTEGER_32
	Vk_subtract: INTEGER_32
	Vk_t: INTEGER_32
	Vk_tab: INTEGER_32
	Vk_u: INTEGER_32
	Vk_up: INTEGER_32
	Vk_v: INTEGER_32
	Vk_w: INTEGER_32
	Vk_x: INTEGER_32
	Vk_y: INTEGER_32
	Vk_z: INTEGER_32
	Void_assigned_to_expanded: INTEGER_32
	Void_call_target: INTEGER_32
	window_with_focus: EV_WINDOW_IMP

Commands
	add_idle_action (a_idle_action: PROCEDURE [ANY, TUPLE])
	add_root_window (w: WEL_FRAME_WINDOW)
	call_idle_actions
	call_post_launch_actions
	catch (code: INTEGER_32)
	destroy
	die (code: INTEGER_32)
	disable_idle_action
	display_help_for_widget (a_widget: EV_WIDGET)
	do_once_idle_actions
	do_once_on_idle (an_action: PROCEDURE [ANY, TUPLE])
	enable_contextual_help
	enable_idle_action
	idle_action
	ignore (code: INTEGER_32)
	lock
	message_on_failure
	no_message_on_failure
	on_exception_action (an_exception: EXCEPTION)
	process_events
	process_graphical_events
	raise (name: STRING_8)
	raise_retrieval_exception (name: STRING_8)
	relinquish_cpu_slice
	remove_idle_action (a_idle_action: PROCEDURE [ANY, TUPLE])
	remove_root_window (w: WEL_FRAME_WINDOW)
	run
	set_capture_type (a_capture_type: INTEGER_32)
	set_captured_widget (a_captured_widget: EV_WIDGET)
	set_contextual_help_accelerator (an_accelerator: EV_ACCELERATOR)
	set_help_accelerator (an_accelerator: EV_ACCELERATOR)
	set_help_engine (an_engine: EV_HELP_ENGINE)
	set_locked_window (a_window: EV_WINDOW)
	set_tooltip_delay (a_delay: INTEGER_32)
	set_window_with_focus (a_window: EV_WINDOW)
	sleep (msec: INTEGER_32)
	unlock

Constraints
	idle action mutex valid
	duplicated message not void