src/hbwidgets/devicedialogs/hbdevicenotificationdialogsymbian.cpp
changeset 0 16d8024aca5e
child 1 f7ac710697a9
equal deleted inserted replaced
-1:000000000000 0:16d8024aca5e
       
     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     }