uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomavkonpsln/src/bctestdomfindcase.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomavkonpsln/src/bctestdomfindcase.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,415 @@
+/*
+* 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 <coemain.h>
+#include <coecntrl.h>
+#include <finditemdialog.h>
+#include <finditemmenu.h>
+#include <eikmenup.h> 
+#include <eikrted.h> 
+#include <findutil.h>
+#include <gulbordr.h>
+#include <coeaui.h>
+#include <txtfrmat.h>
+
+#include <bctestdomavkonpsln.rsg>
+#include "bctestdomfindcase.h"
+#include "bctestdomavkonpslncontainer.h"
+#include "bctestdomavkonpslnext.h"
+#include "bctestdomavkonpsln.hrh"
+
+//CONSTANT
+
+const TInt KDesLength = 32;
+_LIT( KUrlDes, "http://www.symbian.com" );
+_LIT( KNumberDes, "callback73644444");
+
+// =========================== MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd static Constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomFindCase* CBCTestDomFindCase::NewL( CBCTestDomAvkonPslnContainer* 
+    aContainer )
+    {
+    CBCTestDomFindCase* self = new( ELeave ) CBCTestDomFindCase( 
+        aContainer );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// C++ default constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomFindCase::CBCTestDomFindCase( CBCTestDomAvkonPslnContainer* 
+    aContainer )
+    : iContainer( aContainer )
+    {    
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CBCTestDomFindCase::~CBCTestDomFindCase()
+    {  
+    }
+    
+// ---------------------------------------------------------------------------
+// Symbian 2nd Constructor
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomFindCase::ConstructL()
+    {    
+    BuildScriptL();    
+    }
+    
+// ---------------------------------------------------------------------------
+// CBCTestDomFindCase::BuildScriptL
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomFindCase::BuildScriptL()
+    { 
+    const TInt scripts[] =
+        {
+        DELAY(1),        // delay between commands is 1*0.1 seconds = 0.1 seconds
+        LeftCBA,
+        REP( Down, 2 ),
+        LeftCBA,
+        LeftCBA,
+        RightCBA,
+        RightCBA,
+        REP( KeyOK, 2 ),
+        TEND
+        };
+    AddTestScriptL( scripts, sizeof(scripts)/sizeof(TInt) );   
+    }
+    
+// ---------------------------------------------------------------------------
+// CBCTestDomFindCase::RunL
+// ---------------------------------------------------------------------------
+//
+void CBCTestDomFindCase::RunL( TInt aCmd )
+    {
+    if ( aCmd != EBCTestCmdOutline3 )
+        {
+        return;
+        }
+    switch ( aCmd )  
+        {
+        case EBCTestCmdOutline3:
+            TestFindItemDialogL();
+            TestFindItemMenuL();
+            TestFindUtilL();
+            TestItemFinderL();
+            break;
+        default:
+            break;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestDomEikCase::TestFindItemDialogL()
+// ---------------------------------------------------------------------------
+//    
+void CBCTestDomFindCase::TestFindItemDialogL()
+{
+    _LIT( KNewL, "CFindItemDialog::NewL invoked" );
+    _LIT( KOfferKeyEventL, "CFindItemDialog::OfferKeyEventL invoked" );
+    _LIT( KProcessCommandL, "CFindItemDialog::ProcessCommandL invoked" );
+    _LIT( KExecuteLD, "CFindItemDialog::ExecuteLD invoked" );
+              
+    CFindItemDialog* dlg = CFindItemDialog::NewL( KUrlDes, 
+                           CFindItemEngine::EFindItemSearchURLBin );
+    CleanupStack::PushL( dlg );
+    AssertNotNullL( dlg, KNewL );
+    
+    TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0  };
+    dlg->OfferKeyEventL( keyEvent, EEventKey );
+    AssertTrueL( ETrue, KOfferKeyEventL );
+  
+
+    CCoeEnv::Static()->AppUi()->AddToStackL( dlg );
+    dlg->ProcessCommandL( EAknSoftkeyHide );
+    AssertTrueL( ETrue, KProcessCommandL );
+    CCoeEnv::Static()->AppUi()->RemoveFromStack( dlg );
+    
+    CleanupStack::Pop( dlg );
+    dlg->ExecuteLD();
+    AssertTrueL( ETrue, KExecuteLD );
+}
+
+// ---------------------------------------------------------------------------
+// CBCTestDomEikCase::TestFindItemMenuL()
+// ---------------------------------------------------------------------------
+//    
+void CBCTestDomFindCase::TestFindItemMenuL()
+{
+    _LIT( KNewL, "CFindItemMenu::NewL invoked" );
+    _LIT( KNewLC, "CFindItemMenu::NewLC invoked" );
+    _LIT( KDes, "CFindItemMenu::~CFindItemMenu invoked" );
+    
+    CFindItemMenu* menu = CFindItemMenu::NewL( 0 );
+    CleanupStack::PushL( menu );
+    
+    AssertNotNullL( menu, KNewL );
+    CleanupStack::PopAndDestroy( menu );
+    AssertTrueL( ETrue, KDes );
+    
+    menu = CFindItemMenu::NewLC( R_BCTESTDOMAVKONPSLN_CASE_MENU );
+    AssertNotNullL( menu, KNewLC );
+    
+    CAknForm* frm = new (ELeave) CAknForm;  
+    CleanupStack::PushL( frm );
+    frm->ConstructL();
+    
+    CEikMenuPane* pane = new ( ELeave ) CEikMenuPane( frm );
+    CleanupStack::PushL( pane );
+    pane->ConstructL( pane,0 );
+    
+    _LIT( KDisplayFindItemMenuItemL, 
+        "CFindItemMenu::DisplayFindItemMenuItemL invoked" );
+    menu->DisplayFindItemMenuItemL( *pane, 0 );
+    AssertTrueL( ETrue, KDisplayFindItemMenuItemL );
+    
+    _LIT( KDisplayFindItemCascadeMenuL, 
+        "CFindItemMenu::DisplayFindItemCascadeMenuL invoked" );
+    menu->DisplayFindItemCascadeMenuL( *pane );
+    AssertTrueL( ETrue, KDisplayFindItemCascadeMenuL );
+    
+    _LIT( KCommandIsValidL, "CFindItemMenu::CommandIsValidL invoked" );
+    menu->CommandIsValidL( 0 );
+    AssertTrueL( ETrue, KCommandIsValidL );
+    
+    _LIT( KSearchCase, "CFindItemMenu::SearchCase invoked" );
+    menu->SearchCase( R_BCTESTDOMAVKONPSLN_CASE_MENU+1 );
+    AssertTrueL( ETrue, KSearchCase );
+    
+    _LIT( KUpdateItemFinderMenuL, "CFindItemMenu::UpdateItemFinderMenuL invoked" );
+    menu->UpdateItemFinderMenuL( R_BCTESTDOMAVKONPSLN_CASE_MENU, pane );
+    AssertTrueL( ETrue, KUpdateItemFinderMenuL );
+    
+    _LIT( KHandleItemFinderCommandL, 
+        "CFindItemMenu::HandleItemFinderCommandL invoked" );
+    menu->HandleItemFinderCommandL( 0 );
+    AssertTrueL( ETrue, KHandleItemFinderCommandL );
+    
+    _LIT( KAttachItemFinderMenuL, 
+        "CFindItemMenu::HandleItemFinderCommandL invoked" );
+    menu->AttachItemFinderMenuL( R_BCTESTDOMAVKONPSLN_CASE_MENU );
+    AssertTrueL( ETrue, KAttachItemFinderMenuL );
+    
+    _LIT( KSetCallbackNumber, 
+        "CFindItemMenu::SetCallbackNumber invoked" );
+    
+    menu->SetCallbackNumber( KNumberDes );
+    AssertTrueL( ETrue, KSetCallbackNumber );
+    
+    _LIT( KHandleCallL, 
+        "CFindItemMenu::HandleCallL invoked" );
+    menu->HandleCallL( KUrlDes );
+    AssertTrueL( ETrue, KHandleCallL );
+    
+    _LIT( KHandleVoIPCallL, 
+        "CFindItemMenu::HandleCallL invoked" );
+    menu->HandleVoIPCallL( KUrlDes );
+    AssertTrueL( ETrue, KHandleVoIPCallL );
+    
+    _LIT( KSetSenderHighlightStatus, 
+        "CFindItemMenu::SetSenderHighlightStatus invoked" );
+    menu->SetSenderHighlightStatus( ETrue );
+    AssertTrueL( ETrue, KSetSenderHighlightStatus );
+    
+    _LIT( KSetSenderDisplayText, 
+        "CFindItemMenu::SetSenderDisplayText invoked" );
+    menu->SetSenderDisplayText( KNumberDes );
+    AssertTrueL( ETrue, KSetSenderDisplayText );
+    
+    _LIT( KAddItemFindMenuL, 
+        "CFindItemMenu::AddItemFindMenuL() invoked" );
+
+    CItemFinder* finder = CItemFinder::NewL();
+    CleanupStack::PushL( finder );
+    menu->AddItemFindMenuL( finder, pane, 0, KNumberDes );
+    AssertTrueL( ETrue, KAddItemFindMenuL );
+    
+    _LIT( KSetSenderDescriptorType, 
+        "CFindItemMenu::SetSenderDescriptorType() invoked" );
+          
+    menu->SetSenderDescriptorType( CItemFinder::EUrlAddress );
+    AssertTrueL( ETrue, KSetSenderDescriptorType );
+    
+    CleanupStack::PopAndDestroy( finder );
+    CleanupStack::PopAndDestroy( pane );
+    CleanupStack::PopAndDestroy( frm );
+    CleanupStack::PopAndDestroy( menu );
+}
+
+// ---------------------------------------------------------------------------
+// CBCTestDomEikCase::TestFindUtilL()
+// ---------------------------------------------------------------------------
+//    
+void CBCTestDomFindCase::TestFindUtilL()
+    {
+    _LIT( KNewL, "CFindUtil::NewL() invoked" );
+    _LIT( KDes, "CFindUtil::~CFindUtil() invoked" );
+    CFindUtil* util = CFindUtil::NewL();
+    CleanupStack::PushL( util );
+    AssertNotNullL( util, KNewL );
+    
+    CleanupStack::Pop( util );
+    delete util;
+    AssertTrueL( ETrue, KDes );
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestDomEikCase::TestItemFinderL()
+// ---------------------------------------------------------------------------
+//    
+void CBCTestDomFindCase::TestItemFinderL()
+    {
+    
+    _LIT( KNewL, "CItemFinder::NewL() invoked" );
+    _LIT( KNextItemOrScrollL, "CItemFinder::NextItemOrScrollL() invoked" );
+    _LIT( KSetFindModeL, "CItemFinder::SetFindModeL() invoked" );    
+    _LIT( KSetEditor, "CItemFinder::SetEditor() invoked" );
+    _LIT( KParseThisText, "CItemFinder::ParseThisText() invoked" );
+    _LIT( KCreateDoItText, "CItemFinder::CreateDoItText() invoked" );
+    _LIT( KActivateThisTextL, "CItemFinder::ActivateThisTextL() invoked" );
+    _LIT( KReformatOnRecognise, "CItemFinder::ReformatOnRecognise() invoked" );
+    _LIT( KReformatOnRollover, "CItemFinder::ReformatOnRollover() invoked" );
+    _LIT( KGetRecogniseFormat, "CItemFinder::GetRecogniseFormat() invoked" );
+    _LIT( KGetRolloverFormat, "CItemFinder::GetRolloverFormat() invoked" );
+    _LIT( KConfirmCursorOverTag, "CItemFinder::ConfirmCursorOverTag() invoked" );
+    _LIT( KMParser_Reserved_2, "CItemFinder::MParser_Reserved_2() invoked" );
+    _LIT( KPositionOfNextItem, "CItemFinder::PositionOfNextItem() invoked" );
+    _LIT( KResetCurrentItem, "CItemFinder::ResetCurrentItem() invoked" );
+    _LIT( KResolveAndSetItemTypeL, "CItemFinder::ResolveAndSetItemTypeL() invoked" );
+    _LIT( KAddObserver, "CItemFinder::AddObserver() invoked" );
+    _LIT( KItemWasTappedL, "CItemFinder::ItemWasTappedL() invoked" );
+    _LIT( KSetExternalLinks, "CItemFinder::SetExternalLinks() invoked" );
+    _LIT( KDes, "CItemFinder::~CItemFinder() invoked" );
+    _LIT( KRelease, "CItemFinder::Release() invoked" );
+    _LIT( KCurrentSelection, "CItemFinder::CurrentSelection() invoked" );
+    _LIT( KCurrentItemExt, "CItemFinder::CurrentItemExt() invoked" );
+    
+    
+    CItemFinder* finder = CItemFinder::NewL();
+    CleanupStack::PushL( finder );
+    AssertNotNullL( finder, KNewL );
+    
+    finder->NextItemOrScrollL( CItemFinder::EInit );
+    AssertTrueL( ETrue, KNextItemOrScrollL );
+    
+    finder->SetFindModeL( 0 );
+    AssertTrueL( ETrue, KSetFindModeL );
+    
+    TGulBorder gulBorder;
+    CEikRichTextEditor* editor = new ( ELeave ) CEikRichTextEditor ( gulBorder );
+    CleanupStack::PushL( editor );
+    editor->ConstructL( iContainer, 0, 0, 0 );
+    
+    finder->SetEditor( &editor );
+    AssertTrueL( ETrue, KSetEditor );
+    
+    TInt tag(0), len(0);
+    CRichText* richText = editor->RichText();  
+    finder->ParseThisText( *richText, ETrue, 1, 1, tag, len ) ;
+    AssertTrueL( ETrue, KParseThisText );
+    
+    finder->CreateDoItText( *richText, 1, 1 );
+    AssertTrueL( ETrue, KCreateDoItText );
+    
+    finder->ActivateThisTextL( *richText, 1, 1 );
+    AssertTrueL( ETrue, KActivateThisTextL );
+    
+    finder->ReformatOnRecognise();
+    AssertTrueL( ETrue, KReformatOnRecognise );
+    
+    finder->ReformatOnRollover();
+    AssertTrueL( ETrue, KReformatOnRollover );
+    
+    TCharFormat format;
+    finder->GetRecogniseFormat( format );
+    AssertTrueL( ETrue, KGetRecogniseFormat );
+    
+    finder->GetRolloverFormat( format );
+    AssertTrueL( ETrue, KGetRolloverFormat );
+    
+    finder->ConfirmCursorOverTag( *richText, 1, 1, 1 );
+    AssertTrueL( ETrue, KConfirmCursorOverTag );
+    
+    finder->MParser_Reserved_2();
+    AssertTrueL( ETrue, KMParser_Reserved_2 );
+    
+    finder->PositionOfNextItem( CItemFinder::EInit );
+    AssertTrueL( ETrue, KPositionOfNextItem );
+    
+    finder->ResetCurrentItem();
+    AssertTrueL( ETrue, KResetCurrentItem );
+    
+    finder->ResolveAndSetItemTypeL();
+    AssertTrueL( ETrue, KResolveAndSetItemTypeL );
+    
+    CItemFinderObserverExt* observer = new ( ELeave ) CItemFinderObserverExt;
+    CleanupStack::PushL( observer );
+    
+    finder->AddObserver( *observer );
+    AssertTrueL( ETrue, KAddObserver );
+    
+    TPoint point( 0, 0 );
+    finder->ItemWasTappedL( point );
+    AssertTrueL( ETrue, KItemWasTappedL );
+    
+    TBuf<KDesLength> des( KUrlDes );
+    CItemFinder::CFindItemExt* findex = new ( ELeave ) CItemFinder::CFindItemExt;
+    CleanupStack::PushL( findex );
+    
+    findex->iItemType = CItemFinder::EUrlAddress;
+    findex->iItemDescriptor = des.AllocL();
+    CArrayPtrFlat<CItemFinder::CFindItemExt>* links = 
+        new ( ELeave ) CArrayPtrFlat<CItemFinder::CFindItemExt>( 1 );
+    CleanupStack::PushL( links );
+    links->AppendL( findex );
+    
+    finder->SetExternalLinks( links );
+    AssertTrueL( ETrue, KSetExternalLinks );
+    
+    finder->CurrentItemExt();
+    AssertTrueL( ETrue, KCurrentItemExt );
+    
+    finder->CurrentSelection();
+    AssertTrueL( ETrue, KCurrentSelection );
+    
+    finder->Release();
+    AssertTrueL( ETrue, KRelease );
+    
+    CleanupStack::PopAndDestroy( links );
+    CleanupStack::PopAndDestroy( findex );
+    CleanupStack::PopAndDestroy( observer );
+    CleanupStack::PopAndDestroy( editor );
+    CleanupStack::PopAndDestroy( finder );
+
+    AssertTrueL( ETrue, KDes );
+    }
+    //end of file