indexing
	description: "ListView Control Constants."
	legal: "See notice at end of class."
	status: "See notice at end of class."
	date: "$Date: 2006-03-22 23:29:03 -0800 (Wed, 22 Mar 2006) $"
	revision: "$Revision: 57641 $"

class interface
	WEL_LIST_VIEW_CONSTANTS

create 
	default_create
			-- Process instances of classes with no creation clause.
			-- (Default: do nothing.)
			-- (from ANY)

feature -- Access

	generating_type: STRING_8
			-- Name of current object's generating type
			-- (type of which it is a direct instance)
			-- (from ANY)

	generator: STRING_8
			-- Name of current object's generating class
			-- (base class of the type of which it is a direct instance)
			-- (from ANY)
	
feature -- Comparison

	frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void
			-- or attached to isomorphic object structures?
			-- (from ANY)
		ensure -- from ANY
			shallow_implies_deep: standard_equal (some, other) implies Result
			both_or_none_void: (some = Void) implies (Result = (other = Void))
			same_type: (Result and (some /= Void)) implies some.same_type (other)
			symmetric: Result implies deep_equal (other, some)

	frozen equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void or attached
			-- to objects considered equal?
			-- (from ANY)
		ensure -- from ANY
			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))

	is_equal (other: like Current): BOOLEAN
			-- Is `other' attached to an object considered
			-- equal to current object?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			symmetric: Result implies other.is_equal (Current)
			consistent: standard_is_equal (other) implies Result

	frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void or attached to
			-- field-by-field identical objects of the same type?
			-- Always uses default object comparison criterion.
			-- (from ANY)
		ensure -- from ANY
			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))

	frozen standard_is_equal (other: like Current): BOOLEAN
			-- Is `other' attached to an object of the same type
			-- as current object, and field-by-field identical to it?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			same_type: Result implies same_type (other)
			symmetric: Result implies other.standard_is_equal (Current)
	
feature -- Status report

	conforms_to (other: ANY): BOOLEAN
			-- Does type of current object conform to type
			-- of `other' (as per Eiffel: The Language, chapter 13)?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void

	same_type (other: ANY): BOOLEAN
			-- Is type of current object identical to type of `other'?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			definition: Result = (conforms_to (other) and other.conforms_to (Current))
	
feature -- Duplication

	copy (other: like Current)
			-- Update current object using fields of object attached
			-- to `other', so as to yield equal objects.
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
			type_identity: same_type (other)
		ensure -- from ANY
			is_equal: is_equal (other)

	frozen deep_copy (other: like Current)
			-- Effect equivalent to that of:
			--		copy (`other' . deep_twin)
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			deep_equal: deep_equal (Current, other)

	frozen deep_twin: like Current
			-- New object structure recursively duplicated from Current.
			-- (from ANY)
		ensure -- from ANY
			deep_equal: deep_equal (Current, Result)

	frozen standard_copy (other: like Current)
			-- Copy every field of `other' onto corresponding field
			-- of current object.
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
			type_identity: same_type (other)
		ensure -- from ANY
			is_standard_equal: standard_is_equal (other)

	frozen standard_twin: like Current
			-- New object field-by-field identical to `other'.
			-- Always uses default copying semantics.
			-- (from ANY)
		ensure -- from ANY
			standard_twin_not_void: Result /= Void
			equal: standard_equal (Result, Current)

	frozen twin: like Current
			-- New object equal to `Current'
			-- twin calls copy; to change copying/twining semantics, redefine copy.
			-- (from ANY)
		ensure -- from ANY
			twin_not_void: Result /= Void
			is_equal: Result.is_equal (Current)
	
feature -- Basic operations

	frozen default: like Current
			-- Default value of object's type
			-- (from ANY)

	frozen default_pointer: POINTER
			-- Default value of type `POINTER'
			-- (Avoid the need to write `p'.default for
			-- some `p' of type `POINTER'.)
			-- (from ANY)

	default_rescue
			-- Process exception for routines with no Rescue clause.
			-- (Default: do nothing.)
			-- (from ANY)

	frozen do_nothing
			-- Execute a null action.
			-- (from ANY)
	
feature -- Column Flags (Format)

	lvcfmt_center: INTEGER_32 is 2
			-- alignment of the column : center.
			-- Do not use for the first column of the list view
			-- that must always be left-aligned.
			--
			-- Declared in Windows as LVCFMT_CENTER

	lvcfmt_justifymask: INTEGER_32 is 3
			-- alignment of the column : justify.
			-- Do not use for the first column of the list view
			-- that must always be left-aligned.
			--
			-- Declared in Windows as LVCFMT_JUSTIFYMASK

	lvcfmt_left: INTEGER_32 is 0
			-- alignment of the column : left.
			-- Do not use for the first column of the list view
			-- that must always be left-aligned.
			--
			-- Declared in Windows as LVCFMT_LEFT

	lvcfmt_right: INTEGER_32 is 1
			-- alignment of the column : right.
			-- Do not use for the first column of the list view
			-- that must always be left-aligned.
			--
			-- Declared in Windows as LVCFMT_RIGHT
	
