epoc32/include/mw/akneditstateindicator.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: 
    15 *	Avkon Editing State Indicator Interface
    16 *
    17 *
    18 */
    19 
    20 
    21 #ifndef AKNEDITSTATEINDICATOR_H
    22 #define AKNEDITSTATEINDICATOR_H
    23 
    24 #include <coemop.h>
    25 
    26 class CAknIndicatorContainer;
    27 
    28 enum TAknEditingState
    29 	{
    30 	/** No input mode */
    31 	EStateNone,
    32 	/** Predictive upper case input mode */
    33 	ET9Upper,
    34 	/** Predictive lower case input mode */
    35 	ET9Lower,
    36 	/** Predictive shifted input mode */
    37 	ET9Shifted,
    38 	/** Numeric input mode */
    39 	ENumeric,
    40 	/** Multitap upper case input mode */
    41 	EMultitapUpper,
    42 	/** Multitap lower case input mode */
    43 	EMultitapLower,
    44 	/** Multitap shifted input mode */	
    45 	EMultitapShifted,
    46 	/** Predictive Arabic input mode */
    47     ET9Arabic,
    48 	/** Predictive Hebrew input mode */
    49     ET9Hebrew,
    50 	/** Multitap Arabic input mode */
    51     EMultitapArabic, 
    52 	/** Multitap Hebrew input mode */    
    53     EMultitapHebrew,
    54 	/** Arabic-Indic numeric input mode */
    55     EArabicIndicNumeric,
    56     /** Multitap Thai input mode */
    57     EMultitapThai,
    58     /** Predictive Thai input mode */
    59     ET9Thai,
    60     /** QWERTY shifted input mode */
    61     EQwertyShift,
    62     /** Predictive Farsi and Urdu input mode */
    63     ET9FarsiAndUrdu,
    64     /** Multitap Farsi and Urdu input mode */    
    65     EMultitapFarsiAndUrdu,
    66 	
    67 	//
    68 	// Chinese states
    69 	//
    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,
    92     
    93     //
    94     // Japanese states
    95 	//
    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,	
   114     
   115     //
   116     // Vietnamese
   117     //
   118     /** Predictive Vietnamese upper case input mode */
   119     ET9UpperVietnamese = 60,
   120     /** Predictive Vietnamese lower case input mode */
   121     ET9LowerVietnamese,
   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,
   130     
   131     //
   132     // Hindi
   133     //
   134     /** Multitap Hindi input mode */
   135     EIndicatorStateMultitapHindi= 80,
   136     /** Predictive Hindi input mode */
   137     EIndicatorStatePredictiveHindi,
   138     EDevanagariIndicNumeric,
   139     
   140     /** Devangari Indic numeric input mode */
   141     EIndicatorStateHindiPhoneticUpper,
   142     EIndicatorStateHindiPhoneticLower,
   143 	/** Multitap Marathi input mode */
   144     EIndicatorStateMultitapMarathi,
   145     /** Predictive Marathi input mode */
   146     EIndicatorStatePredictiveMarathi,
   147     
   148     // Korean
   149     // Multitap hangul input mode   
   150     EIndicatorStateHangul,
   151     
   152     // Auto Word Completion
   153     //
   154     /**  Auto Word Completion upper case input mode */
   155     EAutoCompleteUpper = 100,
   156     /**  Auto Word Completion lower case input mode */
   157     EAutoCompleteLower,
   158     /**  Auto Word Completion shifted input mode */
   159     EAutoCompleteShifted,
   160     /**   Auto Word Completion Hindi input mode */
   161     EAutoCompleteHindi,
   162     /**  Auto Word Completion Arabic input mode */
   163     EAutoCompleteArabic,
   164     /**  Auto Word Completion Hebrew input mode */
   165     EAutoCompleteHebrew,
   166     /**  Auto Word Completion Farsi - Urdu input mode */
   167     EAutoCompleteFarsiAndUrdu,
   168     /**  Auto Word Completion Thai input mode */
   169     EAutoCompleteThai,
   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 
   177 
   178     // Fn Mode input
   179     /** Functionized input mode is activated for the subsequent key press **/
   180     EFnKeyPressed,
   181     /** Functionized input is enabled untill turned off **/
   182     EFnKeyLocked,
   183     
   184     //
   185     // Greek
   186     //
   187     /** Predictive Greek upper case input mode */
   188     ET9UpperGreek = 200,
   189     /** Predictive Greek lower case input mode */
   190     ET9LowerGreek,
   191     /** Predictive Greek shifted input mode */
   192     ET9ShiftedGreek,        
   193     /** Multitap Greek upper case input mode */
   194     EMultitapUpperGreek,
   195     /** Multitap Greek lower case input mode */
   196     EMultitapLowerGreek,
   197     /** Multitap Greek shifted input mode */
   198     EMultitapShiftedGreek,
   199     
   200     //
   201     // Cyrillic
   202     //
   203     /** Predictive Cyrillic upper case input mode */
   204     ET9UpperCyrillic = 220,
   205     /** Predictive Cyrillic lower case input mode */
   206     ET9LowerCyrillic,
   207     /** Predictive Cyrillic shifted input mode */
   208     ET9ShiftedCyrillic,        
   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
   215 	};
   216 
   217 /**
   218  * An abstact class of which virtual methods implementation should be provided for FEP component.
   219  */
   220 class MAknEditingStateIndicator
   221 	{
   222 public:
   223 
   224 	DECLARE_TYPE_ID(0x101F4108)
   225 
   226     /**
   227     * Sets editing state indicator state. 
   228     *
   229     * @param aState State of the editing indicator. 
   230     */
   231 	virtual void SetState(TAknEditingState aState) = 0; 
   232 	
   233     /**
   234     * Gets pointer to indicator container that contains
   235     * the editing state indicators.
   236     *
   237     * @return Indicator container of the editing indicators.
   238     */
   239 	virtual CAknIndicatorContainer* IndicatorContainer() = 0;
   240 	};
   241 
   242 /**
   243  * This function should be called from MopSupplyObject() of those 
   244  * components that supply MAknEditingStateIndicator interface for FEP.
   245  *
   246  * Retrieves an object of the same type as that encapsulated in aId.
   247  *
   248  * This function is used to allow controls to ask their owners for 
   249  * access to other objects that they own.
   250  *
   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.
   255  *
   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. 
   259  */
   260 inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId,
   261                                   MAknEditingStateIndicator* aIndicator )
   262 	{
   263     if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId )
   264         {
   265         return aId.MakePtr( aIndicator );
   266         }
   267 
   268     return TTypeUid::Null();
   269 	}
   270 
   271 #endif