branch | RCL_3 |
changeset 10 | 6defe5d1bd39 |
parent 8 | 6ceef9a83b1a |
child 19 | 5e18d8c489d6 |
8:6ceef9a83b1a | 10:6defe5d1bd39 |
---|---|
1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
73 self->ConstructL(); |
73 self->ConstructL(); |
74 return self; |
74 return self; |
75 } |
75 } |
76 |
76 |
77 // --------------------------------------------------------------------------- |
77 // --------------------------------------------------------------------------- |
78 // C++ constructor. |
|
79 // --------------------------------------------------------------------------- |
|
80 // |
|
81 CPeninputArabicFingerHwrSymbolTable::CPeninputArabicFingerHwrSymbolTable( |
|
82 CFepUiLayout* aFepUiLayout, TInt aControlId ) |
|
83 : CControlGroup( aFepUiLayout, aControlId ) |
|
84 { |
|
85 SetControlType(ECtrlControlGroup|ECtrlTactileFeedback); |
|
86 SetTactileFeedbackType(ETouchFeedbackSensitiveInput); |
|
87 } |
|
88 |
|
89 // --------------------------------------------------------------------------- |
|
78 // c++ destructor |
90 // c++ destructor |
79 // --------------------------------------------------------------------------- |
91 // --------------------------------------------------------------------------- |
80 // |
92 // |
81 CPeninputArabicFingerHwrSymbolTable::~CPeninputArabicFingerHwrSymbolTable() |
93 CPeninputArabicFingerHwrSymbolTable::~CPeninputArabicFingerHwrSymbolTable() |
82 { |
94 { |
88 // |
100 // |
89 void CPeninputArabicFingerHwrSymbolTable::OpenSymbolTable() |
101 void CPeninputArabicFingerHwrSymbolTable::OpenSymbolTable() |
90 { |
102 { |
91 CapturePointer( ETrue ); |
103 CapturePointer( ETrue ); |
92 iPopupVisible = ETrue; |
104 iPopupVisible = ETrue; |
93 UiLayout()->LockArea(UiLayout()->Rect(),this); |
105 UiLayout()->LockArea(UiLayout()->Rect(),this); |
94 NavigatePage(0,EPagePosPageNo); |
106 NavigatePage(0,EPagePosPageNo); |
95 } |
107 } |
96 |
108 |
97 // --------------------------------------------------------------------------- |
109 // --------------------------------------------------------------------------- |
98 // cancel the popup. |
110 // cancel the popup. |
128 { |
140 { |
129 ReportEvent(EHwrEventOutsideEvent); |
141 ReportEvent(EHwrEventOutsideEvent); |
130 } |
142 } |
131 else |
143 else |
132 { |
144 { |
145 #ifdef RD_TACTILE_FEEDBACK |
|
146 if (UiLayout()->SupportTactileFeedback()) |
|
147 { |
|
148 UiLayout()->DoTactileFeedback(ETouchFeedbackSensitiveInput); |
|
149 } |
|
150 #endif //RD_TACTILE_FEEDBACK |
|
133 ctrl->UpdateArea(ctrl->Rect(),EFalse); |
151 ctrl->UpdateArea(ctrl->Rect(),EFalse); |
134 } |
152 } |
135 |
153 |
136 return ctrl; |
154 return ctrl; |
137 } |
155 } |
172 UpdateArea(iRect,EFalse); |
190 UpdateArea(iRect,EFalse); |
173 } |
191 } |
174 |
192 |
175 return ctrl; |
193 return ctrl; |
176 } |
194 } |
177 |
|
178 // --------------------------------------------------------------------------- |
|
179 // C++ constructor. |
|
180 // --------------------------------------------------------------------------- |
|
181 // |
|
182 CPeninputArabicFingerHwrSymbolTable::CPeninputArabicFingerHwrSymbolTable( |
|
183 CFepUiLayout* aFepUiLayout, TInt aControlId ) |
|
184 : CControlGroup( aFepUiLayout, aControlId ) |
|
185 { |
|
186 } |
|
187 |
195 |
188 // --------------------------------------------------------------------------- |
196 // --------------------------------------------------------------------------- |
189 // Symbian second-phase constructor. |
197 // Symbian second-phase constructor. |
190 // --------------------------------------------------------------------------- |
198 // --------------------------------------------------------------------------- |
191 // |
199 // |
192 void CPeninputArabicFingerHwrSymbolTable::ConstructL() |
200 void CPeninputArabicFingerHwrSymbolTable::ConstructL() |
193 { |
201 { |
194 BaseConstructL(); |
202 BaseConstructL(); |
195 |
203 |
196 //disable border |
204 // disable border |
197 SetBorderSize( TSize(0,0) ); |
205 SetBorderSize( TSize(0,0) ); |
198 |
206 |
207 // construct virtual keypad |
|
199 CreateVirtualKeypadL(); |
208 CreateVirtualKeypadL(); |
200 |
209 |
210 // construct button group |
|
201 CreateButtonGroupL(); |
211 CreateButtonGroupL(); |
202 } |
212 } |
203 |
213 |
214 // --------------------------------------------------------------------------- |
|
215 // SizeChanged |
|
216 // --------------------------------------------------------------------------- |
|
217 // |
|
204 void CPeninputArabicFingerHwrSymbolTable::SizeChanged( |
218 void CPeninputArabicFingerHwrSymbolTable::SizeChanged( |
205 const TSize /*aKeypadSize*/, const TSize aButtonSize, |
219 const TRect aVirtualKeypadRect, const RArray<TRect> aBtnRects, |
206 const TInt aKeypadRow, const TInt aKeypadCol, TBool aIsLandscape) |
220 const TInt aKeypadRow, const TInt aKeypadCol, TBool aIsLandscape) |
207 { |
221 { |
208 iIsLandscape = aIsLandscape; |
222 iIsLandscape = aIsLandscape; |
209 |
223 |
210 // relayout the button group |
224 // relayout the button group |
211 TRect spaceBtnRect(iRect.iTl,iRect.iTl+TPoint(aButtonSize.iWidth,aButtonSize.iHeight)); |
225 TRect spaceBtnRect(aBtnRects[0]); |
212 |
226 |
213 TInt pdx = (spaceBtnRect.Size().iWidth/3)/2; |
227 TInt pdx = (spaceBtnRect.Size().iWidth/3)/2; |
214 MoveIconButton(iSpaceBtn,spaceBtnRect,pdx,KSymbolButtonInnerPadding); |
228 MoveIconButton(iSpaceBtn,spaceBtnRect,pdx,KSymbolButtonInnerPadding); |
215 |
229 |
216 TRect pieceInnerRect = spaceBtnRect; |
230 TRect pieceInnerRect = spaceBtnRect; |
217 pieceInnerRect.Shrink(pdx*2,KSymbolButtonInnerPadding); |
231 pieceInnerRect.Shrink(pdx*2,KSymbolButtonInnerPadding); |
218 |
232 |
219 // that's a not good algrithm in funciton AknPenInputDrawUtils::Draw3PiecesColorIcon for drawing 3Pieces icons |
233 // that's a not good algrithm in funciton AknPenInputDrawUtils::Draw3PiecesColorIcon for drawing 3Pieces icons |
220 // as when the outter rect's height was not equal to the inter rect's height, the target rects the left icons and right icons |
234 // as when the outter rect's height was not equal to the inter rect's height, the target rects the left icons and right icons |
221 // would be bitblited onto are Rect(0.0.0.0.0) [[which should not be that behavior]]. |
235 // would be bitblited onto are set to be Rect(0.0.0.0.0) [[which should not be that behavior]]. |
222 // Please theck the codes: AknPenInputDrawUtils::Draw3PiecesColorIcon: this function should be Updated. |
236 // Please theck the codes: AknPenInputDrawUtils::Draw3PiecesColorIcon: this function should be Updated. |
223 iSpaceBtn->SetDraw3PieceFrameInfo( |
237 iSpaceBtn->SetDraw3PieceFrameInfo( |
224 TDraw3PiecesFrame(KAknsIIDQgnIndiInputSpaceL, |
238 TDraw3PiecesFrame(KAknsIIDQgnIndiInputSpaceL, |
225 KAknsIIDQgnIndiInputSpaceMiddle, |
239 KAknsIIDQgnIndiInputSpaceMiddle, |
226 KAknsIIDQgnIndiInputSpaceR, |
240 KAknsIIDQgnIndiInputSpaceR, |
227 pieceInnerRect)); |
241 pieceInnerRect)); |
228 TRect enterBtnRect = spaceBtnRect; |
242 TRect enterBtnRect(aBtnRects[1]); |
229 enterBtnRect.Move(TPoint(aButtonSize.iWidth,0)); |
|
230 |
243 |
231 MoveIconButton(iEnterBtn,enterBtnRect,pdx,KSymbolButtonInnerPadding); |
244 MoveIconButton(iEnterBtn,enterBtnRect,pdx,KSymbolButtonInnerPadding); |
232 |
245 |
233 TRect pageBtnRect = enterBtnRect; |
246 TRect pageBtnRect(aBtnRects[2]); |
234 pageBtnRect.Move(TPoint(aButtonSize.iWidth,0)); |
247 |
235 |
|
236 if(aIsLandscape) |
248 if(aIsLandscape) |
237 { |
249 { |
238 i3Page1Btn->Hide(ETrue); |
250 i2Page1Btn->Hide(EFalse); |
239 i3Page2Btn->Hide(ETrue); |
251 i2Page2Btn->Hide(EFalse); |
240 i3Page3Btn->Hide(ETrue); |
252 |
241 i2Page1Btn->Hide(EFalse); |
253 i3Page1Btn->Hide(ETrue); |
242 i2Page2Btn->Hide(EFalse); |
254 i3Page2Btn->Hide(ETrue); |
255 i3Page3Btn->Hide(ETrue); |
|
243 MoveIconButton(i2Page1Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
256 MoveIconButton(i2Page1Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
244 MoveIconButton(i2Page2Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
257 MoveIconButton(i2Page2Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
245 } |
258 } |
246 else |
259 else |
247 { |
260 { |
248 i2Page1Btn->Hide(EFalse); |
261 i2Page1Btn->Hide(ETrue); |
249 i2Page2Btn->Hide(EFalse); |
262 i2Page2Btn->Hide(ETrue); |
250 i3Page1Btn->Hide(EFalse); |
263 |
251 i3Page2Btn->Hide(ETrue); |
264 i3Page1Btn->Hide(EFalse); |
252 i3Page3Btn->Hide(ETrue); |
265 i3Page2Btn->Hide(EFalse); |
266 i3Page3Btn->Hide(EFalse); |
|
253 MoveIconButton(i3Page1Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
267 MoveIconButton(i3Page1Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
254 MoveIconButton(i3Page2Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
268 MoveIconButton(i3Page2Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
255 MoveIconButton(i3Page3Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
269 MoveIconButton(i3Page3Btn,pageBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding); |
256 } |
270 } |
257 |
271 |
258 // relayout the virtual key pad |
272 // relayout the virtual key pad |
259 TRect keypadRect = iRect; |
273 iMutiPageKeypad->SetRect(aVirtualKeypadRect); |
260 keypadRect.iTl = keypadRect.iTl + TPoint(0,aButtonSize.iHeight); |
|
261 |
|
262 iMutiPageKeypad->SetRect(keypadRect); |
|
263 |
274 |
264 iMutiPageKeypad->UpdatePaging(aKeypadRow,aKeypadCol); |
275 iMutiPageKeypad->UpdatePaging(aKeypadRow,aKeypadCol); |
265 } |
276 } |
266 |
277 |
267 // --------------------------------------------------------------------------- |
278 // --------------------------------------------------------------------------- |
279 spec ); |
290 spec ); |
280 |
291 |
281 AddControlL( iMutiPageKeypad ); |
292 AddControlL( iMutiPageKeypad ); |
282 iMutiPageKeypad->AddEventObserver( UiLayout() ); |
293 iMutiPageKeypad->AddEventObserver( UiLayout() ); |
283 |
294 |
284 iMutiPageKeypad->SetKeySkinId( EKeyBmpNormal, KAknsIIDQsnFrKeypadButtonNormal ); |
295 iMutiPageKeypad->SetKeySkinId( EKeyBmpNormal, KAknsIIDQsnFrKeypadButtonFrNormal ); |
285 iMutiPageKeypad->SetKeySkinId( EKeyBmpHighlight, KAknsIIDQsnFrKeypadButtonPressed ); |
296 iMutiPageKeypad->SetKeySkinId( EKeyBmpHighlight, KAknsIIDQsnFrKeypadButtonFrPressed ); |
286 iMutiPageKeypad->SetKeySkinId( EKeyBmpDim, KAknsIIDQsnFrKeypadButtonInactive ); |
297 iMutiPageKeypad->SetKeySkinId( EKeyBmpDim, KAknsIIDQsnFrKeypadButtonFrInactive ); |
287 iMutiPageKeypad->SetResourceId( KInvalidResId ); |
298 iMutiPageKeypad->SetResourceId( KInvalidResId ); |
288 |
299 |
289 iMutiPageKeypad->SetKeyTextColorGroup( EAknsCIQsnTextColorsCG68 ); |
300 iMutiPageKeypad->SetKeyTextColorGroup( EAknsCIQsnTextColorsCG68 ); |
290 iMutiPageKeypad->SetDrawOpaqueBackground( EFalse ); |
301 iMutiPageKeypad->SetDrawOpaqueBackground( EFalse ); |
291 } |
302 } |
350 } |
361 } |
351 |
362 |
352 void CPeninputArabicFingerHwrSymbolTable::OnActivate() |
363 void CPeninputArabicFingerHwrSymbolTable::OnActivate() |
353 { |
364 { |
354 CControlGroup::OnActivate(); |
365 CControlGroup::OnActivate(); |
355 /*if(IsPopup()) |
|
356 { |
|
357 CapturePointer( ETrue ); |
|
358 NavigatePage(0,EPagePosPageNo); |
|
359 }*/ |
|
360 } |
366 } |
361 |
367 |
368 // --------------------------------------------------------------------------- |
|
369 // Read control's background info. |
|
370 // --------------------------------------------------------------------------- |
|
371 // |
|
372 void CPeninputArabicFingerHwrSymbolTable::ConstructFromResourceL() |
|
373 { |
|
374 if ( iResourceId == KInvalidResId ) |
|
375 { |
|
376 User::Leave( KErrArgument ); |
|
377 } |
|
378 |
|
379 TResourceReader reader; |
|
380 CCoeEnv::Static()->CreateResourceReaderLC( reader, iResourceId ); |
|
381 |
|
382 const TInt32 bgImageResId = reader.ReadInt32(); |
|
383 LoadBackgroundFromResourceL(bgImageResId); |
|
384 |
|
385 CleanupStack::PopAndDestroy( 1 ); //reader |
|
386 |
|
387 |
|
388 CControlGroup::ConstructFromResourceL(); |
|
389 } |
|
390 |
|
391 // --------------------------------------------------------------------------- |
|
392 // Read control's background info. |
|
393 // --------------------------------------------------------------------------- |
|
394 // |
|
395 void CPeninputArabicFingerHwrSymbolTable::LoadBackgroundFromResourceL( const TInt aResId ) |
|
396 { |
|
397 if ( aResId == 0 ) |
|
398 return; |
|
399 |
|
400 if ( BackgroundBmp() ) |
|
401 { |
|
402 CFbsBitmap* bkBmp = BackgroundBmp(); |
|
403 delete bkBmp; |
|
404 SetBackgroundBmp( NULL ); |
|
405 } |
|
406 if ( BkMaskBmp() ) |
|
407 { |
|
408 CFbsBitmap* bkMaskBmp = BkMaskBmp(); |
|
409 delete bkMaskBmp; |
|
410 SetBackgroundMaskBmp( NULL ); |
|
411 } |
|
412 |
|
413 TResourceReader resReader; |
|
414 CCoeEnv::Static()->CreateResourceReaderLC( resReader, aResId ); |
|
415 |
|
416 TPtrC bmpFileName = resReader.ReadTPtrC(); |
|
417 TInt32 imgMajorSkinId = resReader.ReadInt32(); |
|
418 |
|
419 TAknsItemID id; |
|
420 TInt skinitemid; |
|
421 |
|
422 MAknsSkinInstance* skininstance = AknsUtils::SkinInstance(); |
|
423 const TInt16 bmpId = resReader.ReadInt16(); |
|
424 const TInt16 bmpMskId = resReader.ReadInt16(); |
|
425 skinitemid = resReader.ReadInt16(); |
|
426 id.Set( TInt( imgMajorSkinId ), skinitemid ); |
|
427 |
|
428 if ( bmpId != KInvalidImg ) |
|
429 { |
|
430 CFbsBitmap* backgroundImg = NULL; |
|
431 CFbsBitmap* backgroundMaskImg = NULL; |
|
432 if ( bmpMskId != KInvalidImg ) |
|
433 { |
|
434 AknsUtils::CreateIconL( skininstance, id, backgroundImg, |
|
435 backgroundMaskImg, bmpFileName, bmpId, bmpMskId ); |
|
436 } |
|
437 else |
|
438 { |
|
439 AknsUtils::CreateIconL( skininstance, id, backgroundImg, |
|
440 bmpFileName, bmpId ); |
|
441 } |
|
442 |
|
443 SetBackgroundBmp( backgroundImg ); |
|
444 SetBackgroundMaskBmp( backgroundMaskImg ); |
|
445 } |
|
446 CleanupStack::PopAndDestroy( 1 ); //reader |
|
447 } |
|
448 |
|
449 // --------------------------------------------------------------------------- |
|
450 // Load virtual keys image |
|
451 // --------------------------------------------------------------------------- |
|
452 // |
|
362 void CPeninputArabicFingerHwrSymbolTable::LoadVkbKeyImageL(TInt aResId, const TSize& aKeySize) |
453 void CPeninputArabicFingerHwrSymbolTable::LoadVkbKeyImageL(TInt aResId, const TSize& aKeySize) |
363 { |
454 { |
364 TResourceReader reader; |
455 TResourceReader reader; |
365 CCoeEnv::Static()->CreateResourceReaderLC( reader, aResId ); |
456 CCoeEnv::Static()->CreateResourceReaderLC( reader, aResId ); |
366 |
457 |
407 } |
498 } |
408 } |
499 } |
409 // Pop and destroy reader |
500 // Pop and destroy reader |
410 CleanupStack::PopAndDestroy( 1 ); |
501 CleanupStack::PopAndDestroy( 1 ); |
411 } |
502 } |
412 |
503 |
504 // --------------------------------------------------------------------------- |
|
505 // Load virtual keys |
|
506 // --------------------------------------------------------------------------- |
|
507 // |
|
413 void CPeninputArabicFingerHwrSymbolTable::LoadVirtualKeypadKeyL(const TInt aResId, const RArray<TRect>& aCellRects) |
508 void CPeninputArabicFingerHwrSymbolTable::LoadVirtualKeypadKeyL(const TInt aResId, const RArray<TRect>& aCellRects) |
414 { |
509 { |
415 iMutiPageKeypad->SetResourceId(aResId); |
510 iMutiPageKeypad->SetResourceId(aResId); |
416 |
511 |
417 TResourceReader reader; |
512 TResourceReader reader; |
432 else |
527 else |
433 { |
528 { |
434 CVirtualKey* vk = CreateVkbKeyL( reader, aCellRects[i%rectCount] ); |
529 CVirtualKey* vk = CreateVkbKeyL( reader, aCellRects[i%rectCount] ); |
435 CleanupStack::PushL( vk ); |
530 CleanupStack::PushL( vk ); |
436 iMutiPageKeypad->AddKeyL( vk ); |
531 iMutiPageKeypad->AddKeyL( vk ); |
532 |
|
437 CleanupStack::Pop( vk ); |
533 CleanupStack::Pop( vk ); |
438 } |
534 } |
439 } |
535 } |
440 |
536 |
441 CleanupStack::PopAndDestroy( 1 ); // reader |
537 CleanupStack::PopAndDestroy( 1 ); // reader |
474 vk = CVirtualKey::NewL( KNullDesC, keyscancode, aKeyRect, aKeyRect, 0 ); |
570 vk = CVirtualKey::NewL( KNullDesC, keyscancode, aKeyRect, aKeyRect, 0 ); |
475 } |
571 } |
476 |
572 |
477 CleanupStack::PopAndDestroy( keytexts ); //keytexts |
573 CleanupStack::PopAndDestroy( keytexts ); //keytexts |
478 |
574 |
479 |
575 |
480 TRect innerrect = aKeyRect; |
576 TRect innerrect = aKeyRect; |
481 innerrect.Shrink( TSize(10, 10) ); |
577 innerrect.Shrink( TSize(10, 10) ); |
482 vk->SetInnerRect( innerrect ); |
578 vk->SetInnerRect( innerrect ); |
483 |
579 |
484 return vk; |
580 return vk; |
485 } |
581 } |
486 |
|
487 |
582 |
488 // --------------------------------------------------------------------------- |
583 // --------------------------------------------------------------------------- |
489 // update virtual key info. |
584 // update virtual key info. |
490 // --------------------------------------------------------------------------- |
585 // --------------------------------------------------------------------------- |
491 // |
586 // |
522 innerrect.Shrink( TSize(10,10) ); |
617 innerrect.Shrink( TSize(10,10) ); |
523 aVirtualKey->SetInnerRect( innerrect ); |
618 aVirtualKey->SetInnerRect( innerrect ); |
524 } |
619 } |
525 |
620 |
526 // --------------------------------------------------------------------------- |
621 // --------------------------------------------------------------------------- |
527 // Change SCT page. |
622 // Navigate the symbol page |
528 // --------------------------------------------------------------------------- |
623 // --------------------------------------------------------------------------- |
529 // |
624 // |
530 void CPeninputArabicFingerHwrSymbolTable::NavigatePage( TInt aPageNo, TInt aPos ) |
625 void CPeninputArabicFingerHwrSymbolTable::NavigatePage( TInt aPageNo, TInt aPos ) |
531 { |
626 { |
532 switch ( aPos ) |
627 switch ( aPos ) |
562 |
657 |
563 default: |
658 default: |
564 break; |
659 break; |
565 } |
660 } |
566 |
661 |
662 // Show page button |
|
567 UpdatePageButtonsUi(); |
663 UpdatePageButtonsUi(); |
664 |
|
665 // Draw the symbol table |
|
568 Draw(); |
666 Draw(); |
667 |
|
668 // Update the feedback for the virtual key |
|
569 UpdateAllVirtualKeysFeedback(); |
669 UpdateAllVirtualKeysFeedback(); |
670 |
|
671 // Bitblt the whole symbol table to screen |
|
570 UpdateArea(iRect); |
672 UpdateArea(iRect); |
571 } |
673 } |
572 |
674 |
573 // --------------------------------------------------------------------------- |
675 // --------------------------------------------------------------------------- |
574 // sync sct paging buttons. |
676 // Show the button page which should be visible |
575 // --------------------------------------------------------------------------- |
677 // --------------------------------------------------------------------------- |
576 // |
678 // |
577 void CPeninputArabicFingerHwrSymbolTable::UpdatePageButtonsUi() |
679 void CPeninputArabicFingerHwrSymbolTable::UpdatePageButtonsUi() |
578 { |
680 { |
579 TInt curpage = iMutiPageKeypad->CurPageIndex(); |
681 TInt curpage = iMutiPageKeypad->CurPageIndex(); |
609 TBool enable = !vk->Dimmed() && ( page == curPage ); |
711 TBool enable = !vk->Dimmed() && ( page == curPage ); |
610 iMutiPageKeypad->EnableKeyFeedback( vk, enable ); |
712 iMutiPageKeypad->EnableKeyFeedback( vk, enable ); |
611 } |
713 } |
612 } |
714 } |
613 |
715 |
716 // --------------------------------------------------------------------------- |
|
717 // Draw new content to the screen |
|
718 // --------------------------------------------------------------------------- |
|
719 // |
|
720 void CPeninputArabicFingerHwrSymbolTable::Draw() |
|
721 { |
|
722 if(AbleToDraw()) |
|
723 { |
|
724 DrawOpaqueMaskBackground( Rect() ); |
|
725 |
|
726 if( BackgroundBmp() && BackgroundBmp()->SizeInPixels() != Rect().Size() ) |
|
727 { |
|
728 AknIconUtils::SetSize(BackgroundBmp(), Rect().Size(), EAspectRatioNotPreserved); |
|
729 } |
|
730 // draw background |
|
731 DrawBackground(); |
|
732 |
|
733 // draw group |
|
734 CControlGroup::Draw(); |
|
735 |
|
736 // bitblt the new content to screen |
|
737 UpdateArea(iRect); |
|
738 } |
|
739 } |
|
740 |
|
614 // End Of File |
741 // End Of File |