1 coeinput.h |
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #ifndef __COEINPUT_H__ |
|
17 #define __COEINPUT_H__ |
|
18 |
|
19 #include <e32std.h> |
|
20 |
|
21 // classes defined in FEPBASE, declared here |
|
22 class MCoeFepAwareTextEditor; |
|
23 class MCoeCaptionRetrieverForFep; |
|
24 |
|
25 class MObjectProvider; |
|
26 |
|
27 class TCoeInputCapabilities |
|
28 /** Describes which forms of text input are consumed by a control or view. |
|
29 |
|
30 @publishedAll |
|
31 @released */ |
|
32 { |
|
33 public: |
|
34 /** Text input capability flags. These are used to define the text input |
|
35 capabilities of a control or view. */ |
|
36 enum |
|
37 { |
|
38 /** No text input capabilities supported. */ |
|
39 ENone =0, |
|
40 /** Supports positive western integers. */ |
|
41 EWesternNumericIntegerPositive =0x00000001, |
|
42 /** Supports negative western integers. */ |
|
43 EWesternNumericIntegerNegative =0x00000002, |
|
44 /** Supports real numbers. */ |
|
45 EWesternNumericReal =0x00000004, |
|
46 /** Supports the western alphabets. */ |
|
47 EWesternAlphabetic =0x00000008, |
|
48 /** Supports Hiragana. */ |
|
49 EJapaneseHiragana =0x00000010, |
|
50 /** Supports half width Katakana. */ |
|
51 EJapaneseKatakanaHalfWidth =0x00000020, |
|
52 /** Supports full width Katakana. */ |
|
53 EJapaneseKatakanaFullWidth =0x00000040, |
|
54 /** Supports dialable characters */ |
|
55 EDialableCharacters =0x00000080, |
|
56 /** Supports secret text. This is text in which characters appear |
|
57 as asterisks. */ |
|
58 ESecretText =0x00000100, |
|
59 /** Supports auto sentence case. |
|
60 This is text in which first word in a sentence begins with an uppercase letter, |
|
61 with all other letters and words in lowercase. */ |
|
62 EAutoSentenceCase =0x00000200, |
|
63 /** Supports non-predictive input. */ |
|
64 ENonPredictive =0x00000400, |
|
65 /** Supports all types of text. */ |
|
66 EAllText =0x01000000, |
|
67 /** Supports navigation keys. These include arrow keys, page-up, |
|
68 page-down, home, end, tab, etc. */ |
|
69 ENavigation =0x02000000 |
|
70 }; |
|
71 class MCoeFepSpecificExtensions; // to be defined by concrete FEPs, declared here |
|
72 public: |
|
73 // all these functions are exported (rather than inline) so that binary compatibility becomes easier to maintain |
|
74 IMPORT_C TCoeInputCapabilities(); |
|
75 IMPORT_C TCoeInputCapabilities(TUint aCapabilities); |
|
76 IMPORT_C TCoeInputCapabilities(TUint aCapabilities, MCoeFepAwareTextEditor* aFepAwareTextEditor, MCoeCaptionRetrieverForFep* aCaptionRetrieverForFep); |
|
77 IMPORT_C TCoeInputCapabilities(TUint aCapabilities, MCoeFepAwareTextEditor* aFepAwareTextEditor, MCoeCaptionRetrieverForFep* aCaptionRetrieverForFep, TUid aFepUid, MCoeFepSpecificExtensions* aFepSpecificExtensions); |
|
78 IMPORT_C TCoeInputCapabilities(const TCoeInputCapabilities& aAnother); // defined so that iSpareForFutureUse is not copied |
|
79 IMPORT_C TCoeInputCapabilities& operator=(const TCoeInputCapabilities& aAnother); // defined so that iSpareForFutureUse is not copied |
|
80 IMPORT_C TBool operator==(const TCoeInputCapabilities& aAnother) const; // defined so that iSpareForFutureUse is not tested |
|
81 IMPORT_C TBool operator!=(const TCoeInputCapabilities& aAnother) const; // defined so that iSpareForFutureUse is not tested |
|
82 IMPORT_C void MergeWith(const TCoeInputCapabilities& aAnother); |
|
83 IMPORT_C void SetCapabilities(TUint aCapabilities); |
|
84 IMPORT_C TUint Capabilities() const; |
|
85 IMPORT_C TBool IsNone() const; |
|
86 IMPORT_C TBool SupportsWesternNumericIntegerPositive() const; |
|
87 IMPORT_C TBool SupportsWesternNumericIntegerNegative() const; |
|
88 IMPORT_C TBool SupportsWesternNumericReal() const; |
|
89 IMPORT_C TBool SupportsWesternAlphabetic() const; |
|
90 IMPORT_C TBool SupportsJapaneseHiragana() const; |
|
91 IMPORT_C TBool SupportsJapaneseKatakanaHalfWidth() const; |
|
92 IMPORT_C TBool SupportsJapaneseKatakanaFullWidth() const; |
|
93 IMPORT_C TBool SupportsDialableCharacters() const; |
|
94 IMPORT_C TBool SupportsSecretText() const; |
|
95 IMPORT_C TBool SupportsAutoSentenceCase() const; |
|
96 IMPORT_C TBool SupportsNonPredictive() const; |
|
97 IMPORT_C TBool SupportsAllText() const; |
|
98 IMPORT_C TBool SupportsNavigation() const; |
|
99 IMPORT_C MCoeFepAwareTextEditor* FepAwareTextEditor() const; |
|
100 IMPORT_C MCoeCaptionRetrieverForFep* CaptionRetrieverForFep() const; |
|
101 IMPORT_C MCoeFepSpecificExtensions* FepSpecificExtensions(TUid aFepUid) const; |
|
102 IMPORT_C MObjectProvider* ObjectProvider() const; |
|
103 IMPORT_C void SetObjectProvider(MObjectProvider* aObjectProvider); |
|
104 |
|
105 private: |
|
106 TUint iCapabilities; |
|
107 MCoeFepAwareTextEditor* iFepAwareTextEditor; |
|
108 MCoeCaptionRetrieverForFep* iCaptionRetrieverForFep; |
|
109 TUint iFepUid; |
|
110 MCoeFepSpecificExtensions* iFepSpecificExtensions; |
|
111 MObjectProvider* iObjectProvider; |
|
112 TAny* iSpareForFutureUse[5]; |
|
113 }; |
|
114 |
|
115 #endif // __COEINPUT_H__ |