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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __COEINPUT_H__
17 #define __COEINPUT_H__
21 // classes defined in FEPBASE, declared here
22 class MCoeFepAwareTextEditor;
23 class MCoeCaptionRetrieverForFep;
25 class MObjectProvider;
27 class TCoeInputCapabilities
28 /** Describes which forms of text input are consumed by a control or view.
34 /** Text input capability flags. These are used to define the text input
35 capabilities of a control or view. */
38 /** No text input capabilities supported. */
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
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. */
67 /** Supports navigation keys. These include arrow keys, page-up,
68 page-down, home, end, tab, etc. */
69 ENavigation =0x02000000
71 class MCoeFepSpecificExtensions; // to be defined by concrete FEPs, declared here
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);
107 MCoeFepAwareTextEditor* iFepAwareTextEditor;
108 MCoeCaptionRetrieverForFep* iCaptionRetrieverForFep;
110 MCoeFepSpecificExtensions* iFepSpecificExtensions;
111 MObjectProvider* iObjectProvider;
112 TAny* iSpareForFutureUse[5];
115 #endif // __COEINPUT_H__