equal
deleted
inserted
replaced
51 // FORWARD DECLARATIONS |
51 // FORWARD DECLARATIONS |
52 |
52 |
53 // ============================= LOCAL FUNCTIONS =============================== |
53 // ============================= LOCAL FUNCTIONS =============================== |
54 |
54 |
55 // ============================ MEMBER FUNCTIONS =============================== |
55 // ============================ MEMBER FUNCTIONS =============================== |
|
56 using namespace KJS; |
56 |
57 |
57 // ---------------------------------------------------------------------------- |
58 // ---------------------------------------------------------------------------- |
58 // CreateWidgetEngineBridge |
59 // CreateWidgetEngineBridge |
59 // creates WidgetEngineBridge object |
60 // creates WidgetEngineBridge object |
60 // |
61 // |
81 // Destructor |
82 // Destructor |
82 // |
83 // |
83 // |
84 // |
84 // ---------------------------------------------------------------------------- |
85 // ---------------------------------------------------------------------------- |
85 WidgetEngineBridge::~WidgetEngineBridge() |
86 WidgetEngineBridge::~WidgetEngineBridge() |
|
87 { |
|
88 Clear(); |
|
89 delete m_preferences; |
|
90 m_preferences = NULL; |
|
91 } |
|
92 // ---------------------------------------------------------------------------- |
|
93 // WidgetEngineBridge::Clear |
|
94 // |
|
95 // |
|
96 // |
|
97 // ---------------------------------------------------------------------------- |
|
98 void WidgetEngineBridge::Clear() |
86 { |
99 { |
|
100 // unprotect objects |
|
101 HashSet<JSValue*>::iterator end = m_protectedObjects.end(); |
|
102 for (HashSet<JSValue*>::iterator it = m_protectedObjects.begin(); it != end; ++it) { |
|
103 Collector::unprotect(*it); |
|
104 } |
|
105 m_protectedObjects.clear(); |
|
106 |
87 delete m_menuclient; |
107 delete m_menuclient; |
|
108 m_menuclient = NULL; |
88 delete m_widgetclient; |
109 delete m_widgetclient; |
89 delete m_preferences; |
110 m_widgetclient = NULL; |
90 } |
111 } |
91 |
112 |
92 // ---------------------------------------------------------------------------- |
113 // ---------------------------------------------------------------------------- |
93 // WidgetEngineBridge::Widget |
114 // WidgetEngineBridge::Widget |
94 // creates Widget object if it does not exist, otherwise returns the already |
115 // creates Widget object if it does not exist, otherwise returns the already |
101 if (!m_widgetclient) { |
122 if (!m_widgetclient) { |
102 |
123 |
103 if (!m_preferences) |
124 if (!m_preferences) |
104 m_preferences = new (ELeave) WidgetPreferences(); |
125 m_preferences = new (ELeave) WidgetPreferences(); |
105 |
126 |
106 m_widgetclient = CWidgetClient::NewL(aWidgetCallback,aWidgetEngineCallback,m_preferences); |
127 m_widgetclient = CWidgetClient::NewL(aWidgetCallback, this, aWidgetEngineCallback,m_preferences); |
107 } |
128 } |
108 return m_widgetclient->jswidget(); |
129 return m_widgetclient->jswidget(); |
109 } |
130 } |
110 |
131 |
111 // ---------------------------------------------------------------------------- |
132 // ---------------------------------------------------------------------------- |
118 void* WidgetEngineBridge::Menu(MWidgetCallback& aWidgetCallback, MWidgetEngineCallbacks& aWidgetEngineCallback) |
139 void* WidgetEngineBridge::Menu(MWidgetCallback& aWidgetCallback, MWidgetEngineCallbacks& aWidgetEngineCallback) |
119 { |
140 { |
120 if (!m_menuclient){ |
141 if (!m_menuclient){ |
121 m_menuclient = CMenuClient::NewL(aWidgetCallback,aWidgetEngineCallback); |
142 m_menuclient = CMenuClient::NewL(aWidgetCallback,aWidgetEngineCallback); |
122 } |
143 } |
123 return m_menuclient->jsmenu(); |
144 return m_menuclient->jsmenu(this); |
124 } |
145 } |
125 |
146 |
126 // ---------------------------------------------------------------------------- |
147 // ---------------------------------------------------------------------------- |
127 // WidgetEngineBridge::MenuItem |
148 // WidgetEngineBridge::MenuItem |
128 // creates MenuItem object if it does not exist, otherwise returns the already |
149 // creates MenuItem object if it does not exist, otherwise returns the already |
133 void* WidgetEngineBridge::MenuItem(MWidgetCallback& aWidgetCallback, MWidgetEngineCallbacks& aWidgetEngineCallback) |
154 void* WidgetEngineBridge::MenuItem(MWidgetCallback& aWidgetCallback, MWidgetEngineCallbacks& aWidgetEngineCallback) |
134 { |
155 { |
135 if (!m_menuclient){ |
156 if (!m_menuclient){ |
136 m_menuclient = CMenuClient::NewL(aWidgetCallback,aWidgetEngineCallback); |
157 m_menuclient = CMenuClient::NewL(aWidgetCallback,aWidgetEngineCallback); |
137 } |
158 } |
138 return m_menuclient->jsmenuitem(); |
159 return m_menuclient->jsmenuitem(this); |
139 } |
160 } |
140 |
161 |
141 // ---------------------------------------------------------------------------- |
162 // ---------------------------------------------------------------------------- |
142 //WidgetEngineBridge::SetParamL |
163 //WidgetEngineBridge::SetParamL |
143 // |
164 // |
283 m_widgetclient->renderer()->drawTransition(gc,fbsBm); |
304 m_widgetclient->renderer()->drawTransition(gc,fbsBm); |
284 } |
305 } |
285 } |
306 } |
286 |
307 |
287 |
308 |
|
309 void WidgetEngineBridge::Protect(JSValue* obj) |
|
310 { |
|
311 m_protectedObjects.add(obj); |
|
312 Collector::protect(obj); |
|
313 } |
|
314 |
|
315 void WidgetEngineBridge::Unprotect(JSValue* obj) |
|
316 { |
|
317 m_protectedObjects.remove(obj); |
|
318 Collector::unprotect(obj); |
|
319 } |
|
320 |
288 //END OF FILE |
321 //END OF FILE |
289 |
322 |
290 |
323 |