feature -- Column Flags (General)

	lvcf_fmt: INTEGER_32 is 1
			-- The fmt member is valid.
			--
			-- Declared in Windows as LVCF_FMT

	lvcf_image: INTEGER_32 is 16
			-- The ilmage member is valid
			--
			-- Declared in Windows as LVCF_IMAGE

	lvcf_subitem: INTEGER_32 is 8
			-- The iSubItem member is valid.
			--
			-- Declared in Windows as LVCF_SUBITEM

	lvcf_text: INTEGER_32 is 4
			-- The pszText member is valid.
			--
			-- Declared in Windows as LVCF_TEXT

	lvcf_width: INTEGER_32 is 2
			-- The cx member is valid.
			--
			-- Declared in Windows as LVCF_WIDTH
	
feature -- Column Flags (Width)

	lvscw_autosize: INTEGER_32 is -1
			-- Automatically sizes the column.
			--
			-- Declared in Windows as LVSCW_AUTOSIZE

	lvscw_autosize_useheader: INTEGER_32 is -2
			-- Automatically sizes the column to fit the 
			-- header text. If you use this value with the last 
			-- column, its width is set to fill the remaining 
			-- width of the list view control.
			--
			-- Declared in Windows as LVSCW_AUTOSIZE_USEHEADER
	
feature -- Extended Style

	lvs_ex_checkboxes: INTEGER_32 is 4
			-- Version 4.70.
			-- Enables check boxes for items in a list view
			-- control. Effectively, when set to this style, the control 
			-- will create and set a state image list using 
			-- DrawFrameControl. Check boxes are visible and functional 
			-- with all list view modes. You can obtain the state of the 
			-- check box for a given item with ListView_GetCheckState. To 
			-- set the check state, use ListView_SetCheckState. 

	lvs_ex_flatsb: INTEGER_32 is 256
			-- Version 4.71. 
			-- Enables flat scroll bars in the list view. 
			-- If you need more control over the appearance of the list
			-- view's scroll bars, you should manipulate the list view's 
			-- scroll bars directly using the Flat Scroll Bar APIs. If
			-- the system metrics change, you are responsible for adjusting
			-- the scrollbar metrics with FlatSB_SetScrollProp. See Flat
			-- Scroll Bars for further details. 

	lvs_ex_fullrowselect: INTEGER_32 is 32
			-- Version 4.70.
			-- When an item is selected, the item and all its subitems are
			-- highlighted. This style is available only in conjunction
			-- with the LVS_REPORT style. 

	lvs_ex_gridlines: INTEGER_32 is 1
			-- Version 4.70. Displays gridlines around items and subitems.
			-- This style is available only in conjunction with the LVS_REPORT
			-- style. 

	lvs_ex_headerdragdrop: INTEGER_32 is 16
			-- Version 4.70. Enables drag-and-drop reordering of columns in
			-- a list view control. This style is only available to list
			-- view controls that use the LVS_REPORT style. 

	lvs_ex_infotip: INTEGER_32 is 1024
			-- Version 4.71. When a list view control uses the 
			-- LVS_EX_INFOTIP style, the LVN_GETINFOTIP notification message
			-- is sent to the parent window before displaying an item's
			-- tooltip. 

	lvs_ex_labeltip: INTEGER_32 is 16384
			-- Version 5.80. If a partially hidden label in any list view
			-- mode lacks tooltip text, the list view control will unfold
			-- the label. If this style is not set, the list view control
			-- will unfold partly hidden labels only for the large icon mode. 

	lvs_ex_multiworkareas: INTEGER_32 is 8192
			-- Version 4.71. If the list view control has the LVS_AUTOARRANGE
			-- style, the control will not autoarrange its icons until one or
			-- more work areas are defined (see LVM_SETWORKAREAS). To be
			-- effective, this style must be set before any work areas are 
			-- defined and any items have been added to the control. 

	lvs_ex_oneclickactivate: INTEGER_32 is 64
			-- Version 4.70. The list view control sends an LVN_ITEMACTIVATE 
			-- notification message to the parent window when the user clicks
			-- an item. This style also enables hot tracking in the list view
			-- control. Hot tracking means that when the cursor moves over an
			-- item, it is highlighted but not selected. See the Remarks for a 
			-- discussion of item activation. 

	lvs_ex_regional: INTEGER_32 is 512
			-- Version 4.71. The list view will create a region that includes 
			-- only the item icons and text and set its window region to that 
			-- using SetWindowRgn. This will exclude any area that is not part
			-- of an item from the window region. This style is only available
			-- to list view controls that use the LVS_ICON style. 

	lvs_ex_subitemimages: INTEGER_32 is 2
			-- Version 4.70. Allows images to be displayed for subitems. 
			-- This style is available only in conjunction with the LVS_REPORT 
			-- style. 

	lvs_ex_trackselect: INTEGER_32 is 8
			-- Version 4.70. Enables hot-track selection in a list view 
			-- control. Hot track selection means that an item is 
			-- automatically selected when the cursor remains over the item 
			-- for a certain period of time. The delay can be changed from 
			-- the default system setting with a LVM_SETHOVERTIME message. 
			-- This style applies to all styles of list view control. You 
			-- can check whether or not hot-track selection is enabled by 
			-- calling SystemParametersInfo. 

	lvs_ex_twoclickactivate: INTEGER_32 is 128
			-- Version 4.70. The list view control sends an LVN_ITEMACTIVATE 
			-- notification message to the parent window when the user 
			-- double-clicks an item. This style also enables hot tracking 
			-- in the list view control. Hot tracking means that when the 
			-- cursor moves over an item, it is highlighted but not 
			-- selected. See the Remarks for a discussion of item 
			-- activation. 

	lvs_ex_underlinecold: INTEGER_32 is 4096
			-- Version 4.71. Causes non-hot items that are activatable to be 
			-- displayed with underlined text. This style requires that 
			-- LVS_EX_TWOCLICKACTIVATE also be set. See the Remarks for a 
			-- discussion of item activation. 

	lvs_ex_underlinehot: INTEGER_32 is 2048
			-- Version 4.71. Causes hot items that are activatable to be 
			-- displayed with underlined text. This style requires that 
			-- LVS_EX_ONECLICKACTIVATE or LVS_EX_TWOCLICKACTIVATE also be 
			-- set. See the Remarks for a discussion of item activation. 
	
