34 #ifndef LISTVIEW_PRIVATE_H 35 #define LISTVIEW_PRIVATE_H 54 #define LISTVIEW_CELL_INFO_COLORS (1 << 0) 55 #define LISTVIEW_CELL_INFO_BITMAP (1 << 1) 75 void (* pfDraw)(LISTVIEW_Handle hObj,
unsigned Column,
unsigned Row,
GUI_RECT * pRect);
96 int (* fpCompare) (
const void * p0,
const void * p1);
99 typedef struct LISTVIEW_Obj LISTVIEW_Obj;
103 SORT_TYPE SortArrayNumItems;
104 int (* fpSort)(LISTVIEW_Handle hObj);
105 void (* fpFree)(WM_HMEM hObj);
109 struct LISTVIEW_Obj {
111 HEADER_Handle hHeader;
112 WIDGET_DRAW_ITEM_FUNC * pfDrawItem;
114 GUI_ARRAY hColumnArray;
115 LISTVIEW_PROPS Props;
124 WM_SCROLL_STATE ScrollStateV;
125 WM_SCROLL_STATE ScrollStateH;
139 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 140 #define LISTVIEW_INIT_ID(p) (p->Widget.DebugId = LISTVIEW_ID) 142 #define LISTVIEW_INIT_ID(p) 145 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 146 LISTVIEW_Obj * LISTVIEW_LockH(LISTVIEW_Handle h);
147 #define LISTVIEW_LOCK_H(h) LISTVIEW_LockH(h) 149 #define LISTVIEW_LOCK_H(h) (LISTVIEW_Obj *)GUI_LOCK_H(h) 158 extern LISTVIEW_PROPS LISTVIEW_DefaultProps;
166 LISTVIEW_CELL_INFO * LISTVIEW__CreateCellInfoLocked (LISTVIEW_Handle hObj,
unsigned Column,
unsigned Row);
167 unsigned LISTVIEW__GetNumColumns (LISTVIEW_Obj * pObj);
168 unsigned LISTVIEW__GetNumRows (LISTVIEW_Obj * pObj);
169 LISTVIEW_CELL_INFO * LISTVIEW__GetpCellInfo (LISTVIEW_Handle hObj,
unsigned Column,
unsigned Row);
170 LISTVIEW_ROW * LISTVIEW__GetpRow (LISTVIEW_Handle hObj,
int Row);
171 unsigned LISTVIEW__GetRowDistY (LISTVIEW_Obj * pObj);
172 unsigned LISTVIEW__GetRowSorted (LISTVIEW_Handle hObj,
int Row);
173 void LISTVIEW__InvalidateInsideArea (LISTVIEW_Handle hObj);
174 void LISTVIEW__InvalidateRow (LISTVIEW_Handle hObj,
int Sel);
175 void LISTVIEW__InvalidateRowAndBelow(LISTVIEW_Handle hObj,
int Sel);
176 void LISTVIEW__SetSel (LISTVIEW_Handle hObj,
int NewSel);
177 int LISTVIEW__UpdateScrollParas (LISTVIEW_Handle hObj);
179 #endif // GUI_WINSUPPORT 180 #endif // LISTVIEW_PRIVATE_H