--- /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