equal
deleted
inserted
replaced
24 #include "config.h" |
24 #include "config.h" |
25 #include <e32base.h> |
25 #include <e32base.h> |
26 #include <eikenv.h> |
26 #include <eikenv.h> |
27 #include "BrCtlDefs.h" |
27 #include "BrCtlDefs.h" |
28 #include "WidgetEngineCallbacks.h" |
28 #include "WidgetEngineCallbacks.h" |
|
29 #include "WidgetJSObjectProtector.h" |
|
30 #include "wtf/HashSet.h" |
29 |
31 |
30 // CONSTANTS |
32 // CONSTANTS |
31 |
33 |
32 // MACROS |
34 // MACROS |
33 |
35 |
38 // FORWARD DECLARATION |
40 // FORWARD DECLARATION |
39 class CMenuClient; |
41 class CMenuClient; |
40 class CWidgetClient; |
42 class CWidgetClient; |
41 class MWidgetCallback; |
43 class MWidgetCallback; |
42 class WidgetPreferences; |
44 class WidgetPreferences; |
|
45 |
|
46 namespace KJS { |
|
47 class JSValue; |
|
48 } |
43 |
49 |
44 // CLASS DECLARATION |
50 // CLASS DECLARATION |
45 class MWidgetEngineBridge |
51 class MWidgetEngineBridge |
46 { |
52 { |
47 public: |
53 public: |
55 virtual void OnShowSelected() = 0; |
61 virtual void OnShowSelected() = 0; |
56 virtual void OnHideSelected() = 0; |
62 virtual void OnHideSelected() = 0; |
57 virtual void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId) = 0; |
63 virtual void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId) = 0; |
58 virtual void MenuItemSelected( TInt aInternalId ) = 0; |
64 virtual void MenuItemSelected( TInt aInternalId ) = 0; |
59 virtual void MenuShowed() = 0; |
65 virtual void MenuShowed() = 0; |
60 virtual void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm) = 0; |
66 virtual void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm) = 0; |
|
67 virtual void Clear() = 0; |
61 |
68 |
62 }; |
69 }; |
63 |
70 |
64 /** |
71 /** |
65 * WidgetEngineBridge |
72 * WidgetEngineBridge |
66 * |
73 * |
67 * @lib widgetengine.dll |
74 * @lib widgetengine.dll |
68 * @since 3.1 |
75 * @since 3.1 |
69 */ |
76 */ |
70 |
77 |
71 NONSHARABLE_CLASS( WidgetEngineBridge ): public MWidgetEngineBridge |
78 NONSHARABLE_CLASS( WidgetEngineBridge ): public MWidgetEngineBridge, public MJSObjectProtector |
72 { |
79 { |
73 public: |
80 public: |
74 WidgetEngineBridge(); |
81 WidgetEngineBridge(); |
75 virtual ~WidgetEngineBridge(); |
82 virtual ~WidgetEngineBridge(); |
76 |
83 |
85 void OnShowSelected(); |
92 void OnShowSelected(); |
86 void OnHideSelected(); |
93 void OnHideSelected(); |
87 void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId); |
94 void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId); |
88 void MenuItemSelected( TInt aInternalId ); |
95 void MenuItemSelected( TInt aInternalId ); |
89 void MenuShowed(); |
96 void MenuShowed(); |
90 void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm); |
97 void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm); |
|
98 void Clear(); |
|
99 |
|
100 void Protect(KJS::JSValue* obj); |
|
101 void Unprotect(KJS::JSValue* obj); |
91 |
102 |
92 private: |
103 private: |
93 CMenuClient* m_menuclient; |
104 CMenuClient* m_menuclient; |
94 CWidgetClient* m_widgetclient; |
105 CWidgetClient* m_widgetclient; |
95 WidgetPreferences* m_preferences; |
106 WidgetPreferences* m_preferences; |
|
107 WTF::HashSet<KJS::JSValue*> m_protectedObjects; |
96 }; |
108 }; |
97 |
109 |
98 |
110 |
99 #endif |
111 #endif |