indexing
	description: "Contains information about a button in a toolbar."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_TOOL_BAR_BUTTON
create 
	make
			item
			 WEL_STRUCTURE
		ensure  WEL_STRUCTURE
			not_shared: not shared
	make_button (a_bitmap_index, a_command_id: INTEGER)
			a_bitmap_index
			a_command_id
		ensure
			bitmap_index_set: bitmap_index = a_bitmap_index
			command_id_set: command_id = a_command_id
	make_check (a_bitmap_index, a_command_id: INTEGER)
			a_bitmap_index
			a_command_id
		ensure
			bitmap_index_set: bitmap_index = a_bitmap_index
			command_id_set: command_id = a_command_id
	make_check_group (a_bitmap_index, a_command_id: INTEGER)
			a_bitmap_index
			a_command_id
		ensure
			bitmap_index_set: bitmap_index = a_bitmap_index
			command_id_set: command_id = a_command_id
	make_group (a_bitmap_index, a_command_id: INTEGER)
			a_bitmap_index
			a_command_id
		ensure
			bitmap_index_set: bitmap_index = a_bitmap_index
			command_id_set: command_id = a_command_id
	make_separator
			
			
	make_by_pointer (a_pointer: POINTER)
			itema_pointer
			item
			
			a_pointer
			
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = a_pointer
			shared: shared
feature 
	bitmap_index: INTEGER
			
	command_id: INTEGER
			
			
			
	data: INTEGER
			
	item: POINTER
			
			
			 WEL_ANY
	state: INTEGER
			
			WEL_TB_STATE_CONSTANTS
	string_index: INTEGER
			
		ensure
			positive_result: Result >= 0
	style: INTEGER
			
			WEL_TB_STYLE_CONSTANTS
	
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
	
feature 
	set_shared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			shared: shared
	set_unshared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			unshared: not shared
	
feature 
	set_bitmap_index (a_bitmap_index: INTEGER)
			bitmap_indexa_bitmap_index
		ensure
			bitmap_index_set: bitmap_index = a_bitmap_index
	set_command_id (a_command_id: INTEGER)
			command_ida_command_id
		ensure
			command_id_set: command_id = a_command_id
	set_data (a_data: INTEGER)
			dataa_data
		ensure
			data_set: data = a_data
	set_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	set_state (a_state: INTEGER)
			statea_state
		ensure
			state_set: state = a_state
	set_string_index (a_string_index: INTEGER)
			string_indexa_string_index
		require
			positive_index: a_string_index >= 0
		ensure
			string_index_set: string_index = a_string_index
	set_style (a_style: INTEGER)
			stylea_style
		ensure
			style_set: style = a_style
	
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_TOOL_BAR_BUTTON