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 |