indexing
	description: "Receive and dispatch the Windows messages to the Eiffel objects.block the message if a blocking window is present"
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_BLOCKING_DISPATCHER

create 

	make
			-- Initialize the C variables
			-- (from WEL_DISPATCHER)

feature -- Access

	En_change: INTEGER is 768
			-- (from WEL_EN_CONSTANTS)

	En_errspace: INTEGER is 1280
			-- (from WEL_EN_CONSTANTS)

	En_hscroll: INTEGER is 1537
			-- (from WEL_EN_CONSTANTS)

	En_killfocus: INTEGER is 512
			-- (from WEL_EN_CONSTANTS)

	En_maxtext: INTEGER is 1281
			-- (from WEL_EN_CONSTANTS)

	En_msgfilter: INTEGER is 1792
			-- (from WEL_EN_CONSTANTS)

	En_setfocus: INTEGER is 256
			-- (from WEL_EN_CONSTANTS)

	En_update: INTEGER is 1024
			-- (from WEL_EN_CONSTANTS)

	En_vscroll: INTEGER is 1538
			-- (from WEL_EN_CONSTANTS)
	
feature -- Status setting

	blocking_dispatcher_enabled: BOOLEAN
			-- Is the dispatcher with blocking window handling enabled?

	blocking_dispatcher_window: WEL_WINDOW
			-- Current blocking window

	disable_blocking_dispatcher
			-- Disable the blocking window dispatcher

	enable_blocking_dispatcher
			-- Enable the blocking window dispatcher

	remove_blocking_dispatcher_window
			-- Remove the current blocking window

	set_blocking_dispatcher_window (a_window: WEL_WINDOW)
			-- Set the blocking window to a_window
	
invariant

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

end -- class WEL_BLOCKING_DISPATCHER