/*
* Copyright (c) 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 case
*
*/
#include <w32std.h>
#include <coecntrl.h>
#include "bctesttemplatecase.h"
#include "bctesttemplatecontainer.h"
#include "bctesttemplate.hrh"
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
// Symbian 2nd static Constructor
// ---------------------------------------------------------------------------
//
CBCTestTemplateCase* CBCTestTemplateCase::NewL( CBCTestTemplateContainer*
aContainer )
{
CBCTestTemplateCase* self = new( ELeave ) CBCTestTemplateCase(
aContainer );
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
return self;
}
// ---------------------------------------------------------------------------
// C++ default constructor
// ---------------------------------------------------------------------------
//
CBCTestTemplateCase::CBCTestTemplateCase( CBCTestTemplateContainer*
aContainer )
: iContainer( aContainer )
{
}
// ---------------------------------------------------------------------------
// Destructor
// ---------------------------------------------------------------------------
//
CBCTestTemplateCase::~CBCTestTemplateCase()
{
}
// ---------------------------------------------------------------------------
// Symbian 2nd Constructor
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::ConstructL()
{
BuildScriptL();
}
// ---------------------------------------------------------------------------
// CBCTestTemplateCase::BuildScriptL
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::BuildScriptL()
{
// Add script as your need.
AddTestL( DELAY(1), LeftCBA, KeyOK, TEND );
}
// ---------------------------------------------------------------------------
// CBCTestTemplateCase::RunL
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::RunL( TInt aCmd )
{
if ( aCmd < EBCTestCmdOutline1 || aCmd > EBCTestCmdOutline1 )
{
return;
}
// Call release before prepare to let container has time to draw the
// control created in PrepareCaseL.
ReleaseCaseL();
PrepareCaseL( aCmd );
switch ( aCmd )
{
case EBCTestCmdOutline1:
TestFunction();
break;
default:
break;
}
}
// ---------------------------------------------------------------------------
// CBCTestTemplateCase::PrepareCaseL
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::PrepareCaseL( TInt aCmd )
{
switch ( aCmd )
{
case EBCTestCmdOutline1:
// Here is a simple demo. You should create your control
// instead of this.
iControl = new( ELeave ) CCoeControl();
iControl->SetContainerWindowL( *iContainer );
iControl->MakeVisible( ETrue );
break;
default:
break;
}
// Pass the owner of iControl to iContainer.
iContainer->SetControl( iControl );
}
// ---------------------------------------------------------------------------
// CBCTestTemplateCase::ReleaseCaseL
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::ReleaseCaseL()
{
// let container delete the component control.
iContainer->ResetControl();
iControl = NULL;
}
// ---------------------------------------------------------------------------
// CBCTestTemplateCase::TestLayoutDecorator
// ---------------------------------------------------------------------------
//
void CBCTestTemplateCase::TestFunction()
{
// Test some API here
}