mGNCS API Reference  v1.2.0
A new control set and a new framework for MiniGUI apps
mspinbox.h
Go to the documentation of this file.
1 
42 #ifdef _MGNCSCTRL_SPINBOX
43 
44 #ifndef _MGUI_NCSCTRL_SPINBOX_H
45 #define _MGUI_NCSCTRL_SPINBOX_H
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif /* __cplusplus */
50 
56 /*
57  * \def NCSCTRL_SPINBOX
58  * \brief the name of spinbox control
59 */
60 #define NCSCTRL_SPINBOX NCSCLASSNAME("spinbox")
61 
62 #define NCS_LEN_SPINBOX 63
63 
64 typedef struct _mSpinBox mSpinBox;
65 typedef struct _mSpinBoxClass mSpinBoxClass;
66 typedef struct _mSpinBoxRenderer mSpinBoxRenderer;
67 
68 typedef struct _mSpinBoxItemInfo mSpinBoxItemInfo;
69 #define mSpinBoxHeader(clsName) \
70  mSpinnerHeader(clsName) \
71  union { \
72  char* num_format; \
73  mSpinBoxItemInfo *items; \
74  }info;
75 
82 struct _mSpinBox
83 {
84  mSpinBoxHeader(mSpinBox)
85 };
86 
87 #define mSpinBoxClassHeader(clsName, parentClass) \
88  mSpinnerClassHeader(clsName, parentClass) \
89  BOOL (*addItem)(clsName *self, char *item); \
90  BOOL (*removeItem)(clsName *self, int index); \
91  BOOL (*setItem)(clsName *self, int index, char *item); \
92  char* (*getItem)(clsName *self, int index);
93 
118 struct _mSpinBoxClass
119 {
120  mSpinBoxClassHeader(mSpinBox, mSpinner)
121 };
122 
123 MGNCS_EXPORT extern mSpinBoxClass g_stmSpinBoxCls;
124 
125 #define mSpinBoxRendererHeader(clsName, parentClass) \
126  mSpinnerRendererHeader(clsName, parentClass)
127 
134 struct _mSpinBoxRenderer
135 {
136  mSpinBoxRendererHeader(mSpinBox, mSpinner)
137 };
138 
140 enum mSpinBoxProp {
141  NCSP_SPNBOX_MAXPOS = NCSP_SPNR_MAXPOS,
142  NCSP_SPNBOX_MINPOS = NCSP_SPNR_MINPOS,
143  NCSP_SPNBOX_CURPOS = NCSP_SPNR_CURPOS,
144  NCSP_SPNBOX_LINESTEP = NCSP_SPNR_LINESTEP,
145  NCSP_SPNBOX_MAX = NCSP_SPNR_MAX
146 };
147 
148 
153 #define NCSS_SPNBOX_VERTICAL (NCSS_SPNR_VERTICAL)
154 
159 #define NCSS_SPNBOX_HORIZONTAL (NCSS_SPNR_HORIZONTAL)
160 
165 #define NCSS_SPNBOX_AUTOLOOP (NCSS_SPNR_AUTOLOOP)
166 
171 #define NCSS_SPNBOX_NUMBER (0x0000L<<NCSS_SPNR_SHIFT)
172 
177 #define NCSS_SPNBOX_STRING (0x0001L<<NCSS_SPNR_SHIFT)
178 
183 #define NCSS_SPNBOX_SORT (0x0002L<<NCSS_SPNR_SHIFT)
184 
189 #define NCSS_SPNBOX_EDITNOBORDER (0x0004L<<NCSS_SPNR_SHIFT)
190 
195 #define NCSS_SPNBOX_EDITBASELINE (0x0008L<<NCSS_SPNR_SHIFT)
196 
201 #define NCSS_SPNBOX_READONLY (0x0010L<<NCSS_SPNR_SHIFT)
202 
207 #define NCSS_SPNBOX_UPPERCASE (0x0020L<<NCSS_SPNR_SHIFT)
208 
213 #define NCSS_SPNBOX_LOWERCASE (0x0040L<<NCSS_SPNR_SHIFT)
214 
219 #define NCSS_SPNBOX_AUTOFOCUS (0x0080L<<NCSS_SPNR_SHIFT)
220 
221 #define NCSS_SPNBOX_SHIFT (NCSS_SPNR_SHIFT + 9)
222 
223 
225 enum mSpinBoxNotify {
226  NCSN_SPNBOX_CHANGED = NCSN_SPNR_CHANGED,
227  NCSN_SPNBOX_REACHMAX = NCSN_SPNR_REACHMAX,
228  NCSN_SPNBOX_REACHMIN = NCSN_SPNR_REACHMIN,
229  NCSN_SPNBOX_MAX = NCSN_SPNR_MAX
230 };
231 
235 
236 #define NCSST_SPNBOX_NORMAL 0x0000
237 #define NCSST_SPNBOX_DISABLE 0x0001
238 #define NCSST_SPNBOX_HILIGHT 0x0002
239 #define NCSST_SPNBOX_PUSHED 0x0004
240 
243 #ifdef __cplusplus
244 }
245 #endif /* __cplusplus */
246 
247 #endif /* _MGUI_NCSCTRL_SPINBOX_H */
248 #endif //_MGNCSCTRL_SPINBOX