42 #ifdef _MGNCSCTRL_LIST 44 #ifndef _MGUI_NCSCTRL_LIST_H 45 #define _MGUI_NCSCTRL_LIST_H 61 #define NCSCTRL_LIST NCSCLASSNAME("list") 63 typedef struct _mList mList;
64 typedef struct _mListClass mListClass;
65 typedef struct _mListRenderer mListRenderer;
71 #define NCSS_LIST_LOOP (0x0001<<NCSS_ASTLST_SHIFT) 77 #define NCSS_LIST_MULTIPLE (0x0002<<NCSS_ASTLST_SHIFT) 83 #define NCSS_LIST_SHIFT (NCSS_ASTLST_SHIFT+2) 85 #define mListHeader(clsName) \ 86 mAbstractListHeader(clsName) \ 88 mListLayout *layout; \ 114 #define mListClassHeader(clsName, superCls) \ 115 mAbstractListClassHeader(clsName, superCls) \ 116 void (*resetContent)(clsName*); \ 117 void (*removeAll)(clsName*); \ 118 void (*enterSubList)(clsName*, mNode* selNode); \ 119 void (*backUpList)(clsName*, mNode* selNode); \ 120 BOOL (*setNodeDefSize)(clsName*, int defW,int defH);\ 121 BOOL (*setLayout)(clsName*, mListLayout* layout, int defNodeW, int defNodeH); \ 122 mListLayout* (*getLayout)(clsName*); 160 #define mListRendererHeader(clsName, parentClass) \ 161 mAbstractListRendererHeader(clsName, parentClass) 168 struct _mListRenderer {
195 NCS_LIST_LUSERDEFINED,
204 NCSE_LIST_FONTCHANGED = 100,
205 NCSE_LIST_SIZECHANGED,
206 NCSE_LIST_ROOTCHANGING,
207 NCSE_LIST_ROOTCHANGED,
210 enum mListDirKeyFlags{
212 NCSF_LIST_DOWN = 0x02,
213 NCSF_LIST_LEFT = 0x04,
214 NCSF_LIST_RIGHT = 0x08,
215 NCSF_LIST_HOME = 0x10,
216 NCSF_LIST_END = 0x20,
217 NCSF_LIST_LOOP = 0x100,
218 NCSF_LIST_DIRMASK= 0xFF,
234 NCSP_LIST_DEFNODEWIDTH,
239 NCSP_LIST_DEFNODEHEIGHT,
275 NCSN_LIST_ENTERSUBLIST,
281 NCSN_LIST_BACKUPLIST,
283 NCSN_LIST_ROOTNODECHANGED,
296 MGNCS_EXPORT
extern mListClass g_stmListCls;
302 MGNCS_EXPORT
void mList_foreachNode(mList *list,
void (*
foreach)(
mNode *node,
void* param),
void* param);
311 #endif //_MGNCSCTRL_LIST
The structure of mNode. It is the basic class of all nodes occur within specific controls. For example, a list can contain it.
The structure of mAbstractList, which derived from mScrollWidget. It is the abstract superclass of al...