feature -- Flags defining search in a list view. 

	lvfi_nearestxy: INTEGER_32 is 64
			-- Search item nearest specified position in specified direction
			--
			-- Declared in Windows as LVFI_NEARESTXY

	lvfi_param: INTEGER_32 is 1
			-- Search item with corresponding lparam attribute
			--
			-- Declared in Windows as LVFI_PARAM

	lvfi_partial: INTEGER_32 is 8
			-- Search item including given string
			--
			-- Declared in Windows as LVFI_PARTIAL

	lvfi_string: INTEGER_32 is 2
			-- Search item with exact corresponding string
			--
			-- Declared in Windows as LVFI_STRING

	lvfi_wrap: INTEGER_32 is 32
			-- Start search from start when end of list view is reached
			--
			-- Declared in Windows as LVFI_WRAP
	
feature -- Header Notifications.

	hdn_begindrag: INTEGER_32 is -310
			-- Version 4.70 and later of Comctl32.dll
			-- Sent by a header control when a drag operation has begun on 
			-- one of its items. This notification message is sent only by 
			-- header controls that are set to the HDS_DRAGDROP style. This 
			-- notification is sent in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_BEGINDRAG

	hdn_begintrack: INTEGER_32 is -306
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_begintracka.

	hdn_begintracka: INTEGER_32 is -306
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_begintrack.

	hdn_begintrackw: INTEGER_32 is -326
			-- Notifies a header control's parent window that the user has 
			-- begun dragging a divider in the control (that is, the user 
			-- has pressed the left mouse button while the mouse cursor is 
			-- on a divider in the header control). This notification 
			-- message is sent in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_BEGINTRACK

	hdn_dividerdblclick: INTEGER_32 is -305
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_dividerdblclicka.

	hdn_dividerdblclicka: INTEGER_32 is -305
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_dividerdblclick.

	hdn_dividerdblclickw: INTEGER_32 is -325
			-- Notifies a header control's parent window that the user 
			-- double-clicked the divider area of the control. This 
			-- notification message is sent in the form of a WM_NOTIFY 
			-- message. 
			--
			-- Declared in Windows as HDN_DIVIDERDBLCLICK

	hdn_enddrag: INTEGER_32 is -311
			-- Version 4.70 and later of Comctl32.dll
			-- Sent by a header control when a drag operation has ended on 
			-- one of its items. This notification is sent as a WM_NOTIFY 
			-- message. Only header controls that are set to the 
			-- HDS_DRAGDROP style send this notification. 
			--
			-- Declared in Windows as HDN_ENDDRAG

	hdn_endtrack: INTEGER_32 is -307
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_endtracka.

	hdn_endtracka: INTEGER_32 is -307
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_endtrack.

	hdn_endtrackw: INTEGER_32 is -327
			-- Notifies a header control's parent window that the user has 
			-- finished dragging a divider. This notification message sent 
			-- in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_ENDTRACK

	hdn_getdispinfo: INTEGER_32 is -309
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_getdispinfoa.

	hdn_getdispinfoa: INTEGER_32 is -309
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_getdispinfo.

	hdn_getdispinfow: INTEGER_32 is -329
			-- Version 4.70 and later of Comctl32.dll
			-- Notifies the header control's parent window when the filter 
			-- button is clicked or in response to an HDM_SETITEM message. 
			-- 
			-- Declared in Windows as HDN_GETDISPINFO

	hdn_itemchanged: INTEGER_32 is -301
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchangeda.

	hdn_itemchangeda: INTEGER_32 is -301
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanged.

	hdn_itemchangedw: INTEGER_32 is -321
			-- Notifies a header control's parent window that the attributes 
			-- of a header item have changed. This notification message is 
			-- sent in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_ITEMCHANGED

	hdn_itemchanging: INTEGER_32 is -300
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanginga.

	hdn_itemchanginga: INTEGER_32 is -300
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanging.

	hdn_itemchangingw: INTEGER_32 is -320
			-- Notifies a header control's parent window that the attributes 
			-- of a header item are about to change. This notification 
			-- message is sent in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_ITEMCHANGING

	hdn_itemclick: INTEGER_32 is -302
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemclicka.

	hdn_itemclicka: INTEGER_32 is -302
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemclick.

	hdn_itemclickw: INTEGER_32 is -322
			-- Notifies a header control's parent window that the user 
			-- clicked the control. This notification message is sent in the 
			-- form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_ITEMCLICK

	hdn_itemdblclick: INTEGER_32 is -303
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemdblclicka.

	hdn_itemdblclicka: INTEGER_32 is -303
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemdblclick.

	hdn_itemdblclickw: INTEGER_32 is -323
			-- Notifies a header control's parent window that the user 
			-- double-clicked the control. This notification message is sent 
			-- in the form of a WM_NOTIFY message. Only header controls that 
			-- are set to the HDS_BUTTONS style send this notification. 
			--
			-- Declared in Windows as HDN_ITEMDBLCLICK

	hdn_track: INTEGER_32 is -308
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_tracka.

	hdn_tracka: INTEGER_32 is -308
			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_track.

	hdn_trackw: INTEGER_32 is -328
			-- Notifies a header control's parent window that the user is 
			-- dragging a divider in the header control. This notification 
			-- message is sent in the form of a WM_NOTIFY message. 
			--
			-- Declared in Windows as HDN_TRACK
	
