diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mw/akneditstateindicator.h --- a/epoc32/include/mw/akneditstateindicator.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/mw/akneditstateindicator.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,271 @@ -akneditstateindicator.h +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* 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 +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Avkon Editing State Indicator Interface +* +* +*/ + + +#ifndef AKNEDITSTATEINDICATOR_H +#define AKNEDITSTATEINDICATOR_H + +#include + +class CAknIndicatorContainer; + +enum TAknEditingState + { + /** No input mode */ + EStateNone, + /** Predictive upper case input mode */ + ET9Upper, + /** Predictive lower case input mode */ + ET9Lower, + /** Predictive shifted input mode */ + ET9Shifted, + /** Numeric input mode */ + ENumeric, + /** Multitap upper case input mode */ + EMultitapUpper, + /** Multitap lower case input mode */ + EMultitapLower, + /** Multitap shifted input mode */ + EMultitapShifted, + /** Predictive Arabic input mode */ + ET9Arabic, + /** Predictive Hebrew input mode */ + ET9Hebrew, + /** Multitap Arabic input mode */ + EMultitapArabic, + /** Multitap Hebrew input mode */ + EMultitapHebrew, + /** Arabic-Indic numeric input mode */ + EArabicIndicNumeric, + /** Multitap Thai input mode */ + EMultitapThai, + /** Predictive Thai input mode */ + ET9Thai, + /** QWERTY shifted input mode */ + EQwertyShift, + /** Predictive Farsi and Urdu input mode */ + ET9FarsiAndUrdu, + /** Multitap Farsi and Urdu input mode */ + EMultitapFarsiAndUrdu, + + // + // Chinese states + // + /** Pinyin input mode */ + EIndicatorStatePinyin =20, + /** Zhuyin inout mode */ + EIndicatorStateZhuyin, + /** Stroke input mode */ + EIndicatorStateStroke, + /** Zhuyin find input mode */ + EIndicatorStateZhuyinFind, + /** Stroke find input mode */ + EIndicatorStateStrokeFind, + /** Stroke trad input mode */ + EIndicatorStateStrokeTrad, + /** Cang Jie input mode */ + EIndicatorStateCangJie, + /** Pinyin phrase pinput mode */ + EIndicatorStatePinyinPhrase, + /** Zhuyin phrase inout mode */ + EIndicatorStateZhuyinPhrase, + /** Stroke phrase input mode */ + EIndicatorStateStrokePhrase, + /** Stroke phrase trad input mode */ + EIndicatorStateStrokeTradPhrase, + + // + // Japanese states + // + /** Kanji and Hiragana input mode */ + EIndicatorStateHiraganaKanji = 40, + /** Hiragana input mode */ + EIndicatorStateHiragana, + /** Half-width Katakana input mode */ + EIndicatorStateHalfKatakana, + /** Full-width Katakana input mode */ + EIndicatorStateFullKatakana, + /** Full-width LatinUpper input mode */ + EIndicatorStateFullLatinUpper, + /** Full-width LatinLower input mode */ + EIndicatorStateFullLatinLower, + /** Full-width LatinText input mode */ + EIndicatorStateFullLatinText, + /** Numeric input mode */ + EIndicatorStateFullNumeric, + /** japanese predictive mode */ + EIndicatorStateJapanesePredictive, + + // + // Vietnamese + // + /** Predictive Vietnamese upper case input mode */ + ET9UpperVietnamese = 60, + /** Predictive Vietnamese lower case input mode */ + ET9LowerVietnamese, + /** Predictive Vietnamese shifted input mode */ + ET9ShiftedVietnamese, + /** Multitap Vietnamese upper case input mode */ + EMultitapUpperVietnamese, + /** Multitap Vietnamese lower case input mode */ + EMultitapLowerVietnamese, + /** Multitap Vietnamese shifted input mode */ + EMultitapShiftedVietnamese, + + // + // Hindi + // + /** Multitap Hindi input mode */ + EIndicatorStateMultitapHindi= 80, + /** Predictive Hindi input mode */ + EIndicatorStatePredictiveHindi, + EDevanagariIndicNumeric, + + /** Devangari Indic numeric input mode */ + EIndicatorStateHindiPhoneticUpper, + EIndicatorStateHindiPhoneticLower, + /** Multitap Marathi input mode */ + EIndicatorStateMultitapMarathi, + /** Predictive Marathi input mode */ + EIndicatorStatePredictiveMarathi, + + // Korean + // Multitap hangul input mode + EIndicatorStateHangul, + + // Auto Word Completion + // + /** Auto Word Completion upper case input mode */ + EAutoCompleteUpper = 100, + /** Auto Word Completion lower case input mode */ + EAutoCompleteLower, + /** Auto Word Completion shifted input mode */ + EAutoCompleteShifted, + /** Auto Word Completion Hindi input mode */ + EAutoCompleteHindi, + /** Auto Word Completion Arabic input mode */ + EAutoCompleteArabic, + /** Auto Word Completion Hebrew input mode */ + EAutoCompleteHebrew, + /** Auto Word Completion Farsi - Urdu input mode */ + EAutoCompleteFarsiAndUrdu, + /** Auto Word Completion Thai input mode */ + EAutoCompleteThai, + /** Auto Word Completion Vietnamese upper case input mode */ + EAutoCompleteUpperVietnamese, + /** Auto Word Completion Vietnamese lower case input mode */ + EAutoCompleteLowerVietnamese, + /** Auto Word Completion Vietnamese shifted input mode */ + EAutoCompleteShiftedVietnamese, + // AutoComplete - End + + // Fn Mode input + /** Functionized input mode is activated for the subsequent key press **/ + EFnKeyPressed, + /** Functionized input is enabled untill turned off **/ + EFnKeyLocked, + + // + // Greek + // + /** Predictive Greek upper case input mode */ + ET9UpperGreek = 200, + /** Predictive Greek lower case input mode */ + ET9LowerGreek, + /** Predictive Greek shifted input mode */ + ET9ShiftedGreek, + /** Multitap Greek upper case input mode */ + EMultitapUpperGreek, + /** Multitap Greek lower case input mode */ + EMultitapLowerGreek, + /** Multitap Greek shifted input mode */ + EMultitapShiftedGreek, + + // + // Cyrillic + // + /** Predictive Cyrillic upper case input mode */ + ET9UpperCyrillic = 220, + /** Predictive Cyrillic lower case input mode */ + ET9LowerCyrillic, + /** Predictive Cyrillic shifted input mode */ + ET9ShiftedCyrillic, + /** Multitap Cyrillic upper case input mode */ + EMultitapUpperCyrillic, + /** Multitap Cyrillic lower case input mode */ + EMultitapLowerCyrillic, + /** Multitap Cyrillic shifted input mode */ + EMultitapShiftedCyrillic + }; + +/** + * An abstact class of which virtual methods implementation should be provided for FEP component. + */ +class MAknEditingStateIndicator + { +public: + + DECLARE_TYPE_ID(0x101F4108) + + /** + * Sets editing state indicator state. + * + * @param aState State of the editing indicator. + */ + virtual void SetState(TAknEditingState aState) = 0; + + /** + * Gets pointer to indicator container that contains + * the editing state indicators. + * + * @return Indicator container of the editing indicators. + */ + virtual CAknIndicatorContainer* IndicatorContainer() = 0; + }; + +/** + * This function should be called from MopSupplyObject() of those + * components that supply MAknEditingStateIndicator interface for FEP. + * + * Retrieves an object of the same type as that encapsulated in aId. + * + * This function is used to allow controls to ask their owners for + * access to other objects that they own. + * + * Other than in the case where NULL is returned, the object returned + * must be of the same object type - that is, the @c ETypeId member of + * the object pointed to by the pointer returned by this function must + * be equal to the @c iUid member of @c aId. + * + * @param aId An encapsulated object type ID. + * @return Encapsulated pointer to the provided object. + * Note that the encapsulated pointer may be NULL. + */ +inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId, + MAknEditingStateIndicator* aIndicator ) + { + if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId ) + { + return aId.MakePtr( aIndicator ); + } + + return TTypeUid::Null(); + } + +#endif