/*
* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: Test AknsUtils.h
*
*/
#include <aknsutils.h>
#include <eikdialg.h>
#include <avkon.mbg>
#include <aknsitemid.h>
#include <aknsitemdef.h>
#include "testsdkskins.h"
#include "testsdkskinscontrol.h"
const TInt KLength = 10;
_LIT( KMapfile, "z:\\resource\\apps\\avkon2.mbm" );
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUInitSkinSupportL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUInitSkinSupportL( CStifItemParser& /*aItem*/ )
{
AknsUtils::InitSkinSupportL();
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateDataContextForContainerL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateDataContextForContainerL( CStifItemParser& /*aItem*/ )
{
MAknsDataContext* context = AknsUtils::CreateDataContextForContainerL();
STIF_ASSERT_NOT_NULL( context );
delete context;
context = NULL;
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateBitmapItemDefL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateBitmapItemDefL( CStifItemParser& /*aItem*/ )
{
TAknsItemID itemID;
CAknsItemDef* def = AknsUtils::CreateBitmapItemDefL( itemID, KMapfile, 0 );
CleanupStack::PushL( def );
STIF_ASSERT_NOT_NULL( def );
CleanupStack::PopAndDestroy( def );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateMaskedBitmapItemDefL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateMaskedBitmapItemDefL( CStifItemParser& /*aItem*/ )
{
TAknsItemID itemID;
CAknsItemDef* def = AknsUtils::CreateMaskedBitmapItemDefL( itemID, KMapfile, 1, 2 );
CleanupStack::PushL( def );
STIF_ASSERT_NOT_NULL( def );
CleanupStack::PopAndDestroy( def );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUSkinInstanceL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUSkinInstanceL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
STIF_ASSERT_NOT_NULL( instance );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUDataContextL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUDataContextL( CStifItemParser& /*aItem*/ )
{
CEikDialog* dialog = new (ELeave) CEikDialog;
CleanupStack::PushL( dialog );
STIF_ASSERT_NOT_NULL( dialog );
MAknsDataContext* context = AknsUtils::DataContext( dialog );
STIF_ASSERT_NOT_NULL( context );
CleanupStack::PopAndDestroy( dialog );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateIconML
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateIconML( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
AknsUtils::CreateIconL( instance, itemID, bitMap, bitMapMask, KMapfile,
EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
CleanupStack::PushL( bitMap );
CleanupStack::PushL( bitMapMask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::Pop( bitMapMask );
CleanupStack::Pop( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateIconMLC
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateIconMLC( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
AknsUtils::CreateIconLC( instance, itemID, bitMap, bitMapMask, KMapfile,
EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::Pop( bitMapMask );
CleanupStack::Pop( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateIconL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateIconL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CFbsBitmap* bitMap = NULL;
AknsUtils::CreateIconL( instance, itemID, bitMap, KMapfile, EMbmAvkonQgn_indi_mic );
CleanupStack::PushL( bitMap );
STIF_ASSERT_NOT_NULL( bitMap );
CleanupStack::Pop( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateIconLC
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateIconLC( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CFbsBitmap* bitMap = NULL;
AknsUtils::CreateIconLC( instance, itemID, bitMap, KMapfile, EMbmAvkonQgn_indi_mic );
STIF_ASSERT_NOT_NULL( bitMap );
CleanupStack::Pop( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateMaskedBitmapL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateMaskedBitmapL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CApaMaskedBitmap* bitMap = AknsUtils::CreateMaskedBitmapL( instance, itemID, KMapfile, 1, 2 );
CleanupStack::PushL( bitMap );
STIF_ASSERT_NOT_NULL( bitMap );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateGulIconL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateGulIconL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
CGulIcon* guiIcon = AknsUtils::CreateGulIconL( instance, itemID, KMapfile, 1, 2 );
CleanupStack::PushL( guiIcon );
STIF_ASSERT_NOT_NULL( guiIcon );
CleanupStack::PopAndDestroy( guiIcon );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateAppIconLC
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateAppIconLC( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TUid uid = TUid::Uid( 0x2001CB80 );
AknsUtils::CreateAppIconLC( instance, uid, EAknsAppIconTypeContext, bitMap, bitMapMask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUOpenAppIconFileL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUOpenAppIconFileL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
_LIT( KAppIconFile, "C:\\appicon.txt" );
RFs rfs;
CleanupClosePushL( rfs );
User::LeaveIfError( rfs.Connect() );
RFile file;
CleanupClosePushL( file );
file.Replace( rfs, KAppIconFile, EFileWrite );
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TUid uid = TUid::Uid( 0x2001CB80 );
AknsUtils::CreateAppIconLC( instance, uid, EAknsAppIconTypeContext, bitMap, bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::PopAndDestroy( bitMapMask );
AknsUtils* util = NULL;
TInt flag = util->OpenAppIconFile( instance, uid, EAknsAppIconType3D, file );
STIF_ASSERT_TRUE( KErrNotSupported == flag );
CleanupStack::PopAndDestroy( &file );
CleanupStack::PopAndDestroy( &rfs );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateColorIconL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateColorIconL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
TAknsItemID colorID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TRgb rgb = 0x00020408;
AknsUtils::CreateColorIconL( instance, itemID, colorID, 0, bitMap, bitMapMask, KMapfile, 1, 2, rgb );
CleanupStack::PushL( bitMap );
CleanupStack::PushL( bitMapMask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateColorIconLC
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateColorIconLC( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
TAknsItemID colorID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TRgb rgb = 0x00020408;
AknsUtils::CreateColorIconLC( instance, itemID, colorID, 0, bitMap,
bitMapMask, KMapfile, 1, 2, rgb );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateColorIconML
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateColorIconML( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
TAknsItemID colorID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TRgb rgb = 0x00020408;
TSize size( KLength, KLength );
AknsUtils::CreateColorIconL( instance, itemID, colorID, 0, bitMap, bitMapMask,
KMapfile, 1, 2, rgb, size, EAspectRatioPreserved );
CleanupStack::PushL( bitMap );
CleanupStack::PushL( bitMapMask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateColorIconMLC
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateColorIconMLC( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TAknsItemID itemID;
TAknsItemID colorID;
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
TRgb rgb = 0x00020408;
TSize size( KLength, KLength );
AknsUtils::CreateColorIconLC( instance, itemID, colorID, 0, bitMap, bitMapMask,
KMapfile, 1, 2, rgb, size, EAspectRatioPreserved );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUGetAppIconL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUGetAppIconL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CApaMaskedBitmap* bitMapMask = CApaMaskedBitmap::NewLC();
STIF_ASSERT_NOT_NULL( bitMapMask );
TUid uid = TUid::Uid( 0x2001CB80 );
TSize size( KLength, KLength );
TInt flag = AknsUtils::GetAppIcon( instance, uid, size, *bitMapMask );
CleanupStack::PopAndDestroy( bitMapMask );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateBitmapL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateBitmapL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CFbsBitmap* bitMap = AknsUtils::CreateBitmapL( instance, KAknsIIDQsnCpScrollBgTop );
CleanupStack::PushL( bitMap );
STIF_ASSERT_NOT_NULL( bitMap );
CleanupStack::PopAndDestroy( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateMaskedBitmapIL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateMaskedBitmapIL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TRAP_IGNORE( AknsUtils::CreateMaskedBitmapL( instance, KAknsIIDQsnCpScrollBgTop ) );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUCreateGulIconIL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUCreateGulIconIL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CGulIcon* icon = AknsUtils::CreateGulIconL( instance, KAknsIIDQsnCpScrollBgTop, EFalse );
CleanupStack::PushL( icon );
STIF_ASSERT_NOT_NULL( icon );
CleanupStack::PopAndDestroy( icon );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUGetCachedBitmapL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUGetCachedBitmapL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CFbsBitmap* bitMap = AknsUtils::GetCachedBitmap( instance, KAknsIIDQsnCpScrollBgTop );
STIF_ASSERT_NOT_NULL( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUGetCachedMaskedBitmapL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUGetCachedMaskedBitmapL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
CFbsBitmap* bitMap = NULL;
CFbsBitmap* bitMapMask = NULL;
AknsUtils::GetCachedMaskedBitmap( instance, KAknsIIDQsnCpScrollBgTop, bitMap, bitMapMask );
CleanupStack::PushL( bitMap );
CleanupStack::PushL( bitMapMask );
STIF_ASSERT_NOT_NULL( bitMap );
STIF_ASSERT_NOT_NULL( bitMapMask );
CleanupStack::Pop( bitMapMask );
CleanupStack::Pop( bitMap );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUGetCachedColorL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUGetCachedColorL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TRgb rgb;
TInt flag = AknsUtils::GetCachedColor( instance, rgb, KAknsIIDQsnComponentColors, 1 );
STIF_ASSERT_TRUE( KErrNone == flag );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUBooleanPropertyL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUBooleanPropertyL( CStifItemParser& /*aItem*/ )
{
MAknsSkinInstance* instance = AknsUtils::SkinInstance();
CleanupStack::PushL( instance );
TRAPD( err, AknsUtils::BooleanPropertyL( instance, KAknsIIDPropertyMessageHeaderLines ) );
STIF_ASSERT_TRUE( err == KErrNotFound );
CleanupStack::Pop( instance );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUSetAvkonSkinEnabledL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUSetAvkonSkinEnabledL( CStifItemParser& /*aItem*/ )
{
AknsUtils::SetAvkonSkinEnabledL( ETrue );
TBool skin = AknsUtils::AvkonSkinEnabled();
STIF_ASSERT_TRUE( skin );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUAvkonSkinEnabledL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUAvkonSkinEnabledL( CStifItemParser& aItem )
{
return TestUSetAvkonSkinEnabledL( aItem );
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUSetAvkonHighlightAnimationEnabledL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUSetAvkonHighlightAnimationEnabledL( CStifItemParser& /*aItem*/ )
{
AknsUtils::SetAvkonHighlightAnimationEnabledL( ETrue );
TBool skin = AknsUtils::AvkonHighlightAnimationEnabled();
STIF_ASSERT_TRUE( skin );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUAvkonHighlightAnimationEnabledL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUAvkonHighlightAnimationEnabledL( CStifItemParser& aItem )
{
return TestUSetAvkonHighlightAnimationEnabledL( aItem );
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestURegisterControlPositionL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestURegisterControlPositionL( CStifItemParser& /*aItem*/ )
{
CTestSDKSkinsControl* control = CTestSDKSkinsControl::NewL();
CleanupStack::PushL( control );
STIF_ASSERT_NOT_NULL( control );
AknsUtils::RegisterControlPosition( control );
AknsUtils::DeregisterControlPosition( control );
CleanupStack::PopAndDestroy( control );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestURegisterControlPositionPL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestURegisterControlPositionPL( CStifItemParser& /*aItem*/ )
{
CTestSDKSkinsControl* control = CTestSDKSkinsControl::NewL();
CleanupStack::PushL( control );
STIF_ASSERT_NOT_NULL( control );
TPoint point( KLength, KLength );
TPoint pointGet;
AknsUtils::RegisterControlPosition( control, point );
TInt flag = AknsUtils::GetControlPosition( control, pointGet );
STIF_ASSERT_TRUE( flag == KErrNone );
STIF_ASSERT_TRUE( point == pointGet );
AknsUtils::DeregisterControlPosition( control );
CleanupStack::PopAndDestroy( control );
return KErrNone;
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUDeregisterControlPositionL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUDeregisterControlPositionL( CStifItemParser& aItem )
{
return TestURegisterControlPositionL( aItem );
}
// -----------------------------------------------------------------------------
// CTestSDKSkins::TestUGetControlPositionL
// -----------------------------------------------------------------------------
TInt CTestSDKSkins::TestUGetControlPositionL( CStifItemParser& aItem )
{
return TestURegisterControlPositionPL( aItem );
}