2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * 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
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * Avkon Editing State Indicator Interface
21 #ifndef AKNEDITSTATEINDICATOR_H
22 #define AKNEDITSTATEINDICATOR_H
26 class CAknIndicatorContainer;
32 /** Predictive upper case input mode */
34 /** Predictive lower case input mode */
36 /** Predictive shifted input mode */
38 /** Numeric input mode */
40 /** Multitap upper case input mode */
42 /** Multitap lower case input mode */
44 /** Multitap shifted input mode */
46 /** Predictive Arabic input mode */
48 /** Predictive Hebrew input mode */
50 /** Multitap Arabic input mode */
52 /** Multitap Hebrew input mode */
54 /** Arabic-Indic numeric input mode */
56 /** Multitap Thai input mode */
58 /** Predictive Thai input mode */
60 /** QWERTY shifted input mode */
62 /** Predictive Farsi and Urdu input mode */
64 /** Multitap Farsi and Urdu input mode */
65 EMultitapFarsiAndUrdu,
70 /** Pinyin input mode */
71 EIndicatorStatePinyin =20,
72 /** Zhuyin inout mode */
73 EIndicatorStateZhuyin,
74 /** Stroke input mode */
75 EIndicatorStateStroke,
76 /** Zhuyin find input mode */
77 EIndicatorStateZhuyinFind,
78 /** Stroke find input mode */
79 EIndicatorStateStrokeFind,
80 /** Stroke trad input mode */
81 EIndicatorStateStrokeTrad,
82 /** Cang Jie input mode */
83 EIndicatorStateCangJie,
84 /** Pinyin phrase pinput mode */
85 EIndicatorStatePinyinPhrase,
86 /** Zhuyin phrase inout mode */
87 EIndicatorStateZhuyinPhrase,
88 /** Stroke phrase input mode */
89 EIndicatorStateStrokePhrase,
90 /** Stroke phrase trad input mode */
91 EIndicatorStateStrokeTradPhrase,
96 /** Kanji and Hiragana input mode */
97 EIndicatorStateHiraganaKanji = 40,
98 /** Hiragana input mode */
99 EIndicatorStateHiragana,
100 /** Half-width Katakana input mode */
101 EIndicatorStateHalfKatakana,
102 /** Full-width Katakana input mode */
103 EIndicatorStateFullKatakana,
104 /** Full-width LatinUpper input mode */
105 EIndicatorStateFullLatinUpper,
106 /** Full-width LatinLower input mode */
107 EIndicatorStateFullLatinLower,
108 /** Full-width LatinText input mode */
109 EIndicatorStateFullLatinText,
110 /** Numeric input mode */
111 EIndicatorStateFullNumeric,
112 /** japanese predictive mode */
113 EIndicatorStateJapanesePredictive,
118 /** Predictive Vietnamese upper case input mode */
119 ET9UpperVietnamese = 60,
120 /** Predictive Vietnamese lower case input mode */
122 /** Predictive Vietnamese shifted input mode */
123 ET9ShiftedVietnamese,
124 /** Multitap Vietnamese upper case input mode */
125 EMultitapUpperVietnamese,
126 /** Multitap Vietnamese lower case input mode */
127 EMultitapLowerVietnamese,
128 /** Multitap Vietnamese shifted input mode */
129 EMultitapShiftedVietnamese,
134 /** Multitap Hindi input mode */
135 EIndicatorStateMultitapHindi= 80,
136 /** Predictive Hindi input mode */
137 EIndicatorStatePredictiveHindi,
138 EDevanagariIndicNumeric,
140 /** Devangari Indic numeric input mode */
141 EIndicatorStateHindiPhoneticUpper,
142 EIndicatorStateHindiPhoneticLower,
143 /** Multitap Marathi input mode */
144 EIndicatorStateMultitapMarathi,
145 /** Predictive Marathi input mode */
146 EIndicatorStatePredictiveMarathi,
149 // Multitap hangul input mode
150 EIndicatorStateHangul,
152 // Auto Word Completion
154 /** Auto Word Completion upper case input mode */
155 EAutoCompleteUpper = 100,
156 /** Auto Word Completion lower case input mode */
158 /** Auto Word Completion shifted input mode */
159 EAutoCompleteShifted,
160 /** Auto Word Completion Hindi input mode */
162 /** Auto Word Completion Arabic input mode */
164 /** Auto Word Completion Hebrew input mode */
166 /** Auto Word Completion Farsi - Urdu input mode */
167 EAutoCompleteFarsiAndUrdu,
168 /** Auto Word Completion Thai input mode */
170 /** Auto Word Completion Vietnamese upper case input mode */
171 EAutoCompleteUpperVietnamese,
172 /** Auto Word Completion Vietnamese lower case input mode */
173 EAutoCompleteLowerVietnamese,
174 /** Auto Word Completion Vietnamese shifted input mode */
175 EAutoCompleteShiftedVietnamese,
176 // AutoComplete - End
179 /** Functionized input mode is activated for the subsequent key press **/
181 /** Functionized input is enabled untill turned off **/
187 /** Predictive Greek upper case input mode */
189 /** Predictive Greek lower case input mode */
191 /** Predictive Greek shifted input mode */
193 /** Multitap Greek upper case input mode */
195 /** Multitap Greek lower case input mode */
197 /** Multitap Greek shifted input mode */
198 EMultitapShiftedGreek,
203 /** Predictive Cyrillic upper case input mode */
204 ET9UpperCyrillic = 220,
205 /** Predictive Cyrillic lower case input mode */
207 /** Predictive Cyrillic shifted input mode */
209 /** Multitap Cyrillic upper case input mode */
210 EMultitapUpperCyrillic,
211 /** Multitap Cyrillic lower case input mode */
212 EMultitapLowerCyrillic,
213 /** Multitap Cyrillic shifted input mode */
214 EMultitapShiftedCyrillic
218 * An abstact class of which virtual methods implementation should be provided for FEP component.
220 class MAknEditingStateIndicator
224 DECLARE_TYPE_ID(0x101F4108)
227 * Sets editing state indicator state.
229 * @param aState State of the editing indicator.
231 virtual void SetState(TAknEditingState aState) = 0;
234 * Gets pointer to indicator container that contains
235 * the editing state indicators.
237 * @return Indicator container of the editing indicators.
239 virtual CAknIndicatorContainer* IndicatorContainer() = 0;
243 * This function should be called from MopSupplyObject() of those
244 * components that supply MAknEditingStateIndicator interface for FEP.
246 * Retrieves an object of the same type as that encapsulated in aId.
248 * This function is used to allow controls to ask their owners for
249 * access to other objects that they own.
251 * Other than in the case where NULL is returned, the object returned
252 * must be of the same object type - that is, the @c ETypeId member of
253 * the object pointed to by the pointer returned by this function must
254 * be equal to the @c iUid member of @c aId.
256 * @param aId An encapsulated object type ID.
257 * @return Encapsulated pointer to the provided object.
258 * Note that the encapsulated pointer may be NULL.
260 inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId,
261 MAknEditingStateIndicator* aIndicator )
263 if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId )
265 return aId.MakePtr( aIndicator );
268 return TTypeUid::Null();