indexing
	description: "This structure identifies a tool for which text is to be displayed and receives the text for the tool. This structure is used with the Ttn_needtext notification message."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_TOOLTIP_TEXT
create 
	make
			item
			 WEL_STRUCTURE
		ensure  WEL_STRUCTURE
			not_shared: not shared
	make_by_nmhdr (a_nmhdr: WEL_NMHDR)
			a_nmhdr
		require
			a_nmhdr_not_void: a_nmhdr /= void
	make_by_pointer (a_pointer: POINTER)
			itema_pointer
			item
			
			a_pointer
			
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = a_pointer
			shared: shared
feature 
	flags: INTEGER
			id_from
			hdr
			WEL_TTF_CONSTANTS
	hdr: WEL_NMHDR
			
		ensure
			result_not_void: Result /= void
	instance: WEL_INSTANCE
			
			
	item: POINTER
			
			
			 WEL_ANY
	text: STRING
			
		require
			text_id_not_set: not text_id_set
		ensure
			result_not_void: Result /= void
	text_id: INTEGER
			
		require
			text_id_set: text_id_set
	
feature 
	structure_size: INTEGER
			
		ensure  WEL_STRUCTURE
			positive_result: Result > 0
	
feature 
	exists: BOOLEAN
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = (item /= default_pointer)
	shared: BOOLEAN
			item
			item
			destroy_item
			item
			 WEL_ANY
	text_id_set: BOOLEAN
			text
	
feature 
	set_shared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			shared: shared
	set_unshared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			unshared: not shared
	
feature 
	set_flags (a_flags: INTEGER)
			flagsa_flags
		require
			positive_flags: a_flags >= 0
		ensure
			flags_set: flags = a_flags
	set_instance (an_instance: WEL_INSTANCE)
			instancean_instance
		require
			an_instance_not_void: an_instance /= void
		ensure
			instance_set: instance.item = an_instance.item
	set_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	set_text (a_text: STRING)
			texta_text
		require
			text_not_void: a_text /= void
		ensure
			text_set: text.is_equal (a_text)
	set_text_id (an_id: INTEGER)
			textan_id
		ensure
			text_id_set: text_id = an_id
	
feature 
	dispose
			Current
			
			
			Current
			
			 WEL_ANY
	
feature 
	to_integer: INTEGER
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = cwel_pointer_to_integer (item)
	
feature 
	initialize
			
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	initialize_with_character (a_character: CHARACTER)
			a_character
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	memory_copy (source_pointer: POINTER; length: INTEGER)
			lengthsource_pointeritem
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			length_small_enough: length <= structure_size
			length_large_enough: length > 0
			exists: exists
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_TOOLTIP_TEXT