|
1 /* |
|
2 * Copyright (c) 2002-2005 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: peninput generic vkb window layout class |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef C_PENINPUTGENERICVKBWINDOW_H |
|
20 #define C_PENINPUTGENERICVKBWINDOW_H |
|
21 |
|
22 // System includes |
|
23 #include <peninputlayoutwindowext.h> |
|
24 #include <peninputuistatemgrinterface.h> |
|
25 #include <AknLayoutDef.h> |
|
26 |
|
27 // Forward declarations |
|
28 class CAknFepCtrlRangeBar; |
|
29 class CAknFepCtrlEventButton; |
|
30 class CAknFepCtrlDragButton; |
|
31 class CAknFepCtrlRepeatButton; |
|
32 class CPeninputCommonChoiceList; |
|
33 class CPeninputLayoutInputmodelChoice; |
|
34 class CPeninputGenericVkbLafMgr; |
|
35 class CPeninputSyncBitmapRotator; |
|
36 class CRepository; |
|
37 class CFepLayoutScrollableList; |
|
38 // Constants |
|
39 const TInt KMaxFileLength = 80; |
|
40 |
|
41 const TInt KMaxRangeLabelLength = 100; |
|
42 |
|
43 /** |
|
44 * class TAllRangeLabels |
|
45 */ |
|
46 class TAllRangeLabels |
|
47 { |
|
48 public: |
|
49 TBuf<KMaxRangeLabelLength> iLabelNativeChar; |
|
50 TBuf<KMaxRangeLabelLength> iLabelNativeNumber; |
|
51 TBuf<KMaxRangeLabelLength> iLabelLatinChar; |
|
52 TBuf<KMaxRangeLabelLength> iLabelLatinNumber; |
|
53 TBuf<KMaxRangeLabelLength> iLabelSymbol; |
|
54 TBuf<KMaxRangeLabelLength> iLabelAccent; |
|
55 }; |
|
56 /** |
|
57 * Vkb layout window class |
|
58 * This class define methods to deal with window layout and |
|
59 * handle events sent to this window |
|
60 * |
|
61 * @lib peninputgenericvkb.lib |
|
62 * @since S60 v3.2 |
|
63 */ |
|
64 class CPeninputGenericVkbWindow : public CPeninputLayoutWindowExt |
|
65 { |
|
66 private: |
|
67 enum TIndicatorAlign |
|
68 { |
|
69 EIndiAlignLeft, |
|
70 EIndiAlignCenter, |
|
71 EIndiAlignRight |
|
72 }; |
|
73 public: |
|
74 |
|
75 /** |
|
76 * Two-phased constructor |
|
77 * |
|
78 * @since S60 v3.2 |
|
79 * @param aUiLayout The plugin ui layout |
|
80 * @param aLayoutContext The vkb layout context |
|
81 * @return The pointer to CPeninputGenericVkbWindow object |
|
82 */ |
|
83 static CPeninputGenericVkbWindow* NewL( CFepUiLayout* aUiLayout, |
|
84 MPeninputLayoutContext* aLayoutContext, MPeninputUiStateMgr* aUiStateMgr ); |
|
85 |
|
86 /** |
|
87 * Destructor |
|
88 * |
|
89 * @since S60 v3.2 |
|
90 * @return None |
|
91 */ |
|
92 virtual ~CPeninputGenericVkbWindow(); |
|
93 |
|
94 /** |
|
95 * Do when case changed |
|
96 * |
|
97 * @since S60 v3.2 |
|
98 * @param aNewCase The new case |
|
99 * @return None |
|
100 */ |
|
101 void DoCaseChange( TInt aNewCase ); |
|
102 |
|
103 // From base class CPeninputLayoutWindow |
|
104 |
|
105 /** |
|
106 * From CPeninputLayoutWindow |
|
107 * Handle control event |
|
108 * |
|
109 * @since S60 v3.2 |
|
110 * @param aEventType The event type |
|
111 * @param aCtrl The control who sends the event |
|
112 * @param aEventData The event data |
|
113 * @return None |
|
114 */ |
|
115 void HandleControlEvent( TInt aEventType, |
|
116 CFepUiBaseCtrl* aCtrl, |
|
117 const TDesC& aEventData ); |
|
118 |
|
119 /** |
|
120 * From CPeninputLayoutWindow |
|
121 * Get id of window config resource |
|
122 * |
|
123 * @since S60 v3.2 |
|
124 * @return The id of window config resource |
|
125 */ |
|
126 TInt GetWindowConfigResId(); |
|
127 |
|
128 /** |
|
129 * From CPeninputLayoutWindow |
|
130 * Get id of window resource |
|
131 * |
|
132 * @since S60 v3.2 |
|
133 * @return The id of window resource |
|
134 */ |
|
135 TInt GetWindowResId(); |
|
136 |
|
137 /** |
|
138 * From CPeninputLayoutWindowExt |
|
139 * Get resource id of numeric keymapping |
|
140 * |
|
141 * @since S60 v3.2 |
|
142 * @return The id of window resource |
|
143 */ |
|
144 TInt GetNumKeymappingResId(); |
|
145 |
|
146 /** |
|
147 * From CPeninputLayoutWindow |
|
148 * Get file name of window config resource |
|
149 * |
|
150 * @since S60 v3.2 |
|
151 * @param aLangID The id of language |
|
152 * @return The file name of window config resource |
|
153 */ |
|
154 const TDesC& GetWindowConfigResFileName( TInt aLangID ); |
|
155 |
|
156 /** |
|
157 * From CPeninputLayoutWindow |
|
158 * Get file name of window resource |
|
159 * |
|
160 * @since S60 v3.2 |
|
161 * @return The file name of window resource |
|
162 */ |
|
163 const TDesC& GetWindowResFileName(); |
|
164 |
|
165 /** |
|
166 * From CPeninputLayoutWindow |
|
167 * Re-organize all controls in the assigned client area layout |
|
168 * |
|
169 * @since S60 v3.2 |
|
170 * @param aClientLayoutId The id of client area layout |
|
171 * @return None |
|
172 */ |
|
173 void ReorganizeControls( TInt aClientLayoutId, TBool aNeedReset ); |
|
174 |
|
175 /** |
|
176 * From CPeninputLayoutWindow |
|
177 * Change unit size |
|
178 * |
|
179 * @since S60 v3.2 |
|
180 * @return The window rect |
|
181 */ |
|
182 const TRect ChangeUnitSize(); |
|
183 |
|
184 /** |
|
185 * From CPeninputLayoutWindow |
|
186 * Change size of client area |
|
187 * |
|
188 * @since S60 v3.2 |
|
189 * @return None |
|
190 */ |
|
191 void ChangeClientSize(); |
|
192 |
|
193 /** |
|
194 * From CPeninputLayoutWindow |
|
195 * Construct all controls specified in resource |
|
196 * |
|
197 * @since S60 v3.2 |
|
198 * @return None |
|
199 */ |
|
200 void CreateAllControlsL(); |
|
201 |
|
202 /** |
|
203 * From CPeninputLayoutWindow |
|
204 * Set control fonts. Fonts info comes from resource |
|
205 * |
|
206 * @since S60 v3.2 |
|
207 * @return None |
|
208 */ |
|
209 void SetControlsFont(); |
|
210 |
|
211 /** |
|
212 * From CPeninputLayoutWindow |
|
213 * Pop up choice list |
|
214 * |
|
215 * @since S60 v3.2 |
|
216 * @return None |
|
217 */ |
|
218 void PopupChoiceList(); |
|
219 |
|
220 /** |
|
221 * ConstructFromResourceL load settings from resource. |
|
222 * Before calling this function, the resource id should be set |
|
223 * |
|
224 * @since S60 v3.2 |
|
225 * @return None |
|
226 */ |
|
227 void ConstructFromResourceL(); |
|
228 |
|
229 static TInt BackgroundTaskL(TAny* aPtr); |
|
230 |
|
231 /** |
|
232 * config unit size, reason may due to client layout id changed, |
|
233 * Set current language |
|
234 * |
|
235 * @since S60 v3.2 |
|
236 * @param aLang Current language |
|
237 * @return None |
|
238 */ |
|
239 void SetSwitchlistLanguage(TInt aLang); |
|
240 |
|
241 /** |
|
242 * Current editor is secret |
|
243 * |
|
244 * @since S60 v3.2 |
|
245 * @param aSecret Editor is secret |
|
246 * @return None |
|
247 */ |
|
248 void SetSwitchlistSecretFlag(TBool aSecret); |
|
249 |
|
250 /** |
|
251 * Dim the arrow keys on FSQ when the editor |
|
252 * is findpane or secret editor |
|
253 * |
|
254 * @since S60 v3.2 |
|
255 * @param aSecret Editor is secret |
|
256 * @return None |
|
257 */ |
|
258 void DimArrowKeys( TBool aDimArrow ); |
|
259 |
|
260 void DimEnterKey( TBool aDimmed ); |
|
261 |
|
262 /** |
|
263 * Pop up switcher windows |
|
264 * |
|
265 * @since S60 v3.2 |
|
266 * @param aSecret Editor is secret |
|
267 * @return None |
|
268 */ |
|
269 void PopupSwitchWindowL(); |
|
270 |
|
271 /** |
|
272 * Handle accented char event |
|
273 * |
|
274 * @since S60 v3.2 |
|
275 * @param aEventType The event type |
|
276 * @param aEventData The event data |
|
277 * @param aDeadKey The DeadKey char buffer |
|
278 * @param anewCharBuf The new Accented buffer |
|
279 * @return None |
|
280 */ |
|
281 TBool HandleAccentCharEvent(TInt aEventType, |
|
282 const TDesC& aEventData, |
|
283 const TDesC& aDeadKey, |
|
284 HBufC* anewCharBuf ); |
|
285 |
|
286 /** |
|
287 * Handle virtual key latched event |
|
288 * |
|
289 * @since S60 v3.2 |
|
290 * @param aEventType The event type |
|
291 * @param aCtrl The controler |
|
292 * @param aEventData Event data |
|
293 * @return None |
|
294 */ |
|
295 void HandleVirtualKeyLatchedEvent(TInt aEventType, |
|
296 CFepUiBaseCtrl* aCtrl, |
|
297 const TDesC& aEventData ); |
|
298 |
|
299 |
|
300 /** |
|
301 * handle virtual key up event |
|
302 * |
|
303 * @since S60 v3.2 |
|
304 * @param aEventType The event type |
|
305 * @param aCtrl The controler |
|
306 * @param aEventData Event data |
|
307 * @return None |
|
308 */ |
|
309 TBool HandleVirtualKeyUpEvent(TInt aEventType, |
|
310 CFepUiBaseCtrl* aCtrl, |
|
311 const TDesC& aEventData ); |
|
312 |
|
313 virtual void SetLafLayOut(TInt aRows, TInt aColumns); |
|
314 /* |
|
315 * |
|
316 * @since S60 v3.2 |
|
317 * @return None |
|
318 */ |
|
319 void SetDeadKey(); |
|
320 void ChangeInputModeL(); |
|
321 |
|
322 /** |
|
323 * Unlatch a DeadKey by the key buffer |
|
324 * |
|
325 * @since S60 v3.2 |
|
326 * @param abuf The key buffer which will be unlatched |
|
327 * @return None |
|
328 */ |
|
329 void UnLatchDeadKey( const TDesC& abuf = KNullDesC ); |
|
330 |
|
331 void SetPromptTextL(TUint8* aData); |
|
332 |
|
333 void UpdateLafData(); |
|
334 |
|
335 void ConstructAccentListL(TInt aLang); |
|
336 |
|
337 void ShowBubble(TInt aShow); |
|
338 |
|
339 /** |
|
340 * Show tooltip of ICF |
|
341 * |
|
342 * @param aText The text to be displayed in ICF |
|
343 * @return None |
|
344 */ |
|
345 void ShowTooltipL( const TDesC& aText, TInt aLangCode = ELangTest ); |
|
346 |
|
347 /** |
|
348 * Hide tooltip of ICF |
|
349 * |
|
350 * @return None |
|
351 */ |
|
352 void HideTooltip(); |
|
353 |
|
354 /** |
|
355 * Hide candidate list |
|
356 * |
|
357 * @return None |
|
358 */ |
|
359 void HideCandidateList(); |
|
360 |
|
361 /** |
|
362 * Show candidate list |
|
363 * |
|
364 * @param aItemArray, the contents to be shown |
|
365 * @param aActiveIndex, the default index |
|
366 * @return None |
|
367 */ |
|
368 void ShowCandidateListL( TInt aAlign, const CDesCArray* aItemArray, |
|
369 TInt aActiveIndex ); |
|
370 |
|
371 /** |
|
372 * Handle candidate list selected events |
|
373 * |
|
374 * @param aCtrl, pointer of the candidate list on which events occur. |
|
375 * @param, aEventData event data |
|
376 * @return None |
|
377 */ |
|
378 void HandleCandidateListSelectedL( CFepUiBaseCtrl* aCtrl, const TDesC& aEventData ); |
|
379 |
|
380 /* |
|
381 * Load range labels for range list |
|
382 * |
|
383 * @since S60 v5.0 |
|
384 * @param aLangId current language id |
|
385 * @return None |
|
386 */ |
|
387 void ConstructRangeLabelListL( TInt aLangId ); |
|
388 |
|
389 /** |
|
390 * Update state of range button |
|
391 * |
|
392 * @since S60 v5.0 |
|
393 * @return None |
|
394 */ |
|
395 void UpdateRangeCtrlsL(); |
|
396 |
|
397 void ConstructFSQAccentListL( TInt aLangId ); |
|
398 |
|
399 void SetIndiBubbleImageL( const TInt aImgID1, |
|
400 const TInt aMaskID1, |
|
401 const TInt aImgID2, |
|
402 const TInt aMaskID2 ); |
|
403 |
|
404 void IndiBubbleWithText(); |
|
405 |
|
406 void IndiBubbleWithoutText(); |
|
407 |
|
408 void SetIndiWithTextFlag( TBool aFlag ); |
|
409 |
|
410 void UpdateIndiBubbleL( TUint8* aData ); |
|
411 |
|
412 inline TFepIndicatorInfo IndicatorData(); |
|
413 |
|
414 inline void SetIndicatorData( const TFepIndicatorInfo& aIndicatorData ); |
|
415 protected: |
|
416 |
|
417 /** |
|
418 * Constructor |
|
419 * |
|
420 * @since S60 v3.2 |
|
421 * @param aUiLayout The plugin ui layout |
|
422 * @param aLayoutContext The vkb layout context |
|
423 * @return None |
|
424 */ |
|
425 CPeninputGenericVkbWindow( CFepUiLayout* aUiLayout, |
|
426 MPeninputLayoutContext* aLayoutContext, |
|
427 MPeninputUiStateMgr* aUiStateMgr ); |
|
428 void ConstructL(); |
|
429 |
|
430 virtual TBool CreateCustomControlL( TInt16 aControlId, TInt32 aImageId ); |
|
431 virtual void AddCustomControlGroupL(CFepUiBaseCtrl* aCtrl); |
|
432 |
|
433 private: |
|
434 |
|
435 /** |
|
436 * Show range list |
|
437 * |
|
438 * @since S60 v5.0 |
|
439 * @return None |
|
440 */ |
|
441 void PopupRangeListL(); |
|
442 |
|
443 /** |
|
444 * Prepare range list items |
|
445 * |
|
446 * @since S60 v5.0 |
|
447 * @param aRangeItems items in range list |
|
448 * @return None |
|
449 */ |
|
450 void PrepareRangeListItems( RArray<CFepLayoutChoiceList::SItem>& |
|
451 aRangeItems ); |
|
452 |
|
453 /** |
|
454 * Utils to get context value |
|
455 * |
|
456 * @since S60 v5.0 |
|
457 * @param aDataIndex index of context value |
|
458 * @return conext value |
|
459 */ |
|
460 TInt IntContext( TPeninputDataType aDataIndex ); |
|
461 |
|
462 void CalIndicatorRect(const TRect& aBoundRect, |
|
463 TRect& aRealRect1, |
|
464 TRect& aRealRect2, |
|
465 TIndicatorAlign aAlign); |
|
466 |
|
467 /** |
|
468 * Handle range list event |
|
469 * |
|
470 * @since S60 v5.0 |
|
471 * @return None |
|
472 */ |
|
473 void HandleRangeListSelectedL( CFepUiBaseCtrl* aCtrl, |
|
474 const TDesC& aData ); |
|
475 |
|
476 /** |
|
477 * Get resource ids of range button icon |
|
478 * |
|
479 * @since S60 v5.0 |
|
480 * @param aLangId current language id |
|
481 * @param aAlphaRange variable to receive icon resource id for alpha range |
|
482 * @param aOtherRange variable to receive icon resource id for other ranges |
|
483 * @return None |
|
484 */ |
|
485 void GetRangeIconResource( TInt aLangId, TInt& aAlphaRange, |
|
486 TInt& aOtherRange ); |
|
487 |
|
488 /** |
|
489 * Add range bar into client area |
|
490 * |
|
491 * @since S60 v3.2 |
|
492 * @return None |
|
493 */ |
|
494 void AddRangeBarL(); |
|
495 |
|
496 /** |
|
497 * Add button to client area |
|
498 * |
|
499 * @since S60 v3.2 |
|
500 * @param aControlId The control id |
|
501 * @param aEventId The control's event id |
|
502 * @param aResId The control's resource id |
|
503 * @param aUnicode The control's unicode |
|
504 * @param aIsRepeat The TBool indicating whether the |
|
505 * control is repeated or not |
|
506 * @return The pointer to CAknFepCtrlEventButton object |
|
507 */ |
|
508 CAknFepCtrlEventButton* AddButtonL( const TInt aControlId, |
|
509 const TInt aEventId, |
|
510 const TInt aResId, |
|
511 const TInt aUnicode = 0, |
|
512 const TBool aIsRepeat = EFalse ); |
|
513 |
|
514 /** |
|
515 * Add popup window to display accented char list |
|
516 * |
|
517 * @since S60 v3.2 |
|
518 * @return None |
|
519 */ |
|
520 void AddPopupWindowL(); |
|
521 |
|
522 /** |
|
523 * Reset accent button |
|
524 * |
|
525 * @since S60 v3.2 |
|
526 * @return None |
|
527 */ |
|
528 void ResetAccentButton(); |
|
529 |
|
530 /** |
|
531 * Handle size changed for accented chars popup window |
|
532 * |
|
533 * @since S60 v3.2 |
|
534 * @return None |
|
535 */ |
|
536 void PopupWindowSizeChange(); |
|
537 |
|
538 /** |
|
539 * get resource info of accented chars popup window |
|
540 * |
|
541 * @since S60 v3.2 |
|
542 * @return None |
|
543 */ |
|
544 void GetPopupWndInfoFromResL( TResourceReader reader, const TRect& aRect ); |
|
545 void DoIdleConstructL(); |
|
546 |
|
547 void SetVkbLayoutSize(); |
|
548 |
|
549 void SimulateRawEvent(TInt aScanCode, TRawEvent::TType aType); |
|
550 |
|
551 void SetRangeBarSizeL(TInt x, TInt y); |
|
552 |
|
553 TBool HandleDeadKeyL(TInt aEventType, const TDesC& aEventData ); |
|
554 |
|
555 void ReorgnizeICFAndButtons(); |
|
556 |
|
557 void UpdateICFTextL(); |
|
558 |
|
559 inline TBool IsRtoLLanguage( TInt aLanguage ); |
|
560 inline TBool IsValidLanguage(TInt aLanguage); |
|
561 |
|
562 void HandleButtonResOnLangDirChange( TInt aControlId ); |
|
563 void HandleButtonResOnLangDirChangeL( TInt aControlId ); |
|
564 |
|
565 /* |
|
566 * Create a candidate list control |
|
567 */ |
|
568 void CreateCandidateListL(); |
|
569 |
|
570 /* |
|
571 * Retrieve text color from skin for candidiate list |
|
572 */ |
|
573 TRgb CandidateListTextColor(); |
|
574 |
|
575 /* |
|
576 * Retrieve text color from skin for autocompletion part |
|
577 */ |
|
578 TRgb AutoCompletionPartColor(); |
|
579 |
|
580 /** |
|
581 * Called when short press occurs on range button. |
|
582 * |
|
583 * @since S60 v3.2 |
|
584 * @return None |
|
585 */ |
|
586 void HandleRangeButtonShortPress(); |
|
587 |
|
588 private: // Data |
|
589 |
|
590 /** |
|
591 * The vkb extenting control for vkb area |
|
592 * Not own |
|
593 */ |
|
594 CPeninputVkbCtrlExt* iVkbCtrl; |
|
595 |
|
596 /** |
|
597 * The range bar |
|
598 * Not own |
|
599 */ |
|
600 CAknFepCtrlRangeBar* iRangeBar; |
|
601 |
|
602 /** |
|
603 * The language switch button |
|
604 * Not own |
|
605 */ |
|
606 CAknFepCtrlEventButton* iLangSwitchBtn; |
|
607 |
|
608 /** |
|
609 * The resource file name |
|
610 */ |
|
611 TBuf<KMaxFileLength> iResourceFilename; |
|
612 |
|
613 /** |
|
614 * The popup window |
|
615 * Own |
|
616 */ |
|
617 CPeninputCommonChoiceList* iPopupWnd; |
|
618 |
|
619 /** |
|
620 * The background bitmap of popup window |
|
621 * Not own |
|
622 */ |
|
623 CFbsBitmap* iPopupWndBgImg; |
|
624 |
|
625 /** |
|
626 * The focus bitmap of popup window |
|
627 * Not own |
|
628 */ |
|
629 CFbsBitmap* iPopupWndFocusImg; |
|
630 |
|
631 /** |
|
632 * The UI state manager |
|
633 * Not own |
|
634 */ |
|
635 MPeninputUiStateMgr* iUiStateMgr; |
|
636 |
|
637 /** |
|
638 * Application window rect |
|
639 */ |
|
640 TRect iAppWndRect; |
|
641 |
|
642 /** |
|
643 * VKB window rect |
|
644 */ |
|
645 TRect iVkbWndRect; |
|
646 |
|
647 CIdle *iIdle; |
|
648 |
|
649 /** |
|
650 * Whether popup window has been initied |
|
651 */ |
|
652 TBool iPopupInited; |
|
653 |
|
654 /** |
|
655 * Popup window item rect |
|
656 */ |
|
657 TRect iPopupItemRect; |
|
658 |
|
659 /** |
|
660 * Choice text layout |
|
661 */ |
|
662 TAknTextLineLayout iChoiceTextLayout; |
|
663 |
|
664 /** |
|
665 * Whether popup window text property has been set |
|
666 */ |
|
667 TBool iPopupSet; |
|
668 |
|
669 /** |
|
670 * Array of unit size |
|
671 * Own |
|
672 */ |
|
673 RArray<TSize> iUnits; |
|
674 /** |
|
675 * Touch input switcher |
|
676 * Own |
|
677 */ |
|
678 CAknFepCtrlRepeatButton* iArrowLeftButton; |
|
679 |
|
680 CAknFepCtrlRepeatButton* iArrowRightButton; |
|
681 |
|
682 CAknFepCtrlDragButton* iMoveButton; |
|
683 |
|
684 CPeninputGenericVkbLafMgr* iLafMgr; |
|
685 |
|
686 // CPeninputLayoutInputmodelChoice* iModeSwitchChoice; |
|
687 |
|
688 /** |
|
689 * The new DeadKey buffer |
|
690 */ |
|
691 TBuf<16> iNewDeadKeyBuf; |
|
692 |
|
693 /** |
|
694 * The old DeadKey buffer |
|
695 */ |
|
696 TBuf<16> iOldDeadKeyBuf; |
|
697 |
|
698 |
|
699 TAknWindowLineLayout iBubbleSize; |
|
700 TAknTextLineLayout iBubbleTextLayout; |
|
701 TBool iFirstConstruct; |
|
702 |
|
703 /** |
|
704 * Writing language |
|
705 */ |
|
706 TInt iLanguage; |
|
707 |
|
708 /** |
|
709 * Bitmap rotator |
|
710 */ |
|
711 CPeninputSyncBitmapRotator* iBmpRotator; |
|
712 /** |
|
713 * Accent command list |
|
714 */ |
|
715 RArray<CFepLayoutChoiceList::SItem> iAccentCmdList; |
|
716 |
|
717 TSize iIndicatorSize; |
|
718 |
|
719 TSize iIndicatorTextSize; |
|
720 |
|
721 TBool iIndiWithText; |
|
722 |
|
723 TFepIndicatorInfo iIndicatorData; |
|
724 |
|
725 /** |
|
726 * Range labels for range list |
|
727 */ |
|
728 TAllRangeLabels iRangeLabels; |
|
729 |
|
730 /** |
|
731 * Indicates whether range button short press is handled. |
|
732 */ |
|
733 TBool iHandleRangeShortPress; |
|
734 |
|
735 /** |
|
736 * Indicates whether US rsc file exist or not |
|
737 */ |
|
738 TBool iUSRscFileExist; |
|
739 |
|
740 private: |
|
741 CFepLayoutScrollableList* iCandidateList; |
|
742 |
|
743 }; |
|
744 |
|
745 inline TBool CPeninputGenericVkbWindow::IsRtoLLanguage( TInt aLanguage ) |
|
746 { |
|
747 return ( aLanguage == ELangArabic || |
|
748 aLanguage == ELangHebrew || |
|
749 aLanguage == ELangFarsi || |
|
750 aLanguage == ELangUrdu ); |
|
751 } |
|
752 |
|
753 inline TBool CPeninputGenericVkbWindow::IsValidLanguage(TInt aLanguage) |
|
754 { |
|
755 return (aLanguage != ELangTest && aLanguage != ELangNone); |
|
756 } |
|
757 inline void CPeninputGenericVkbWindow::SetIndicatorData( |
|
758 const TFepIndicatorInfo& aIndicatorData ) |
|
759 { |
|
760 iIndicatorData.iIndicatorImgID = aIndicatorData.iIndicatorImgID; |
|
761 iIndicatorData.iIndicatorMaskID = aIndicatorData.iIndicatorMaskID; |
|
762 iIndicatorData.iIndicatorTextImgID = aIndicatorData.iIndicatorTextImgID; |
|
763 iIndicatorData.iIndicatorTextMaskID = aIndicatorData.iIndicatorTextMaskID; |
|
764 } |
|
765 |
|
766 inline TFepIndicatorInfo CPeninputGenericVkbWindow::IndicatorData() |
|
767 { |
|
768 return iIndicatorData; |
|
769 } |
|
770 #endif // C_PENINPUTGENERICVKBWINDOW_H |