54 #ifdef _MGNCSCTRL_SPINBOX
56 #ifndef _MGUI_NCSCTRL_SPINBOX_H
57 #define _MGUI_NCSCTRL_SPINBOX_H
72 #define NCSCTRL_SPINBOX NCSCLASSNAME("spinbox")
74 #define NCS_LEN_SPINBOX 63
76 typedef struct _mSpinBox mSpinBox;
77 typedef struct _mSpinBoxClass mSpinBoxClass;
78 typedef struct _mSpinBoxRenderer mSpinBoxRenderer;
80 typedef struct _mSpinBoxItemInfo mSpinBoxItemInfo;
81 #define mSpinBoxHeader(clsName) \
82 mSpinnerHeader(clsName) \
85 mSpinBoxItemInfo *items; \
96 mSpinBoxHeader(mSpinBox)
99 #define mSpinBoxClassHeader(clsName, parentClass) \
100 mSpinnerClassHeader(clsName, parentClass) \
101 BOOL (*addItem)(clsName *self, char *item); \
102 BOOL (*removeItem)(clsName *self, int index); \
103 BOOL (*setItem)(clsName *self, int index, char *item); \
104 char* (*getItem)(clsName *self, int index);
130 struct _mSpinBoxClass
132 mSpinBoxClassHeader(mSpinBox, mSpinner)
135 MGNCS_EXPORT
extern mSpinBoxClass g_stmSpinBoxCls;
137 #define mSpinBoxRendererHeader(clsName, parentClass) \
138 mSpinnerRendererHeader(clsName, parentClass)
146 struct _mSpinBoxRenderer
148 mSpinBoxRendererHeader(mSpinBox, mSpinner)
153 NCSP_SPNBOX_MAXPOS = NCSP_SPNR_MAXPOS,
154 NCSP_SPNBOX_MINPOS = NCSP_SPNR_MINPOS,
155 NCSP_SPNBOX_CURPOS = NCSP_SPNR_CURPOS,
156 NCSP_SPNBOX_LINESTEP = NCSP_SPNR_LINESTEP,
157 NCSP_SPNBOX_MAX = NCSP_SPNR_MAX
165 #define NCSS_SPNBOX_VERTICAL (NCSS_SPNR_VERTICAL)
171 #define NCSS_SPNBOX_HORIZONTAL (NCSS_SPNR_HORIZONTAL)
177 #define NCSS_SPNBOX_AUTOLOOP (NCSS_SPNR_AUTOLOOP)
183 #define NCSS_SPNBOX_NUMBER (0x0000L<<NCSS_SPNR_SHIFT)
189 #define NCSS_SPNBOX_STRING (0x0001L<<NCSS_SPNR_SHIFT)
195 #define NCSS_SPNBOX_SORT (0x0002L<<NCSS_SPNR_SHIFT)
201 #define NCSS_SPNBOX_EDITNOBORDER (0x0004L<<NCSS_SPNR_SHIFT)
207 #define NCSS_SPNBOX_EDITBASELINE (0x0008L<<NCSS_SPNR_SHIFT)
213 #define NCSS_SPNBOX_READONLY (0x0010L<<NCSS_SPNR_SHIFT)
219 #define NCSS_SPNBOX_UPPERCASE (0x0020L<<NCSS_SPNR_SHIFT)
225 #define NCSS_SPNBOX_LOWERCASE (0x0040L<<NCSS_SPNR_SHIFT)
231 #define NCSS_SPNBOX_AUTOFOCUS (0x0080L<<NCSS_SPNR_SHIFT)
233 #define NCSS_SPNBOX_SHIFT (NCSS_SPNR_SHIFT + 9)
237 enum mSpinBoxNotify {
238 NCSN_SPNBOX_CHANGED = NCSN_SPNR_CHANGED,
239 NCSN_SPNBOX_REACHMAX = NCSN_SPNR_REACHMAX,
240 NCSN_SPNBOX_REACHMIN = NCSN_SPNR_REACHMIN,
241 NCSN_SPNBOX_MAX = NCSN_SPNR_MAX
248 #define NCSST_SPNBOX_NORMAL 0x0000
249 #define NCSST_SPNBOX_DISABLE 0x0001
250 #define NCSST_SPNBOX_HILIGHT 0x0002
251 #define NCSST_SPNBOX_PUSHED 0x0004
260 #endif //_MGNCSCTRL_SPINBOX