skins/AknSkins/src/AknsItemData.cpp
changeset 0 05e9090e2422
equal deleted inserted replaced
-1:000000000000 0:05e9090e2422
       
     1 /*
       
     2 * Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Base class for item data classes.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 
       
    21 #include <fbs.h>
       
    22 #include <AknsItemDef.h> // For TAknsAppIconInfo
       
    23 #include <aknenv.h>
       
    24 
       
    25 #include <AknsItemData.h>
       
    26 #include <AknsImageAttributeData.h>
       
    27 
       
    28 #include "AknsDebug.h"
       
    29 #include <AknsConstants.h>
       
    30 
       
    31 // ============================ MEMBER FUNCTIONS ===============================
       
    32 
       
    33 // -----------------------------------------------------------------------------
       
    34 // CAknsItemData::CAknsItemData
       
    35 // C++ constructor can NOT contain any code, that might leave.
       
    36 // -----------------------------------------------------------------------------
       
    37 //
       
    38 CAknsItemData::CAknsItemData( const TAknsItemType aType )
       
    39     : iType( aType )
       
    40     {
       
    41     }
       
    42 
       
    43 // -----------------------------------------------------------------------------
       
    44 // Destructor.
       
    45 // -----------------------------------------------------------------------------
       
    46 //
       
    47 CAknsItemData::~CAknsItemData()
       
    48     {
       
    49     }
       
    50 
       
    51 // -----------------------------------------------------------------------------
       
    52 // CAknsItemData::SetType
       
    53 // (commented in the header).
       
    54 // -----------------------------------------------------------------------------
       
    55 //
       
    56 void CAknsItemData::SetType( const TAknsItemType aType )
       
    57     {
       
    58     iType = aType;
       
    59     }
       
    60 
       
    61 // -----------------------------------------------------------------------------
       
    62 // CAknsItemData::Type
       
    63 // (commented in the header).
       
    64 // -----------------------------------------------------------------------------
       
    65 //
       
    66 EXPORT_C TAknsItemType CAknsItemData::Type() const
       
    67     {
       
    68     return iType;
       
    69     }
       
    70 
       
    71 // ============================ MEMBER FUNCTIONS ===============================
       
    72 
       
    73 // -----------------------------------------------------------------------------
       
    74 // CAknsImageItemData::CAknsImageItemData
       
    75 // C++ constructor can NOT contain any code, that might leave.
       
    76 // -----------------------------------------------------------------------------
       
    77 //
       
    78 CAknsImageItemData::CAknsImageItemData( const TAknsItemType aType )
       
    79     : CAknsItemData( aType ) // CBase initializes: iAttributeData( NULL )
       
    80     {
       
    81     iParentIID = KAknsIIDNone;
       
    82     }
       
    83 
       
    84 // -----------------------------------------------------------------------------
       
    85 // Destructor.
       
    86 // -----------------------------------------------------------------------------
       
    87 //
       
    88 CAknsImageItemData::~CAknsImageItemData()
       
    89     {
       
    90     delete iAttributeData;
       
    91     }
       
    92 
       
    93 // -----------------------------------------------------------------------------
       
    94 // CAknsImageItemData::SetAttributesL
       
    95 // (commented in the header).
       
    96 // -----------------------------------------------------------------------------
       
    97 //
       
    98 EXPORT_C void CAknsImageItemData::SetAttributesL(
       
    99     const TAknsImageAttributeData& aAttributes )
       
   100     {
       
   101     if( !iAttributeData )
       
   102         {
       
   103         iAttributeData = new (ELeave) TAknsImageAttributeData;
       
   104         }
       
   105 
       
   106     iAttributeData->Set( aAttributes );
       
   107     }
       
   108 
       
   109 // -----------------------------------------------------------------------------
       
   110 // CAknsImageItemData::SetParentIID
       
   111 // (commented in the header).
       
   112 // -----------------------------------------------------------------------------
       
   113 //
       
   114 EXPORT_C void CAknsImageItemData::SetParentIID(const TAknsItemID& aIID)
       
   115     {
       
   116     iParentIID = aIID;
       
   117     }
       
   118 
       
   119 // -----------------------------------------------------------------------------
       
   120 // CAknsImageItemData::SetDrawRect
       
   121 // (commented in the header).
       
   122 // -----------------------------------------------------------------------------
       
   123 //
       
   124 EXPORT_C void CAknsImageItemData::SetDrawRect(const TRect& aRect)
       
   125     {
       
   126     iDrawRect = aRect;
       
   127     }
       
   128 
       
   129 // -----------------------------------------------------------------------------
       
   130 // CAknsImageItemData::ParentIID
       
   131 // (commented in the header).
       
   132 // -----------------------------------------------------------------------------
       
   133 //
       
   134 EXPORT_C TAknsItemID CAknsImageItemData::ParentIID()
       
   135     {
       
   136     return iParentIID;
       
   137     }
       
   138 
       
   139 // -----------------------------------------------------------------------------
       
   140 // CAknsImageItemData::DrawRect
       
   141 // (commented in the header).
       
   142 // -----------------------------------------------------------------------------
       
   143 //
       
   144 EXPORT_C TRect CAknsImageItemData::DrawRect()
       
   145     {
       
   146     return iDrawRect;
       
   147     }
       
   148 
       
   149 // -----------------------------------------------------------------------------
       
   150 // CAknsImageItemData::Attributes
       
   151 // (commented in the header).
       
   152 // -----------------------------------------------------------------------------
       
   153 //
       
   154 EXPORT_C const TAknsImageAttributeData* CAknsImageItemData::Attributes() const
       
   155     {
       
   156     return iAttributeData;
       
   157     }
       
   158 
       
   159 // ============================ MEMBER FUNCTIONS ===============================
       
   160 
       
   161 // -----------------------------------------------------------------------------
       
   162 // CAknsBitmapItemData::CAknsBitmapItemData
       
   163 // C++ constructor can NOT contain any code, that might leave.
       
   164 // -----------------------------------------------------------------------------
       
   165 //
       
   166 CAknsBitmapItemData::CAknsBitmapItemData( const TAknsItemType aType )
       
   167     : CAknsImageItemData( aType ) // CBase initializes: iBitmap( NULL )
       
   168     {
       
   169     }
       
   170 
       
   171 // -----------------------------------------------------------------------------
       
   172 // CAknsBitmapItemData::NewL
       
   173 // Two-phased constructor.
       
   174 // -----------------------------------------------------------------------------
       
   175 //
       
   176 EXPORT_C CAknsBitmapItemData* CAknsBitmapItemData::NewL()
       
   177     {
       
   178     return new (ELeave) CAknsBitmapItemData( EAknsITBitmap );
       
   179     }
       
   180 
       
   181 // -----------------------------------------------------------------------------
       
   182 // Destructor.
       
   183 // -----------------------------------------------------------------------------
       
   184 //
       
   185 CAknsBitmapItemData::~CAknsBitmapItemData()
       
   186     {
       
   187     delete iBitmap;
       
   188     }
       
   189 
       
   190 // -----------------------------------------------------------------------------
       
   191 // CAknsBitmapItemData::SetBitmap
       
   192 // (commented in the header).
       
   193 // -----------------------------------------------------------------------------
       
   194 //
       
   195 EXPORT_C void CAknsBitmapItemData::SetBitmap( CFbsBitmap* aBitmap )
       
   196     {
       
   197     iBitmap = aBitmap;
       
   198     }
       
   199 
       
   200 // -----------------------------------------------------------------------------
       
   201 // CAknsBitmapItemData::DestroyAndSetBitmap
       
   202 // (commented in the header).
       
   203 // -----------------------------------------------------------------------------
       
   204 //
       
   205 EXPORT_C void CAknsBitmapItemData::DestroyAndSetBitmap( CFbsBitmap* aBitmap )
       
   206     {
       
   207     delete iBitmap;
       
   208     iBitmap = aBitmap;
       
   209     }
       
   210 
       
   211 // -----------------------------------------------------------------------------
       
   212 // CAknsBitmapItemData::Bitmap
       
   213 // (commented in the header).
       
   214 // -----------------------------------------------------------------------------
       
   215 //
       
   216 EXPORT_C CFbsBitmap* CAknsBitmapItemData::Bitmap()
       
   217     {
       
   218     return iBitmap;
       
   219     }
       
   220 
       
   221 // ============================ MEMBER FUNCTIONS ===============================
       
   222 
       
   223 // -----------------------------------------------------------------------------
       
   224 // CAknsMaskedBitmapItemData::CAknsMaskedBitmapItemData
       
   225 // C++ constructor can NOT contain any code, that might leave.
       
   226 // -----------------------------------------------------------------------------
       
   227 //
       
   228 CAknsMaskedBitmapItemData::CAknsMaskedBitmapItemData( const TAknsItemType aType )
       
   229     : CAknsBitmapItemData( aType )
       
   230     // CBase initializes: iMask(NULL)
       
   231     {
       
   232     }
       
   233 
       
   234 // -----------------------------------------------------------------------------
       
   235 // CAknsMaskedBitmapItemData::NewL
       
   236 // Two-phased constructor.
       
   237 // -----------------------------------------------------------------------------
       
   238 //
       
   239 EXPORT_C CAknsMaskedBitmapItemData* CAknsMaskedBitmapItemData::NewL()
       
   240     {
       
   241     return new (ELeave) CAknsMaskedBitmapItemData( EAknsITMaskedBitmap );
       
   242     }
       
   243 
       
   244 // -----------------------------------------------------------------------------
       
   245 // Destructor.
       
   246 // -----------------------------------------------------------------------------
       
   247 //
       
   248 CAknsMaskedBitmapItemData::~CAknsMaskedBitmapItemData()
       
   249     {
       
   250     delete iMask;
       
   251     }
       
   252 
       
   253 // -----------------------------------------------------------------------------
       
   254 // CAknsMaskedBitmapItemData::SetMask
       
   255 // (commented in the header).
       
   256 // -----------------------------------------------------------------------------
       
   257 //
       
   258 EXPORT_C void CAknsMaskedBitmapItemData::SetMask( CFbsBitmap* aMask )
       
   259     {
       
   260     iMask = aMask;
       
   261     }
       
   262 
       
   263 // -----------------------------------------------------------------------------
       
   264 // CAknsMaskedBitmapItemData::DestroyAndSetMask
       
   265 // (commented in the header).
       
   266 // -----------------------------------------------------------------------------
       
   267 //
       
   268 EXPORT_C void CAknsMaskedBitmapItemData::DestroyAndSetMask( CFbsBitmap* aMask )
       
   269     {
       
   270     delete iMask;
       
   271     iMask = aMask;
       
   272     }
       
   273 
       
   274 // -----------------------------------------------------------------------------
       
   275 // CAknsMaskedBitmapItemData::Mask
       
   276 // (commented in the header).
       
   277 // -----------------------------------------------------------------------------
       
   278 //
       
   279 EXPORT_C CFbsBitmap* CAknsMaskedBitmapItemData::Mask()
       
   280     {
       
   281     return iMask;
       
   282     }
       
   283 
       
   284 // ============================ MEMBER FUNCTIONS ===============================
       
   285 
       
   286 // -----------------------------------------------------------------------------
       
   287 // C++ constructor can NOT contain any code, that might leave.
       
   288 // -----------------------------------------------------------------------------
       
   289 //
       
   290 CAknsColorTableItemData::CAknsColorTableItemData( const TAknsItemType aType )
       
   291     : CAknsImageItemData( aType )
       
   292     // CBase initializes: iColorArray( NULL ), iColorArraySize( 0 )
       
   293     {
       
   294     }
       
   295 
       
   296 // -----------------------------------------------------------------------------
       
   297 // CAknsColorTableItemData::NewL
       
   298 // Two-phased constructor.
       
   299 // -----------------------------------------------------------------------------
       
   300 //
       
   301 EXPORT_C CAknsColorTableItemData* CAknsColorTableItemData::NewL()
       
   302     {
       
   303     return new (ELeave) CAknsColorTableItemData( EAknsITColorTable );
       
   304     }
       
   305 
       
   306 // -----------------------------------------------------------------------------
       
   307 // Destructor.
       
   308 // -----------------------------------------------------------------------------
       
   309 //
       
   310 CAknsColorTableItemData::~CAknsColorTableItemData()
       
   311     {
       
   312     delete [] iColorArray;
       
   313     iColorArraySize = 0;
       
   314     }
       
   315 
       
   316 // -----------------------------------------------------------------------------
       
   317 // CAknsColorTableItemData::SetColorsL
       
   318 // (commented in the header).
       
   319 // -----------------------------------------------------------------------------
       
   320 //
       
   321 EXPORT_C void CAknsColorTableItemData::SetColorsL( const TInt aNumberOfColors,
       
   322     const TAknsColorTableEntry* aColors )
       
   323     {
       
   324     delete [] iColorArray;
       
   325     iColorArray = NULL;
       
   326     iColorArraySize = 0;
       
   327 
       
   328     iColorArray = new (ELeave) TAknsColorTableEntry[ //lint !e119 ELeave ok
       
   329         static_cast<TUint>(aNumberOfColors) ];
       
   330     Mem::Copy( iColorArray, aColors,
       
   331         static_cast<TInt>(sizeof(TAknsColorTableEntry))*aNumberOfColors );
       
   332     iColorArraySize = aNumberOfColors;
       
   333     }
       
   334 
       
   335 // -----------------------------------------------------------------------------
       
   336 // CAknsColorTableItemData::ColorIndexed
       
   337 // (commented in the header).
       
   338 // -----------------------------------------------------------------------------
       
   339 //
       
   340 EXPORT_C TInt CAknsColorTableItemData::ColorIndexed( const TInt aIndex ) const
       
   341     {
       
   342     __ASSERT_DEBUG( iColorArray, AKNS_DEBUG_PANIC( EAknsDPanicNotInitialized ) );
       
   343     __ASSERT_DEBUG( aIndex>=0, AKNS_DEBUG_PANIC( EAknsDPanicInvalidParameter ) );
       
   344     __ASSERT_DEBUG( aIndex<iColorArraySize, AKNS_DEBUG_PANIC( EAknsDPanicInvalidParameter ) );
       
   345 
       
   346     return iColorArray[ aIndex ].iIndex;
       
   347     }
       
   348 
       
   349 // -----------------------------------------------------------------------------
       
   350 // CAknsColorTableItemData::ColorRgb
       
   351 // (commented in the header).
       
   352 // -----------------------------------------------------------------------------
       
   353 //
       
   354 EXPORT_C TRgb CAknsColorTableItemData::ColorRgb( const TInt aIndex ) const
       
   355     {
       
   356     __ASSERT_DEBUG( iColorArray, AKNS_DEBUG_PANIC( EAknsDPanicNotInitialized ) );
       
   357     __ASSERT_DEBUG( aIndex>=0, AKNS_DEBUG_PANIC( EAknsDPanicInvalidParameter ) );
       
   358     __ASSERT_DEBUG( aIndex<iColorArraySize, AKNS_DEBUG_PANIC( EAknsDPanicInvalidParameter ) );
       
   359 
       
   360     return iColorArray[ aIndex ].iRgb;
       
   361     }
       
   362 
       
   363 // -----------------------------------------------------------------------------
       
   364 // CAknsColorTableItemData::GetColorL
       
   365 // (commented in the header).
       
   366 // -----------------------------------------------------------------------------
       
   367 //
       
   368 EXPORT_C void CAknsColorTableItemData::GetColorL(
       
   369     const TInt aIndex, TRgb& aColor ) const
       
   370     {
       
   371     if( !iColorArray )
       
   372         {
       
   373         User::Leave( KErrArgument );
       
   374         }
       
   375     if( (aIndex<0) || (aIndex>=iColorArraySize) )
       
   376         {
       
   377         User::Leave( KErrNotFound );
       
   378         }
       
   379 
       
   380     TInt indexed = ColorIndexed( aIndex );
       
   381     if( indexed >= 0 )
       
   382         {
       
   383         aColor = CAknEnv::AvkonColor( indexed );
       
   384         }
       
   385     else
       
   386         {
       
   387         aColor = ColorRgb( aIndex );
       
   388         }
       
   389     }
       
   390 
       
   391 // ============================ MEMBER FUNCTIONS ===============================
       
   392 
       
   393 // -----------------------------------------------------------------------------
       
   394 // C++ constructor can NOT contain any code, that might leave.
       
   395 // -----------------------------------------------------------------------------
       
   396 //
       
   397 CAknsImageTableItemData::CAknsImageTableItemData( const TAknsItemType aType )
       
   398     : CAknsImageItemData( aType )
       
   399     // CBase initializes: iNumberOfImages(0), iImageArray( NULL )
       
   400     {
       
   401     }
       
   402 
       
   403 // -----------------------------------------------------------------------------
       
   404 // CAknsImageTableItemData::NewL
       
   405 // Two-phased constructor.
       
   406 // -----------------------------------------------------------------------------
       
   407 //
       
   408 EXPORT_C CAknsImageTableItemData* CAknsImageTableItemData::NewL()
       
   409     {
       
   410     return new (ELeave) CAknsImageTableItemData( EAknsITImageTable );
       
   411     }
       
   412 
       
   413 // -----------------------------------------------------------------------------
       
   414 // Destructor.
       
   415 // -----------------------------------------------------------------------------
       
   416 //
       
   417 CAknsImageTableItemData::~CAknsImageTableItemData()
       
   418     {
       
   419     delete [] iImageArray;
       
   420     }
       
   421 
       
   422 // -----------------------------------------------------------------------------
       
   423 // CAknsImageTableItemData::SetImagesL
       
   424 // (commented in the header).
       
   425 // -----------------------------------------------------------------------------
       
   426 //
       
   427 EXPORT_C void CAknsImageTableItemData::SetImagesL( const TInt aNumberOfImages,
       
   428     const TAknsItemID* aImages )
       
   429     {
       
   430     delete [] iImageArray;
       
   431     iImageArray = NULL;
       
   432     iNumberOfImages = 0;
       
   433 
       
   434     iImageArray = new (ELeave) TAknsItemID[ //lint !e119 ELeave ok
       
   435         static_cast<TUint>(aNumberOfImages) ];
       
   436     iNumberOfImages = aNumberOfImages;
       
   437     Mem::Copy( iImageArray, aImages,
       
   438         static_cast<TInt>(sizeof(TAknsItemID))*aNumberOfImages );
       
   439     }
       
   440 
       
   441 // -----------------------------------------------------------------------------
       
   442 // CAknsImageTableItemData::ImageIID
       
   443 // (commented in the header).
       
   444 // -----------------------------------------------------------------------------
       
   445 //
       
   446 EXPORT_C TAknsItemID CAknsImageTableItemData::ImageIID( const TInt aIndex ) const
       
   447     {
       
   448     return iImageArray[aIndex];
       
   449     }
       
   450 
       
   451 // -----------------------------------------------------------------------------
       
   452 // CAknsImageTableItemData::Images
       
   453 // (commented in the header).
       
   454 // -----------------------------------------------------------------------------
       
   455 //
       
   456 EXPORT_C TAknsItemID* CAknsImageTableItemData::Images() const
       
   457     {
       
   458     return iImageArray;
       
   459     } //lint !e1763 Member exposed intentionally
       
   460 
       
   461 // -----------------------------------------------------------------------------
       
   462 // CAknsImageTableItemData::NumberOfImages
       
   463 // (commented in the header).
       
   464 // -----------------------------------------------------------------------------
       
   465 //
       
   466 EXPORT_C TInt CAknsImageTableItemData::NumberOfImages() const
       
   467     {
       
   468     return iNumberOfImages;
       
   469     }
       
   470 
       
   471 // ============================ MEMBER FUNCTIONS ===============================
       
   472 
       
   473 // -----------------------------------------------------------------------------
       
   474 // C++ constructor can NOT contain any code, that might leave.
       
   475 // -----------------------------------------------------------------------------
       
   476 //
       
   477 CAknsBmpAnimItemData::CAknsBmpAnimItemData( const TAknsItemType aType )
       
   478     : CAknsImageTableItemData( aType ), iFrameInterval( -1 )
       
   479     // CBase initializes: iFrameArray(NULL), iLastFrameBackground(EFalse),
       
   480     // iPlayMode(0), iFlash(EFalse)
       
   481     {
       
   482     }
       
   483 
       
   484 // -----------------------------------------------------------------------------
       
   485 // CAknsBmpAnimItemData::NewL
       
   486 // Two-phased constructor.
       
   487 // -----------------------------------------------------------------------------
       
   488 //
       
   489 EXPORT_C CAknsBmpAnimItemData* CAknsBmpAnimItemData::NewL()
       
   490     {
       
   491     return new (ELeave) CAknsBmpAnimItemData( EAknsITBmpAnim );
       
   492     }
       
   493 
       
   494 // -----------------------------------------------------------------------------
       
   495 // Destructor.
       
   496 // -----------------------------------------------------------------------------
       
   497 //
       
   498 CAknsBmpAnimItemData::~CAknsBmpAnimItemData()
       
   499     {
       
   500     delete [] iFrameArray;
       
   501     }
       
   502 
       
   503 // -----------------------------------------------------------------------------
       
   504 // CAknsBmpAnimItemData::SetFrameInfosL
       
   505 // (commented in the header).
       
   506 // -----------------------------------------------------------------------------
       
   507 //
       
   508 EXPORT_C void CAknsBmpAnimItemData::SetFrameInfosL(
       
   509     const TAknsBmpAnimFrameInfo* aFrameInfos )
       
   510     {
       
   511     delete [] iFrameArray;
       
   512     iFrameArray = NULL;
       
   513 
       
   514     iFrameArray = new (ELeave) TAknsBmpAnimFrameInfo[ //lint !e119 ELeave ok
       
   515         static_cast<TUint>(iNumberOfImages) ];
       
   516 
       
   517     Mem::Copy( iFrameArray, aFrameInfos,
       
   518         static_cast<TInt>(sizeof(TAknsBmpAnimFrameInfo))*iNumberOfImages );
       
   519     }
       
   520 
       
   521 // -----------------------------------------------------------------------------
       
   522 // CAknsBmpAnimItemData::FrameInfos
       
   523 // (commented in the header).
       
   524 // -----------------------------------------------------------------------------
       
   525 //
       
   526 EXPORT_C TAknsBmpAnimFrameInfo* CAknsBmpAnimItemData::FrameInfos() const
       
   527     {
       
   528     return iFrameArray;
       
   529     } //lint !e1763 Member exposed intentionally
       
   530 
       
   531 // -----------------------------------------------------------------------------
       
   532 // CAknsBmpAnimItemData::SetLastFrameBackground
       
   533 // (commented in the header).
       
   534 // -----------------------------------------------------------------------------
       
   535 //
       
   536 EXPORT_C void CAknsBmpAnimItemData::SetLastFrameBackground( TBool aLastFrameBg )
       
   537     {
       
   538     iLastFrameBackground = aLastFrameBg;
       
   539     }
       
   540 
       
   541 // -----------------------------------------------------------------------------
       
   542 // CAknsBmpAnimItemData::LastFrameBackground
       
   543 // (commented in the header).
       
   544 // -----------------------------------------------------------------------------
       
   545 //
       
   546 EXPORT_C TBool CAknsBmpAnimItemData::LastFrameBackground() const
       
   547     {
       
   548     return iLastFrameBackground;
       
   549     }
       
   550 
       
   551 // -----------------------------------------------------------------------------
       
   552 // CAknsBmpAnimItemData::SetFrameInterval
       
   553 // (commented in the header).
       
   554 // -----------------------------------------------------------------------------
       
   555 //
       
   556 EXPORT_C void CAknsBmpAnimItemData::SetFrameInterval( const TInt16 aFrameInterval )
       
   557     {
       
   558     iFrameInterval = aFrameInterval;
       
   559     }
       
   560 
       
   561 // -----------------------------------------------------------------------------
       
   562 // CAknsBmpAnimItemData::FrameInterval
       
   563 // (commented in the header).
       
   564 // -----------------------------------------------------------------------------
       
   565 //
       
   566 EXPORT_C TInt16 CAknsBmpAnimItemData::FrameInterval() const
       
   567     {
       
   568     return iFrameInterval;
       
   569     }
       
   570 
       
   571 // -----------------------------------------------------------------------------
       
   572 // CAknsBmpAnimItemData::SetPlayMode
       
   573 // (commented in the header).
       
   574 // -----------------------------------------------------------------------------
       
   575 //
       
   576 EXPORT_C void CAknsBmpAnimItemData::SetPlayMode( const TInt16 aPlayMode )
       
   577     {
       
   578     iPlayMode = aPlayMode;
       
   579     }
       
   580 
       
   581 // -----------------------------------------------------------------------------
       
   582 // CAknsBmpAnimItemData::PlayMode
       
   583 // (commented in the header).
       
   584 // -----------------------------------------------------------------------------
       
   585 //
       
   586 EXPORT_C TInt16 CAknsBmpAnimItemData::PlayMode() const
       
   587     {
       
   588     return iPlayMode;
       
   589     }
       
   590 
       
   591 // -----------------------------------------------------------------------------
       
   592 // CAknsBmpAnimItemData::SetFlash
       
   593 // (commented in the header).
       
   594 // -----------------------------------------------------------------------------
       
   595 //
       
   596 EXPORT_C void CAknsBmpAnimItemData::SetFlash( const TBool aFlash )
       
   597     {
       
   598     iFlash = aFlash;
       
   599     }
       
   600 
       
   601 // -----------------------------------------------------------------------------
       
   602 // CAknsBmpAnimItemData::Flash
       
   603 // (commented in the header).
       
   604 // -----------------------------------------------------------------------------
       
   605 //
       
   606 EXPORT_C TBool CAknsBmpAnimItemData::Flash() const
       
   607     {
       
   608     return iFlash;
       
   609     }
       
   610 
       
   611 // ============================ MEMBER FUNCTIONS ===============================
       
   612 
       
   613 // -----------------------------------------------------------------------------
       
   614 // C++ constructor can NOT contain any code, that might leave.
       
   615 // -----------------------------------------------------------------------------
       
   616 //
       
   617 CAknsStringItemData::CAknsStringItemData( const TAknsItemType aType )
       
   618     : CAknsItemData( aType )
       
   619     // CBase initializes iString(NULL)
       
   620     {
       
   621     }
       
   622 
       
   623 // -----------------------------------------------------------------------------
       
   624 // CAknsStringItemData::NewL
       
   625 // Two-phased constructor.
       
   626 // -----------------------------------------------------------------------------
       
   627 //
       
   628 EXPORT_C CAknsStringItemData* CAknsStringItemData::NewL()
       
   629     {
       
   630     return new (ELeave) CAknsStringItemData( EAknsITString );
       
   631     }
       
   632 
       
   633 // -----------------------------------------------------------------------------
       
   634 // Destructor.
       
   635 // -----------------------------------------------------------------------------
       
   636 //
       
   637 CAknsStringItemData::~CAknsStringItemData()
       
   638     {
       
   639     delete iString;
       
   640     }
       
   641 
       
   642 // -----------------------------------------------------------------------------
       
   643 // CAknsStringItemData::SetStringL
       
   644 // (commented in the header).
       
   645 // -----------------------------------------------------------------------------
       
   646 //
       
   647 EXPORT_C void CAknsStringItemData::SetStringL( const TDesC& aValue )
       
   648     {
       
   649     HBufC* temp = aValue.AllocL();
       
   650     delete iString;
       
   651     iString = temp;
       
   652     temp = NULL;
       
   653     }
       
   654 
       
   655 // -----------------------------------------------------------------------------
       
   656 // CAknsStringItemData::String
       
   657 // (commented in the header).
       
   658 // -----------------------------------------------------------------------------
       
   659 //
       
   660 EXPORT_C const TDesC& CAknsStringItemData::String() const
       
   661     {
       
   662     return *iString;
       
   663     } //lint !e1763 Member exposed intentionally
       
   664 
       
   665 //  End of File