webengine/widgetengine/inc/Menu.h
changeset 5 10e98eab6f85
parent 0 dd21522fd290
equal deleted inserted replaced
1:7c90e6132015 5:10e98eab6f85
    33 
    33 
    34 // FUNCTION PROTOTYPES
    34 // FUNCTION PROTOTYPES
    35 
    35 
    36 // CLASS DECLARATION
    36 // CLASS DECLARATION
    37 class MJSMenuCallbacks;
    37 class MJSMenuCallbacks;
       
    38 class MJSObjectProtector;
    38 
    39 
    39 /**
    40 /**
    40 *  CMenu
    41 *  CMenu
    41 *
    42 *
    42 *  @lib widgetengine.dll
    43 *  @lib widgetengine.dll
    47 class WidgetEventHandler;
    48 class WidgetEventHandler;
    48 
    49 
    49 struct MenuPrivate
    50 struct MenuPrivate
    50 {
    51 {
    51     MenuPrivate(MJSMenuCallbacks* callbacks,
    52     MenuPrivate(MJSMenuCallbacks* callbacks,
       
    53 				MJSObjectProtector* protector,
    52                 WidgetEventHandler* onShowCallback = NULL,
    54                 WidgetEventHandler* onShowCallback = NULL,
    53                 WidgetEventHandler* rightKeyCallback = NULL,
    55                 WidgetEventHandler* rightKeyCallback = NULL,
    54                 WidgetEventHandler* leftKeyCallback = NULL) : 
    56                 WidgetEventHandler* leftKeyCallback = NULL) : 
    55                     m_callbacks(callbacks),
    57                     m_callbacks(callbacks),
       
    58 					m_protector(protector),
    56                     m_onShowCallback(onShowCallback),
    59                     m_onShowCallback(onShowCallback),
    57                     m_rightKeyCallback(rightKeyCallback),
    60                     m_rightKeyCallback(rightKeyCallback),
    58                     m_leftKeyCallback(leftKeyCallback)
    61                     m_leftKeyCallback(leftKeyCallback)
    59     {        
    62     {        
    60     }
    63     }
    63     virtual ~MenuPrivate() { delete m_onShowCallback;
    66     virtual ~MenuPrivate() { delete m_onShowCallback;
    64                              delete m_rightKeyCallback;
    67                              delete m_rightKeyCallback;
    65                              delete m_leftKeyCallback;}
    68                              delete m_leftKeyCallback;}
    66     
    69     
    67     MJSMenuCallbacks* m_callbacks;
    70     MJSMenuCallbacks* m_callbacks;
       
    71 	MJSObjectProtector* m_protector;
    68     WidgetEventHandler* m_onShowCallback;
    72     WidgetEventHandler* m_onShowCallback;
    69     WidgetEventHandler* m_rightKeyCallback;        
    73     WidgetEventHandler* m_rightKeyCallback;        
    70     WidgetEventHandler* m_leftKeyCallback;
    74     WidgetEventHandler* m_leftKeyCallback;
    71 };
    75 };
    72 
    76 
    73 class JSMenu: public JSObject
    77 class JSMenu: public JSObject
    74     {
    78     {
    75 
    79 
    76     public:
    80     public:
    77         JSMenu(MJSMenuCallbacks* aMenuCallbacks);
    81         JSMenu(MJSMenuCallbacks* aMenuCallbacks, MJSObjectProtector* aProtector);
    78         virtual ~JSMenu();
    82         virtual ~JSMenu();
    79 
    83 
    80     //From JSObject
    84     //From JSObject
    81     public:        
    85     public:        
    82         JSType type() const;
    86         JSType type() const;