52 #ifndef _MGNCS_TABLEVIEWITEMPIECEPIECE_H
53 #define _MGNCS_TABLEVIEWITEMPIECEPIECE_H
59 typedef struct _mTableViewItemPiece mTableViewItemPiece;
60 typedef struct _mTableViewItemPieceClass mTableViewItemPieceClass;
62 enum mTableViewItemPieceProp
64 NCSP_BACKGROUND_COLOR = USER_PIECE_PROP_BEGIN + 1,
65 NCSP_HIGHTLIGHT_COLOR,
68 #define NCS_TABLEVIEWITEM_BKCOLOR_VALUE 0xFFFFFFFF
69 #define NCS_TABLEVIEWITEM_HIGHLIGHT_VALUE 0xFF0000FF
71 enum mTableViewItemPieceMode {
72 NCS_TABLEVIEWITEMPIECE_NORMAL = 0,
73 NCS_TABLEVIEWITEMPIECE_EDIT,
76 enum mTableViewItemPieceEvent {
77 NCSN_TABLEVIEWITEMPIECE_SWITCHCLICKED = USER_PIECE_EVENT_BEGIN + 0X200,
78 NCSN_TABLEVIEWITEMPIECE_DELBTNCLICKED,
79 NCSN_TABLEVIEWITEMPIECE_CONTENTCLICKED,
82 #define mTableViewItemPieceHeader(clss) \
83 mPanelPieceHeader(clss) \
84 enum mTableViewItemPieceMode mode; \
85 mHotPiece *switchPiece; \
86 mHotPiece *userPiece; \
87 mHotPiece *deletePiece; \
88 POINT ptSwitchPiece[2]; \
89 POINT ptUserPiece[2]; \
90 POINT ptDeletePiece[2]; \
91 BOOL userPieceIsLocked; \
92 BOOL deletePieceIsAppear; \
96 mHotPiece* accessory; \
99 MGEFF_ANIMATION modeChangeAnimation; \
100 MGEFF_ANIMATION switchStateChangeAnimation; \
104 struct _mTableViewItemPiece
106 mTableViewItemPieceHeader(mTableViewItemPiece)
109 #define mTableViewItemPieceClassHeader(clss, superCls) \
110 mPanelPieceClassHeader(clss, superCls) \
111 void (*changeMode)(clss*); \
112 void (*resetEditMode)(clss*); \
113 void (*setHighlight)(clss*, BOOL); \
114 void (*setUserPiece)(clss*, mHotPiece*); \
115 mHotPiece* (*getSwitchPiece)(clss*); \
116 mHotPiece* (*getUserPiece)(clss*); \
117 mHotPiece* (*getDeletePiece)(clss*);
119 struct _mTableViewItemPieceClass
121 mTableViewItemPieceClassHeader(mTableViewItemPiece, mPanelPiece)
124 MGNCS_EXPORT
extern mTableViewItemPieceClass g_stmTableViewItemPieceCls;