feature -- HitTest Info.

	lvht_above: INTEGER_32 is 8
			-- Above the client area.
			--
			-- Declared in Windows as LVHT_ABOVE

	lvht_below: INTEGER_32 is 16
			-- Below the client area.
			--
			-- Declared in Windows as LVHT_BELOW

	lvht_nowhere: INTEGER_32 is 1
			-- In the client area, but below the last item.
			--
			-- Declared in Windows as LVHT_NOWHERE

	lvht_onitemicon: INTEGER_32 is 2
			-- On the button associated with an item.
			--
			-- Declared in Windows as LVHT_ONITEMICON

	lvht_onitemlabel: INTEGER_32 is 4
			-- On the label (string) associated with an item.
			--
			-- Declared in Windows as LVHT_ONITEMLABEL

	lvht_onitemstateicon: INTEGER_32 is 8
			-- On the state icon for a tree view item that is in
			-- a user-defines state.
			--
			-- Declared in Windows as LVHT_ONITEMSTATEICON

	lvht_toleft: INTEGER_32 is 64
			-- To the left of the client area.
			--
			-- Declared in Windows as LVHT_TOLEFT

	lvht_toright: INTEGER_32 is 32
			-- To the right of the client area.
			--
			-- Declared in Windows as LVHT_TORIGHT
	
feature -- ImageList State

	lvsil_normal: INTEGER_32 is 0
			-- Indicates the normal image list, which contains 
			-- selected, nonselected, and overlay images for the
			-- items of a list view control.
			-- This image list represents the large icons.
			--
			-- Declared in Windows as LVSIL_NORMAL

	lvsil_small: INTEGER_32 is 1
			-- Indicates the normal image list, which contains 
			-- selected, nonselected, and overlay images for the
			-- items of a list view control.
			-- This image list represents the small icons.
			--
			-- Declared in Windows as LVSIL_SMALL

	lvsil_state: INTEGER_32 is 2
			-- Indicates the state image list. You can use state 
			-- images to indicate application-defined item states. 
			-- A state image is displayed to the left of an item's
			-- selected or nonselected image.
			--
			-- Declared in Windows as LVSIL_STATE
	
feature -- Item Styles

	lvis_cut: INTEGER_32 is 4
			-- The item is marked for a cut and paste operation.
			--
			-- Declared in Windows as LVIS_CUT

	lvis_drophilited: INTEGER_32 is 8
			-- The item is highlighted as a drag-and-dop target.
			--
			-- Declared in Windows as LVIS_DROPHILITED

	lvis_focused: INTEGER_32 is 1
			-- The item has the focus.
			--
			-- Declared in Windows as LVIS_FOCUSED

	lvis_selected: INTEGER_32 is 2
			-- The item is selected.
			--
			-- Declared in Windows as LVIS_SELECTED
	
feature -- Item flags

	lvif_image: INTEGER_32 is 2
			-- The iImage member is valid.
			--
			-- Declared in Windows as LVIF_IMAGE

	lvif_param: INTEGER_32 is 4
			-- The lParam member is valid.
			--
			-- Declared in Windows as LVIF_PARAM

	lvif_state: INTEGER_32 is 8
			-- The state member is valid
			--
			-- Declared in Windows as LVIF_STATE

	lvif_text: INTEGER_32 is 1
			-- The pszText member is valid.
			--
			-- Declared in Windows as LVIF_TEXT
	
feature -- List View Item Rectangle constants.

	lvir_bounds: INTEGER_32 is 0
			-- Returns the bounding rectangle of the entire item, including 
			-- the icon and label. 
			--
			-- Declared in Windows as LVIR_BOUNDS

	lvir_icon: INTEGER_32 is 1
			-- Returns the bounding rectangle of the icon or small icon. 
			--
			-- Declared in Windows as LVIR_ICON

	lvir_label: INTEGER_32 is 2
			-- Returns the bounding rectangle of the item text. 
			--
			-- Declared in Windows as LVIR_LABEL

	lvir_selectbounds: INTEGER_32 is 3
			-- Returns the union of the LVIR_ICON and LVIR_LABEL rectangles, 
			-- but excludes columns in report view. 
			--
			-- Declared in Windows as LVIR_SELECTBOUNDS
	
