uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomavkonpsln/src/bctestdompslncase.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomavkonpsln/src/bctestdompslncase.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,472 @@
+/*
+* 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:  ?Description
+*
+*/
+
+
+#include <w32std.h>
+#include <e32base.h>
+#include <coecntrl.h>
+#include <barsread.h>
+#include <badesca.h>
+#include <pslnfwiconhelper.h>
+#include <pslnfwpluginhandler.h>
+#include <coneresloader.h>
+#include <aknappui.h> 
+#include <eikspane.h> 
+#include <aknnavide.h>
+#include <pslnfwappthemehandler.h>
+#include <xnodt.h>
+#include <xnthememanagement.h>
+#include <aknform.h> 
+#include <sortutil.h>
+
+#include <bctestdomavkonpsln.rsg>
+
+#include "bctestdompslncase.h"
+#include "bctestdomavkonpslncontainer.h"
+#include "bctestdomavkonpslnext.h"
+#include "bctestdomavkonpsln.hrh"
+
+//    CONSTANTS
+
+const TInt KPluginUid = 0x101F84AF;
+
+_LIT( KFilePath, "z:\\resource\\psln.rsc" );
+_LIT( KFileName, "psln.rsc" );
+_LIT( KFileDir, "z:\\resource\\" );
+_LIT8( KMessage, "1");
+
+// =========================== MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd static Constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomPslnCase* CBCTestDomPslnCase::NewL( CBCTestDomAvkonPslnContainer* 
+    aContainer )
+    {
+    CBCTestDomPslnCase* self = new( ELeave ) CBCTestDomPslnCase( 
+        aContainer );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// C++ default constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomPslnCase::CBCTestDomPslnCase( CBCTestDomAvkonPslnContainer* 
+    aContainer )
+    : iContainer( aContainer )
+    {    
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomPslnCase::~CBCTestDomPslnCase()
+    {  
+    }
+    
+// ---------------------------------------------------------------------------
+// Symbian 2nd Constructor
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomPslnCase::ConstructL()
+    {    
+    BuildScriptL();    
+    }
+    
+// ---------------------------------------------------------------------------
+// CBCTestDomPslnCase::BuildScriptL
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomPslnCase::BuildScriptL()
+    { 
+    const TInt scripts[] =
+        {
+        LeftCBA,
+        REP( Down, 4 ),
+        LeftCBA
+        };
+    AddTestScriptL( scripts, sizeof(scripts)/sizeof(TInt) );     
+    }
+    
+// ---------------------------------------------------------------------------
+// CBCTestDomPslnCase::RunL
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomPslnCase::RunL( TInt aCmd )
+    {
+    if ( aCmd != EBCTestCmdOutline5 )
+        {
+        return;
+        }
+    switch ( aCmd )  
+        {
+        case EBCTestCmdOutline5:
+            TestPslnFWBaseContainerL();
+            TestPslnFWBaseViewL();
+            TestFWIconHelperL();
+            TestFWPluginHandlerL();
+            TestPslnFWAppThemeHandlerL();
+            break;
+        default:
+            break;
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CBCTestDomJPLangCase::TestPslnFWBaseContainerL()
+// ---------------------------------------------------------------------------
+//       
+void CBCTestDomPslnCase::TestPslnFWBaseContainerL()
+    {
+    
+    _LIT( KCPslnFWBaseContainer, 
+        "CPslnFWBaseContainer::CPslnFWBaseContainer() invoked" );
+    _LIT( KDes, 
+        "CPslnFWBaseContainer::~CPslnFWBaseContainer() invoked" );
+    _LIT( KConstructL, 
+        "CPslnFWBaseContainer::ConstructL() invoked" );
+    _LIT( KSetMiddleSoftkeyObserver, 
+        "CPslnFWBaseContainer::SetMiddleSoftkeyObserver() invoked" );
+    _LIT( KHandleResourceChange, 
+        "CPslnFWBaseContainer::HandleResourceChange() invoked" );                        
+    _LIT( KCountComponentControls, 
+        "CPslnFWBaseContainer::CountComponentControls() invoked" ); 
+    _LIT( KComponentControl, 
+        "CPslnFWBaseContainer::ComponentControl() invoked" ); 
+    _LIT( KOfferKeyEventL, 
+        "CPslnFWBaseContainer::OfferKeyEventL() invoked" ); 
+                             
+    TRect rect( 0, 0, 0, 0 );
+    CPslnFWBaseContainer* container = new ( ELeave ) CPslnFWBaseContainerExt;
+    CleanupStack::PushL( container );
+    AssertTrueL( ETrue, KCPslnFWBaseContainer );
+    
+    CMPslnFWMSKObserverExt* observer = new ( ELeave ) CMPslnFWMSKObserverExt;
+    CleanupStack::PushL( observer );
+    
+    container->ConstructL( rect );
+    AssertTrueL( ETrue, KConstructL );
+    container->SetFocus( EDrawNow );
+    
+    container->SetMiddleSoftkeyObserver( observer );
+    AssertTrueL( ETrue, KSetMiddleSoftkeyObserver );
+    
+    TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0  };
+    CCoeControl* ctrl = container;
+    
+    ctrl->HandleResourceChange( 0 );
+    AssertTrueL( ETrue, KHandleResourceChange );
+    
+    ctrl->CountComponentControls();
+    AssertTrueL( ETrue, KCountComponentControls );
+    
+    ctrl->ComponentControl( 0 );
+    AssertTrueL( ETrue, KComponentControl );
+    
+    ctrl->OfferKeyEventL( keyEvent, EEventKey );
+    AssertTrueL( ETrue, KOfferKeyEventL );
+    
+    AssertTrueL( ETrue, KDes );
+    
+    CleanupStack::PopAndDestroy( observer );
+    CleanupStack::Pop( container );
+    delete container;
+    
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestDomJPLangCase::TestPslnFWBaseView()
+// ---------------------------------------------------------------------------
+//    
+void CBCTestDomPslnCase::TestPslnFWBaseViewL()
+    {
+    
+    _LIT( KCPslnFWBaseView, "CPslnFWBaseView::CPslnFWBaseView() invoked" );
+    _LIT( KConstructL, "CPslnFWBaseView::ConstructL() invoked" );   
+    _LIT( KSetCurrentItem, "CPslnFWBaseView::SetCurrentItem() invoked" );    
+    _LIT( KSetNaviPaneL, "CPslnFWBaseView::SetNaviPaneL() invoked" );    
+    _LIT( KContainer, "CPslnFWBaseView::Container() invoked" );    
+    _LIT( KOpenLocalizedResourceFileL, 
+        "CPslnFWBaseView::OpenLocalizedResourceFileL() invoked" );       
+    _LIT( KOpenLocalizedResourceFileLOverload, 
+        "CPslnFWBaseView::OpenLocalizedResourceFileL() Overload invoked" );           
+    _LIT( KSetNaviPaneDecorator, 
+        "CPslnFWBaseView::SetNaviPaneDecorator() invoked" );         
+    _LIT( KDoDeactivate, "CPslnFWBaseView::DoDeactivate() invoked" );          
+    _LIT( KSetTabIndex, "CPslnFWBaseView::SetTabIndex() invoked" );              
+    _LIT( KGetTabIndex, "CPslnFWBaseView::GetTabIndex() invoked" );          
+    _LIT( KCreateNaviPaneContextL, 
+        "CPslnFWBaseView::CreateNaviPaneContextL() invoked" );          
+    _LIT( KCreateContainerL, "CPslnFWBaseView::CreateContainerL() invoked" );
+    _LIT( KDoActivateL, "CPslnFWBaseView::DoActivateL() invoked" );
+    _LIT( KSetNaviPaneLOverload, 
+        "CPslnFWBaseView::SetNaviPaneL() overload invoked" );    
+    _LIT( KNewContainerL, "CPslnFWBaseView::NewContainerL() invoked" );          
+    _LIT( KHandleListBoxEventL, 
+        "CPslnFWBaseView::HandleListBoxEventL() overload invoked" );
+    _LIT( KSetMiddleSoftKeyLabelL, 
+        "CPslnFWBaseView::SetMiddleSoftKeyLabelL() overload invoked" );          
+    _LIT( KHandleCommandL, "CPslnFWBaseView::HandleCommandL() invoked" );          
+    _LIT( KSetTitlePaneL, "CPslnFWBaseView::SetTitlePaneL() invoked" );  
+    _LIT( KDes, "CPslnFWBaseView::~CPslnFWBaseView() invoked" );
+            
+                                
+    CPslnFWBaseViewExt* view = new ( ELeave ) CPslnFWBaseViewExt();
+    CleanupStack::PushL( view );
+    
+    AssertNotNullL( view, KCPslnFWBaseView );
+
+    view->ConstructL();
+    AssertTrueL( ETrue, KConstructL ); 
+    view->SetCurrentItem( 0 );
+    AssertTrueL( ETrue, KSetCurrentItem );
+    
+    view->SetNaviPaneL();
+    AssertTrueL( ETrue, KSetNaviPaneL );
+    
+    view->Container();
+    AssertTrueL( ETrue, KContainer );
+
+    RConeResourceLoader loader( *CCoeEnv::Static() );
+    TRAPD( res, view->OpenLocalizedResourceFileL( KFilePath, loader  ) );
+    AssertTrueL( ETrue, KOpenLocalizedResourceFileL );
+    
+    TRAP( res, view->OpenLocalizedResourceFileL( KFileName, loader, &KFileDir ) );
+    AssertTrueL( ETrue, KOpenLocalizedResourceFileLOverload );
+     
+    CAknAppUi* appui = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
+    CEikStatusPane* pane = appui->StatusPane (); 
+    CAknNavigationControlContainer* container = 
+        static_cast<CAknNavigationControlContainer*>( 
+        pane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
+    
+    CAknForm* frm = new( ELeave ) CAknForm();
+    CleanupStack::PushL( frm );
+    frm->ConstructL();
+    CleanupStack::Pop( frm );
+    
+    CAknNavigationDecorator* decorate = 
+        CAknNavigationDecorator::NewL( container, frm );
+    CleanupStack::PushL( decorate );
+    
+    view->SetNaviPaneDecorator( decorate );
+    AssertTrueL( ETrue, KSetNaviPaneDecorator );
+    
+    view->DoDeactivate();
+    AssertTrueL( ETrue, KDoDeactivate );
+    
+    view->SetTabIndex( 0 );
+    AssertTrueL( ETrue, KSetTabIndex );
+    
+    view->GetTabIndex();
+    AssertTrueL( ETrue, KGetTabIndex );
+    
+    view->CreateNaviPaneContextL( 0 );
+    AssertTrueL( ETrue, KCreateNaviPaneContextL );
+    
+    view->CreateContainerL();
+    AssertTrueL( ETrue, KCreateContainerL );
+    
+    view->NewContainerL();
+    AssertTrueL( ETrue, KNewContainerL );
+    
+    TVwsViewId viewid;
+    view->DoActivateL( viewid, KNullUid, KMessage );
+    AssertTrueL( ETrue, KDoActivateL );
+    
+    view->SetNaviPaneL( 0 );
+    AssertTrueL( ETrue, KSetNaviPaneLOverload );
+    
+    view->HandleListBoxEventL( NULL,
+        MEikListBoxObserver::EEventEnterKeyPressed );
+    AssertTrueL( ETrue, KHandleListBoxEventL );
+    
+    view->SetMiddleSoftKeyLabelL( R_BCTEST_AVKONPSLN_LABEL, 0 );
+    AssertTrueL( ETrue, KSetMiddleSoftKeyLabelL );
+    
+    view->HandleCommandL( 0 );
+    AssertTrueL( ETrue, KHandleCommandL );
+    
+    view->SetTitlePaneL( res );
+    AssertTrueL( ETrue, KSetTitlePaneL );
+   
+    CleanupStack::Pop( decorate );
+    CleanupStack::PopAndDestroy( view );
+    AssertTrueL( ETrue, KDes );
+    
+    delete decorate;
+    
+    }
+    
+// ---------------------------------------------------------------------------
+// CBCTestDomPslnCase::TestPslnFWBaseView()
+// ---------------------------------------------------------------------------
+//  
+void CBCTestDomPslnCase::TestFWIconHelperL()
+    {
+    _LIT( KNewL, "CPslnFWIconHelper::NewL() invoked ");
+    _LIT( KAddIconsToSettingItemsL, 
+        "CPslnFWIconHelper::AddIconsToSettingItemsL() invoked ");
+    _LIT( KGetLocalizedStringLC, 
+        "CPslnFWIconHelper::GetLocalizedStringLC() invoked ");
+    _LIT( KDestruct, "CPslnFWIconHelper::~CPslnFWIconHelper() invoked ");          
+
+    CPslnFWIconHelper* helper = CPslnFWIconHelper::NewL();
+    CleanupStack::PushL( helper );
+    AssertNotNullL( helper, KNewL );
+    
+    CEikColumnListBox* textList = new( ELeave ) CEikColumnListBox();
+    CleanupStack::PushL( textList );
+    
+    textList->ConstructL( iContainer );
+    
+    helper->AddIconsToSettingItemsL( ETrue, 0, textList );
+    AssertTrueL( ETrue, KAddIconsToSettingItemsL );
+    
+    TRAP_IGNORE( helper->GetLocalizedStringLC( KFilePath, 0, CCoeEnv::Static() ) );
+    AssertTrueL( ETrue, KGetLocalizedStringLC );
+    CleanupStack::Pop( textList );
+    delete textList;
+    
+    CleanupStack::Pop( helper );
+    delete helper;
+    AssertTrueL( ETrue, KDestruct );
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestDomPslnCase::TestFWPluginHandlerL()
+// ---------------------------------------------------------------------------
+//  
+void CBCTestDomPslnCase::TestFWPluginHandlerL()
+    {
+    
+    _LIT( KNewL, "CPslnFWPluginHandler::NewL() invoked" );
+    _LIT( KNewLOverload, "CPslnFWPluginHandler::NewL() overload invoked" );
+    _LIT( KLoadPluginL, "CPslnFWPluginHandler::LoadPluginL() invoked" );
+    _LIT( KLoadPluginLOverLoad, 
+        "CPslnFWPluginHandler::LoadPluginL() overload invoked" );
+    _LIT( KDes, "CPslnFWPluginHandler::~CPslnFWPluginHandler() invoked" );
+    
+    CArrayPtrFlat<CPslnFWPluginInterface>* array = 
+        new ( ELeave ) CArrayPtrFlat<CPslnFWPluginInterface>( 1 );
+    CleanupStack::PushL( array );
+                  
+    CAknViewAppUi* appui  = static_cast<CAknViewAppUi*>
+        ( CEikonEnv::Static()->AppUi() );
+
+    CPslnFWPluginHandler* handle = 
+        CPslnFWPluginHandler::NewL( appui, array );
+    CleanupStack::PushL( handle );
+    AssertNotNullL( handle, KNewL );
+    
+    CleanupStack::Pop( handle );
+    CleanupStack::Pop( array );
+    
+    delete handle;
+    AssertTrueL( ETrue, KDes );
+    handle = NULL;
+    
+    array->Reset();
+    delete array;
+    
+    handle = CPslnFWPluginHandler::NewL( appui );
+    CleanupStack::PushL( handle );
+    AssertNotNullL( handle, KNewLOverload );
+    
+    CPslnFWPluginInterface* inf = handle->LoadPluginL( TUid::Uid( KPluginUid ) );
+    AssertTrueL( ETrue, KLoadPluginL );
+    
+    delete inf;
+    
+    TRAP_IGNORE( handle->LoadPluginsL( array ) );
+    AssertTrueL( ETrue, KLoadPluginLOverLoad );
+    
+    CleanupStack::Pop( handle );
+    delete handle;
+    handle = NULL;
+
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
+// ---------------------------------------------------------------------------
+//  
+void CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
+    {
+    //Added "CSortUtil::NewL()".
+    CSortUtil* sortUtil = CSortUtil::NewL();
+    CleanupStack::PushL( sortUtil );
+    _LIT( KCSortUtil, "CSortUtil::NewL" );
+    AssertTrueL( ETrue, KCSortUtil );
+    CleanupStack::PopAndDestroy( sortUtil );     
+    
+    _LIT( KCPslnFWAppThemeHandler, "CPslnFWAppThemeHandler::NewL() invoked" );
+    _LIT( KSetApplicationSkinL, 
+        "CPslnFWAppThemeHandler::SetApplicationSkinL() invoked" );
+    _LIT( KGetApplicationSkinsL, 
+        "CPslnFWAppThemeHandler::GetApplicationSkinsL() invoked" );
+    _LIT( KCancelGetApplicationSkins, 
+        "CPslnFWAppThemeHandler::CancelGetApplicationSkins() invoked" );
+    _LIT( KSetApplicationSkinAndExitL, 
+        "CPslnFWAppThemeHandler::SetApplicationSkinAndExitL() invoked" );
+    _LIT( KDes, "CPslnFWAppThemeHandler::~CPslnFWAppThemeHandler() invoked" );
+    
+    CXnODT* odt = CXnODT::NewL();
+    CleanupStack::PushL( odt );
+    CArrayPtrFlat<CXnODT>* array = 
+        new ( ELeave ) CArrayPtrFlat<CXnODT>( 1 );
+    CleanupStack::PushL( array );
+    
+    array->AppendL( odt, 0 );
+    CMPslnFWAppThemeObserverExt* observer = new ( ELeave ) 
+        CMPslnFWAppThemeObserverExt;
+    CleanupStack::PushL( observer );
+    
+    CPslnFWAppThemeHandler* handler = 
+        CPslnFWAppThemeHandler::NewL( *observer, *array );
+    CleanupStack::PushL( handler );
+    AssertNotNullL( handler, KCPslnFWAppThemeHandler );
+    
+    TXnServiceCompletedMessage msg = 
+        handler->GetApplicationSkinsL( TUid::Uid( KPluginUid ) );
+    AssertTrueL( ETrue, KGetApplicationSkinsL );
+    
+    handler->SetApplicationSkinL( *odt );
+    AssertTrueL( ETrue, KSetApplicationSkinL );
+   
+    handler->CancelGetApplicationSkins();
+    AssertTrueL( ETrue, KCancelGetApplicationSkins );
+    
+    handler->SetApplicationSkinAndExitL( *odt );
+    AssertTrueL( ETrue, KSetApplicationSkinAndExitL );
+    
+    CleanupStack::PopAndDestroy( handler );
+    AssertTrueL( ETrue, KDes );
+    array->Reset();
+    CleanupStack::PopAndDestroy( observer );
+    CleanupStack::PopAndDestroy( array );
+    CleanupStack::PopAndDestroy( odt );
+    
+    }
+//end of file