00001 /* 00002 * ============================================================================ 00003 * Name : AknEditStateIndicator.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Avkon Editing State Indicator Interface 00008 * 00009 * Version: 00010 * 00011 * Copyright ?2002 Nokia Corporation. 00012 * This material, including documentation and any related 00013 * computer programs, is protected by copyright controlled by 00014 * Nokia Corporation. All rights are reserved. Copying, 00015 * including reproducing, storing, adapting or translating, any 00016 * or all of this material requires the prior written consent of 00017 * Nokia Corporation. This material also contains confidential 00018 * information which may not be disclosed to others without the 00019 * prior written consent of Nokia Corporation. 00020 */ 00021 00022 #ifndef AKNEDITSTATEINDICATOR_H 00023 #define AKNEDITSTATEINDICATOR_H 00024 00025 #include <coemop.h> 00026 00027 class CAknIndicatorContainer; 00028 00029 enum TAknEditingState 00030 { 00032 EStateNone, 00034 ET9Upper, 00036 ET9Lower, 00038 ET9Shifted, 00040 ENumeric, 00042 EMultitapUpper, 00044 EMultitapLower, 00046 EMultitapShifted, 00048 ET9Arabic, 00050 ET9Hebrew, 00052 EMultitapArabic, 00054 EMultitapHebrew, 00056 EArabicIndicNumeric, 00058 EMultitapThai, 00060 ET9Thai, 00062 EQwertyShift, 00064 ET9FarsiAndUrdu, 00066 EMultitapFarsiAndUrdu, 00067 00068 // 00069 // Chinese states 00070 // 00072 EIndicatorStatePinyin =20, 00074 EIndicatorStateZhuyin, 00076 EIndicatorStateStroke, 00078 EIndicatorStateZhuyinFind, 00080 EIndicatorStateStrokeFind, 00082 EIndicatorStateStrokeTrad, 00084 EIndicatorStateCangJie, 00085 // 00086 // Japanese states 00087 // 00089 EIndicatorStateHiraganaKanji = 40, 00091 EIndicatorStateHiragana, 00093 EIndicatorStateHalfKatakana, 00095 EIndicatorStateFullKatakana, 00097 EIndicatorStateFullLatinUpper, 00099 EIndicatorStateFullLatinLower, 00101 EIndicatorStateFullLatinText, 00103 EIndicatorStateFullNumeric, 00105 EIndicatorStateJapanesePredictive, 00106 00107 // 00108 // Vietnamese 00109 // 00111 ET9UpperVietnamese = 60, 00113 ET9LowerVietnamese, 00115 ET9ShiftedVietnamese, 00117 EMultitapUpperVietnamese, 00119 EMultitapLowerVietnamese, 00121 EMultitapShiftedVietnamese, 00122 00123 // 00124 // Hindi 00125 // 00127 EIndicatorStateMultitapHindi= 80, 00129 EIndicatorStatePredictiveHindi, 00131 EDevanagariIndicNumeric 00132 }; 00133 00137 class MAknEditingStateIndicator 00138 { 00139 public: 00140 00141 DECLARE_TYPE_ID(0x101F4108) 00142 00143 00148 virtual void SetState(TAknEditingState aState) = 0; 00149 00156 virtual CAknIndicatorContainer* IndicatorContainer() = 0; 00157 }; 00158 00177 inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId, 00178 MAknEditingStateIndicator* aIndicator ) 00179 { 00180 if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId ) 00181 { 00182 return aId.MakePtr( aIndicator ); 00183 } 00184 00185 return TTypeUid::Null(); 00186 } 00187 00188 #endif