feature -- Messages

	lvm_approximateviewrect: INTEGER_32 is 4160
			-- Version 4.70. Calculates the approximate width and height
			-- required to display a given number of items.
			--
			-- Declared in Windows as LVM_APPROXIMATEVIEWRECT

	lvm_arrange: INTEGER_32 is 4118
			-- Declared in Windows as LVM_ARRANGE

	lvm_createdragimage: INTEGER_32 is 4129
			-- Declared in Windows as LVM_CREATEDRAGIMAGE

	lvm_deleteallitems: INTEGER_32 is 4105
			-- Declared in Windows as LVM_DELETEALLITEMS

	lvm_deletecolumn: INTEGER_32 is 4124
			-- Declared in Windows as LVM_DELETECOLUMN

	lvm_deleteitem: INTEGER_32 is 4104
			-- Declared in Windows as LVM_DELETEITEM

	lvm_editlabel: INTEGER_32 is 4214
			-- Declared in Windows as LVM_EDITLABEL

	lvm_ensurevisible: INTEGER_32 is 4115
			-- Declared in Windows as LVM_ENSUREVISIBLE

	lvm_finditem: INTEGER_32 is 4179
			-- Declared in Windows as LVM_FINDITEM

	lvm_getbkcolor: INTEGER_32 is 4096
			-- Declared in Windows as LVM_GETBKCOLOR

	lvm_getbkimage: INTEGER_32 is 4165
			-- Version 4.71. Retrieves the background image in a list view
			-- control.
			--
			-- Declared in Windows as LVM_GETBKIMAGE

	lvm_getcallbackmask: INTEGER_32 is 4106
			-- Declared in Windows as LVM_GETCALLBACKMASK

	lvm_getcolumn: INTEGER_32 is 4191
			-- Declared in Windows as LVM_GETCOLUMN

	lvm_getcolumnorderarray: INTEGER_32 is 4155
			-- Version 4.70. Retrieves the current left-to-right order of
			-- columns in a list view control.
			--
			-- Declared in Windows as LVM_GETCOLUMNORDERARRAY

	lvm_getcolumnwidth: INTEGER_32 is 4125
			-- Declared in Windows as LVM_GETCOLUMNWIDTH

	lvm_getcountperpage: INTEGER_32 is 4136
			-- Declared in Windows as LVM_GETCOUNTPERPAGE

	lvm_geteditcontrol: INTEGER_32 is 4120
			-- Declared in Windows as LVM_GETEDITCONTROL

	lvm_getextendedlistviewstyle: INTEGER_32 is 4151
			-- Version 4.70. Retrieves the extended styles that are
			-- currently in use for a given list view control.
			--
			-- Declared in Windows as LVM_GETEXTENDEDLISTVIEWSTYLE

	lvm_getheader: INTEGER_32 is 4127
			-- Version 4.70. Retrieves the handle to the header control used
			-- by the list view control. 
			--
			-- Declared in Windows as LVM_GETHEADER

	lvm_gethotcursor: INTEGER_32 is 4159
			-- Version 4.70. Retrieves the HCURSOR value used when the
			-- pointer is over an item while hot tracking is enabled
			--
			-- Declared in Windows as LVM_GETHOTCURSOR

	lvm_gethotitem: INTEGER_32 is 4157
			-- Version 4.70. Retrieves the index of the hot item. 
			--
			-- Declared in Windows as LVM_GETHOTITEM

	lvm_gethovertime: INTEGER_32 is 4168
			-- Version 4.71. Retrieves the amount of time that the mouse
			-- cursor must hover over an item before it is selected.
			--
			-- Declared in Windows as LVM_GETHOVERTIME

	lvm_getimagelist: INTEGER_32 is 4098
			-- Declared in Windows as LVM_GETIMAGELIST

	lvm_getisearchstring: INTEGER_32 is 4213
			-- Declared in Windows as LVM_GETISEARCHSTRING

	lvm_getitem: INTEGER_32 is 4171
			-- Declared in Windows as LVM_GETITEM

	lvm_getitemcount: INTEGER_32 is 4100
			-- Declared in Windows as LVM_GETITEMCOUNT

	lvm_getitemposition: INTEGER_32 is 4112
			-- Declared in Windows as LVM_GETITEMPOSITION

	lvm_getitemrect: INTEGER_32 is 4110
			-- Declared in Windows as LVM_GETITEMRECT

	lvm_getitemspacing: INTEGER_32 is 4147
			-- Declared in Windows as LVM_GETITEMSPACING

	lvm_getitemstate: INTEGER_32 is 4140
			-- Declared in Windows as LVM_GETITEMSTATE

	lvm_getitemtext: INTEGER_32 is 4211
			-- Declared in Windows as LVM_GETITEMTEXT

	lvm_getnextitem: INTEGER_32 is 4108
			-- Declared in Windows as LVM_GETNEXTITEM

	lvm_getnumberofworkareas: INTEGER_32 is 4169
			-- Version 4.71. Retrieves the number of working areas in a list
			-- view control. 
			--
			-- Declared in Windows as LVM_GETNUMBEROFWORKAREAS

	lvm_getorigin: INTEGER_32 is 4137
			-- Declared in Windows as LVM_GETORIGIN

	lvm_getselectedcount: INTEGER_32 is 4146
			-- Declared in Windows as LVM_GETSELECTEDCOUNT

	lvm_getstringwidth: INTEGER_32 is 4183
			-- Declared in Windows as LVM_GETSTRINGWIDTH

	lvm_getsubitemrect: INTEGER_32 is 4152
			-- Version 4.70. Retrieves information about the bounding
			-- rectangle for a subitem in a list view control. 
			-- This message is intended to be used only with list view
			-- controls that use the Lvs_report style. 
			--
			-- Declared in Windows as LVM_GETSUBITEMRECT

	lvm_gettextbkcolor: INTEGER_32 is 4133
			-- Declared in Windows as LVM_GETTEXTBKCOLOR

	lvm_gettextcolor: INTEGER_32 is 4131
			-- Declared in Windows as LVM_GETTEXTCOLOR

	lvm_gettopindex: INTEGER_32 is 4135
			-- Declared in Windows as LVM_GETTOPINDEX

	lvm_getviewrect: INTEGER_32 is 4130
			-- Declared in Windows as LVM_GETVIEWRECT

	lvm_getworkareas: INTEGER_32 is 4166
			-- Version 4.71. Retrieves the UNICODE character format flag for
			-- the control
			--
			-- Declared in Windows as LVM_GETWORKAREAS

	lvm_hittest: INTEGER_32 is 4114
			-- Declared in Windows as LVM_HITTEST

	lvm_insertcolumn: INTEGER_32 is 4193
			-- Declared in Windows as LVM_INSERTCOLUMN

	lvm_insertitem: INTEGER_32 is 4173
			-- Declared in Windows as LVM_INSERTITEM

	lvm_redrawitems: INTEGER_32 is 4117
			-- Declared in Windows as LVM_REDRAWITEMS

	lvm_scroll: INTEGER_32 is 4116
			-- Declared in Windows as LVM_SCROLL

	lvm_setbkcolor: INTEGER_32 is 4097
			-- Declared in Windows as LVM_SETBKCOLOR

	lvm_setbkimage: INTEGER_32 is 4164
			-- Version 4.71. Retrieves the UNICODE character format flag for
			-- the control
			--
			-- Declared in Windows as LVM_SETBKIMAGE

	lvm_setcallbackmask: INTEGER_32 is 4107
			-- Declared in Windows as LVM_SETCALLBACKMASK

	lvm_setcolumn: INTEGER_32 is 4192
			-- Declared in Windows as LVM_SETCOLUMN

	lvm_setcolumnwidth: INTEGER_32 is 4126
			-- Declared in Windows as LVM_SETCOLUMNWIDTH

	lvm_setextendedlistviewstyle: INTEGER_32 is 4150
			-- Version 4.70. Sets extended styles in list view controls.
			--
			-- Declared in Windows as LVM_SETEXTENDEDLISTVIEWSTYLE

	lvm_sethotcursor: INTEGER_32 is 4158
			-- Version 4.70. Sets the HCURSOR value that the list view
			-- control uses when the pointer is over an item while hot
			-- tracking is enabled. To check whether or not
			-- hot tracking is enabled, call SystemParametersInfo. 
			--
			-- Declared in Windows as LVM_SETHOTCURSOR

	lvm_sethotitem: INTEGER_32 is 4156
			-- Version 4.70. 
			--
			-- Declared in Windows as LVM_SETHOTITEM

	lvm_sethovertime: INTEGER_32 is 4167
			-- Version 4.71. Sets the hot item for a list view control. 
			--
			-- Declared in Windows as LVM_SETHOVERTIME

	lvm_setimagelist: INTEGER_32 is 4099
			-- Declared in Windows as LVM_SETIMAGELIST

	lvm_setitem: INTEGER_32 is 4172
			-- Declared in Windows as LVM_SETITEM

	lvm_setitemcount: INTEGER_32 is 4143
			-- Declared in Windows as LVM_SETITEMCOUNT

	lvm_setitemposition: INTEGER_32 is 4111
			-- Declared in Windows as LVM_SETITEMPOSITION

	lvm_setitemposition32: INTEGER_32 is 4145
			-- Declared in Windows as LVM_SETITEMPOSITION32

	lvm_setitemstate: INTEGER_32 is 4139
			-- Declared in Windows as LVM_SETITEMSTATE

	lvm_setitemtext: INTEGER_32 is 4212
			-- Declared in Windows as LVM_SETITEMTEXT

	lvm_setselectionmark: INTEGER_32 is 4163
			-- Version 4.71. Sets the selection mark in a list view control.
			--
			-- Declared in Windows as LVM_SETSELECTIONMARK

	lvm_settextbkcolor: INTEGER_32 is 4134
			-- Declared in Windows as LVM_SETTEXTBKCOLOR

	lvm_settextcolor: INTEGER_32 is 4132
			-- Declared in Windows as LVM_SETTEXTCOLOR

	lvm_settooltips: INTEGER_32 is 4170
			-- Sets the tooltip control that the list view
			-- control will use to display tooltips. You can send this
			-- message explicitly or use the ListView_SetToolTips macro
			--
			-- Declared in Windows as LVM_SETTOOLTIPS

	lvm_setunicodeformat: INTEGER_32 is 8197
			-- Sets the UNICODE character format flag for the
			-- control. This message allows you to change the character set
			-- used by the control at run time rather than having to re
			-- create the control.
			--
			-- Declared in Windows as LVM_SETUNICODEFORMAT

	lvm_setworkareas: INTEGER_32 is 4161
			-- Version 4.71. Sets the working areas within a list view
			-- control. 
			--
			-- Declared in Windows as LVM_SETWORKAREAS

	lvm_sortitems: INTEGER_32 is 4144
			-- Declared in Windows as LVM_SORTITEMS

	lvm_subitemhittest: INTEGER_32 is 4153
			-- Version 4.70. Determines which list view item or subitem is
			-- at a given position. 
			--
			-- Declared in Windows as LVM_SUBITEMHITTEST

	lvm_update: INTEGER_32 is 4138
			-- Declared in Windows as LVM_UPDATE
	
