uifw/AvKon/tsrc/bc/bctestdom3.2/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         DELAY(1),
       
   105         LeftCBA,
       
   106         REP( Down, 4 ),
       
   107         KeyOK,
       
   108         TEND
       
   109         };
       
   110     AddTestScriptL( scripts, sizeof(scripts)/sizeof(TInt) );
       
   111     }
       
   112 
       
   113 // ---------------------------------------------------------------------------
       
   114 // CBCTestDomPslnCase::RunL
       
   115 // ---------------------------------------------------------------------------
       
   116 //
       
   117 void CBCTestDomPslnCase::RunL( TInt aCmd )
       
   118     {
       
   119     if ( aCmd != EBCTestCmdOutline5 )
       
   120         {
       
   121         return;
       
   122         }
       
   123     switch ( aCmd )
       
   124         {
       
   125         case EBCTestCmdOutline5:
       
   126             TestPslnFWBaseContainerL();
       
   127             TestPslnFWBaseViewL();
       
   128             TestFWIconHelperL();
       
   129             TestFWPluginHandlerL();
       
   130             TestPslnFWAppThemeHandlerL();
       
   131             break;
       
   132         default:
       
   133             break;
       
   134         }
       
   135     }
       
   136 
       
   137 
       
   138 // ---------------------------------------------------------------------------
       
   139 // CBCTestDomJPLangCase::TestPslnFWBaseContainerL()
       
   140 // ---------------------------------------------------------------------------
       
   141 //
       
   142 void CBCTestDomPslnCase::TestPslnFWBaseContainerL()
       
   143     {
       
   144 
       
   145     _LIT( KCPslnFWBaseContainer,
       
   146         "CPslnFWBaseContainer::CPslnFWBaseContainer() invoked" );
       
   147     _LIT( KDes,
       
   148         "CPslnFWBaseContainer::~CPslnFWBaseContainer() invoked" );
       
   149     _LIT( KConstructL,
       
   150         "CPslnFWBaseContainer::ConstructL() invoked" );
       
   151     _LIT( KSetMiddleSoftkeyObserver,
       
   152         "CPslnFWBaseContainer::SetMiddleSoftkeyObserver() invoked" );
       
   153     _LIT( KHandleResourceChange,
       
   154         "CPslnFWBaseContainer::HandleResourceChange() invoked" );
       
   155     _LIT( KCountComponentControls,
       
   156         "CPslnFWBaseContainer::CountComponentControls() invoked" );
       
   157     _LIT( KComponentControl,
       
   158         "CPslnFWBaseContainer::ComponentControl() invoked" );
       
   159     _LIT( KOfferKeyEventL,
       
   160         "CPslnFWBaseContainer::OfferKeyEventL() invoked" );
       
   161 
       
   162     TRect rect( 0, 0, 0, 0 );
       
   163     CPslnFWBaseContainer* container = new ( ELeave ) CPslnFWBaseContainerExt;
       
   164     CleanupStack::PushL( container );
       
   165     AssertTrueL( ETrue, KCPslnFWBaseContainer );
       
   166 
       
   167     CMPslnFWMSKObserverExt* observer = new ( ELeave ) CMPslnFWMSKObserverExt;
       
   168     CleanupStack::PushL( observer );
       
   169 
       
   170     container->ConstructL( rect );
       
   171     AssertTrueL( ETrue, KConstructL );
       
   172 
       
   173     container->SetMiddleSoftkeyObserver( observer );
       
   174     AssertTrueL( ETrue, KSetMiddleSoftkeyObserver );
       
   175 
       
   176     TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0  };
       
   177     CCoeControl* ctrl = container;
       
   178 
       
   179     ctrl->HandleResourceChange( 0 );
       
   180     AssertTrueL( ETrue, KHandleResourceChange );
       
   181 
       
   182     ctrl->CountComponentControls();
       
   183     AssertTrueL( ETrue, KCountComponentControls );
       
   184 
       
   185     ctrl->ComponentControl( 0 );
       
   186     AssertTrueL( ETrue, KComponentControl );
       
   187 
       
   188     ctrl->OfferKeyEventL( keyEvent, EEventKey );
       
   189     AssertTrueL( ETrue, KOfferKeyEventL );
       
   190 
       
   191     AssertTrueL( ETrue, KDes );
       
   192 
       
   193     CleanupStack::PopAndDestroy( observer );
       
   194     CleanupStack::Pop( container );
       
   195     delete container;
       
   196 
       
   197     }
       
   198 
       
   199 // ---------------------------------------------------------------------------
       
   200 // CBCTestDomJPLangCase::TestPslnFWBaseView()
       
   201 // ---------------------------------------------------------------------------
       
   202 //
       
   203 void CBCTestDomPslnCase::TestPslnFWBaseViewL()
       
   204     {
       
   205 
       
   206     _LIT( KCPslnFWBaseView, "CPslnFWBaseView::CPslnFWBaseView() invoked" );
       
   207     _LIT( KConstructL, "CPslnFWBaseView::ConstructL() invoked" );
       
   208     _LIT( KSetCurrentItem, "CPslnFWBaseView::SetCurrentItem() invoked" );
       
   209     _LIT( KSetNaviPaneL, "CPslnFWBaseView::SetNaviPaneL() invoked" );
       
   210     _LIT( KContainer, "CPslnFWBaseView::Container() invoked" );
       
   211     _LIT( KOpenLocalizedResourceFileL,
       
   212         "CPslnFWBaseView::OpenLocalizedResourceFileL() invoked" );
       
   213     _LIT( KOpenLocalizedResourceFileLOverload,
       
   214         "CPslnFWBaseView::OpenLocalizedResourceFileL() Overload invoked" );
       
   215     _LIT( KSetNaviPaneDecorator,
       
   216         "CPslnFWBaseView::SetNaviPaneDecorator() invoked" );
       
   217     _LIT( KDoDeactivate, "CPslnFWBaseView::DoDeactivate() invoked" );
       
   218     _LIT( KSetTabIndex, "CPslnFWBaseView::SetTabIndex() invoked" );
       
   219     _LIT( KGetTabIndex, "CPslnFWBaseView::GetTabIndex() invoked" );
       
   220     _LIT( KCreateNaviPaneContextL,
       
   221         "CPslnFWBaseView::CreateNaviPaneContextL() invoked" );
       
   222     _LIT( KCreateContainerL, "CPslnFWBaseView::CreateContainerL() invoked" );
       
   223     _LIT( KDoActivateL, "CPslnFWBaseView::DoActivateL() invoked" );
       
   224     _LIT( KSetNaviPaneLOverload,
       
   225         "CPslnFWBaseView::SetNaviPaneL() overload invoked" );
       
   226     _LIT( KNewContainerL, "CPslnFWBaseView::NewContainerL() invoked" );
       
   227     _LIT( KHandleListBoxEventL,
       
   228         "CPslnFWBaseView::HandleListBoxEventL() overload invoked" );
       
   229     _LIT( KSetMiddleSoftKeyLabelL,
       
   230         "CPslnFWBaseView::SetMiddleSoftKeyLabelL() overload invoked" );
       
   231     _LIT( KHandleCommandL, "CPslnFWBaseView::HandleCommandL() invoked" );
       
   232     _LIT( KSetTitlePaneL, "CPslnFWBaseView::SetTitlePaneL() invoked" );
       
   233     _LIT( KDes, "CPslnFWBaseView::~CPslnFWBaseView() invoked" );
       
   234 
       
   235 
       
   236     CPslnFWBaseViewExt* view = new ( ELeave ) CPslnFWBaseViewExt();
       
   237     CleanupStack::PushL( view );
       
   238 
       
   239     AssertNotNullL( view, KCPslnFWBaseView );
       
   240 
       
   241     view->ConstructL();
       
   242     AssertTrueL( ETrue, KConstructL );
       
   243     view->SetCurrentItem( 0 );
       
   244     AssertTrueL( ETrue, KSetCurrentItem );
       
   245 
       
   246     view->SetNaviPaneL();
       
   247     AssertTrueL( ETrue, KSetNaviPaneL );
       
   248 
       
   249     view->Container();
       
   250     AssertTrueL( ETrue, KContainer );
       
   251 
       
   252     RConeResourceLoader loader( *CCoeEnv::Static() );
       
   253     TRAPD( res, view->OpenLocalizedResourceFileL( KFilePath, loader  ) );
       
   254     AssertTrueL( ETrue, KOpenLocalizedResourceFileL );
       
   255 
       
   256     TRAP( res, view->OpenLocalizedResourceFileL( KFileName, loader, &KFileDir ) );
       
   257     AssertTrueL( ETrue, KOpenLocalizedResourceFileLOverload );
       
   258 
       
   259     CAknAppUi* appui = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
       
   260     CEikStatusPane* pane = appui->StatusPane ();
       
   261     CAknNavigationControlContainer* container =
       
   262         static_cast<CAknNavigationControlContainer*>(
       
   263         pane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
       
   264 
       
   265     CAknForm* frm = new( ELeave ) CAknForm();
       
   266     CleanupStack::PushL( frm );
       
   267     frm->ConstructL();
       
   268     CleanupStack::Pop( frm );
       
   269 
       
   270     CAknNavigationDecorator* decorate =
       
   271         CAknNavigationDecorator::NewL( container, frm );
       
   272     CleanupStack::PushL( decorate );
       
   273 
       
   274     view->SetNaviPaneDecorator( decorate );
       
   275     AssertTrueL( ETrue, KSetNaviPaneDecorator );
       
   276 
       
   277     view->DoDeactivate();
       
   278     AssertTrueL( ETrue, KDoDeactivate );
       
   279 
       
   280     view->SetTabIndex( 0 );
       
   281     AssertTrueL( ETrue, KSetTabIndex );
       
   282 
       
   283     view->GetTabIndex();
       
   284     AssertTrueL( ETrue, KGetTabIndex );
       
   285 
       
   286     view->CreateNaviPaneContextL( 0 );
       
   287     AssertTrueL( ETrue, KCreateNaviPaneContextL );
       
   288 
       
   289     view->CreateContainerL();
       
   290     AssertTrueL( ETrue, KCreateContainerL );
       
   291 
       
   292     view->NewContainerL();
       
   293     AssertTrueL( ETrue, KNewContainerL );
       
   294 
       
   295     TVwsViewId viewid;
       
   296     view->DoActivateL( viewid, KNullUid, KMessage );
       
   297     AssertTrueL( ETrue, KDoActivateL );
       
   298 
       
   299     view->SetNaviPaneL( 0 );
       
   300     AssertTrueL( ETrue, KSetNaviPaneLOverload );
       
   301 
       
   302     view->HandleListBoxEventL( NULL,
       
   303         MEikListBoxObserver::EEventEnterKeyPressed );
       
   304     AssertTrueL( ETrue, KHandleListBoxEventL );
       
   305 
       
   306     view->SetMiddleSoftKeyLabelL( R_BCTEST_AVKONPSLN_LABEL, 0 );
       
   307     AssertTrueL( ETrue, KSetMiddleSoftKeyLabelL );
       
   308 
       
   309     view->HandleCommandL( 0 );
       
   310     AssertTrueL( ETrue, KHandleCommandL );
       
   311 
       
   312     view->SetTitlePaneL( res );
       
   313     AssertTrueL( ETrue, KSetTitlePaneL );
       
   314 
       
   315     CleanupStack::Pop( decorate );
       
   316     CleanupStack::PopAndDestroy( view );
       
   317     AssertTrueL( ETrue, KDes );
       
   318 
       
   319     delete decorate;
       
   320 
       
   321     }
       
   322 
       
   323 // ---------------------------------------------------------------------------
       
   324 // CBCTestDomPslnCase::TestPslnFWBaseView()
       
   325 // ---------------------------------------------------------------------------
       
   326 //
       
   327 void CBCTestDomPslnCase::TestFWIconHelperL()
       
   328     {
       
   329     _LIT( KNewL, "CPslnFWIconHelper::NewL() invoked ");
       
   330     _LIT( KAddIconsToSettingItemsL,
       
   331         "CPslnFWIconHelper::AddIconsToSettingItemsL() invoked ");
       
   332     _LIT( KGetLocalizedStringLC,
       
   333         "CPslnFWIconHelper::GetLocalizedStringLC() invoked ");
       
   334     _LIT( KDestruct, "CPslnFWIconHelper::~CPslnFWIconHelper() invoked ");
       
   335 
       
   336     CPslnFWIconHelper* helper = CPslnFWIconHelper::NewL();
       
   337     CleanupStack::PushL( helper );
       
   338     AssertNotNullL( helper, KNewL );
       
   339 
       
   340     CEikColumnListBox* textList = new( ELeave ) CEikColumnListBox();
       
   341     CleanupStack::PushL( textList );
       
   342 
       
   343     textList->ConstructL( iContainer );
       
   344 
       
   345     helper->AddIconsToSettingItemsL( ETrue, 0, textList );
       
   346     AssertTrueL( ETrue, KAddIconsToSettingItemsL );
       
   347 
       
   348     TRAP_IGNORE( helper->GetLocalizedStringLC( KFilePath, 0, CCoeEnv::Static() ) );
       
   349     AssertTrueL( ETrue, KGetLocalizedStringLC );
       
   350     CleanupStack::Pop( textList );
       
   351     delete textList;
       
   352 
       
   353     CleanupStack::Pop( helper );
       
   354     delete helper;
       
   355     AssertTrueL( ETrue, KDestruct );
       
   356     }
       
   357 
       
   358 // ---------------------------------------------------------------------------
       
   359 // CBCTestDomPslnCase::TestFWPluginHandlerL()
       
   360 // ---------------------------------------------------------------------------
       
   361 //
       
   362 void CBCTestDomPslnCase::TestFWPluginHandlerL()
       
   363     {
       
   364 
       
   365     _LIT( KNewL, "CPslnFWPluginHandler::NewL() invoked" );
       
   366     _LIT( KNewLOverload, "CPslnFWPluginHandler::NewL() overload invoked" );
       
   367     _LIT( KLoadPluginL, "CPslnFWPluginHandler::LoadPluginL() invoked" );
       
   368     _LIT( KLoadPluginLOverLoad,
       
   369         "CPslnFWPluginHandler::LoadPluginL() overload invoked" );
       
   370     _LIT( KDes, "CPslnFWPluginHandler::~CPslnFWPluginHandler() invoked" );
       
   371 
       
   372     CArrayPtrFlat<CPslnFWPluginInterface>* array =
       
   373         new ( ELeave ) CArrayPtrFlat<CPslnFWPluginInterface>( 1 );
       
   374     CleanupStack::PushL( array );
       
   375 
       
   376     CAknViewAppUi* appui  = static_cast<CAknViewAppUi*>
       
   377         ( CEikonEnv::Static()->AppUi() );
       
   378 
       
   379     CPslnFWPluginHandler* handle =
       
   380         CPslnFWPluginHandler::NewL( appui, array );
       
   381     CleanupStack::PushL( handle );
       
   382     AssertNotNullL( handle, KNewL );
       
   383 
       
   384     CleanupStack::Pop( handle );
       
   385     CleanupStack::Pop( array );
       
   386 
       
   387     delete handle;
       
   388     AssertTrueL( ETrue, KDes );
       
   389     handle = NULL;
       
   390 
       
   391     array->Reset();
       
   392     delete array;
       
   393 
       
   394     handle = CPslnFWPluginHandler::NewL( appui );
       
   395     CleanupStack::PushL( handle );
       
   396     AssertNotNullL( handle, KNewLOverload );
       
   397 
       
   398     CPslnFWPluginInterface* inf = handle->LoadPluginL( TUid::Uid( KPluginUid ) );
       
   399     AssertTrueL( ETrue, KLoadPluginL );
       
   400 
       
   401     delete inf;
       
   402 
       
   403     TRAP_IGNORE( handle->LoadPluginsL( array ) );
       
   404     AssertTrueL( ETrue, KLoadPluginLOverLoad );
       
   405 
       
   406     CleanupStack::Pop( handle );
       
   407     delete handle;
       
   408     handle = NULL;
       
   409 
       
   410     }
       
   411 
       
   412 // ---------------------------------------------------------------------------
       
   413 // CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
       
   414 // ---------------------------------------------------------------------------
       
   415 //
       
   416 void CBCTestDomPslnCase::TestPslnFWAppThemeHandlerL()
       
   417     {
       
   418     //Added "CSortUtil::NewL()".
       
   419     CSortUtil* sortUtil = CSortUtil::NewL();
       
   420     CleanupStack::PushL( sortUtil );
       
   421     _LIT( KCSortUtil, "CSortUtil::NewL" );
       
   422     AssertTrueL( ETrue, KCSortUtil );
       
   423     CleanupStack::PopAndDestroy( sortUtil );
       
   424 
       
   425     _LIT( KCPslnFWAppThemeHandler, "CPslnFWAppThemeHandler::NewL() invoked" );
       
   426     _LIT( KSetApplicationSkinL,
       
   427         "CPslnFWAppThemeHandler::SetApplicationSkinL() invoked" );
       
   428     _LIT( KGetApplicationSkinsL,
       
   429         "CPslnFWAppThemeHandler::GetApplicationSkinsL() invoked" );
       
   430     _LIT( KCancelGetApplicationSkins,
       
   431         "CPslnFWAppThemeHandler::CancelGetApplicationSkins() invoked" );
       
   432     _LIT( KSetApplicationSkinAndExitL,
       
   433         "CPslnFWAppThemeHandler::SetApplicationSkinAndExitL() invoked" );
       
   434     _LIT( KDes, "CPslnFWAppThemeHandler::~CPslnFWAppThemeHandler() invoked" );
       
   435 
       
   436     CXnODT* odt = CXnODT::NewL();
       
   437     CleanupStack::PushL( odt );
       
   438     CArrayPtrFlat<CXnODT>* array =
       
   439         new ( ELeave ) CArrayPtrFlat<CXnODT>( 1 );
       
   440     CleanupStack::PushL( array );
       
   441 
       
   442     array->AppendL( odt, 0 );
       
   443     CMPslnFWAppThemeObserverExt* observer = new ( ELeave )
       
   444         CMPslnFWAppThemeObserverExt;
       
   445     CleanupStack::PushL( observer );
       
   446 
       
   447     CPslnFWAppThemeHandler* handler =
       
   448         CPslnFWAppThemeHandler::NewL( *observer, *array );
       
   449     CleanupStack::PushL( handler );
       
   450     AssertNotNullL( handler, KCPslnFWAppThemeHandler );
       
   451 
       
   452     TXnServiceCompletedMessage msg =
       
   453         handler->GetApplicationSkinsL( TUid::Uid( KPluginUid ) );
       
   454     AssertTrueL( ETrue, KGetApplicationSkinsL );
       
   455 
       
   456     handler->SetApplicationSkinL( *odt );
       
   457     AssertTrueL( ETrue, KSetApplicationSkinL );
       
   458 
       
   459     handler->CancelGetApplicationSkins();
       
   460     AssertTrueL( ETrue, KCancelGetApplicationSkins );
       
   461 
       
   462     handler->SetApplicationSkinAndExitL( *odt );
       
   463     AssertTrueL( ETrue, KSetApplicationSkinAndExitL );
       
   464 
       
   465     CleanupStack::PopAndDestroy( handler );
       
   466     AssertTrueL( ETrue, KDes );
       
   467     array->Reset();
       
   468     CleanupStack::PopAndDestroy( observer );
       
   469     CleanupStack::PopAndDestroy( array );
       
   470     CleanupStack::PopAndDestroy( odt );
       
   471 
       
   472     }
       
   473 //end of file