mmenubutton.h
00001 #ifdef _MGNCSCTRL_MENUBUTTON
00002
00003 #ifndef _MGUI_NCSCTRL_MNUBTN_H
00004 #define _MGUI_NCSCTRL_MNUBTN_H
00005
00006
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif
00010
00021 #define NCSCTRL_MENUBUTTON NCSCLASSNAME("menubutton")
00022
00023 typedef struct _mMenuButton mMenuButton;
00024 typedef struct _mMenuButtonClass mMenuButtonClass;
00025 typedef struct _mMenuButtonRenderer mMenuButtonRenderer;
00026
00027 #define mMenuButtonHeader(className) \
00028 mButtonHeader(className) \
00029 mPopMenuMgr * popmenu; \
00030 int cur_item;
00031
00041 struct _mMenuButton
00042 {
00043 mMenuButtonHeader(mMenuButton)
00044 };
00045
00046 #define mMenuButtonClassHeader(className, parentClass) \
00047 mButtonClassHeader(className, parentClass)
00048
00054 struct _mMenuButtonClass
00055 {
00056 mMenuButtonClassHeader(mMenuButton, mButton)
00057 };
00058
00059 #define mMenuButtonRendererHeader(clsName, parentClass) \
00060 mButtonRendererHeader(clsName, parentClass)
00061
00070
00071 struct _mMenuButtonRenderer {
00072 mMenuButtonRendererHeader(mMenuButton, mButton)
00073 };
00074
00079 MGNCS_EXPORT extern mMenuButtonClass g_stmMenuButtonCls;
00080
00085 enum mMenuButtonProp{
00093 NCSP_MNUBTN_POPMENU = NCSP_BUTTON_MAX + 1,
00101 NCSP_MNUBTN_CURITEM,
00102 NCSP_MNUBTN_MAX
00103 };
00104
00110 enum eMenuButtonNotify{
00116 NCSN_MNUBTN_ITEMCHANGED = NCSN_BUTTON_MAX + 1,
00117 NCSN_MNUBTN_MAX
00118 };
00119
00120 #define NCSS_MNUBTN_SHIFT NCSS_BUTTON_SHIFT
00121
00122
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129
00130 #endif
00131 #endif //_MGNCSCTRL_MENUBUTTON