feature -- Next item flags

	lvni_above: INTEGER_32 is 256
			-- Searches for an item that is above the specified item.
			--
			-- Declared in Windows as LVNI_ABOVE

	lvni_all: INTEGER_32 is 0
			-- Searches for a subsequent item by index.
			--
			-- Declared in Windows as LVNI_ALL

	lvni_below: INTEGER_32 is 512
			-- Searches for an item that is below the specified item.
			--
			-- Declared in Windows as LVNI_BELOW

	lvni_cut: INTEGER_32 is 4
			-- The item has the LVIS_CUT state flag set.
			--
			-- Declared in Windows as LVNI_CUT

	lvni_drophilited: INTEGER_32 is 8
			-- The item has the LVIS_DROPHILITED state flag set.
			--
			-- Declared in Windows as LVNI_DROPHILITED

	lvni_focused: INTEGER_32 is 1
			-- The item has the LVIS_FOCUSED state flag set.
			--
			-- Declared in Windows as LVNI_FOCUSED

	lvni_selected: INTEGER_32 is 2
			-- The item has the LVIS_SELECTED state flag set.
			--
			-- Declared in Windows as LVNI_SELECTED

	lvni_toleft: INTEGER_32 is 1024
			-- Searches for an item to the left of the specified item.
			--
			-- Declared in Windows as LVNI_TOLEFT

	lvni_toright: INTEGER_32 is 2048
			-- Searches for an item to the right of the specified item.
			--
			-- Declared in Windows as LVNI_TORIGHT
	
