mGNCS API Reference
v1.5.0
A new control set and a new framework for MiniGUI apps
|
Go to the documentation of this file.
54 #ifndef _MGUI_CTRL_ITEMVIEW_H
55 #define _MGUI_CTRL_ITEMVIEW_H
71 #define NCSCTRL_ITEMVIEW NCSCLASSNAME("itemview")
99 typedef struct _NCS_CB_ITEMOPS
119 #define NCSS_ITEMV_AUTOSORT (0x0002<<NCSS_SWGT_SHIFT)
125 #define NCSS_ITEMV_LOOP (0x0004<<NCSS_SWGT_SHIFT)
131 #define NCSS_ITEMV_SINGLE (0x0000<<NCSS_SWGT_SHIFT)
137 #define NCSS_ITEMV_MULTIPLE (0x0008<<NCSS_SWGT_SHIFT)
143 #define NCSS_ITEMV_SHIFT (NCSS_SWGT_SHIFT+4)
145 #define pItemList (self->itemList)
147 #define mItemViewHeader(className) \
148 mScrollWidgetHeader(className) \
149 NCS_CB_ITEMOPS itemOps; \
150 mItemManager *itemList; \
173 #define mItemViewClassHeader(clsName, parentClass) \
174 mScrollWidgetClassHeader(clsName, parentClass) \
175 int (*onRButtonDown)(clsName*, int x, int y, DWORD keyFlags); \
176 int (*onRButtonUp)(clsName*, int x, int y, DWORD keyFlags); \
177 int (*onLButtonDBClk)(clsName*, int x, int y, DWORD keyFlags); \
178 NCS_CB_DRAWITEM (*setItemDraw)(clsName*, NCS_CB_DRAWITEM func); \
179 NCS_CB_INITITEM (*setItemInit)(clsName*, NCS_CB_INITITEM func); \
180 NCS_CB_DSTRITEM (*setItemDestroy)(clsName*, \
181 NCS_CB_DSTRITEM func); \
183 NCS_CB_CMPITEM (*setItemCmpFunc)(clsName*, NCS_CB_CMPITEM func); \
184 HWND (*createItem)(clsName*, HITEM prev, HITEM next, int index, \
185 int height, const char* text, DWORD addData, int *pos, BOOL adjust); \
186 int (*insertItem)(clsName*, HITEM hItem, HITEM prev, HITEM next, \
187 int index, int *pos); \
188 int (*removeItem)(clsName*, HITEM hItem); \
189 int (*inItem)(clsName*, int mouseX, int mouseY, HITEM *pRet, POINT *pt);\
190 NCS_CB_CMPSTR (*setStrCmpFunc)(clsName*, NCS_CB_CMPSTR func); \
191 NCS_CB_CMPSTR (*getStrCmpFunc)(clsName*); \
192 void (*setAutoSortItem)(clsName*, BOOL sort); \
193 int (*getTotalHeight)(clsName*); \
194 int (*adjustItemsHeight)(clsName*, int diff); \
195 void (*freeze)(clsName*, BOOL lock); \
196 BOOL (*isFrozen)(clsName*); \
197 list_t* (*getQueue)(clsName*); \
198 HITEM (*getListEntry)(clsName*, list_t* entry); \
199 HITEM (*getFirstItem)(clsName*); \
200 int (*isEmpty)(clsName*); \
201 void (*sortItems)(clsName*, NCS_CB_CMPITEM func); \
202 BOOL (*removeAll)(clsName*); \
203 int (*indexOf)(clsName*, HITEM hItem); \
204 int (*setItemHeight)(clsName*, HITEM hItem, int height); \
205 int (*getItemHeight)(clsName*, HITEM hItem); \
206 HITEM (*getNext)(clsName*, HITEM hItem); \
207 HITEM (*getPrev)(clsName*, HITEM hItem); \
208 HITEM (*getItem)(clsName*, int index); \
209 BOOL (*isSelected)(clsName*, HITEM hItem); \
210 BOOL (*isEnabled)(clsName*, HITEM hItem); \
211 BOOL (*enable)(clsName*, HITEM hItem, BOOL enable); \
212 void (*selectAll)(clsName*); \
213 void (*deselectAll)(clsName*); \
214 int (*hilight)(clsName*, HITEM hItem); \
215 HITEM (*getHilight)(clsName*); \
216 BOOL (*isHilight)(clsName*, HITEM hItem); \
217 int (*getItemCount)(clsName*); \
218 DWORD (*getAddData)(clsName*, HITEM hItem); \
219 void (*setAddData)(clsName*, HITEM hItem, DWORD addData); \
220 void (*setImage)(clsName*, HITEM hItem, DWORD image); \
221 DWORD (*getImage)(clsName*, HITEM hItem); \
222 void (*setFlags)(clsName*, HITEM hItem, DWORD flags); \
223 DWORD (*getFlags)(clsName*, HITEM hItem); \
224 BOOL (*setText)(clsName*, HITEM hItem, const char* text); \
225 const char* (*getText)(clsName*, HITEM hItem); \
226 int (*getTextLen)(clsName*, HITEM hItem); \
227 int (*getSelectionCount)(clsName*); \
228 BOOL (*getSelection)(clsName*, HITEM *pRet, int count); \
230 BOOL (*select)(clsName*, HITEM hItem); \
231 BOOL (*deselect)(clsName*, HITEM hItem); \
232 BOOL (*setTextByIdx)(clsName*, int index, const char* text); \
233 const char* (*getTextByIdx)(clsName*, int index); \
235 int (*getFirstVisItem)(clsName*); \
236 void (*resetContent)(clsName*); \
237 int (*getRect)(clsName*, HITEM hItem, RECT *rcItem, BOOL bConv); \
238 int (*getCurSel)(clsName*); \
239 int (*setCurSel)(clsName*, int newSel); \
240 void (*refreshItem)(clsName*, HITEM hItem, const RECT *rcInv); \
241 BOOL (*showItemByIdx)(clsName*, int index); \
242 BOOL (*showItem)(clsName*, HITEM hItem);
531 struct _mItemViewClass
536 #define mItemViewRendererHeader(clsName, parentClass) \
537 mScrollWidgetRendererHeader(clsName, parentClass)
544 struct _mItemViewRenderer {
The structure of mItemView control, which derived from mScrollWidget. It is the abstract superclass o...
The virtual function table of mItemView, which derived from mScrollWidgetClass.
The structure of mItemView renderer, which inheried from mScrollWidgetRenderer.
The structure of NCS_CB_ITEMOPS. The Item operations interface.