mspinnerpiece.h
00001 #ifdef _MGNCSCTRL_SPINNER
00002
00003 #ifndef _MGUI_NCSCTRL_SPINNERPIECE_H
00004 #define _MGUI_NCSCTRL_SPINNERPIECE_H
00005
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009
00010 typedef struct _mSpinnerPieceClass mSpinnerPieceClass;
00011 typedef struct _mSpinnerPiece mSpinnerPiece;
00012
00013 #define mSpinnerPieceClassHeader(clss, superCls) \
00014 mContainerPieceClassHeader(clss, superCls) \
00015 int (*lineStep)(clss*, BOOL bPrev); \
00016 \
00017 mHotPiece *(*getIncPiece)(clss *); \
00018 mHotPiece *(*getDecPiece)(clss *); \
00019 void (*onPosChanged)(clss *);
00020
00021 struct _mSpinnerPieceClass
00022 {
00023 mSpinnerPieceClassHeader(mSpinnerPiece, mContainerPiece)
00024 };
00025
00026 MGNCS_EXPORT extern mSpinnerPieceClass g_stmSpinnerPieceCls;
00027
00028 #define mSpinnerPieceHeader(clss) \
00029 mContainerPieceHeader(clss) \
00030 int max; \
00031 int min; \
00032 int cur_pos; \
00033 int line_step; \
00034 int loop_flag;
00035
00036 struct _mSpinnerPiece
00037 {
00038 mSpinnerPieceHeader(mSpinnerPiece)
00039 };
00040
00041 enum mSpinnerPieceProps{
00042 NCSP_SPNRPIECE_MAXPOS = PIECECOMM_PROP_MAX,
00043 NCSP_SPNRPIECE_MINPOS = PIECECOMM_PROP_MIN,
00044 NCSP_SPNRPIECE_LINESTEP = PIECECOMM_PROP_LINESTEP,
00045 NCSP_SPNRPIECE_CURPOS = PIECECOMM_PROP_POS,
00046 NCSP_SPNRPIECE_LOOP = SPINBOXPIECE_PROP_BEGIN
00047 };
00048
00049 enum mSpinnerPieceEvents{
00050 NCSN_SPNRPIECE_INC = SPINBOXPIECE_EVENT_BEGIN,
00051 NCSN_SPNRPIECE_DEC,
00052 NCSN_SPNRPIECE_REACHMIN,
00053 NCSN_SPNRPIECE_REACHMAX,
00054 NCSN_SPNRPIECE_MAX
00055 };
00056
00057 #ifdef __cplusplus
00058 }
00059 #endif
00060
00061 #endif
00062 #endif //_MGNCSCTRL_SPINNER
00063