feature -- Notifications

	lvn_begindrag: INTEGER_32 is -109
			-- Declared in Windows as LVN_BEGINDRAG

	lvn_beginlabeledit: INTEGER_32 is -175
			-- Declared in Windows as LVN_BEGINLABELEDIT

	lvn_beginrdrag: INTEGER_32 is -111
			-- Declared in Windows as LVN_BEGINRDRAG

	lvn_columnclick: INTEGER_32 is -108
			-- Declared in Windows as LVN_COLUMNCLICK

	lvn_deleteallitems: INTEGER_32 is -104
			-- Declared in Windows as LVN_DELETEALLITEMS

	lvn_deleteitem: INTEGER_32 is -103
			-- Declared in Windows as LVN_DELETEITEM

	lvn_endlabeledit: INTEGER_32 is -176
			-- Declared in Windows as LVN_ENDLABELEDIT

	lvn_getdispinfo: INTEGER_32 is -177
			-- Declared in Windows as LVN_GETDISPINFO

	lvn_getinfotip: INTEGER_32 is -157
			-- Version 4.71 and later of Comctl32.dll
			-- Sent by a large icon view list view control that has the
			-- LVS_EX_INFOTIP extended style. This notification is sent when
			-- the list view control is requesting additional text
			-- information to be displayed in a tooltip. It is sent in the
			-- form of a WM_NOTIFY message.
			--
			-- Declared in Windows as LVN_GETINFOTIP

	lvn_insertitem: INTEGER_32 is -102
			-- Declared in Windows as LVN_INSERTITEM

	lvn_itemchanged: INTEGER_32 is -101
			-- Declared in Windows as LVN_ITEMCHANGED

	lvn_itemchanging: INTEGER_32 is -100
			-- Declared in Windows as LVN_ITEMCHANGING

	lvn_keydown: INTEGER_32 is -155
			-- Declared in Windows as LVN_KEYDOWN

	lvn_marqueebegin: INTEGER_32 is -156
			-- Declared in Windows as LVN_MARQUEEBEGIN

	lvn_setdispinfo: INTEGER_32 is -178
			-- Declared in Windows as LVN_SETDISPINFO
	
