indexing
	description: "Keyboard accelerators that generates a WM_COMMAND message."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_ACCELERATORS
create 
	make_by_id (id: INTEGER)
			id
			 WEL_RESOURCE
		require  WEL_RESOURCE
			valid_id: id > 0
		ensure  WEL_RESOURCE
			not_shared: not shared
	make_by_name (name: STRING)
			name
			 WEL_RESOURCE
		require  WEL_RESOURCE
			name_not_void: name /= void
			name_not_empty: not name.is_empty
		ensure  WEL_RESOURCE
			not_shared: not shared
	make_with_array (an_array: WEL_ARRAY [WEL_ACCELERATOR])
			an_array
		require
			an_array_not_void: an_array /= void
			an_array_exists: an_array.exists
feature 
	item: POINTER
			
			
			 WEL_ANY
	
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_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	
feature 
	dispose
			Current
			
			
			Current
			
			 WEL_ANY
	
feature 
	to_integer: INTEGER
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = cwel_pointer_to_integer (item)
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_ACCELERATORS