|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (developer.feedback@nokia.com) |
|
6 ** |
|
7 ** This file is part of the HbWidgets module of the UI Extensions for Mobile. |
|
8 ** |
|
9 ** GNU Lesser General Public License Usage |
|
10 ** This file may be used under the terms of the GNU Lesser General Public |
|
11 ** License version 2.1 as published by the Free Software Foundation and |
|
12 ** appearing in the file LICENSE.LGPL included in the packaging of this file. |
|
13 ** Please review the following information to ensure the GNU Lesser General |
|
14 ** Public License version 2.1 requirements will be met: |
|
15 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
16 ** |
|
17 ** In addition, as a special exception, Nokia gives you certain additional |
|
18 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
19 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
20 ** |
|
21 ** If you have questions regarding the use of this file, please contact |
|
22 ** Nokia at developer.feedback@nokia.com. |
|
23 ** |
|
24 ****************************************************************************/ |
|
25 |
|
26 #include <hbsymbianvariant.h> |
|
27 #include <hbdevicedialogsymbian.h> |
|
28 #include "hbdevicenotificationdialogsymbian.h" |
|
29 |
|
30 _LIT(KKeyTimeOut, "timeout"); |
|
31 _LIT(KKeyIconName, "iconName"); |
|
32 _LIT(KKeyText, "text"); |
|
33 _LIT(KKeyTitle, "title"); |
|
34 _LIT(KKeyTouchActivation, "touchActivation"); |
|
35 _LIT(KKeyActivated, "result"); |
|
36 _LIT(KKeyActivatedValue, "activated"); |
|
37 _LIT(KPluginIdentifier, "com.nokia.hb.devicenotificationdialog/1.0"); |
|
38 _LIT(KKeyTitleTextWrapping, "titleTextWrapping"); |
|
39 _LIT(KKeyAnimationDefinition, "animationDefinition"); |
|
40 |
|
41 NONSHARABLE_CLASS(CHbDeviceNotificationDialogSymbianPrivate) : public CBase, |
|
42 public MHbDeviceDialogObserver |
|
43 { |
|
44 public: |
|
45 CHbDeviceNotificationDialogSymbianPrivate(); |
|
46 virtual ~CHbDeviceNotificationDialogSymbianPrivate(); |
|
47 |
|
48 public: |
|
49 void ShowL(); |
|
50 void UpdateL(); |
|
51 void Close(); |
|
52 |
|
53 void AddVariantL(const TDesC& aKey, const TAny* aData, |
|
54 CHbSymbianVariant::TType aDataType); |
|
55 const CHbSymbianVariant* Variant(const TDesC& aKey) const; |
|
56 |
|
57 public: // MHbDeviceDialogObserver |
|
58 void DataReceived(CHbSymbianVariantMap& aData); |
|
59 void DeviceDialogClosed(TInt aCompletionCode); |
|
60 |
|
61 void ConstructL(CHbDeviceNotificationDialogSymbian* aDialog); |
|
62 |
|
63 public: |
|
64 MHbDeviceNotificationDialogObserver* iObserver; |
|
65 CHbDeviceDialogSymbian *iDeviceDialog; |
|
66 CHbSymbianVariantMap* iVariantMap; |
|
67 CHbDeviceNotificationDialogSymbian* q; |
|
68 |
|
69 TBool iEnable; |
|
70 TInt iTimeout; |
|
71 CHbDeviceNotificationDialogSymbian::TextWrapping iWrap; |
|
72 }; |
|
73 |
|
74 CHbDeviceNotificationDialogSymbianPrivate::CHbDeviceNotificationDialogSymbianPrivate() |
|
75 { |
|
76 } |
|
77 |
|
78 CHbDeviceNotificationDialogSymbianPrivate::~CHbDeviceNotificationDialogSymbianPrivate() |
|
79 { |
|
80 if (!iObserver && q->Timeout() != 0) { |
|
81 iDeviceDialog->SetObserver(NULL); |
|
82 } |
|
83 |
|
84 delete iDeviceDialog; |
|
85 delete iVariantMap; |
|
86 } |
|
87 |
|
88 void CHbDeviceNotificationDialogSymbianPrivate::ConstructL(CHbDeviceNotificationDialogSymbian* aDialog) |
|
89 { |
|
90 q = aDialog; |
|
91 iDeviceDialog = CHbDeviceDialogSymbian::NewL(); |
|
92 iVariantMap = CHbSymbianVariantMap::NewL(); |
|
93 } |
|
94 |
|
95 void CHbDeviceNotificationDialogSymbianPrivate::ShowL() |
|
96 { |
|
97 AddVariantL(KKeyTouchActivation, &iEnable, CHbSymbianVariant::EBool); |
|
98 AddVariantL(KKeyTimeOut, &iTimeout, CHbSymbianVariant::EInt); |
|
99 AddVariantL(KKeyTitleTextWrapping, &iWrap, CHbSymbianVariant::EInt); |
|
100 User::LeaveIfError(iDeviceDialog->Show(KPluginIdentifier, *iVariantMap, this)); |
|
101 } |
|
102 |
|
103 void CHbDeviceNotificationDialogSymbianPrivate::UpdateL() |
|
104 { |
|
105 AddVariantL(KKeyTouchActivation, &iEnable, CHbSymbianVariant::EBool); |
|
106 AddVariantL(KKeyTimeOut, &iTimeout, CHbSymbianVariant::EInt); |
|
107 AddVariantL(KKeyTitleTextWrapping, &iWrap, CHbSymbianVariant::EInt); |
|
108 User::LeaveIfError(iDeviceDialog->Update(*iVariantMap)); |
|
109 } |
|
110 |
|
111 void CHbDeviceNotificationDialogSymbianPrivate::Close() |
|
112 { |
|
113 iDeviceDialog->Cancel(); |
|
114 } |
|
115 |
|
116 void CHbDeviceNotificationDialogSymbianPrivate::AddVariantL( |
|
117 const TDesC& aKey, |
|
118 const TAny* aData, |
|
119 CHbSymbianVariant::TType aDataType) |
|
120 { |
|
121 CHbSymbianVariant *variant = CHbSymbianVariant::NewL(aData, aDataType); |
|
122 CleanupStack::PushL(variant); |
|
123 User::LeaveIfError(iVariantMap->Add(aKey, variant)); |
|
124 CleanupStack::Pop(variant); |
|
125 } |
|
126 |
|
127 const CHbSymbianVariant* CHbDeviceNotificationDialogSymbianPrivate::Variant( |
|
128 const TDesC& aKey) const |
|
129 { |
|
130 return iVariantMap->Get(aKey); |
|
131 } |
|
132 |
|
133 void CHbDeviceNotificationDialogSymbianPrivate::DataReceived(CHbSymbianVariantMap& aData) |
|
134 { |
|
135 const CHbSymbianVariant* variant = aData.Get(KKeyActivated); |
|
136 if (variant && variant->IsValid()) |
|
137 { |
|
138 TPtrC p = *variant->Value<TDesC>(); |
|
139 bool result = p.Compare(KKeyActivatedValue()) == 0; |
|
140 if (iObserver && result) |
|
141 { |
|
142 // Observer callback may delete this object. Don't touch it after. |
|
143 iObserver->NotificationDialogActivated(q); |
|
144 } |
|
145 } |
|
146 } |
|
147 |
|
148 void CHbDeviceNotificationDialogSymbianPrivate::DeviceDialogClosed(TInt aCompletionCode) |
|
149 { |
|
150 if (iObserver) |
|
151 { |
|
152 // Observer callback may delete this object. Don't touch it after. |
|
153 iObserver->NotificationDialogClosed(q, aCompletionCode); |
|
154 } |
|
155 } |
|
156 |
|
157 /*! |
|
158 \class MHbDeviceNotificationDialogObserver |
|
159 \brief MHbDeviceNotificationDialogObserver is an observer interface for observing CHbDeviceNotificationDialogSymbian. |
|
160 */ |
|
161 |
|
162 /*! |
|
163 \fn void MHbDeviceNotificationDialogObserver::NotificationDialogActivated(const CHbDeviceNotificationDialogSymbian* aDialog) = 0; |
|
164 |
|
165 This callback is called when notification dialog is activated. |
|
166 \a aDialog - Pointer to dialog instance which received activation event. |
|
167 */ |
|
168 |
|
169 /*! |
|
170 \fn void MHbDeviceNotificationDialogObserver::NotificationDialogClosed(const CHbDeviceNotificationDialogSymbian* aDialog, TInt aCompletionCode) = 0; |
|
171 |
|
172 This callback is called when notification dialog is closed. |
|
173 \a aDialog - Pointer to dialog instance which received closed event. |
|
174 \a aCompletionCode - Result of the dialog completion. |
|
175 */ |
|
176 |
|
177 /*! |
|
178 \fn void MHbDeviceNotificationDialogObserver::NotificationDialogError(const CHbDeviceNotificationDialogSymbian* aDialog, TInt aError) = 0; |
|
179 |
|
180 This callback is called when an error has occured. |
|
181 \a aDialog - Pointer to dialog instance which received closed event. |
|
182 \a aError - Error code. |
|
183 */ |
|
184 |
|
185 /*! |
|
186 \class CHbDeviceNotificationDialogSymbian |
|
187 \brief CHbDeviceNotificationDialogSymbian is a Symbian implementation of HbDeviceNotificationDialog. |
|
188 |
|
189 It is a client interface for s60 native application to show a non-modal dialog on top of applications when |
|
190 HbDeviceNotificationDialog can not be used. |
|
191 |
|
192 CHbDeviceNotificationDialogSymbian provides similar interface and functionality as HbDeviceNotificationDialog. |
|
193 Main difference is that signals are replaced by an observer interface CHbDeviceNotificationDialogSymbianObserver. |
|
194 |
|
195 For the content CHbDeviceNotificationDialogSymbian provides two rows of text, an image or an animation and for the usage |
|
196 same rules as for the HbDeviceNotificationDialog apply. Dialog is shown when show() is called. It is recommended that |
|
197 the dialog data is initialized before calling ShowL() or UpdateL() methods, because those methods use interprocess communication. |
|
198 |
|
199 \code |
|
200 Following code snippet creates a device notification dialog containing title, text and icon. |
|
201 |
|
202 _LIT(KDialogText, "Dialog text"); |
|
203 _LIT(KDialogTitle, "Dialog title"); |
|
204 _LIT(KDialogIcon, "note_info.svg"); |
|
205 |
|
206 CHbDeviceNotificationDialogSymbian* dialog = CHbDeviceNotificationDialogSymbian::NewL(); |
|
207 CleanupStack::PushL(dialog); |
|
208 dialog->SetTextL(KDialogText); |
|
209 dialog->SetTitleL(KDialogTitle); |
|
210 dialog->SetIconNameL(KDialogIcon); |
|
211 dialog->Show(); |
|
212 CleanupStack::PopAndDestroy(dialog); |
|
213 \endcode |
|
214 |
|
215 or equivalent dialog can be created using one of the provided convenience methods: |
|
216 |
|
217 \code |
|
218 _LIT(KDialogText, "Dialog text"); |
|
219 _LIT(KDialogTitle, "Dialog title"); |
|
220 _LIT(KDialogIcon, "note_info.svg"); |
|
221 |
|
222 CHbDeviceNotificationDialogSymbian::Notification(KDialogIcon, KDialogText, KDialogTitle); |
|
223 \endcode |
|
224 |
|
225 When using convenience methods, it is not possible to receive user interaction events, because the |
|
226 HbDeviceNotificationDialog instance is destroyed when the call returns. Ownership and handling of the |
|
227 dialog is transferred to HbDeviceDialog framework. Also dialog can not be closed nor updated. |
|
228 |
|
229 Below is an example of receiving user interaction events from device notification dialog. With following example |
|
230 user is able to receive activated and close events. Note that dialog is cancelled, if it goes out of scope. |
|
231 |
|
232 \code |
|
233 _LIT(KDialogText, "Dialog text"); |
|
234 _LIT(KDialogTitle, "Dialog title"); |
|
235 _LIT(KDialogIcon, "note_info.svg"); |
|
236 |
|
237 iDialog = CHbDeviceNotificationDialogSymbian::NewL(this); |
|
238 iDialog->SetTextL(KDialogText); |
|
239 iDialog->SetTitleL(KDialogTitle); |
|
240 iDialog->SetIconNameL(KDialogIcon); |
|
241 iDialog->ShowL(); |
|
242 \endcode |
|
243 |
|
244 CHbDeviceNotificationDialogSymbian supports. |
|
245 Supported formats are the following. |
|
246 |
|
247 - GIF (.gif) |
|
248 - MNG (.mng) |
|
249 - Frame animations |
|
250 |
|
251 There is a built-in support for GIF and MNG animations. |
|
252 |
|
253 Frame animations can be created by following way: |
|
254 |
|
255 \code |
|
256 Create an animation definition file. |
|
257 |
|
258 <animations> |
|
259 <icon name="frame_anim_looping" playmode="loop"> |
|
260 <frame duration="100">c:\icon1.svg</frame> |
|
261 <frame duration="200">c:\icon2.svg</frame> |
|
262 <frame duration="300">c:\icon3.svg</frame> |
|
263 </icon> |
|
264 </animations> |
|
265 |
|
266 Create CHbDeviceNotificationDialogSymbian in a way described before and |
|
267 set definition file and animation's logical name. |
|
268 |
|
269 _LIT(KAnimationDefinitionXML, "C:\animation.axml"); |
|
270 _LITK(KLogicalIconName, "frame_anim_looping"); |
|
271 |
|
272 iDialog->SetAnimationDefinitionL(KAnimationDefinitionXML); |
|
273 iDialog->SetIconNameL(KIconName); |
|
274 iDialog->ShowL(); |
|
275 \endcode |
|
276 \sa HbIconAnimationManager::addDefinitionFile |
|
277 \note Animation definition files must be stored to a place where they |
|
278 can be accessed. |
|
279 |
|
280 \proto |
|
281 \hbwidgets |
|
282 */ |
|
283 |
|
284 /*! |
|
285 Symbian two phase constructor. Returns a pointer to CHbDeviceNotificationDialogSymbian instance. |
|
286 \a aObserver Pointer to the observer. |
|
287 */ |
|
288 EXPORT_C CHbDeviceNotificationDialogSymbian* CHbDeviceNotificationDialogSymbian::NewL( |
|
289 MHbDeviceNotificationDialogObserver* aObserver) |
|
290 { |
|
291 CHbDeviceNotificationDialogSymbian* self = new (ELeave) CHbDeviceNotificationDialogSymbian(); |
|
292 CleanupStack::PushL(self); |
|
293 self->ConstructL(aObserver); |
|
294 CleanupStack::Pop(self); |
|
295 return self; |
|
296 } |
|
297 |
|
298 /*! |
|
299 Destructor. |
|
300 */ |
|
301 EXPORT_C CHbDeviceNotificationDialogSymbian::~CHbDeviceNotificationDialogSymbian() |
|
302 { |
|
303 delete d; |
|
304 } |
|
305 |
|
306 /*! |
|
307 Convenience method for showing notification dialog with icon and title. |
|
308 \param aIconName - path and name of the icon shown on dialog. |
|
309 \param aTitle - title shown on dialog. |
|
310 */ |
|
311 EXPORT_C void CHbDeviceNotificationDialogSymbian::NotificationL(const TDesC& aIconName, const TDesC& aTitle) |
|
312 { |
|
313 CHbDeviceNotificationDialogSymbian* self = CHbDeviceNotificationDialogSymbian::NewL(); |
|
314 CleanupStack::PushL(self); |
|
315 self->SetIconNameL(aIconName); |
|
316 self->SetTitleL(aTitle); |
|
317 self->ShowL(); |
|
318 CleanupStack::PopAndDestroy(self); |
|
319 } |
|
320 |
|
321 /*! |
|
322 Convenience method for showing notification dialog with icon, text and title. |
|
323 \param aIconName - path and name of the icon shown on dialog. |
|
324 \param aText - text shown on dialog. |
|
325 \param aTitle - title shown on dialog. |
|
326 */ |
|
327 EXPORT_C void CHbDeviceNotificationDialogSymbian::NotificationL(const TDesC &aIconName, const TDesC& aText, const TDesC& aTitle) |
|
328 { |
|
329 CHbDeviceNotificationDialogSymbian* self = CHbDeviceNotificationDialogSymbian::NewL(); |
|
330 CleanupStack::PushL(self); |
|
331 self->SetIconNameL(aIconName); |
|
332 self->SetTextL(aText); |
|
333 self->SetTitleL(aTitle); |
|
334 self->ShowL(); |
|
335 CleanupStack::PopAndDestroy(self); |
|
336 } |
|
337 |
|
338 /*! |
|
339 Sets message box icon name or animation logical name. The dialog gets updated when method is called. |
|
340 |
|
341 \param aIconName Icon name. Icon can be from Hb resources or themes. Or can be a file in |
|
342 a file system. |
|
343 |
|
344 \sa IconName() |
|
345 */ |
|
346 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetIconNameL(const TDesC& aIconName) |
|
347 { |
|
348 d->AddVariantL(KKeyIconName, &aIconName, CHbSymbianVariant::EDes); |
|
349 } |
|
350 |
|
351 |
|
352 /*! |
|
353 Get name and path of the icon shown on dialog or animation's logical name. |
|
354 If not set, returns empty iconName. |
|
355 |
|
356 \sa SetIconNameL |
|
357 */ |
|
358 EXPORT_C const TPtrC CHbDeviceNotificationDialogSymbian::IconName() const |
|
359 { |
|
360 const CHbSymbianVariant* variant = d->Variant(KKeyIconName); |
|
361 if (variant && variant->IsValid()) |
|
362 { |
|
363 return *variant->Value<TDesC>(); |
|
364 } |
|
365 return TPtrC(KNullDesC()); |
|
366 } |
|
367 |
|
368 /*! |
|
369 Sets notification dialog's animation definition name. The dialogs get updated next when time ShowL() or UpdateL() |
|
370 is called. |
|
371 |
|
372 \param aAnimationDefinition Animation definition file name. Definition can be from Hb resources or themes. |
|
373 Or can be a file in a file system. |
|
374 |
|
375 \sa AnimationDefinition() |
|
376 */ |
|
377 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetAnimationDefinitionL(const TDesC& aAnimationDefinition) |
|
378 { |
|
379 d->AddVariantL(KKeyAnimationDefinition, &aAnimationDefinition, CHbSymbianVariant::EDes); |
|
380 } |
|
381 |
|
382 /*! |
|
383 Returns an animation definition set for a dialog. If not set, return string. |
|
384 |
|
385 \sa SetAnimationDefinitionL() |
|
386 */ |
|
387 EXPORT_C TPtrC CHbDeviceNotificationDialogSymbian::AnimationDefinition() const |
|
388 { |
|
389 const CHbSymbianVariant* variant = d->Variant(KKeyAnimationDefinition); |
|
390 if (variant && variant->IsValid()) |
|
391 { |
|
392 return *variant->Value<TDesC>(); |
|
393 } |
|
394 return TPtrC(KNullDesC()); |
|
395 } |
|
396 |
|
397 |
|
398 /*! |
|
399 Set and update text on dialog. Text is not set, if Show() or Update() |
|
400 is not called. |
|
401 \param aText - text shown on dialog. |
|
402 \sa ShowL(), UpdateL() |
|
403 */ |
|
404 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTextL(const TDesC& aText) |
|
405 { |
|
406 d->AddVariantL(KKeyText, &aText, CHbSymbianVariant::EDes); |
|
407 } |
|
408 |
|
409 /*! |
|
410 Get text shown on dialog. If not set, returns empty string. |
|
411 |
|
412 \sa SetTextL() |
|
413 */ |
|
414 EXPORT_C const TPtrC CHbDeviceNotificationDialogSymbian::Text() const |
|
415 { |
|
416 const CHbSymbianVariant* variant = d->Variant(KKeyText); |
|
417 if (variant && variant->IsValid()) |
|
418 { |
|
419 return *variant->Value<TDesC>(); |
|
420 } |
|
421 return TPtrC(KNullDesC()); |
|
422 } |
|
423 |
|
424 /*! |
|
425 Set and update title on dialog. Title is not set, if Show() or Update() |
|
426 is not called. |
|
427 \param title - aTitle shown on dialog. |
|
428 \sa ShowL(), UpdateL() |
|
429 */ |
|
430 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTitleL(const TDesC& aTitle) |
|
431 { |
|
432 d->AddVariantL(KKeyTitle, &aTitle, CHbSymbianVariant::EDes); |
|
433 } |
|
434 |
|
435 /*! |
|
436 Get title shown on dialog. If not set, returns empty string. |
|
437 |
|
438 \sa SetTitleL() |
|
439 */ |
|
440 EXPORT_C const TPtrC CHbDeviceNotificationDialogSymbian::Title() const |
|
441 { |
|
442 TPtrC ptr = KKeyTitle(); |
|
443 const CHbSymbianVariant* variant = d->Variant(KKeyTitle); |
|
444 if (variant && variant->IsValid()) |
|
445 { |
|
446 return *variant->Value<TDesC>(); |
|
447 } |
|
448 return TPtrC(KNullDesC()); |
|
449 } |
|
450 |
|
451 /*! |
|
452 \deprecated void CHbDeviceNotificationDialogSymbian::EnableTouchActivationL(TBool aEnable) |
|
453 is deprecated. Use CHbDeviceNotificationDialogSymbian::EnableTouchActivation(TBool aEnable) |
|
454 instead. |
|
455 */ |
|
456 EXPORT_C void CHbDeviceNotificationDialogSymbian::EnableTouchActivationL(TBool aEnable) |
|
457 { |
|
458 EnableTouchActivation(aEnable); |
|
459 } |
|
460 |
|
461 /*! |
|
462 Enable user interaction on dialog. Setting is not set, if Show() or Update() |
|
463 is not called. |
|
464 \param aEnable - When enabled, activation event is notified via observer interface. |
|
465 |
|
466 Default value is false. |
|
467 \sa ShowL(), UpdateL(), MCHbDeviceNotificationDialogSymbianObserver. |
|
468 */ |
|
469 EXPORT_C void CHbDeviceNotificationDialogSymbian::EnableTouchActivation(TBool aEnable) |
|
470 { |
|
471 d->iEnable = aEnable; |
|
472 } |
|
473 |
|
474 /*! |
|
475 Get touch activation setting. |
|
476 |
|
477 \sa EnableTouchActivation() |
|
478 */ |
|
479 EXPORT_C TBool CHbDeviceNotificationDialogSymbian::IsTouchActivating() const |
|
480 { |
|
481 return d->iEnable; |
|
482 } |
|
483 |
|
484 /*! |
|
485 \deprecated void CHbDeviceNotificationDialogSymbian::SetTimeoutL(TInt aTimeout) |
|
486 is deprecated. Use CHbDeviceNotificationDialogSymbian::SetTimeout(TInt aTimeout) |
|
487 instead. |
|
488 */ |
|
489 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTimeoutL(TInt aTimeout) |
|
490 { |
|
491 SetTimeout(aTimeout); |
|
492 } |
|
493 |
|
494 /*! |
|
495 Set dialog timeout. Timeout is not set, if Show() or Update() |
|
496 is not called. |
|
497 \param aTimeout - Set timeout for dialog. |
|
498 |
|
499 Default value is HbPopup::StandardTimeout (3000 ms). |
|
500 \sa ShowL(), UpdateL() |
|
501 */ |
|
502 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTimeout(TInt aTimeout) |
|
503 { |
|
504 d->iTimeout = aTimeout; |
|
505 } |
|
506 |
|
507 /*! |
|
508 Get timeout setting. |
|
509 |
|
510 \sa SetTimeout() |
|
511 */ |
|
512 EXPORT_C TInt CHbDeviceNotificationDialogSymbian::Timeout() const |
|
513 { |
|
514 return d->iTimeout; |
|
515 } |
|
516 |
|
517 /*! |
|
518 \deprecated void CHbDeviceNotificationDialogSymbian::SetTitleTextWrappingL( |
|
519 TextWrapping aWrapping) is deprecated. Use CHbDeviceNotificationDialogSymbian::SetTitleTextWrapping( |
|
520 TextWrapping aWrapping) instead. |
|
521 instead. |
|
522 */ |
|
523 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTitleTextWrappingL( |
|
524 TextWrapping aWrapping) |
|
525 { |
|
526 SetTitleTextWrapping(aWrapping); |
|
527 } |
|
528 |
|
529 /*! |
|
530 Set dialog title text wrapping. Text wrapping is not set, if Show() or Update() |
|
531 is not called. |
|
532 \param aWrapping - Defines title text wrapping. |
|
533 |
|
534 Default value is CHbDeviceNotificationDialogSymbian::TextNoWrap. |
|
535 \sa ShowL(), UpdateL() |
|
536 */ |
|
537 EXPORT_C void CHbDeviceNotificationDialogSymbian::SetTitleTextWrapping( |
|
538 TextWrapping aWrapping) |
|
539 { |
|
540 d->iWrap = aWrapping; |
|
541 } |
|
542 |
|
543 /*! |
|
544 Get title text wrapping setting. |
|
545 |
|
546 \sa SetTitleTextWrapping() |
|
547 */ |
|
548 EXPORT_C CHbDeviceNotificationDialogSymbian::TextWrapping CHbDeviceNotificationDialogSymbian::TitleTextWrapping() const |
|
549 { |
|
550 return d->iWrap; |
|
551 } |
|
552 |
|
553 /*! |
|
554 Show the dialog. |
|
555 \code |
|
556 // example to show dialog. |
|
557 iNotificationDialog->SetTitleL("Dialog title text"); |
|
558 iNotificationDialog->ShowL(); |
|
559 \endcode |
|
560 */ |
|
561 EXPORT_C void CHbDeviceNotificationDialogSymbian::ShowL() |
|
562 { |
|
563 d->ShowL(); |
|
564 } |
|
565 |
|
566 /*! |
|
567 Update the dialog. Show must be called before update can be used. |
|
568 \code |
|
569 // example to update already showing dialog. |
|
570 iNotificationDialog->SetTitleL("Update title"); |
|
571 iNotificationDialog->UpdateL(); |
|
572 \endcode |
|
573 */ |
|
574 |
|
575 EXPORT_C void CHbDeviceNotificationDialogSymbian::UpdateL() |
|
576 { |
|
577 d->UpdateL(); |
|
578 } |
|
579 |
|
580 /*! |
|
581 Close the dialog. Method has no effect if convenience methods |
|
582 are used to show device notification dialog. |
|
583 */ |
|
584 EXPORT_C void CHbDeviceNotificationDialogSymbian::Close() |
|
585 { |
|
586 d->Close(); |
|
587 } |
|
588 |
|
589 /*! |
|
590 Constructor. |
|
591 */ |
|
592 CHbDeviceNotificationDialogSymbian::CHbDeviceNotificationDialogSymbian() |
|
593 { |
|
594 } |
|
595 |
|
596 /*! |
|
597 Symbian 2nd phase constructor. |
|
598 */ |
|
599 void CHbDeviceNotificationDialogSymbian::ConstructL( |
|
600 MHbDeviceNotificationDialogObserver* aObserver) |
|
601 { |
|
602 d = new (ELeave) CHbDeviceNotificationDialogSymbianPrivate; |
|
603 d->ConstructL(this); |
|
604 d->iObserver = aObserver; |
|
605 EnableTouchActivation(EFalse); |
|
606 SetTimeout(KHbLongNotificationDialogTimeout); |
|
607 SetTitleTextWrapping(CHbDeviceNotificationDialogSymbian::TextWordWrap); |
|
608 } |