feature -- Output

	io: STD_FILES
			-- Handle to standard file setup
			-- (from ANY)

	out: STRING_8
			-- New string containing terse printable representation
			-- of current object
			-- Was declared in ANY as synonym of tagged_out.
			-- (from ANY)

	print (some: ANY)
			-- Write terse external representation of `some'
			-- on standard output.
			-- (from ANY)

	frozen tagged_out: STRING_8
			-- New string containing terse printable representation
			-- of current object
			-- Was declared in ANY as synonym of out.
			-- (from ANY)
	
feature -- Platform

	operating_environment: OPERATING_ENVIRONMENT
			-- Objects available from the operating system
			-- (from ANY)
	
feature -- Style

	lvs_alignleft: INTEGER_32 is 2048
			-- Items are left-aligned in icon and small icon view. 
			--
			-- Declared in Windows as LVS_ALIGNLEFT

	lvs_aligntop: INTEGER_32 is 0
			-- Items are aligned with the top of the list view control in
			-- icon and small icon view. 
			--
			-- Declared in Windows as LVS_ALIGNTOP

	lvs_autoarrange: INTEGER_32 is 256
			-- Icons are automatically kept arranged in icon and small icon
			-- view. 
			--
			-- Declared in Windows as LVS_AUTOARRANGE

	lvs_editlabels: INTEGER_32 is 512
			-- Item text can be edited in place. The parent window must
			-- process the LVN_ENDLABELEDIT notification message. 
			--
			-- Declared in Windows as LVS_EDITLABELS

	lvs_icon: INTEGER_32 is 0
			-- This style specifies icon view. 
			--
			-- Declared in Windows as LVS_ICON

	lvs_list: INTEGER_32 is 3
			-- This style specifies list view. 
			--
			-- Declared in Windows as LVS_LIST

	lvs_nocolumnheader: INTEGER_32 is 16384
			-- Declared in Windows as LVS_NOCOLUMNHEADER

	lvs_nolabelwrap: INTEGER_32 is 128
			-- Item text is displayed on a single line in icon view. By
			-- default, item text may wrap in icon view. 
			--
			-- Declared in Windows as LVS_NOLABELWRAP

	lvs_noscroll: INTEGER_32 is 8192
			-- Scrolling is disabled. All items must be within the client
			-- area. This style is not compatible with the LVS_LIST or
			-- LVS_REPORT styles.
			-- 
			-- Declared in Windows as LVS_NOSCROLL

	lvs_nosortheader: INTEGER_32 is 32768
			-- Column headers do not work like buttons. This style can be
			-- used if clicking a column header in report view does not
			-- carry out an action, such as sorting. 
			--
			-- Declared in Windows as LVS_NOSORTHEADER

	lvs_ownerdrawfixed: INTEGER_32 is 1024
			-- The owner window can paint items in report view. The list
			-- view control sends a WM_DRAWITEM message to paint each item;
			-- it does not send separate messages for each subitem. The
			-- itemData member of the DRAWITEMSTRUCT structure contains the
			-- item data for the specified list view item. 
			--
			-- Declared in Windows as LVS_OWNERDRAWFIXED

	lvs_report: INTEGER_32 is 1
			-- This style specifies report view. When using the LVS_REPORT
			-- style with a list view control, the first column is always
			-- left-aligned. You cannot use LVCFMT_RIGHT to change this
			-- alignment. See LVCOLUMN for further information on column
			-- alignment. 
			--
			-- Declared in Windows as LVS_REPORT

	lvs_shareimagelists: INTEGER_32 is 64
			-- The image list will not be deleted when the control is
			-- destroyed. This style enables the use of the same image lists
			-- with multiple list view controls. 
			--
			-- Declared in Windows as LVS_SHAREIMAGELISTS

	lvs_showselalways: INTEGER_32 is 8
			-- The selection, if any, is always shown, even if the control
			-- does not have the focus. 
			--
			-- Declared in Windows as LVS_SHOWSELALWAYS

	lvs_singlesel: INTEGER_32 is 4
			-- Only one item at a time can be selected. By default, multiple
			-- items may be selected. 
			--
			-- Declared in Windows as LVS_SINGLESEL

	lvs_smallicon: INTEGER_32 is 2
			-- This style specifies small icon view. 
			--
			-- Declared in Windows as LVS_SMALLICON

	lvs_sortascending: INTEGER_32 is 16
			-- Item indices are sorted based on item text in ascending
			-- order. 
			--
			-- Declared in Windows as LVS_SORTASCENDING

	lvs_sortdescending: INTEGER_32 is 32
			-- Item indices are sorted based on item text in descending
			-- order. 
			--
			-- Declared in Windows as LVS_SORTDESCENDING
	
feature -- Validation

	is_valid_list_view_flag (a_flag: INTEGER_32): BOOLEAN
			-- Is `a_flag' a valid list view search flag?

	valid_lvcfmt_constant (value: INTEGER_32): BOOLEAN
			-- Is `value' a valid lvcfmt constant?

	valid_lvis_constants (value: INTEGER_32): BOOLEAN
			-- Is `value' a valid "Item Styles" constant?
	
invariant
		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

indexing
	copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		356 Storke Road, Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class WEL_LIST_VIEW_CONSTANTS