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 "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".
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,
216 /** Hybrid indicator for easy dialing */
217 EHybridModeLatin = 240
221 * An abstact class of which virtual methods implementation should be provided for FEP component.
223 class MAknEditingStateIndicator
227 DECLARE_TYPE_ID(0x101F4108)
230 * Sets editing state indicator state.
232 * @param aState State of the editing indicator.
234 virtual void SetState(TAknEditingState aState) = 0;
237 * Gets pointer to indicator container that contains
238 * the editing state indicators.
240 * @return Indicator container of the editing indicators.
242 virtual CAknIndicatorContainer* IndicatorContainer() = 0;
246 * This function should be called from MopSupplyObject() of those
247 * components that supply MAknEditingStateIndicator interface for FEP.
249 * Retrieves an object of the same type as that encapsulated in aId.
251 * This function is used to allow controls to ask their owners for
252 * access to other objects that they own.
254 * Other than in the case where NULL is returned, the object returned
255 * must be of the same object type - that is, the @c ETypeId member of
256 * the object pointed to by the pointer returned by this function must
257 * be equal to the @c iUid member of @c aId.
259 * @param aId An encapsulated object type ID.
260 * @return Encapsulated pointer to the provided object.
261 * Note that the encapsulated pointer may be NULL.
263 inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId,
264 MAknEditingStateIndicator* aIndicator )
266 if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId )
268 return aId.MakePtr( aIndicator );
271 return TTypeUid::Null();