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 <coemain.h> |
|
21 #include <coecntrl.h> |
|
22 #include <finditemdialog.h> |
|
23 #include <finditemmenu.h> |
|
24 #include <eikmenup.h> |
|
25 #include <eikrted.h> |
|
26 #include <findutil.h> |
|
27 #include <gulbordr.h> |
|
28 #include <coeaui.h> |
|
29 #include <txtfrmat.h> |
|
30 |
|
31 #include <bctestdomavkonpsln.rsg> |
|
32 #include "bctestdomfindcase.h" |
|
33 #include "bctestdomavkonpslncontainer.h" |
|
34 #include "bctestdomavkonpslnext.h" |
|
35 #include "bctestdomavkonpsln.hrh" |
|
36 |
|
37 //CONSTANT |
|
38 |
|
39 const TInt KDesLength = 32; |
|
40 _LIT( KUrlDes, "http://www.symbian.com" ); |
|
41 _LIT( KNumberDes, "callback73644444"); |
|
42 |
|
43 // =========================== MEMBER FUNCTIONS ============================= |
|
44 |
|
45 // --------------------------------------------------------------------------- |
|
46 // Symbian 2nd static Constructor |
|
47 // --------------------------------------------------------------------------- |
|
48 // |
|
49 CBCTestDomFindCase* CBCTestDomFindCase::NewL( CBCTestDomAvkonPslnContainer* |
|
50 aContainer ) |
|
51 { |
|
52 CBCTestDomFindCase* self = new( ELeave ) CBCTestDomFindCase( |
|
53 aContainer ); |
|
54 CleanupStack::PushL( self ); |
|
55 self->ConstructL(); |
|
56 CleanupStack::Pop( self ); |
|
57 return self; |
|
58 } |
|
59 |
|
60 // --------------------------------------------------------------------------- |
|
61 // C++ default constructor |
|
62 // --------------------------------------------------------------------------- |
|
63 // |
|
64 CBCTestDomFindCase::CBCTestDomFindCase( CBCTestDomAvkonPslnContainer* |
|
65 aContainer ) |
|
66 : iContainer( aContainer ) |
|
67 { |
|
68 } |
|
69 |
|
70 // --------------------------------------------------------------------------- |
|
71 // Destructor |
|
72 // --------------------------------------------------------------------------- |
|
73 // |
|
74 CBCTestDomFindCase::~CBCTestDomFindCase() |
|
75 { |
|
76 } |
|
77 |
|
78 // --------------------------------------------------------------------------- |
|
79 // Symbian 2nd Constructor |
|
80 // --------------------------------------------------------------------------- |
|
81 // |
|
82 void CBCTestDomFindCase::ConstructL() |
|
83 { |
|
84 BuildScriptL(); |
|
85 } |
|
86 |
|
87 // --------------------------------------------------------------------------- |
|
88 // CBCTestDomFindCase::BuildScriptL |
|
89 // --------------------------------------------------------------------------- |
|
90 // |
|
91 void CBCTestDomFindCase::BuildScriptL() |
|
92 { |
|
93 const TInt scripts[] = |
|
94 { |
|
95 LeftCBA, |
|
96 REP( Down, 2 ), |
|
97 LeftCBA, |
|
98 |
|
99 WAIT(3), |
|
100 RightCBA, |
|
101 KeyOK, |
|
102 WAIT(3), |
|
103 KeyOK |
|
104 }; |
|
105 AddTestScriptL( scripts, sizeof(scripts)/sizeof(TInt) ); |
|
106 } |
|
107 |
|
108 // --------------------------------------------------------------------------- |
|
109 // CBCTestDomFindCase::RunL |
|
110 // --------------------------------------------------------------------------- |
|
111 // |
|
112 void CBCTestDomFindCase::RunL( TInt aCmd ) |
|
113 { |
|
114 if ( aCmd != EBCTestCmdOutline3 ) |
|
115 { |
|
116 return; |
|
117 } |
|
118 switch ( aCmd ) |
|
119 { |
|
120 case EBCTestCmdOutline3: |
|
121 TestFindItemDialogL(); |
|
122 TestFindItemMenuL(); |
|
123 TestFindUtilL(); |
|
124 TestItemFinderL(); |
|
125 break; |
|
126 default: |
|
127 break; |
|
128 } |
|
129 } |
|
130 |
|
131 // --------------------------------------------------------------------------- |
|
132 // CBCTestDomEikCase::TestFindItemDialogL() |
|
133 // --------------------------------------------------------------------------- |
|
134 // |
|
135 void CBCTestDomFindCase::TestFindItemDialogL() |
|
136 { |
|
137 _LIT( KNewL, "CFindItemDialog::NewL invoked" ); |
|
138 _LIT( KOfferKeyEventL, "CFindItemDialog::OfferKeyEventL invoked" ); |
|
139 _LIT( KProcessCommandL, "CFindItemDialog::ProcessCommandL invoked" ); |
|
140 _LIT( KExecuteLD, "CFindItemDialog::ExecuteLD invoked" ); |
|
141 |
|
142 CFindItemDialog* dlg = CFindItemDialog::NewL( KUrlDes, |
|
143 CFindItemEngine::EFindItemSearchURLBin ); |
|
144 CleanupStack::PushL( dlg ); |
|
145 AssertNotNullL( dlg, KNewL ); |
|
146 |
|
147 TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0 }; |
|
148 dlg->OfferKeyEventL( keyEvent, EEventKey ); |
|
149 AssertTrueL( ETrue, KOfferKeyEventL ); |
|
150 |
|
151 |
|
152 CCoeEnv::Static()->AppUi()->AddToStackL( dlg ); |
|
153 dlg->ProcessCommandL( EAknSoftkeyHide ); |
|
154 AssertTrueL( ETrue, KProcessCommandL ); |
|
155 CCoeEnv::Static()->AppUi()->RemoveFromStack( dlg ); |
|
156 |
|
157 CleanupStack::Pop( dlg ); |
|
158 dlg->ExecuteLD(); |
|
159 AssertTrueL( ETrue, KExecuteLD ); |
|
160 } |
|
161 |
|
162 // --------------------------------------------------------------------------- |
|
163 // CBCTestDomEikCase::TestFindItemMenuL() |
|
164 // --------------------------------------------------------------------------- |
|
165 // |
|
166 void CBCTestDomFindCase::TestFindItemMenuL() |
|
167 { |
|
168 _LIT( KNewL, "CFindItemMenu::NewL invoked" ); |
|
169 _LIT( KNewLC, "CFindItemMenu::NewLC invoked" ); |
|
170 _LIT( KDes, "CFindItemMenu::~CFindItemMenu invoked" ); |
|
171 |
|
172 CFindItemMenu* menu = CFindItemMenu::NewL( 0 ); |
|
173 CleanupStack::PushL( menu ); |
|
174 |
|
175 AssertNotNullL( menu, KNewL ); |
|
176 CleanupStack::PopAndDestroy( menu ); |
|
177 AssertTrueL( ETrue, KDes ); |
|
178 |
|
179 menu = CFindItemMenu::NewLC( R_BCTESTDOMAVKONPSLN_CASE_MENU ); |
|
180 AssertNotNullL( menu, KNewLC ); |
|
181 |
|
182 CAknForm* frm = new (ELeave) CAknForm; |
|
183 CleanupStack::PushL( frm ); |
|
184 frm->ConstructL(); |
|
185 |
|
186 CEikMenuPane* pane = new ( ELeave ) CEikMenuPane( frm ); |
|
187 CleanupStack::PushL( pane ); |
|
188 pane->ConstructL( pane,0 ); |
|
189 |
|
190 _LIT( KDisplayFindItemMenuItemL, |
|
191 "CFindItemMenu::DisplayFindItemMenuItemL invoked" ); |
|
192 menu->DisplayFindItemMenuItemL( *pane, 0 ); |
|
193 AssertTrueL( ETrue, KDisplayFindItemMenuItemL ); |
|
194 |
|
195 _LIT( KDisplayFindItemCascadeMenuL, |
|
196 "CFindItemMenu::DisplayFindItemCascadeMenuL invoked" ); |
|
197 menu->DisplayFindItemCascadeMenuL( *pane ); |
|
198 AssertTrueL( ETrue, KDisplayFindItemCascadeMenuL ); |
|
199 |
|
200 _LIT( KCommandIsValidL, "CFindItemMenu::CommandIsValidL invoked" ); |
|
201 menu->CommandIsValidL( 0 ); |
|
202 AssertTrueL( ETrue, KCommandIsValidL ); |
|
203 |
|
204 _LIT( KSearchCase, "CFindItemMenu::SearchCase invoked" ); |
|
205 menu->SearchCase( R_BCTESTDOMAVKONPSLN_CASE_MENU+1 ); |
|
206 AssertTrueL( ETrue, KSearchCase ); |
|
207 |
|
208 _LIT( KUpdateItemFinderMenuL, "CFindItemMenu::UpdateItemFinderMenuL invoked" ); |
|
209 menu->UpdateItemFinderMenuL( R_BCTESTDOMAVKONPSLN_CASE_MENU, pane ); |
|
210 AssertTrueL( ETrue, KUpdateItemFinderMenuL ); |
|
211 |
|
212 _LIT( KHandleItemFinderCommandL, |
|
213 "CFindItemMenu::HandleItemFinderCommandL invoked" ); |
|
214 menu->HandleItemFinderCommandL( 0 ); |
|
215 AssertTrueL( ETrue, KHandleItemFinderCommandL ); |
|
216 |
|
217 _LIT( KAttachItemFinderMenuL, |
|
218 "CFindItemMenu::HandleItemFinderCommandL invoked" ); |
|
219 menu->AttachItemFinderMenuL( R_BCTESTDOMAVKONPSLN_CASE_MENU ); |
|
220 AssertTrueL( ETrue, KAttachItemFinderMenuL ); |
|
221 |
|
222 _LIT( KSetCallbackNumber, |
|
223 "CFindItemMenu::SetCallbackNumber invoked" ); |
|
224 |
|
225 menu->SetCallbackNumber( KNumberDes ); |
|
226 AssertTrueL( ETrue, KSetCallbackNumber ); |
|
227 |
|
228 _LIT( KHandleCallL, |
|
229 "CFindItemMenu::HandleCallL invoked" ); |
|
230 menu->HandleCallL( KUrlDes ); |
|
231 AssertTrueL( ETrue, KHandleCallL ); |
|
232 |
|
233 _LIT( KHandleVoIPCallL, |
|
234 "CFindItemMenu::HandleCallL invoked" ); |
|
235 menu->HandleVoIPCallL( KUrlDes ); |
|
236 AssertTrueL( ETrue, KHandleVoIPCallL ); |
|
237 |
|
238 _LIT( KSetSenderHighlightStatus, |
|
239 "CFindItemMenu::SetSenderHighlightStatus invoked" ); |
|
240 menu->SetSenderHighlightStatus( ETrue ); |
|
241 AssertTrueL( ETrue, KSetSenderHighlightStatus ); |
|
242 |
|
243 _LIT( KSetSenderDisplayText, |
|
244 "CFindItemMenu::SetSenderDisplayText invoked" ); |
|
245 menu->SetSenderDisplayText( KNumberDes ); |
|
246 AssertTrueL( ETrue, KSetSenderDisplayText ); |
|
247 |
|
248 _LIT( KAddItemFindMenuL, |
|
249 "CFindItemMenu::AddItemFindMenuL() invoked" ); |
|
250 |
|
251 CItemFinder* finder = CItemFinder::NewL(); |
|
252 CleanupStack::PushL( finder ); |
|
253 menu->AddItemFindMenuL( finder, pane, 0, KNumberDes ); |
|
254 AssertTrueL( ETrue, KAddItemFindMenuL ); |
|
255 |
|
256 _LIT( KSetSenderDescriptorType, |
|
257 "CFindItemMenu::SetSenderDescriptorType() invoked" ); |
|
258 |
|
259 menu->SetSenderDescriptorType( CItemFinder::EUrlAddress ); |
|
260 AssertTrueL( ETrue, KSetSenderDescriptorType ); |
|
261 |
|
262 CleanupStack::PopAndDestroy( finder ); |
|
263 CleanupStack::PopAndDestroy( pane ); |
|
264 CleanupStack::PopAndDestroy( frm ); |
|
265 CleanupStack::PopAndDestroy( menu ); |
|
266 } |
|
267 |
|
268 // --------------------------------------------------------------------------- |
|
269 // CBCTestDomEikCase::TestFindUtilL() |
|
270 // --------------------------------------------------------------------------- |
|
271 // |
|
272 void CBCTestDomFindCase::TestFindUtilL() |
|
273 { |
|
274 _LIT( KNewL, "CFindUtil::NewL() invoked" ); |
|
275 _LIT( KDes, "CFindUtil::~CFindUtil() invoked" ); |
|
276 CFindUtil* util = CFindUtil::NewL(); |
|
277 CleanupStack::PushL( util ); |
|
278 AssertNotNullL( util, KNewL ); |
|
279 |
|
280 CleanupStack::Pop( util ); |
|
281 delete util; |
|
282 AssertTrueL( ETrue, KDes ); |
|
283 } |
|
284 |
|
285 // --------------------------------------------------------------------------- |
|
286 // CBCTestDomEikCase::TestItemFinderL() |
|
287 // --------------------------------------------------------------------------- |
|
288 // |
|
289 void CBCTestDomFindCase::TestItemFinderL() |
|
290 { |
|
291 |
|
292 _LIT( KNewL, "CItemFinder::NewL() invoked" ); |
|
293 _LIT( KNextItemOrScrollL, "CItemFinder::NextItemOrScrollL() invoked" ); |
|
294 _LIT( KSetFindModeL, "CItemFinder::SetFindModeL() invoked" ); |
|
295 _LIT( KSetEditor, "CItemFinder::SetEditor() invoked" ); |
|
296 _LIT( KParseThisText, "CItemFinder::ParseThisText() invoked" ); |
|
297 _LIT( KCreateDoItText, "CItemFinder::CreateDoItText() invoked" ); |
|
298 _LIT( KActivateThisTextL, "CItemFinder::ActivateThisTextL() invoked" ); |
|
299 _LIT( KReformatOnRecognise, "CItemFinder::ReformatOnRecognise() invoked" ); |
|
300 _LIT( KReformatOnRollover, "CItemFinder::ReformatOnRollover() invoked" ); |
|
301 _LIT( KGetRecogniseFormat, "CItemFinder::GetRecogniseFormat() invoked" ); |
|
302 _LIT( KGetRolloverFormat, "CItemFinder::GetRolloverFormat() invoked" ); |
|
303 _LIT( KConfirmCursorOverTag, "CItemFinder::ConfirmCursorOverTag() invoked" ); |
|
304 _LIT( KMParser_Reserved_2, "CItemFinder::MParser_Reserved_2() invoked" ); |
|
305 _LIT( KPositionOfNextItem, "CItemFinder::PositionOfNextItem() invoked" ); |
|
306 _LIT( KResetCurrentItem, "CItemFinder::ResetCurrentItem() invoked" ); |
|
307 _LIT( KResolveAndSetItemTypeL, "CItemFinder::ResolveAndSetItemTypeL() invoked" ); |
|
308 _LIT( KAddObserver, "CItemFinder::AddObserver() invoked" ); |
|
309 _LIT( KItemWasTappedL, "CItemFinder::ItemWasTappedL() invoked" ); |
|
310 _LIT( KSetExternalLinks, "CItemFinder::SetExternalLinks() invoked" ); |
|
311 _LIT( KDes, "CItemFinder::~CItemFinder() invoked" ); |
|
312 _LIT( KRelease, "CItemFinder::Release() invoked" ); |
|
313 _LIT( KCurrentSelection, "CItemFinder::CurrentSelection() invoked" ); |
|
314 _LIT( KCurrentItemExt, "CItemFinder::CurrentItemExt() invoked" ); |
|
315 |
|
316 |
|
317 CItemFinder* finder = CItemFinder::NewL(); |
|
318 CleanupStack::PushL( finder ); |
|
319 AssertNotNullL( finder, KNewL ); |
|
320 |
|
321 finder->NextItemOrScrollL( CItemFinder::EInit ); |
|
322 AssertTrueL( ETrue, KNextItemOrScrollL ); |
|
323 |
|
324 finder->SetFindModeL( 0 ); |
|
325 AssertTrueL( ETrue, KSetFindModeL ); |
|
326 |
|
327 TGulBorder gulBorder; |
|
328 CEikRichTextEditor* editor = new ( ELeave ) CEikRichTextEditor ( gulBorder ); |
|
329 CleanupStack::PushL( editor ); |
|
330 editor->ConstructL( iContainer, 0, 0, 0 ); |
|
331 |
|
332 finder->SetEditor( &editor ); |
|
333 AssertTrueL( ETrue, KSetEditor ); |
|
334 |
|
335 TInt tag(0), len(0); |
|
336 CRichText* richText = editor->RichText(); |
|
337 finder->ParseThisText( *richText, ETrue, 1, 1, tag, len ) ; |
|
338 AssertTrueL( ETrue, KParseThisText ); |
|
339 |
|
340 finder->CreateDoItText( *richText, 1, 1 ); |
|
341 AssertTrueL( ETrue, KCreateDoItText ); |
|
342 |
|
343 finder->ActivateThisTextL( *richText, 1, 1 ); |
|
344 AssertTrueL( ETrue, KActivateThisTextL ); |
|
345 |
|
346 finder->ReformatOnRecognise(); |
|
347 AssertTrueL( ETrue, KReformatOnRecognise ); |
|
348 |
|
349 finder->ReformatOnRollover(); |
|
350 AssertTrueL( ETrue, KReformatOnRollover ); |
|
351 |
|
352 TCharFormat format; |
|
353 finder->GetRecogniseFormat( format ); |
|
354 AssertTrueL( ETrue, KGetRecogniseFormat ); |
|
355 |
|
356 finder->GetRolloverFormat( format ); |
|
357 AssertTrueL( ETrue, KGetRolloverFormat ); |
|
358 |
|
359 finder->ConfirmCursorOverTag( *richText, 1, 1, 1 ); |
|
360 AssertTrueL( ETrue, KConfirmCursorOverTag ); |
|
361 |
|
362 finder->MParser_Reserved_2(); |
|
363 AssertTrueL( ETrue, KMParser_Reserved_2 ); |
|
364 |
|
365 finder->PositionOfNextItem( CItemFinder::EInit ); |
|
366 AssertTrueL( ETrue, KPositionOfNextItem ); |
|
367 |
|
368 finder->ResetCurrentItem(); |
|
369 AssertTrueL( ETrue, KResetCurrentItem ); |
|
370 |
|
371 finder->ResolveAndSetItemTypeL(); |
|
372 AssertTrueL( ETrue, KResolveAndSetItemTypeL ); |
|
373 |
|
374 CItemFinderObserverExt* observer = new ( ELeave ) CItemFinderObserverExt; |
|
375 CleanupStack::PushL( observer ); |
|
376 |
|
377 finder->AddObserver( *observer ); |
|
378 AssertTrueL( ETrue, KAddObserver ); |
|
379 |
|
380 TPoint point( 0, 0 ); |
|
381 finder->ItemWasTappedL( point ); |
|
382 AssertTrueL( ETrue, KItemWasTappedL ); |
|
383 |
|
384 TBuf<KDesLength> des( KUrlDes ); |
|
385 CItemFinder::CFindItemExt* findex = new ( ELeave ) CItemFinder::CFindItemExt; |
|
386 CleanupStack::PushL( findex ); |
|
387 |
|
388 findex->iItemType = CItemFinder::EUrlAddress; |
|
389 findex->iItemDescriptor = des.AllocL(); |
|
390 CArrayPtrFlat<CItemFinder::CFindItemExt>* links = |
|
391 new ( ELeave ) CArrayPtrFlat<CItemFinder::CFindItemExt>( 1 ); |
|
392 CleanupStack::PushL( links ); |
|
393 links->AppendL( findex ); |
|
394 |
|
395 finder->SetExternalLinks( links ); |
|
396 AssertTrueL( ETrue, KSetExternalLinks ); |
|
397 |
|
398 finder->CurrentItemExt(); |
|
399 AssertTrueL( ETrue, KCurrentItemExt ); |
|
400 |
|
401 finder->CurrentSelection(); |
|
402 AssertTrueL( ETrue, KCurrentSelection ); |
|
403 |
|
404 finder->Release(); |
|
405 AssertTrueL( ETrue, KRelease ); |
|
406 |
|
407 CleanupStack::PopAndDestroy( links ); |
|
408 CleanupStack::PopAndDestroy( findex ); |
|
409 CleanupStack::PopAndDestroy( observer ); |
|
410 CleanupStack::PopAndDestroy( editor ); |
|
411 CleanupStack::PopAndDestroy( finder ); |
|
412 |
|
413 AssertTrueL( ETrue, KDes ); |
|
414 } |
|
415 //end of file |
|