52 #ifndef _MGNCS_ITEMPIECE_H 
   53 #define _MGNCS_ITEMPIECE_H 
   59 #define ITEMPIECE_WIDTH       480 
   60 #define ITEMPIECE_HEIGHT      50 
   62 typedef struct _mItemPiece mItemPiece;
 
   63 typedef struct _mItemPieceClass mItemPieceClass;
 
   65 enum mItemPieceState {
 
   66     ITEMPIECE_STATE_NORMAL,
 
   67     ITEMPIECE_STATE_PUSHED,
 
   70 enum mItemPieceEvent {
 
   71     NCSN_ITEMPIECE_CONTENT_CLICKED = USER_PIECE_EVENT_BEGIN + 0x700,
 
   72     NCSN_ITEMPIECE_BUTTON_CLICKED,
 
   73     NCSN_ITEMPIECE_CHECKBOX_ON,
 
   74     NCSN_ITEMPIECE_CHECKBOX_OFF,
 
   77 enum mItemPieceAccessoryControlStyle {
 
   78     ITEMPIECE_AC_INDICATORBUTTON,
 
   80     ITEMPIECE_AC_CHECKMARK,
 
   82     ITEMPIECE_AC_INDICATOR,
 
   85 #define mItemPieceHeader(clss) \ 
   86         mPanelPieceHeader(clss) \ 
  101     PLOGFONT titleFont; \ 
  102     PLOGFONT subTitleFont; \ 
  103     PLOGFONT detailFont; \ 
  104     PLOGFONT defaultTitleFont; \ 
  105     PLOGFONT defaultSubTitleFont; \ 
  106     PLOGFONT defaultDetailFont; \ 
  107     mImagePiece *imagePiece; \ 
  108     mTextPiece *titlePiece; \ 
  109     mTextPiece *subTitlePiece; \ 
  110     mTextPiece *detailPiece; \ 
  111     mShapeTransRoundPiece *bkPiece; \ 
  112     mHotPiece *accessoryControlPiece; \ 
  119         mItemPieceHeader(mItemPiece)
 
  122 #define mItemPieceClassHeader(clss, superCls) \ 
  123         mPanelPieceClassHeader(clss, superCls) \ 
  125     void (*setLayout)(clss*, int); \ 
  126     void (*activeLayout)(clss*); \ 
  127     void (*setImage)(clss*, PBITMAP, int, int); \ 
  128     void (*setTitle)(clss*, const char*, PLOGFONT, ARGB*); \ 
  129     void (*setSubTitle)(clss*, const char*, PLOGFONT, ARGB*); \ 
  130     void (*setDetail)(clss*, const char*, PLOGFONT, ARGB*); \ 
  131     void (*setSubStance)(clss*, const char*, PLOGFONT, ARGB*); \ 
  132     void (*setAccessoryControl)(clss*, const char*, BOOL, int, DWORD); \ 
  133     void (*setCheckBoxState)(clss*, BOOL); \ 
  134     int (*getCheckBoxState)(clss*); \ 
  135     BOOL (*setItemRect)(clss*, const RECT*); 
  137 struct _mItemPieceClass
 
  139         mItemPieceClassHeader(mItemPiece, mPanelPiece)
 
  142 enum mItemPieceProperty {
 
  143     NCSP_ITEMPIECE_MARGIN = USER_PIECE_PROP_BEGIN + 1,
 
  144     NCSP_ITEMPIECE_BORDER,
 
  145     NCSP_ITEMPIECE_CLEARANCE,
 
  146     NCSP_ITEMPIECE_VALIGN,
 
  147     NCSP_ITEMPIECE_BKCOLOR,
 
  148     NCSP_ITEMPIECE_GRADIENT_BKCOLOR,
 
  152 MGNCS_EXPORT 
extern mItemPieceClass g_stmItemPieceCls;