indexing
	description: "Class that handles Windows Clipboard operations"
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_CLIPBOARD

feature -- Access

	clipboard_open: BOOLEAN
			-- Is clipboard open?

	is_clipboard_format_available (format: INTEGER): BOOLEAN

	last_string: STRING
			-- Text retrieved from Clipboard
			-- Only valid after a successfull call to
			-- retrieve_clipboard_text
	
feature -- Element Change

	close_clipboard
			-- Close clipboard.

	empty_clipboard
			-- Empty clipboard.

	open_clipboard (window: WEL_WINDOW)
		require
			window_exists: window /= void and then window.exists

	retrieve_clipboard_text
			-- Retrieves text from the clipboard
		require
			clipboard_open: clipboard_open
			text_available: is_clipboard_format_available (cf_text)

	set_clipboard_text (a_text: STRING)
			-- Assign a_text to the clipboard
		require
			clipboard_open: clipboard_open
	
invariant

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

end -- class WEL_CLIPBOARD