uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomavkonpsln/src/bctestdompslncase.cpp
changeset 21 558113899881
parent 14 3320e4e6e8bb
child 22 75713bee6484
child 33 b3425bf29f82
equal deleted inserted replaced
14:3320e4e6e8bb 21:558113899881
     1 /*
       
     2 * Copyright (c) 2007 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:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include <w32std.h>
       
    20 #include <e32base.h>
       
    21 #include <coecntrl.h>
       
    22 #include <barsread.h>
       
    23 #include <badesca.h>
       
    24 #include <pslnfwiconhelper.h>
       
    25 #include <pslnfwpluginhandler.h>
       
    26 #include <coneresloader.h>
       
    27 #include <aknappui.h> 
       
    28 #include <eikspane.h> 
       
    29 #include <aknnavide.h>
       
    30 #include <pslnfwappthemehandler.h>
       
    31 #include <xnodt.h>
       
    32 #include <xnthememanagement.h>
       
    33 #include <aknform.h> 
       
    34 #include <sortutil.h>
       
    35 
       
    36 #include <bctestdomavkonpsln.rsg>
       
    37 
       
    38 #include "bctestdompslncase.h"
       
    39 #include "bctestdomavkonpslncontainer.h"
       
    40 #include "bctestdomavkonpslnext.h"
       
    41 #include "bctestdomavkonpsln.hrh"
       
    42 
       
    43 //    CONSTANTS
       
    44 
       
    45 const TInt KPluginUid = 0x101F84AF;
       
    46 
       
    47 _LIT( KFilePath, "z:\\resource\\psln.rsc" );
       
    48 _LIT( KFileName, "psln.rsc" );
       
    49 _LIT( KFileDir, "z:\\resource\\" );
       
    50 _LIT8( KMessage, "1");
       
    51 
       
    52 // =========================== MEMBER FUNCTIONS =============================
       
    53 
       
    54 // ---------------------------------------------------------------------------
       
    55 // Symbian 2nd static Constructor
       
    56 // ---------------------------------------------------------------------------
       
    57 //
       
    58 CBCTestDomPslnCase* CBCTestDomPslnCase::NewL( CBCTestDomAvkonPslnContainer* 
       
    59     aContainer )
       
    60     {
       
    61     CBCTestDomPslnCase* self = new( ELeave ) CBCTestDomPslnCase( 
       
    62         aContainer );
       
    63     CleanupStack::PushL( self );
       
    64     self->ConstructL();
       
    65     CleanupStack::Pop( self );
       
    66     return self;
       
    67     }
       
    68     
       
    69 // ---------------------------------------------------------------------------
       
    70 // C++ default constructor
       
    71 // ---------------------------------------------------------------------------
       
    72 //
       
    73 CBCTestDomPslnCase::CBCTestDomPslnCase( CBCTestDomAvkonPslnContainer* 
       
    74     aContainer )
       
    75     : iContainer( aContainer )
       
    76     {    
       
    77     }
       
    78     
       
    79 // ---------------------------------------------------------------------------
       
    80 // Destructor
       
    81 // ---------------------------------------------------------------------------
       
    82 //
       
    83 CBCTestDomPslnCase::~CBCTestDomPslnCase()
       
    84     {  
       
    85     }
       
    86     
       
    87 // ---------------------------------------------------------------------------
       
    88 // Symbian 2nd Constructor
       
    89 // ---------------------------------------------------------------------------
       
    90 //
       
    91 void CBCTestDomPslnCase::ConstructL()
       
    92     {    
       
    93     BuildScriptL();    
       
    94     }
       
    95     
       
    96 // ---------------------------------------------------------------------------
       
    97 // CBCTestDomPslnCase::BuildScriptL
       
    98 // ---------------------------------------------------------------------------
       
    99 //
       
   100 void CBCTestDomPslnCase::BuildScriptL()
       
   101     { 
       
   102     const TInt scripts[] =
       
   103         {
       
   104         LeftCBA,
       
   105         REP( Down, 4 ),
       
   106         LeftCBA
       
   107         };
       
   108     AddTestScriptL( scripts, sizeof(scripts)/sizeof(TInt) );     
       
   109     }
       
   110     
       
   111 // ---------------------------------------------------------------------------
       
   112 // CBCTestDomPslnCase::RunL
       
   113 // ---------------------------------------------------------------------------
       
   114 //
       
   115 void CBCTestDomPslnCase::RunL( TInt aCmd )
       
   116     {
       
   117     if ( aCmd != EBCTestCmdOutline5 )
       
   118         {
       
   119         return;
       
   120         }
       
   121     switch ( aCmd )  
       
   122         {
       
   123         case EBCTestCmdOutline5:
       
   124             TestPslnFWBaseContainerL();
       
   125             TestPslnFWBaseViewL();
       
   126             TestFWIconHelperL();
       
   127             TestFWPluginHandlerL();
       
   128             TestPslnFWAppThemeHandlerL();
       
   129             break;
       
   130         default:
       
   131             break;
       
   132         }
       
   133     }
       
   134 
       
   135 
       
   136 // ---------------------------------------------------------------------------
       
   137 // CBCTestDomJPLangCase::TestPslnFWBaseContainerL()
       
   138 // ---------------------------------------------------------------------------
       
   139 //       
       
   140 void CBCTestDomPslnCase::TestPslnFWBaseContainerL()
       
   141     {
       
   142     
       
   143     _LIT( KCPslnFWBaseContainer, 
       
   144         "CPslnFWBaseContainer::CPslnFWBaseContainer() invoked" );
       
   145     _LIT( KDes, 
       
   146         "CPslnFWBaseContainer::~CPslnFWBaseContainer() invoked" );
       
   147     _LIT( KConstructL, 
       
   148         "CPslnFWBaseContainer::ConstructL() invoked" );
       
   149     _LIT( KSetMiddleSoftkeyObserver, 
       
   150         "CPslnFWBaseContainer::SetMiddleSoftkeyObserver() invoked" );
       
   151     _LIT( KHandleResourceChange, 
       
   152         "CPslnFWBaseContainer::HandleResourceChange() invoked" );                        
       
   153     _LIT( KCountComponentControls, 
       
   154         "CPslnFWBaseContainer::CountComponentControls() invoked" ); 
       
   155     _LIT( KComponentControl, 
       
   156         "CPslnFWBaseContainer::ComponentControl() invoked" ); 
       
   157     _LIT( KOfferKeyEventL, 
       
   158         "CPslnFWBaseContainer::OfferKeyEventL() invoked" ); 
       
   159                              
       
   160     TRect rect( 0, 0, 0, 0 );
       
   161     CPslnFWBaseContainer* container = new ( ELeave ) CPslnFWBaseContainerExt;
       
   162     CleanupStack::PushL( container );
       
   163     AssertTrueL( ETrue, KCPslnFWBaseContainer );
       
   164     
       
   165     CMPslnFWMSKObserverExt* observer = new ( ELeave ) CMPslnFWMSKObserverExt;
       
   166     CleanupStack::PushL( observer );
       
   167     
       
   168     container->ConstructL( rect );
       
   169     AssertTrueL( ETrue, KConstructL );
       
   170     container->SetFocus( EDrawNow );
       
   171     
       
   172     container->SetMiddleSoftkeyObserver( observer );
       
   173     AssertTrueL( ETrue, KSetMiddleSoftkeyObserver );
       
   174     
       
   175     TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0  };
       
   176     CCoeControl* ctrl = container;
       
   177     
       
   178     ctrl->HandleResourceChange( 0 );
       
   179     AssertTrueL( ETrue, KHandleResourceChange );
       
   180     
       
   181     ctrl->CountComponentControls();
       
   182     AssertTrueL( ETrue, KCountComponentControls );
       
   183     
       
   184     ctrl->ComponentControl( 0 );
       
   185     AssertTrueL( ETrue, KComponentControl );
       
   186     
       
   187     ctrl->OfferKeyEventL( keyEvent, EEventKey );
       
   188     AssertTrueL( ETrue, KOfferKeyEventL );
       
   189     
       
   190     AssertTrueL( ETrue, KDes );
       
   191     
       
   192     CleanupStack::PopAndDestroy( observer );
       
   193     CleanupStack::Pop( container );
       
   194     delete container;
       
   195     
       
   196     }
       
   197 
       
   198 // ---------------------------------------------------------------------------
       
   199 // CBCTestDomJPLangCase::TestPslnFWBaseView()
       
   200 // ---------------------------------------------------------------------------
       
   201 //    
       
   202 void CBCTestDomPslnCase::TestPslnFWBaseViewL()
       
   203     {
       
   204     
       
   205     _LIT( KCPslnFWBaseView, "CPslnFWBaseView::CPslnFWBaseView() invoked" );
       
   206     _LIT( KConstructL, "CPslnFWBaseView::ConstructL() invoked" );   
       
   207     _LIT( KSetCurrentItem, "CPslnFWBaseView::SetCurrentItem() invoked" );    
       
   208     _LIT( KSetNaviPaneL, "CPslnFWBaseView::SetNaviPaneL() invoked" );    
       
   209     _LIT( KContainer, "CPslnFWBaseView::Container() invoked" );    
       
   210     _LIT( KOpenLocalizedResourceFileL, 
       
   211         "CPslnFWBaseView::OpenLocalizedResourceFileL() invoked" );       
       
   212     _LIT( KOpenLocalizedResourceFileLOverload, 
       
   213         "CPslnFWBaseView::OpenLocalizedResourceFileL() Overload invoked" );           
       
   214     _LIT( KSetNaviPaneDecorator, 
       
   215         "CPslnFWBaseView::SetNaviPaneDecorator() invoked" );         
       
   216     _LIT( KDoDeactivate, "CPslnFWBaseView::DoDeactivate() invoked" );          
       
   217     _LIT( KSetTabIndex, "CPslnFWBaseView::SetTabIndex() invoked" );              
       
   218     _LIT( KGetTabIndex, "CPslnFWBaseView::GetTabIndex() invoked" );          
       
   219     _LIT( KCreateNaviPaneContextL, 
       
   220         "CPslnFWBaseView::CreateNaviPaneContextL() invoked" );          
       
   221     _LIT( KCreateContainerL, "CPslnFWBaseView::CreateContainerL() invoked" );
       
   222     _LIT( KDoActivateL, "CPslnFWBaseView::DoActivateL() invoked" );
       
   223     _LIT( KSetNaviPaneLOverload, 
       
   224         "CPslnFWBaseView::SetNaviPaneL() overload invoked" );    
       
   225     _LIT( KNewContainerL, "CPslnFWBaseView::NewContainerL() invoked" );          
       
   226     _LIT( KHandleListBoxEventL, 
       
   227         "CPslnFWBaseView::HandleListBoxEventL() overload invoked" );
       
   228     _LIT( KSetMiddleSoftKeyLabelL, 
       
   229         "CPslnFWBaseView::SetMiddleSoftKeyLabelL() overload invoked" );          
       
   230     _LIT( KHandleCommandL, "CPslnFWBaseView::HandleCommandL() invoked" );          
       
   231     _LIT( KSetTitlePaneL, "CPslnFWBaseView::SetTitlePaneL() invoked" );  
       
   232     _LIT( KDes, "CPslnFWBaseView::~CPslnFWBaseView() invoked" );
       
   233             
       
   234                                 
       
   235     CPslnFWBaseViewExt* view = new ( ELeave ) CPslnFWBaseViewExt();
       
   236     CleanupStack::PushL( view );
       
   237     
       
   238     AssertNotNullL( view, KCPslnFWBaseView );
       
   239 
       
   240     view->ConstructL();
       
   241     AssertTrueL( ETrue, KConstructL ); 
       
   242     view->SetCurrentItem( 0 );
       
   243     AssertTrueL( ETrue, KSetCurrentItem );
       
   244     
       
   245     view->SetNaviPaneL();
       
   246     AssertTrueL( ETrue, KSetNaviPaneL );
       
   247     
       
   248     view->Container();
       
   249     AssertTrueL( ETrue, KContainer );
       
   250 
       
   251     RConeResourceLoader loader( *CCoeEnv::Static() );
       
   252     TRAPD( res, view->OpenLocalizedResourceFileL( KFilePath, loader  ) );
       
   253     AssertTrueL( ETrue, KOpenLocalizedResourceFileL );
       
   254     
       
   255     TRAP( res, view->OpenLocalizedResourceFileL( KFileName, loader, &KFileDir ) );
       
   256     AssertTrueL( ETrue, KOpenLocalizedResourceFileLOverload );
       
   257      
       
   258     CAknAppUi* appui = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
       
   259     CEikStatusPane* pane = appui->StatusPane (); 
       
   260     CAknNavigationControlContainer* container = 
       
   261         static_cast<CAknNavigationControlContainer*>( 
       
   262         pane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
       
   263     
       
   264     CAknForm* frm = new( ELeave ) CAknForm();
       
   265     CleanupStack::PushL( frm );
       
   266     frm->ConstructL();
       
   267     CleanupStack::Pop( frm );
       
   268     
       
   269     CAknNavigationDecorator* decorate = 
       
   270         CAknNavigationDecorator::NewL( container, frm );
       
   271     CleanupStack::PushL( decorate );
       
   272     
       
   273     view->SetNaviPaneDecorator( decorate );
       
   274     AssertTrueL( ETrue, KSetNaviPaneDecorator );
       
   275     
       
   276     view->DoDeactivate();
       
   277     AssertTrueL( ETrue, KDoDeactivate );
       
   278     
       
   279     view->SetTabIndex( 0 );
       
   280     AssertTrueL( ETrue, KSetTabIndex );
       
   281     
       
   282     view->GetTabIndex();
       
   283     AssertTrueL( ETrue, KGetTabIndex );
       
   284     
       
   285     view->CreateNaviPaneContextL( 0 );
       
   286     AssertTrueL( ETrue, KCreateNaviPaneContextL );
       
   287     
       
   288     view->CreateContainerL();
       
   289     AssertTrueL( ETrue, KCreateContainerL );
       
   290     
       
   291     view->NewContainerL();
       
   292     AssertTrueL( ETrue, KNewContainerL );
       
   293     
       
   294     TVwsViewId viewid;
       
   295     view->DoActivateL( viewid, KNullUid, KMessage );
       
   296     AssertTrueL( ETrue, KDoActivateL );
       
   297     
       
   298     view->SetNaviPaneL( 0 );
       
   299     AssertTrueL( ETrue, KSetNaviPaneLOverload );
       
   300     
       
   301     view->HandleListBoxEventL( NULL,
       
   302         MEikListBoxObserver::EEventEnterKeyPressed );
       
   303     AssertTrueL( ETrue, KHandleListBoxEventL );
       
   304     
       
   305     view->SetMiddleSoftKeyLabelL( R_BCTEST_AVKONPSLN_LABEL, 0 );
       
   306     AssertTrueL( ETrue, KSetMiddleSoftKeyLabelL );
       
   307     
       
   308     view->HandleCommandL( 0 );
       
   309     AssertTrueL( ETrue, KHandleCommandL );
       
   310     
       
   311     view->SetTitlePaneL( res );
       
   312     AssertTrueL( ETrue, KSetTitlePaneL );
       
   313    
       
   314     CleanupStack::Pop( decorate );
       
   315     CleanupStack::PopAndDestroy( view );
       
   316     AssertTrueL( ETrue, KDes );
       
   317     
       
   318     delete decorate;
       
   319     
       
   320     }
       
   321     
       
   322 // ---------------------------------------------------------------------------
       
   323 // CBCTestDomPslnCase::TestPslnFWBaseView()
       
   324 // ---------------------------------------------------------------------------
       
   325 //  
       
   326 void CBCTestDomPslnCase::TestFWIconHelperL()
       
   327     {
       
   328     _LIT( KNewL, "CPslnFWIconHelper::NewL() invoked ");
       
   329     _LIT( KAddIconsToSettingItemsL, 
       
   330         "CPslnFWIconHelper::AddIconsToSettingItemsL() invoked ");
       
   331     _LIT( KGetLocalizedStringLC, 
       
   332         "CPslnFWIconHelper::GetLocalizedStringLC() invoked ");
       
   333     _LIT( KDestruct, "CPslnFWIconHelper::~CPslnFWIconHelper() invoked ");          
       
   334 
       
   335     CPslnFWIconHelper* helper = CPslnFWIconHelper::NewL();
       
   336     CleanupStack::PushL( helper );
       
   337     AssertNotNullL( helper, KNewL );
       
   338     
       
   339     CEikColumnListBox* textList = new( ELeave ) CEikColumnListBox();
       
   340     CleanupStack::PushL( textList );
       
   341     
       
   342     textList->ConstructL( iContainer );
       
   343     
       
   344     helper->AddIconsToSettingItemsL( ETrue, 0, textList );
       
   345     AssertTrueL( ETrue, KAddIconsToSettingItemsL );
       
   346     
       
   347     TRAP_IGNORE( helper->GetLocalizedStringLC( KFilePath, 0, CCoeEnv::Static() ) );
       
   348     AssertTrueL( ETrue, KGetLocalizedStringLC );
       
   349     CleanupStack::Pop( textList );
       
   350     delete textList;
       
   351     
       
   352     CleanupStack::Pop( helper );
       
   353     delete helper;
       
   354     AssertTrueL( ETrue, KDestruct );
       
   355     }
       
   356 
       
   357 // ---------------------------------------------------------------------------
       
   358 // CBCTestDomPslnCase::TestFWPluginHandlerL()
       
   359 // ---------------------------------------------------------------------------
       
   360 //  
       
   361 void CBCTestDomPslnCase::TestFWPluginHandlerL()
       
   362     {
       
   363     
       
   364     _LIT( KNewL, "CPslnFWPluginHandler::NewL() invoked" );
       
   365     _LIT( KNewLOverload, "CPslnFWPluginHandler::NewL() overload invoked" );
       
   366     _LIT( KLoadPluginL, "CPslnFWPluginHandler::LoadPluginL() invoked" );
       
   367     _LIT( KLoadPluginLOverLoad, 
       
   368         "CPslnFWPluginHandler::LoadPluginL() overload invoked" );
       
   369     _LIT( KDes, "CPslnFWPluginHandler::~CPslnFWPluginHandler() invoked" );
       
   370     
       
   371     CArrayPtrFlat<CPslnFWPluginInterface>* array = 
       
   372         new ( ELeave ) CArrayPtrFlat<CPslnFWPluginInterface>( 1 );
       
   373     CleanupStack::PushL( array );
       
   374                   
       
   375     CAknViewAppUi* appui  = static_cast<CAknViewAppUi*>
       
   376         ( CEikonEnv::Static()->AppUi() );
       
   377 
       
   378     CPslnFWPluginHandler* handle = 
       
   379         CPslnFWPluginHandler::NewL( appui, array );
       
   380     CleanupStack::PushL( handle );
       
   381     AssertNotNullL( handle, KNewL );
       
   382     
       
   383     CleanupStack::Pop( handle );
       
   384     CleanupStack::Pop( array );
       
   385     
       
   386     delete handle;
       
   387     AssertTrueL( ETrue, KDes );
       
   388     handle = NULL;
       
   389     
       
   390     array->Reset();
       
   391     delete array;
       
   392     
       
   393     handle = CPslnFWPluginHandler::NewL( appui );
       
   394     CleanupStack::PushL( handle );
       
   395     AssertNotNullL( handle, KNewLOverload );
       
   396     
       
   397     CPslnFWPluginInterface* inf = handle->LoadPluginL( TUid::Uid( KPluginUid ) );
       
   398     AssertTrueL( ETrue, KLoadPluginL );
       
   399     
       
   400     delete inf;
       
   401     
       
   402     TRAP_IGNORE( handle->LoadPluginsL( array ) );
       
   403     AssertTrueL( ETrue, KLoadPluginLOverLoad );
       
   404     
       
   405     CleanupStack::Pop( handle );
       
   406     delete handle;
       
   407     handle = NULL;
       
   408 
       
   409     }
       
   410 
       
   411 // ---------------------------------------------------------------------------
       
   412 // CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
       
   413 // ---------------------------------------------------------------------------
       
   414 //  
       
   415 void CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
       
   416     {
       
   417     //Added "CSortUtil::NewL()".
       
   418     CSortUtil* sortUtil = CSortUtil::NewL();
       
   419     CleanupStack::PushL( sortUtil );
       
   420     _LIT( KCSortUtil, "CSortUtil::NewL" );
       
   421     AssertTrueL( ETrue, KCSortUtil );
       
   422     CleanupStack::PopAndDestroy( sortUtil );     
       
   423     
       
   424     _LIT( KCPslnFWAppThemeHandler, "CPslnFWAppThemeHandler::NewL() invoked" );
       
   425     _LIT( KSetApplicationSkinL, 
       
   426         "CPslnFWAppThemeHandler::SetApplicationSkinL() invoked" );
       
   427     _LIT( KGetApplicationSkinsL, 
       
   428         "CPslnFWAppThemeHandler::GetApplicationSkinsL() invoked" );
       
   429     _LIT( KCancelGetApplicationSkins, 
       
   430         "CPslnFWAppThemeHandler::CancelGetApplicationSkins() invoked" );
       
   431     _LIT( KSetApplicationSkinAndExitL, 
       
   432         "CPslnFWAppThemeHandler::SetApplicationSkinAndExitL() invoked" );
       
   433     _LIT( KDes, "CPslnFWAppThemeHandler::~CPslnFWAppThemeHandler() invoked" );
       
   434     
       
   435     CXnODT* odt = CXnODT::NewL();
       
   436     CleanupStack::PushL( odt );
       
   437     CArrayPtrFlat<CXnODT>* array = 
       
   438         new ( ELeave ) CArrayPtrFlat<CXnODT>( 1 );
       
   439     CleanupStack::PushL( array );
       
   440     
       
   441     array->AppendL( odt, 0 );
       
   442     CMPslnFWAppThemeObserverExt* observer = new ( ELeave ) 
       
   443         CMPslnFWAppThemeObserverExt;
       
   444     CleanupStack::PushL( observer );
       
   445     
       
   446     CPslnFWAppThemeHandler* handler = 
       
   447         CPslnFWAppThemeHandler::NewL( *observer, *array );
       
   448     CleanupStack::PushL( handler );
       
   449     AssertNotNullL( handler, KCPslnFWAppThemeHandler );
       
   450     
       
   451     TXnServiceCompletedMessage msg = 
       
   452         handler->GetApplicationSkinsL( TUid::Uid( KPluginUid ) );
       
   453     AssertTrueL( ETrue, KGetApplicationSkinsL );
       
   454     
       
   455     handler->SetApplicationSkinL( *odt );
       
   456     AssertTrueL( ETrue, KSetApplicationSkinL );
       
   457    
       
   458     handler->CancelGetApplicationSkins();
       
   459     AssertTrueL( ETrue, KCancelGetApplicationSkins );
       
   460     
       
   461     handler->SetApplicationSkinAndExitL( *odt );
       
   462     AssertTrueL( ETrue, KSetApplicationSkinAndExitL );
       
   463     
       
   464     CleanupStack::PopAndDestroy( handler );
       
   465     AssertTrueL( ETrue, KDes );
       
   466     array->Reset();
       
   467     CleanupStack::PopAndDestroy( observer );
       
   468     CleanupStack::PopAndDestroy( array );
       
   469     CleanupStack::PopAndDestroy( odt );
       
   470     
       
   471     }
       
   472 //end of file