Reworked how selections are kept track of in the list view. Selections
[wine] / include / listview.h
1 /*
2  * Listview class extra info
3  *
4  * Copyright 1998 Eric Kohl
5  */
6
7 #ifndef __WINE_LISTVIEW_H
8 #define __WINE_LISTVIEW_H
9
10 #include "commctrl.h"
11 #include "windef.h"
12 #include "wingdi.h"
13
14 /* Some definitions for inline edit control */    
15 typedef BOOL (*EditlblCallback)(HWND, LPSTR, DWORD);
16
17 typedef struct tagEDITLABEL_ITEM
18 {
19     WNDPROC EditWndProc;
20     DWORD param;
21     EditlblCallback EditLblCb;
22 } EDITLABEL_ITEM;
23
24 typedef struct tagLISTVIEW_SUBITEM
25 {
26     LPSTR pszText;
27     INT iImage;
28     INT iSubItem;
29
30 } LISTVIEW_SUBITEM;
31
32 typedef struct tagLISTVIEW_ITEM
33 {
34   UINT state;
35   LPSTR pszText;
36   INT iImage;
37   LPARAM lParam;
38   INT iIndent;
39   POINT ptPosition;
40
41 } LISTVIEW_ITEM;
42
43 typedef struct tagLISTVIEW_SELECTION
44 {
45   DWORD lower;
46   DWORD upper;
47 } LISTVIEW_SELECTION;
48
49 typedef struct tagLISTVIEW_INFO
50 {
51     COLORREF clrBk;
52     COLORREF clrText;
53     COLORREF clrTextBk;
54     HIMAGELIST himlNormal;
55     HIMAGELIST himlSmall;
56     HIMAGELIST himlState;
57     BOOL bLButtonDown;
58     BOOL bRButtonDown;
59     INT nFocusedItem;
60     HDPA hdpaSelectionRanges;
61     INT nItemHeight;
62     INT nItemWidth;
63     INT nSelectionMark;
64     INT nHotItem;
65     SHORT notifyFormat;
66     RECT rcList;
67     RECT rcView;
68     SIZE iconSize;
69     SIZE iconSpacing;
70     UINT uCallbackMask;
71     HWND hwndHeader;
72     HFONT hDefaultFont;
73     HFONT hFont;
74     BOOL bFocus;
75     DWORD dwExStyle;    /* extended listview style */
76     HDPA hdpaItems;
77     PFNLVCOMPARE pfnCompare;
78     LPARAM lParamSort;
79     HWND hwndEdit;
80     INT nEditLabelItem;
81     EDITLABEL_ITEM *pedititem;
82     DWORD dwHoverTime;
83
84     WPARAM charCode; /* Added */
85     CHAR szSearchParam[ MAX_PATH ]; /* Added */
86     DWORD timeSinceLastKeyPress; /* Added */
87     INT nSearchParamLength; /* Added */
88
89
90 } LISTVIEW_INFO;
91
92
93 extern VOID LISTVIEW_Register (VOID);
94 extern VOID LISTVIEW_Unregister (VOID);
95
96 #endif  /* __WINE_LISTVIEW_H */