webengine/widgetengine/inc/MenuItem.h
changeset 13 10e98eab6f85
parent 0 dd21522fd290
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
    33 
    33 
    34 // FUNCTION PROTOTYPES
    34 // FUNCTION PROTOTYPES
    35 
    35 
    36 // CLASS DECLARATION
    36 // CLASS DECLARATION
    37 class MJSMenuItemCallbacks;
    37 class MJSMenuItemCallbacks;
       
    38 class MJSObjectProtector;
    38 
    39 
    39 /**
    40 /**
    40 *  CMenuItem
    41 *  CMenuItem
    41 *
    42 *
    42 *  @lib widgetengine.dll
    43 *  @lib widgetengine.dll
    44 */
    45 */
    45 namespace KJS {
    46 namespace KJS {
    46 
    47 
    47 class WidgetEventHandler;
    48 class WidgetEventHandler;
    48 
    49 
       
    50 struct MenuItemConstructorPrivate
       
    51 {
       
    52 	MenuItemConstructorPrivate(	MJSMenuItemCallbacks* callbacks, 
       
    53 								MJSObjectProtector* protector, 
       
    54 								int internalId) : m_callbacks(callbacks), m_protector(protector), m_internalId(internalId)
       
    55 	{
       
    56 	}
       
    57 
       
    58 	MJSMenuItemCallbacks*	m_callbacks;
       
    59 	MJSObjectProtector*		m_protector;
       
    60     int						m_internalId;
       
    61 };
       
    62 
    49 class JSMenuItemConstructor : public JSObject 
    63 class JSMenuItemConstructor : public JSObject 
    50 {
    64 {
    51 
    65 
    52 public:
    66 public:
    53     JSMenuItemConstructor(MJSMenuItemCallbacks* callbacks);
    67     JSMenuItemConstructor(MJSMenuItemCallbacks* callbacks, MJSObjectProtector* protector);
    54     virtual bool implementsConstruct() const;    
    68     virtual bool implementsConstruct() const;    
    55     virtual JSObject* construct( ExecState *exec, const List &args );
    69     virtual JSObject* construct( ExecState *exec, const List &args );
    56 
    70 
       
    71 	virtual ~JSMenuItemConstructor();
       
    72 
    57 private:
    73 private:
    58     MJSMenuItemCallbacks*  m_callbacks;
    74     MenuItemConstructorPrivate*  d;
    59     int m_internalId;
       
    60 
    75 
    61 };
    76 };
    62 
    77 
    63 
    78 
    64 struct MenuItemPrivate
    79 struct MenuItemPrivate
    65 {
    80 {
    66     MenuItemPrivate(MJSMenuItemCallbacks* callbacks,
    81     MenuItemPrivate(MJSMenuItemCallbacks* callbacks,
       
    82 					MJSObjectProtector* protector,
    67                     int cmdId, int internalId,
    83                     int cmdId, int internalId,
    68                     WidgetEventHandler* selectCallback = NULL) : m_callbacks(callbacks),
    84                     WidgetEventHandler* selectCallback = NULL) 
       
    85 					: m_callbacks(callbacks),
    69                     m_cmdId(cmdId),
    86                     m_cmdId(cmdId),
    70                     m_internalId(internalId),
    87                     m_internalId(internalId),
    71                     m_dimmed(false),
    88                     m_dimmed(false),
    72                     m_show(false),
    89                     m_show(false),
    73                     m_onSelectCallback(selectCallback)
    90                     m_onSelectCallback(selectCallback),
       
    91 					m_protector(protector)
    74     {        
    92     {        
    75     }
    93     }
    76 
    94 
    77     
    95     
    78     virtual ~MenuItemPrivate() { delete m_onSelectCallback; }
    96     virtual ~MenuItemPrivate() { delete m_onSelectCallback; }
    79     
    97     
    80     MJSMenuItemCallbacks*   m_callbacks;
    98     MJSMenuItemCallbacks*   m_callbacks;
       
    99     MJSObjectProtector*		m_protector;
    81     const int               m_cmdId;
   100     const int               m_cmdId;
    82     bool                    m_dimmed;
   101     bool                    m_dimmed;
    83     bool                    m_show;
   102     bool                    m_show;
    84     WidgetEventHandler*     m_onSelectCallback;
   103     WidgetEventHandler*     m_onSelectCallback;
    85     const int               m_internalId;    
   104     const int               m_internalId;    
    88 
   107 
    89 
   108 
    90 class JSMenuItem : public JSObject
   109 class JSMenuItem : public JSObject
    91 {
   110 {
    92 public:
   111 public:
    93     JSMenuItem(ExecState* exec, MJSMenuItemCallbacks* callbacks,
   112     JSMenuItem(ExecState* exec, MJSMenuItemCallbacks* callbacks, 
       
   113 				MJSObjectProtector* protector,
    94                 TDesC& text, int cmdId, int internalId,
   114                 TDesC& text, int cmdId, int internalId,
    95                 WidgetEventHandler* selectCallback = NULL );
   115                 WidgetEventHandler* selectCallback = NULL );
    96 
   116 
    97     virtual ~JSMenuItem();    
   117     virtual ~JSMenuItem();    
    98     
   118