indexing
	description: "Information about message Wm_command which is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_COMMAND_MESSAGE

create 

	make (a_window: WEL_WINDOW; a_message, a_w_param, a_l_param: INTEGER)
			-- Set window, message, w_param, l_param with
			-- a_window, a_message, a_w_param, a_l_param
			-- (from WEL_MESSAGE_INFORMATION)
		ensure -- from WEL_MESSAGE_INFORMATION
			window_set: window = a_window
			message_set: message = a_message
			w_param_set: w_param = a_w_param
			l_param_set: l_param = a_l_param

feature -- Initialization

	make (a_window: WEL_WINDOW; a_message, a_w_param, a_l_param: INTEGER)
			-- Set window, message, w_param, l_param with
			-- a_window, a_message, a_w_param, a_l_param
			-- (from WEL_MESSAGE_INFORMATION)
		ensure -- from WEL_MESSAGE_INFORMATION
			window_set: window = a_window
			message_set: message = a_message
			w_param_set: w_param = a_w_param
			l_param_set: l_param = a_l_param
	
feature -- Access

	control: WEL_CONTROL
			-- Control sending the message if the message is from a
			-- control.
		require
			from_control: from_control

	h_window: POINTER
			-- Handle of control

	id: INTEGER
			-- Identifier of the menu item, control, or accelerator.

	l_param: INTEGER
			-- Additional information about message. The exact
			-- meaning depends on the value of message.
			-- (from WEL_MESSAGE_INFORMATION)

	message: INTEGER
			-- Message number. See class WEL_WM_CONSTANTS for
			-- different values.
			-- (from WEL_MESSAGE_INFORMATION)

	notify_code: INTEGER
			-- Notification message

	w_param: INTEGER
			-- Additional information about message. The exact
			-- meaning depends on the value of message.
			-- (from WEL_MESSAGE_INFORMATION)

	window: WEL_WINDOW
			-- Window which receives message
			-- (from WEL_MESSAGE_INFORMATION)
	
feature -- Status report

	from_accelerator: BOOLEAN
			-- Does the message come from an accelerator?

	from_control: BOOLEAN
			-- Does the message come from a control?

	from_menu: BOOLEAN
			-- Does the message come from a menu?
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class WEL_COMMAND_MESSAGE