--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseikbtgpc.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,1001 @@
+/*
+* 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 "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 api in eikbtgpc.h
+*
+*/
+
+
+
+// [INCLUDE FILES]
+#include <e32svr.h>
+#include <stifparser.h>
+#include <stiftestinterface.h>
+#include <testsdkbuttons.rsg>
+#include <akniconutils.h>
+#include <avkon.mbg>
+#include <s32mem.h>
+
+#include "testsdkbuttons.hrh"
+#include "testsdkbuttons.h"
+
+// CONSTANTS
+_LIT( KBtTxt, "BtGroupContainer" );
+_LIT( KBitmapFile, "Z:\\resource\\apps\\avkon2.mbm" );
+const TInt KHeapSize = 20000;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerNewL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerNewL( CStifItemParser& aItem )
+ {
+ TInt num = 0;
+ TInt err = aItem.GetNextInt( num );
+ if ( err != KErrNone )
+ {
+ return err;
+ }
+ switch ( num )
+ {
+ case ECaseOne:
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ break;
+ }
+ case ECaseTwo:
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON,
+ *iContainer );
+ CleanupStack::PushL( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ break;
+ }
+ case ECaseThree:
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON,
+ CCoeEnv::Static()->RootWin() );
+ CleanupStack::PushL( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ break;
+ }
+ default:
+ return KErrNotSupported;
+ }
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCurrent
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCurrent( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer::Current();
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerNewL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerSetCommandL( CStifItemParser& aItem )
+ {
+ TInt num = 0;
+ TInt err = aItem.GetNextInt( num );
+ if ( err != KErrNone )
+ {
+ return err;
+ }
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ switch ( num )
+ {
+ case ECaseOne:
+ {
+ btgroupcontainer->SetCommandL( 0, EBckBt, KBtTxt );
+ break;
+ }
+ case ECaseTwo:
+ {
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ btgroupcontainer->SetCommandL( 0, EBckBt, *bitmap, *mask );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseThree:
+ {
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ btgroupcontainer->SetCommandL( 0, EBckBt, KBtTxt , *bitmap, *mask );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseFour:
+ {
+ btgroupcontainer->SetCommandL( 0, EBckBt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ break;
+ }
+ case ECaseFive:
+ {
+ btgroupcontainer->SetCommandL( 0, EBckBt, KBtTxt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ break;
+ }
+ case ECaseSix:
+ {
+ btgroupcontainer->SetCommandL( 0, R_GPS_CBABUTTON );
+ break;
+ }
+ case ECaseSeven:
+ {
+ TRAP( err, btgroupcontainer->SetCommandL( EBckBt, KBtTxt ) );
+ break;
+ }
+ case ECaseEight:
+ {
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ TRAP( err, btgroupcontainer->SetCommandL( EBckBt, *bitmap, *mask ) );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseNine:
+ {
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ TRAP( err, btgroupcontainer->SetCommandL( EBckBt, KBtTxt , *bitmap, *mask ) );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseTen:
+ {
+ TRAP( err, btgroupcontainer->SetCommandL( EBckBt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ) );
+ break;
+ }
+ case ECaseEleven:
+ {
+ TRAP( err, btgroupcontainer->SetCommandL( ELeftBt, KBtTxt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ) );
+ break;
+ }
+ default:
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrNotSupported;
+ }
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ if ( err != KErrNone )
+ {
+ err = KErrNone;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerSetCommandSetL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerSetCommandSetL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->SetCommandSetL( R_GPS_CBABUTTON_FORSET );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerSetCommandSetL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerAddCommandL( CStifItemParser& aItem )
+ {
+ TInt num = 0;
+ TInt err = aItem.GetNextInt( num );
+ if ( err != KErrNone )
+ {
+ return err;
+ }
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ switch ( num )
+ {
+ case ECaseOne:
+ {
+ TRAP( err, btgroupcontainer->AddCommandL( 0, EBckBt, KBtTxt ) );
+ break;
+ }
+ case ECaseTwo:
+ {
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ TRAP( err, btgroupcontainer->AddCommandL( 0, EBckBt, *bitmap, *mask ) );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseThree:
+ {
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ TRAP( err, btgroupcontainer->AddCommandL( 0, EBckBt, KBtTxt, *bitmap, *mask ) );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseFour:
+ {
+ TRAP( err, btgroupcontainer->AddCommandL( 0, EBckBt, KBitmapFile, *bitmap, *mask ) );
+ break;
+ }
+ case ECaseFive:
+ {
+ TRAP( err, btgroupcontainer->AddCommandL( 0, EBckBt, KBtTxt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ) );
+ break;
+ }
+ default:
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrNotSupported;
+ }
+
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ if ( err != KErrNone )
+ {
+ err = KErrNone;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerSetCommandSetL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerAddCommandToStackL( CStifItemParser& aItem )
+ {
+ TInt num = 0;
+ TInt err = aItem.GetNextInt( num );
+ if ( err != KErrNone )
+ {
+ return err;
+ }
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ switch ( num )
+ {
+ case ECaseOne:
+ {
+ btgroupcontainer->AddCommandToStackL( 0, EBckBt, KBtTxt );
+ break;
+ }
+ case ECaseTwo:
+ {
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ btgroupcontainer->AddCommandToStackL( 0, EBckBt, *bitmap, *mask );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseThree:
+ {
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ btgroupcontainer->AddCommandToStackL( 0, EBckBt, KBtTxt, *bitmap, *mask );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseFour:
+ {
+ AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ CleanupStack::PushL( bitmap );
+ CleanupStack::PushL( mask );
+ btgroupcontainer->AddCommandToStackL( 0, EBckBt, KBitmapFile, *bitmap, *mask );
+ CleanupStack::Pop( 2 );
+ break;
+ }
+ case ECaseFive:
+ {
+ btgroupcontainer->AddCommandToStackL( 0, EBckBt, KBtTxt, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+ break;
+ }
+ case ECaseSix:
+ {
+ btgroupcontainer->AddCommandToStackL( 0, R_GPS_CBABUTTON_FORSET );
+ break;
+ }
+ default:
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrNotSupported;
+ }
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerAddCommandSetToStackL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerAddCommandSetToStackL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->AddCommandSetToStackL( R_GPS_CBABUTTON_FORSET );
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerRemoveCommandFromStackL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerRemoveCommandFromStackL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->AddCommandSetToStackL( R_GPS_CBABUTTON_FORSET );
+ btgroupcontainer->RemoveCommandFromStack( 0, ELeftBt );
+
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerSetDefaultCommandL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerSetDefaultCommandL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->AddCommandSetToStackL( R_GPS_CBABUTTON_FORSET );
+ btgroupcontainer->SetDefaultCommand( ELeftBt );
+
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCalcMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCalcMinimumSizeL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ TSize size( 0, 0);
+ size = btgroupcontainer->CalcMinimumSizeL( R_GPS_CBABUTTON );
+ if ( size.iHeight == 0 || size.iWidth == 0 )
+ {
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrGeneral;
+ }
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCalcMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCleanupFunctionL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->CleanupCommandPushL( 0 );
+ btgroupcontainer->CleanupCommandPop();
+ btgroupcontainer->CleanupCommandPushL( 0 );
+ btgroupcontainer->CleanupCommandPushL( 1 );
+ btgroupcontainer->CleanupCommandPop( 2 );
+
+ btgroupcontainer->CleanupCommandPushL( 0 );
+ btgroupcontainer->CleanupCommandPopAndDestroy();
+ btgroupcontainer->CleanupCommandPushL( 0 );
+ btgroupcontainer->CleanupCommandPopAndDestroy( 1 );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerBtNumberL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerBtNumberL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->AddCommandSetToStackL( R_GPS_CBABUTTON_FORSET );
+ btgroupcontainer->MaxCommands();
+ TInt count = btgroupcontainer->ButtonCount();
+ if ( count != 3 )
+ {
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrGeneral;
+ }
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( btgroupcontainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCmdDimL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCmdDimL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->DimCommand( ELeftBt, ETrue );
+ TBool result = btgroupcontainer->IsCommandDimmed( ELeftBt );
+ if ( result )
+ {
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrCorrupt;
+ }
+ btgroupcontainer->DimCommandByPosition( CEikButtonGroupContainer::ELeftSoftkeyPosition, EFalse );
+ result = btgroupcontainer->IsCommandDimmedByPosition( CEikButtonGroupContainer::ELeftSoftkeyPosition );
+ if ( result )
+ {
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrCorrupt;
+ }
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCmdAnimateL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCmdAnimateL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->AnimateCommand( ELeftBt );
+ btgroupcontainer->AnimateCommandByPosition( CEikButtonGroupContainer::ELeftSoftkeyPosition );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCmdVisibleL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCmdVisibleL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->MakeCommandVisible( ELeftBt, ETrue );
+ TBool result = btgroupcontainer->IsCommandVisible( ELeftBt );
+ if ( result )
+ {
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrCorrupt;
+ }
+ btgroupcontainer->MakeCommandVisibleByPosition( CEikButtonGroupContainer::ELeftSoftkeyPosition, EFalse );
+ result = btgroupcontainer->IsCommandVisibleByPosition( CEikButtonGroupContainer::ELeftSoftkeyPosition );
+ if ( result )
+ {
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrCorrupt;
+ }
+
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerLocationL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerLocationL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ CEikButtonGroupContainer::TLocation local = btgroupcontainer->Location();
+ if ( local != CEikButtonGroupContainer::EExternal )
+ {
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+ return KErrCorrupt;
+ }
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerCommandButtonOrNullL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerCommandButtonOrNullL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->CommandButtonOrNull( ELeftBt );
+ // debug will panic directly and urel will return null directly
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerControlOrNullL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerControlOrNullL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->ControlOrNull( ELeftBt );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerSetBoundingRectL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerSetBoundingRectL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ TRect rect( 20, 20, 40, 40);
+ btgroupcontainer->SetBoundingRect( rect );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerReduceRectL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerReduceRectL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ TRect rect( 20, 20, 40, 40);
+ btgroupcontainer->ReduceRect( rect );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerGetBtAndBtPositionAndBtTypeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerGetBtAndBtPositionAndBtTypeL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->ButtonById( ELeftBt );
+ // debug will panic directly and urel will return null directly
+ btgroupcontainer->PositionById( ELeftBt );
+ // debug will panic directly and urel will return null directly
+ if (CEikButtonGroupContainer::ECba != btgroupcontainer->ButtonGroupType() )
+ {
+ return KErrCorrupt;
+ }
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerUpdateHotKeyL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerUpdateHotKeyL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->UpdateHotKey( ELeftBt, CEikButtonGroupContainer::EShowHotKey, 0 );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerUpdateCommandObserverL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerUpdateCommandObserverL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->UpdateCommandObserverL( 0, *iContainer );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerRemoveCommandObserverL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerRemoveCommandObserverL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->UpdateCommandObserverL( 0, *iContainer );
+ btgroupcontainer->RemoveCommandObserver( 0 );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerUpdatedCommandObserverExistsL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerUpdatedCommandObserverExistsL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->UpdatedCommandObserverExists( CEikButtonGroupContainer::ELeftSoftkeyPosition );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerDelayActivationL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerDelayActivationL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->DelayActivation();
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerButtonGroupL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerButtonGroupL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ STIF_ASSERT_NOT_NULL( btgroupcontainer->ButtonGroup() );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerReservedFunctionL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerReservedFunctionL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->Reserved_MtsmObject();
+ btgroupcontainer->Reserved_MtsmPosition();
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerOfferCommandListL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerOfferCommandListL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ RArray<TInt> cmdlist;
+ for ( TInt i = 0; i < btgroupcontainer->ButtonCount(); i++ )
+ {
+ cmdlist.AppendL( i );
+ }
+ btgroupcontainer->OfferCommandListL( cmdlist );
+ btgroupcontainer->OfferCommandListL( R_GPS_CBABUTTON_FORSET );
+ STIF_ASSERT_NOT_NULL( btgroupcontainer->ButtonGroup() );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerIsCommandInGroupL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerIsCommandInGroupL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->IsCommandInGroup( ELeftBt );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerIsCommandInGroupL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerReplaceCommandL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->ReplaceCommand( ELeftBt, R_GPS_BUTTON );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerMinimumSizeL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->MinimumSize();
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerOfferKeyEventL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ TKeyEvent keyevent;
+ keyevent.iCode = EKeyDevice3;
+ btgroupcontainer->OfferKeyEventL( keyevent, EEventKey );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerMakeVisibleL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ btgroupcontainer->MakeVisible( ETrue );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtGroupContainerMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtGroupContainerWriteInternalStateL( CStifItemParser& /*aItem*/ )
+ {
+ CEikButtonGroupContainer* btgroupcontainer = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ iContainer,
+ R_GPS_CBABUTTON );
+ CleanupStack::PushL( btgroupcontainer );
+ HBufC8* buf8 = HBufC8::NewL( KHeapSize );
+ CleanupStack::PushL( buf8 );
+ TPtr8 ptr = buf8->Des();
+ RDesWriteStream stream;
+ CleanupClosePushL( stream );
+ stream.Open( ptr );
+ btgroupcontainer->WriteInternalStateL( stream );
+ stream.CommitL();
+ stream.Close();
+ CleanupStack::PopAndDestroy( &stream );
+ CleanupStack::PopAndDestroy( buf8 );
+ CleanupStack::PopAndDestroy( btgroupcontainer );
+
+ return KErrNone;
+ }
+
+// End of file
+