46 |
45 |
47 /** |
46 /** |
48 * CPeninputFingerHwrArDataStore |
47 * CPeninputFingerHwrArDataStore |
49 * |
48 * |
50 * @lib peninputfingerhwr.lib |
49 * @lib peninputfingerhwr.lib |
51 * @since S60 v5.0 |
50 * @since Symbian TB9.2 |
52 */ |
51 */ |
53 class CPeninputFingerHwrArDataStore : public CBase |
52 class CPeninputFingerHwrArDataStore : public CBase |
54 { |
53 { |
55 public: |
54 public: |
56 /** |
55 /** |
57 * Symbian constructor. |
56 * Symbian constructor. |
58 * |
57 * |
59 * @since S60 v5.0 |
58 * @since Symbian TB9.2 |
60 * @param aPtiEngine The PtiEngine |
59 * @param aPtiEngine The PtiEngine |
61 * @param aLayout The Finger HWR layout |
60 * @param aLayout The Finger HWR layout |
62 * @return Pointer to created CPeninputFingerHwrArDataStore object |
61 * @return Pointer to created CPeninputFingerHwrArDataStore object |
63 */ |
62 */ |
64 static CPeninputFingerHwrArDataStore* NewL( CPtiEngine* aPtiEngine, |
63 static CPeninputFingerHwrArDataStore* NewL( CPtiEngine* aPtiEngine, |
65 CPeninputFingerHwrArLayout* aLayout ); |
64 CPeninputFingerHwrArLayout* aLayout ); |
66 |
65 |
67 /** |
66 /** |
68 * destructor |
67 * destructor |
69 * |
68 * |
70 * @since S60 v5.0 |
69 * @since Symbian TB9.2 |
71 * @return None |
70 * @return None |
72 */ |
71 */ |
73 virtual ~CPeninputFingerHwrArDataStore(); |
72 virtual ~CPeninputFingerHwrArDataStore(); |
74 |
73 |
75 |
74 |
76 public: |
75 public: |
77 /** |
76 /** |
78 * Is valid candidate |
77 * Is valid candidate |
79 * |
78 * |
80 * @since S60 v5.0 |
79 * @since Symbian TB9.2 |
81 * @param aCandidateIndex The index the candidate in list. |
80 * @param aCandidateIndex The index the candidate in list. |
82 * @return ETrue if candidate is not empty; otherwise EFalse |
81 * @return ETrue if candidate is not empty; otherwise EFalse |
83 */ |
82 */ |
84 TBool IsValidCandidate( TInt aCandidateIndex ) const; |
83 TBool IsValidCandidate( TInt aCandidateIndex ) const; |
85 |
84 |
86 |
85 |
87 /** |
86 /** |
88 * Is English letter |
87 * Is English letter |
89 * |
88 * |
90 * @since S60 v5.0 |
89 * @since Symbian TB9.2 |
91 * @param aLetter The recognize character. |
90 * @param aLetter The recognize character. |
92 * @return ETrue if the character is English letter; otherwise EFalse |
91 * @return ETrue if the character is English letter; otherwise EFalse |
93 */ |
92 */ |
94 TBool IsEnglishLetter( const TDesC& aLetter); |
93 TBool IsEnglishLetter( const TDesC& aLetter); |
95 |
94 |
96 /** |
95 /** |
97 * Do recoginize by engine |
96 * Do recoginize by engine |
98 * |
97 * |
99 * @since S60 v5.0 |
98 * @since Symbian TB9.2 |
100 * @param aTraceData The trace data. |
99 * @param aTraceData The trace data. |
101 * @return None |
100 * @return None |
102 */ |
101 */ |
103 void DoRecognizeL( const RArray<TPoint>& aTraceData ); |
102 void DoRecognizeL( const RArray<TPoint>& aTraceData ); |
104 |
103 |
105 |
104 |
106 /** |
105 /** |
107 * Set Chinese symbol to writing candidate list |
106 * Set Chinese symbol to writing candidate list |
108 * |
107 * |
109 * @since S60 v5.0 |
108 * @since Symbian TB9.2 |
110 * @return None |
109 * @return None |
111 */ |
110 */ |
112 void SetArabicSymbolL(); |
111 void SetArabicSymbolL(); |
113 |
112 |
114 |
|
115 /** |
|
116 * Set fixed English symbol |
|
117 * |
|
118 * @since S60 v5.0 |
|
119 * @param aRowCount The flag to confirm which row |
|
120 * @return None |
|
121 */ |
|
122 void SetFixEnglishSymbolL(TRowCount aRowCount = ERowOne); |
|
123 |
|
124 |
|
125 |
|
126 /** |
113 /** |
127 * Set permitted ranges |
114 * Set permitted ranges |
128 * |
115 * |
129 * @since S60 v5.0 |
116 * @since Symbian TB9.2 |
130 * @param aPermittedRanges The permitted ranges. |
117 * @param aPermittedRanges The permitted ranges. |
131 * @return None |
118 * @return None |
132 */ |
119 */ |
133 void SetPermittedRanges( TInt aPermittedRanges ); |
120 void SetPermittedRanges( TInt aPermittedRanges ); |
134 |
121 |
135 /** |
122 /** |
136 * Set permitted ranges |
123 * Set permitted ranges |
137 * |
124 * |
138 * @since S60 v5.0 |
125 * @since Symbian TB9.2 |
139 * @param aPermittedRanges The permitted ranges. |
126 * @param aPermittedRanges The permitted ranges. |
140 * @return None |
127 * @return None |
141 */ |
128 */ |
142 void SetPermittedCases( TInt aPermittedCases ); |
129 void SetPermittedCases( TInt aPermittedCases ); |
143 |
130 |
144 |
131 |
145 /** |
132 /** |
146 * Set Primary range |
133 * Set Primary range |
147 * |
134 * |
148 * @since S60 v5.0 |
135 * @since Symbian TB9.2 |
149 * @param aPrimaryRange The Primary range |
136 * @param aPrimaryRange The Primary range |
150 * @return None |
137 * @return None |
151 */ |
138 */ |
152 void SetPrimaryRange( TInt aPrimaryRange ); |
139 void SetPrimaryRange( TInt aPrimaryRange ); |
153 |
140 |
154 /** |
141 /** |
155 * Get Primary range |
142 * Get Primary range |
156 * |
143 * |
157 * @since S60 v5.0 |
144 * @since Symbian TB9.2 |
158 * @return Primary range. |
145 * @return Primary range. |
159 */ |
146 */ |
160 TInt PrimaryRange(); |
147 TInt PrimaryRange(); |
161 |
148 |
162 /** |
149 /** |
163 * Get current range |
150 * Get current range |
164 * |
151 * |
165 * @since S60 v5.0 |
152 * @since Symbian TB9.2 |
166 * @return Current range. |
153 * @return Current range. |
167 */ |
154 */ |
168 TFingerHwrRange CurrentRange(); |
155 TFingerHwrRange CurrentRange(); |
169 |
156 |
170 |
157 |
171 /** |
158 /** |
172 * Set case |
159 * Set case |
173 * |
160 * |
174 * @since S60 v5.0 |
161 * @since Symbian TB9.2 |
175 * @param aCase The case |
162 * @param aCase The case |
176 * @return None |
163 * @return None |
177 */ |
164 */ |
178 void SetCase( TInt aCase ); |
165 void SetCase( TInt aCase ); |
179 |
166 |
180 /** |
167 /** |
181 * Set language |
168 * Set language |
182 * |
169 * |
183 * @since S60 v5.0 |
170 * @since Symbian TB9.2 |
184 * @param aLanguage The language |
171 * @param aLanguage The language |
185 * @return None |
172 * @return None |
186 */ |
173 */ |
187 void SetLanguageL( TInt aLanguage ); |
174 void SetLanguageL( TInt aLanguage ); |
188 |
175 |
189 |
176 |
190 /** |
177 /** |
191 * Set auto complete candidate list. |
178 * Set auto complete candidate list. |
192 * |
179 * |
193 * @since S60 v5.0 |
180 * @since Symbian TB9.2 |
194 * @param aIsFirstStroke The first stroke flag |
181 * @param aIsFirstStroke The first stroke flag |
195 * @return None |
182 * @return None |
196 */ |
183 */ |
197 void SetFirstStroke( const TBool aIsFirstStroke); |
184 void SetFirstStroke( const TBool aIsFirstStroke); |
198 |
185 |
199 /** |
186 /** |
200 * Set auto complete candidate list. |
187 * Set auto complete candidate list. |
201 * |
188 * |
202 * @since S60 v5.0 |
189 * @since Symbian TB9.2 |
203 * @return ETrue if it's the first stroke |
190 * @return ETrue if it's the first stroke |
204 */ |
191 */ |
205 TBool FirstStroke(); |
192 TBool FirstStroke(); |
206 |
193 |
207 |
194 |
208 /** |
195 /** |
209 * Get the candidate. |
196 * Get the candidate. |
210 * |
197 * |
211 * @since S60 v5.0 |
198 * @since Symbian TB9.2 |
212 * @param aIndex The index of candidate |
199 * @param aIndex The index of candidate |
213 * @param aCharCode The result candidate |
200 * @param aCharCode The result candidate |
214 * @return Candidate char code |
201 * @return Candidate char code |
215 */ |
202 */ |
216 const RPointerArray<HBufC>& Candidate() const; |
203 const RPointerArray<HBufC>& Candidate() const; |
217 |
204 |
218 |
205 |
219 /** |
206 /** |
220 * Set number mode |
207 * Set number mode |
221 * |
208 * |
222 * @since S60 v5.0 |
209 * @since Symbian TB9.2 |
223 * @param aNumberMode Given number mode |
210 * @param aNumberMode Given number mode |
224 * @return None |
211 * @return None |
225 */ |
212 */ |
226 void SetNumberMode( const TAknEditorNumericKeymap aNumberMode ); |
213 void SetNumberMode( const TAknEditorNumericKeymap aNumberMode ); |
227 |
214 |
228 /** |
215 /** |
229 * Set number mode |
216 * Set number mode |
230 * |
217 * |
231 * @since S60 v5.0 |
218 * @since Symbian TB9.2 |
232 * @param aCustomMode The customized number key mapping, 0-9 |
219 * @param aCustomMode The customized number key mapping, 0-9 |
233 * are not included. |
220 * are not included. |
234 * @return None |
221 * @return None |
235 */ |
222 */ |
236 void SetCustomNumberModeL( const TDesC& aCustomMode ); |
223 void SetCustomNumberModeL( const TDesC& aCustomMode ); |
237 |
224 |
238 /** |
225 /** |
239 * Set the screen mode. |
226 * Set the screen mode. |
240 * |
227 * |
241 * @since S60 v5.0 |
228 * @since Symbian TB9.2 |
242 * @param aRange The range |
229 * @param aRange The range |
243 * @return None |
230 * @return None |
244 */ |
231 */ |
245 void SaveRange( TInt aRange ); |
232 void SaveRange( TInt aRange ); |
246 |
233 |
248 |
235 |
249 |
236 |
250 /** |
237 /** |
251 * Set stroke end mark to stroke end mark control |
238 * Set stroke end mark to stroke end mark control |
252 * |
239 * |
253 * @since S60 v5.0 |
240 * @since Symbian TB9.2 |
254 * @return None |
241 * @return None |
255 */ |
242 */ |
256 void SetStrokeEndMark(); |
243 void SetStrokeEndMark(); |
257 |
244 |
258 /** |
245 /** |
259 * Get the stroke end mark. |
246 * Get the stroke end mark. |
260 * |
247 * |
261 * @since S60 v5.0 |
248 * @since Symbian TB9.2 |
262 * @return TPoint |
249 * @return TPoint |
263 */ |
250 */ |
264 TPoint StrokeEndMark(); |
251 TPoint StrokeEndMark(); |
265 |
252 |
266 /** |
253 /** |
267 * Get stroke end mark from control which handle it |
254 * Get stroke end mark from control which handle it |
268 * |
255 * |
269 * @since S60 v5.0 |
256 * @since Symbian TB9.2 |
270 * @return None |
257 * @return None |
271 */ |
258 */ |
272 TPoint StrokeEndMarkFromControl(); |
259 TPoint StrokeEndMarkFromControl(); |
273 |
260 |
274 /** |
261 /** |
275 * Get number keymapping string |
262 * Get number keymapping string |
276 * |
263 * |
277 * @since S60 v5.0 |
264 * @since Symbian TB9.2 |
278 * @param aKeyMappingId Keymapping id |
265 * @param aKeyMappingId Keymapping id |
279 * @return Pointer to keymapping string |
266 * @return Pointer to keymapping string |
280 */ |
267 */ |
281 HBufC* KeyMappingStringL() const; |
268 HBufC* KeyMappingStringL() const; |
282 |
269 |
283 /** |
270 /** |
284 * Check if the char is the special display char |
271 * Check if the char is the special display char |
285 * |
272 * |
286 * @since S60 v5.0 |
273 * @since Symbian TB9.2 |
287 * @param aChar The checked char |
274 * @param aChar The checked char |
288 * @return TBool Wheater or not the input char is the special display char |
275 * @return TBool Wheater or not the input char is the special display char |
289 */ |
276 */ |
290 TBool IsSpecialDisplayChars( const TDesC& aChar ) const; |
277 TBool IsSpecialDisplayChars( const TDesC& aChar ) const; |
291 |
278 |
292 /** |
279 /** |
293 * Check if the char is need to be sent to app directly which not need to be shown in candidate window. |
280 * Check if the char is need to be sent to app directly which not need to be shown in candidate window. |
294 * |
281 * |
295 * @since S60 v5.0 |
282 * @since Symbian TB9.2 |
296 * @param aChar The checked char |
283 * @param aChar The checked char |
297 * @return TBool Wheater or not the input char is the directly sent char |
284 * @return TBool Wheater or not the input char is the directly sent char |
298 */ |
285 */ |
299 TBool IsDirectlySentCandidate( const TDesC& aChar ) const; |
286 TBool IsDirectlySentCandidate( const TDesC& aChar ) const; |
300 |
287 |
301 /** |
288 /** |
302 * Convert the special display char to the keycode. |
289 * Convert the special display char to the keycode. |
303 * |
290 * |
304 * @since S60 v5.0 |
291 * @since Symbian TB9.2 |
305 * @param aChar The special display char. |
292 * @param aChar The special display char. |
306 * @return HBufC* The converted keycode char. |
293 * @return HBufC* The converted keycode char. |
307 */ |
294 */ |
308 HBufC* ConvertDisplayChars( const TDesC& aChar ) const; |
295 HBufC* ConvertDisplayChars( const TDesC& aChar ) const; |
309 |
296 |
310 /** |
297 /** |
311 * Get start writing char flag |
298 * Get start writing char flag |
312 * |
299 * |
313 * @since S60 v5.0 |
300 * @since Symbian TB9.2 |
314 * @return ETrue If begine writing. |
301 * @return ETrue If begine writing. |
315 */ |
302 */ |
316 TBool StartCharacter(); |
303 TBool StartCharacter(); |
317 |
304 |
318 /** |
305 /** |
319 * Set start writing char flag |
306 * Set start writing char flag |
320 * |
307 * |
321 * @since S60 v5.0 |
308 * @since Symbian TB9.2 |
322 * @param aStartCharacter The start writing flag |
309 * @param aStartCharacter The start writing flag |
323 * @return ETrue If begine writing. |
310 * @return ETrue If begine writing. |
324 */ |
311 */ |
325 void SetStartCharacter(const TBool aStartCharacter); |
312 void SetStartCharacter(const TBool aStartCharacter); |
326 |
313 |
327 /** |
314 /** |
328 * Set input area size to engine for recognize |
315 * Set input area size to engine for recognize |
329 * |
316 * |
330 * @since S60 v5.0 |
317 * @since Symbian TB9.2 |
331 * @param aStartCharacter The start writing flag |
318 * @param aStartCharacter The start writing flag |
332 * @return ETrue If begine writing. |
319 * @return ETrue If begine writing. |
333 */ |
320 */ |
334 TInt SetInputAreaSize(TSize& aSize); |
321 TInt SetInputAreaSize(TSize& aSize); |
335 |
322 |
336 /** |
323 /** |
337 * Set screen size to engine for recognize |
324 * Set screen size to engine for recognize |
338 * |
325 * |
339 * @since S60 v5.0 |
326 * @since Symbian TB9.2 |
340 * @param aStartCharacter The start writing flag |
327 * @param aStartCharacter The start writing flag |
341 * @return ETrue If begine writing. |
328 * @return ETrue If begine writing. |
342 */ |
329 */ |
343 TInt SetScreenSize(TSize& aSize); |
330 TInt SetScreenSize(TSize& aSize); |
344 |
331 |
345 |
332 |
346 /** |
333 /** |
347 * Set high light flag for candidate list |
334 * Set high light flag for candidate list |
348 * |
335 * |
349 * @since S60 v5.0 |
336 * @since Symbian TB9.2 |
350 * @param aIsHighlight The flag to decide highlight default cell or not |
337 * @param aIsHighlight The flag to decide highlight default cell or not |
351 * @return None |
338 * @return None |
352 */ |
339 */ |
353 void SetHighlight(const TBool aIsHighlight); |
340 void SetHighlight(const TBool aIsHighlight); |
354 |
341 |
355 /** |
342 /** |
356 * Get high light flag for candidate list |
343 * Get high light flag for candidate list |
357 * |
344 * |
358 * @since S60 v5.0 |
345 * @since Symbian TB9.2 |
359 * @return ETrue If highlight the default cell to candidate list |
346 * @return ETrue If highlight the default cell to candidate list |
360 */ |
347 */ |
361 TBool Highlight(); |
348 TBool Highlight(); |
362 |
349 |
363 /** |
350 /** |
364 * Remove duplicate candidate from predictive candidate list |
351 * Remove duplicate candidate from predictive candidate list |
365 * |
352 * |
366 * @since S60 v5.0 |
353 * @since Symbian TB9.2 |
367 * @param aSrc The punctuation candidate list |
354 * @param aSrc The punctuation candidate list |
368 * @param aTgt The predicative candidate list |
355 * @param aTgt The predicative candidate list |
369 * @param aSrcStartIdx |
356 * @param aSrcStartIdx |
370 * @param aTgtStartIdx |
357 * @param aTgtStartIdx |
371 * @return last overlap index |
358 * @return last overlap index |
440 * @since s60 v5.2 |
427 * @since s60 v5.2 |
441 * @param aChar The passed unicode |
428 * @param aChar The passed unicode |
442 * @return ETrue if it is, EFalse otherwise |
429 * @return ETrue if it is, EFalse otherwise |
443 */ |
430 */ |
444 TBool IsArabicNumber(TUint16 aChar); |
431 TBool IsArabicNumber(TUint16 aChar); |
445 |
|
446 /** |
|
447 * Check if the passed char is arabic character |
|
448 * |
|
449 * @since s60 v5.2 |
|
450 * @param aChar The passed unicode |
|
451 * @return ETrue if it is, EFalse otherwise |
|
452 */ |
|
453 TBool IsArabicChar(TUint16 aChar); |
|
454 |
|
455 /** |
|
456 * Check if the passed char is arabic symbols |
|
457 * |
|
458 * @since s60 v5.2 |
|
459 * @param aChar The passed unicode |
|
460 * @return ETrue if it is, EFalse otherwise |
|
461 */ |
|
462 TBool IsArabicSymbol(TUint16 aChar); |
|
463 |
|
464 private: |
432 private: |
465 |
433 |
466 /** |
434 /** |
467 * C++ constructor |
435 * C++ constructor |
468 * |
436 * |
469 * @since S60 v5.0 |
437 * @since Symbian TB9.2 |
470 * @return None |
438 * @return None |
471 */ |
439 */ |
472 CPeninputFingerHwrArDataStore(CPeninputFingerHwrArLayout* aLayout); |
440 CPeninputFingerHwrArDataStore(CPeninputFingerHwrArLayout* aLayout); |
473 |
441 |
474 /** |
442 /** |
475 * Second phase constructor |
443 * Second phase constructor |
476 * |
444 * |
477 * @since S60 v5.0 |
445 * @since Symbian TB9.2 |
478 * @return None |
446 * @return None |
479 */ |
447 */ |
480 void ConstructL( CPtiEngine* aPtiEngine ); |
448 void ConstructL( CPtiEngine* aPtiEngine ); |
481 |
449 |
482 /** |
450 /** |
483 * Initialize the key mapping list |
451 * Initialize the key mapping list |
484 * |
452 * |
485 * @since S60 v5.0 |
453 * @since Symbian TB9.2 |
486 * @return None |
454 * @return None |
487 */ |
455 */ |
488 void InitKeyMappingListL(); |
456 void InitKeyMappingListL(); |
489 |
457 |
490 |
458 |
491 /** |
459 /** |
492 * Judge if a language is Arabic |
460 * Judge if a language is Arabic |
493 * |
461 * |
494 * @since S60 v5.0 |
462 * @since Symbian TB9.2 |
495 * @param aLanguage Given language code |
463 * @param aLanguage Given language code |
496 * @return ETrue if aLanguage is Chinese, otherwise EFalse |
464 * @return ETrue if aLanguage is Chinese, otherwise EFalse |
497 */ |
465 */ |
498 TBool IsArabicLanguage( TInt aLanguage ); |
466 TBool IsArabicLanguage( TInt aLanguage ); |
499 |
467 |
500 /** |
468 /** |
501 * Set engine language |
469 * Set engine language |
502 * |
470 * |
503 * @since S60 v5.0 |
471 * @since Symbian TB9.2 |
504 * @param aLanguage Given language code |
472 * @param aLanguage Given language code |
505 * @return None |
473 * @return None |
506 */ |
474 */ |
507 void SetEngineLanguageL( TInt aLanguage ); |
475 void SetEngineLanguageL( TInt aLanguage ); |
508 |
476 |
509 /** |
477 /** |
510 * Set language show text |
478 * Set language show text |
511 * |
479 * |
512 * @since S60 v5.0 |
480 * @since Symbian TB9.2 |
513 * @param aLanguage language code |
481 * @param aLanguage language code |
514 * @return None |
482 * @return None |
515 */ |
483 */ |
516 void SetLanguageShowText( TInt aLanguage ); |
484 void SetLanguageShowText( TInt aLanguage ); |
517 |
485 |