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
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@2
     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
williamr@2
     6
* which accompanies this distribution, and is available
williamr@2
     7
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description: 
williamr@2
    15
*	Avkon Editing State Indicator Interface
williamr@2
    16
*
williamr@2
    17
*
williamr@2
    18
*/
williamr@2
    19
williamr@2
    20
williamr@2
    21
#ifndef AKNEDITSTATEINDICATOR_H
williamr@2
    22
#define AKNEDITSTATEINDICATOR_H
williamr@2
    23
williamr@2
    24
#include <coemop.h>
williamr@2
    25
williamr@2
    26
class CAknIndicatorContainer;
williamr@2
    27
williamr@2
    28
enum TAknEditingState
williamr@2
    29
	{
williamr@2
    30
	/** No input mode */
williamr@2
    31
	EStateNone,
williamr@2
    32
	/** Predictive upper case input mode */
williamr@2
    33
	ET9Upper,
williamr@2
    34
	/** Predictive lower case input mode */
williamr@2
    35
	ET9Lower,
williamr@2
    36
	/** Predictive shifted input mode */
williamr@2
    37
	ET9Shifted,
williamr@2
    38
	/** Numeric input mode */
williamr@2
    39
	ENumeric,
williamr@2
    40
	/** Multitap upper case input mode */
williamr@2
    41
	EMultitapUpper,
williamr@2
    42
	/** Multitap lower case input mode */
williamr@2
    43
	EMultitapLower,
williamr@2
    44
	/** Multitap shifted input mode */	
williamr@2
    45
	EMultitapShifted,
williamr@2
    46
	/** Predictive Arabic input mode */
williamr@2
    47
    ET9Arabic,
williamr@2
    48
	/** Predictive Hebrew input mode */
williamr@2
    49
    ET9Hebrew,
williamr@2
    50
	/** Multitap Arabic input mode */
williamr@2
    51
    EMultitapArabic, 
williamr@2
    52
	/** Multitap Hebrew input mode */    
williamr@2
    53
    EMultitapHebrew,
williamr@2
    54
	/** Arabic-Indic numeric input mode */
williamr@2
    55
    EArabicIndicNumeric,
williamr@2
    56
    /** Multitap Thai input mode */
williamr@2
    57
    EMultitapThai,
williamr@2
    58
    /** Predictive Thai input mode */
williamr@2
    59
    ET9Thai,
williamr@2
    60
    /** QWERTY shifted input mode */
williamr@2
    61
    EQwertyShift,
williamr@2
    62
    /** Predictive Farsi and Urdu input mode */
williamr@2
    63
    ET9FarsiAndUrdu,
williamr@2
    64
    /** Multitap Farsi and Urdu input mode */    
williamr@2
    65
    EMultitapFarsiAndUrdu,
williamr@2
    66
	
williamr@2
    67
	//
williamr@2
    68
	// Chinese states
williamr@2
    69
	//
williamr@2
    70
	/** Pinyin input mode */
williamr@2
    71
	EIndicatorStatePinyin =20,
williamr@2
    72
	/** Zhuyin inout mode */
williamr@2
    73
	EIndicatorStateZhuyin,	
williamr@2
    74
	/** Stroke input mode */
williamr@2
    75
	EIndicatorStateStroke,
williamr@2
    76
	/** Zhuyin find input mode */	
williamr@2
    77
	EIndicatorStateZhuyinFind,
williamr@2
    78
	/** Stroke find input mode */    
williamr@2
    79
    EIndicatorStateStrokeFind,
williamr@2
    80
	/** Stroke trad input mode */    
williamr@2
    81
    EIndicatorStateStrokeTrad,
williamr@2
    82
	/** Cang Jie input mode */        
williamr@2
    83
    EIndicatorStateCangJie,
williamr@2
    84
	/** Pinyin phrase pinput mode */
williamr@2
    85
	EIndicatorStatePinyinPhrase,
williamr@2
    86
	/** Zhuyin phrase inout mode */
williamr@2
    87
	EIndicatorStateZhuyinPhrase,	
williamr@2
    88
	/** Stroke phrase input mode */
williamr@2
    89
	EIndicatorStateStrokePhrase,
williamr@2
    90
	/** Stroke phrase trad input mode */    
williamr@2
    91
    EIndicatorStateStrokeTradPhrase,
williamr@2
    92
    
williamr@2
    93
    //
williamr@2
    94
    // Japanese states
williamr@2
    95
	//
williamr@2
    96
	/** Kanji and Hiragana input mode */
williamr@2
    97
    EIndicatorStateHiraganaKanji = 40,  
williamr@2
    98
    /** Hiragana input mode */
williamr@2
    99
    EIndicatorStateHiragana,        
williamr@2
   100
    /** Half-width Katakana input mode */
williamr@2
   101
    EIndicatorStateHalfKatakana,    
williamr@2
   102
    /** Full-width Katakana input mode */
williamr@2
   103
    EIndicatorStateFullKatakana,    
williamr@2
   104
    /** Full-width LatinUpper input mode */
williamr@2
   105
    EIndicatorStateFullLatinUpper,  
williamr@2
   106
    /** Full-width LatinLower input mode */
williamr@2
   107
    EIndicatorStateFullLatinLower,  
williamr@2
   108
    /** Full-width LatinText input mode */
williamr@2
   109
    EIndicatorStateFullLatinText,   
williamr@2
   110
    /** Numeric input mode */
williamr@2
   111
    EIndicatorStateFullNumeric,     
williamr@2
   112
    /** japanese predictive mode */
williamr@2
   113
    EIndicatorStateJapanesePredictive,	
williamr@2
   114
    
williamr@2
   115
    //
williamr@2
   116
    // Vietnamese
williamr@2
   117
    //
williamr@2
   118
    /** Predictive Vietnamese upper case input mode */
williamr@2
   119
    ET9UpperVietnamese = 60,
williamr@2
   120
    /** Predictive Vietnamese lower case input mode */
williamr@2
   121
    ET9LowerVietnamese,
williamr@2
   122
    /** Predictive Vietnamese shifted input mode */
williamr@2
   123
    ET9ShiftedVietnamese,        
williamr@2
   124
    /** Multitap Vietnamese upper case input mode */
williamr@2
   125
    EMultitapUpperVietnamese,
williamr@2
   126
    /** Multitap Vietnamese lower case input mode */
williamr@2
   127
    EMultitapLowerVietnamese,
williamr@2
   128
    /** Multitap Vietnamese shifted input mode */
williamr@2
   129
    EMultitapShiftedVietnamese,
williamr@2
   130
    
williamr@2
   131
    //
williamr@2
   132
    // Hindi
williamr@2
   133
    //
williamr@2
   134
    /** Multitap Hindi input mode */
williamr@2
   135
    EIndicatorStateMultitapHindi= 80,
williamr@2
   136
    /** Predictive Hindi input mode */
williamr@2
   137
    EIndicatorStatePredictiveHindi,
williamr@2
   138
    EDevanagariIndicNumeric,
williamr@2
   139
    
williamr@2
   140
    /** Devangari Indic numeric input mode */
williamr@2
   141
    EIndicatorStateHindiPhoneticUpper,
williamr@2
   142
    EIndicatorStateHindiPhoneticLower,
williamr@2
   143
	/** Multitap Marathi input mode */
williamr@2
   144
    EIndicatorStateMultitapMarathi,
williamr@2
   145
    /** Predictive Marathi input mode */
williamr@2
   146
    EIndicatorStatePredictiveMarathi,
williamr@2
   147
    
williamr@2
   148
    // Korean
williamr@2
   149
    // Multitap hangul input mode   
williamr@2
   150
    EIndicatorStateHangul,
williamr@2
   151
    
williamr@2
   152
    // Auto Word Completion
williamr@2
   153
    //
williamr@2
   154
    /**  Auto Word Completion upper case input mode */
williamr@2
   155
    EAutoCompleteUpper = 100,
williamr@2
   156
    /**  Auto Word Completion lower case input mode */
williamr@2
   157
    EAutoCompleteLower,
williamr@2
   158
    /**  Auto Word Completion shifted input mode */
williamr@2
   159
    EAutoCompleteShifted,
williamr@2
   160
    /**   Auto Word Completion Hindi input mode */
williamr@2
   161
    EAutoCompleteHindi,
williamr@2
   162
    /**  Auto Word Completion Arabic input mode */
williamr@2
   163
    EAutoCompleteArabic,
williamr@2
   164
    /**  Auto Word Completion Hebrew input mode */
williamr@2
   165
    EAutoCompleteHebrew,
williamr@2
   166
    /**  Auto Word Completion Farsi - Urdu input mode */
williamr@2
   167
    EAutoCompleteFarsiAndUrdu,
williamr@2
   168
    /**  Auto Word Completion Thai input mode */
williamr@2
   169
    EAutoCompleteThai,
williamr@2
   170
    /** Auto Word Completion Vietnamese upper case input mode */
williamr@2
   171
    EAutoCompleteUpperVietnamese,
williamr@2
   172
    /** Auto Word Completion Vietnamese lower case input mode */
williamr@2
   173
    EAutoCompleteLowerVietnamese,
williamr@2
   174
    /** Auto Word Completion Vietnamese shifted input mode */
williamr@2
   175
    EAutoCompleteShiftedVietnamese,
williamr@2
   176
    // AutoComplete - End 
williamr@2
   177
williamr@2
   178
    // Fn Mode input
williamr@2
   179
    /** Functionized input mode is activated for the subsequent key press **/
williamr@2
   180
    EFnKeyPressed,
williamr@2
   181
    /** Functionized input is enabled untill turned off **/
williamr@2
   182
    EFnKeyLocked,
williamr@2
   183
    
williamr@2
   184
    //
williamr@2
   185
    // Greek
williamr@2
   186
    //
williamr@2
   187
    /** Predictive Greek upper case input mode */
williamr@2
   188
    ET9UpperGreek = 200,
williamr@2
   189
    /** Predictive Greek lower case input mode */
williamr@2
   190
    ET9LowerGreek,
williamr@2
   191
    /** Predictive Greek shifted input mode */
williamr@2
   192
    ET9ShiftedGreek,        
williamr@2
   193
    /** Multitap Greek upper case input mode */
williamr@2
   194
    EMultitapUpperGreek,
williamr@2
   195
    /** Multitap Greek lower case input mode */
williamr@2
   196
    EMultitapLowerGreek,
williamr@2
   197
    /** Multitap Greek shifted input mode */
williamr@2
   198
    EMultitapShiftedGreek,
williamr@2
   199
    
williamr@2
   200
    //
williamr@2
   201
    // Cyrillic
williamr@2
   202
    //
williamr@2
   203
    /** Predictive Cyrillic upper case input mode */
williamr@2
   204
    ET9UpperCyrillic = 220,
williamr@2
   205
    /** Predictive Cyrillic lower case input mode */
williamr@2
   206
    ET9LowerCyrillic,
williamr@2
   207
    /** Predictive Cyrillic shifted input mode */
williamr@2
   208
    ET9ShiftedCyrillic,        
williamr@2
   209
    /** Multitap Cyrillic upper case input mode */
williamr@2
   210
    EMultitapUpperCyrillic,
williamr@2
   211
    /** Multitap Cyrillic lower case input mode */
williamr@2
   212
    EMultitapLowerCyrillic,
williamr@2
   213
    /** Multitap Cyrillic shifted input mode */
williamr@2
   214
    EMultitapShiftedCyrillic
williamr@2
   215
	};
williamr@2
   216
williamr@2
   217
/**
williamr@2
   218
 * An abstact class of which virtual methods implementation should be provided for FEP component.
williamr@2
   219
 */
williamr@2
   220
class MAknEditingStateIndicator
williamr@2
   221
	{
williamr@2
   222
public:
williamr@2
   223
williamr@2
   224
	DECLARE_TYPE_ID(0x101F4108)
williamr@2
   225
williamr@2
   226
    /**
williamr@2
   227
    * Sets editing state indicator state. 
williamr@2
   228
    *
williamr@2
   229
    * @param aState State of the editing indicator. 
williamr@2
   230
    */
williamr@2
   231
	virtual void SetState(TAknEditingState aState) = 0; 
williamr@2
   232
	
williamr@2
   233
    /**
williamr@2
   234
    * Gets pointer to indicator container that contains
williamr@2
   235
    * the editing state indicators.
williamr@2
   236
    *
williamr@2
   237
    * @return Indicator container of the editing indicators.
williamr@2
   238
    */
williamr@2
   239
	virtual CAknIndicatorContainer* IndicatorContainer() = 0;
williamr@2
   240
	};
williamr@2
   241
williamr@2
   242
/**
williamr@2
   243
 * This function should be called from MopSupplyObject() of those 
williamr@2
   244
 * components that supply MAknEditingStateIndicator interface for FEP.
williamr@2
   245
 *
williamr@2
   246
 * Retrieves an object of the same type as that encapsulated in aId.
williamr@2
   247
 *
williamr@2
   248
 * This function is used to allow controls to ask their owners for 
williamr@2
   249
 * access to other objects that they own.
williamr@2
   250
 *
williamr@2
   251
 * Other than in the case where NULL is returned, the object returned 
williamr@2
   252
 * must be of the same object type - that is, the @c ETypeId member of 
williamr@2
   253
 * the object pointed to by the pointer returned by this function must
williamr@2
   254
 * be equal to the @c iUid member of @c aId.
williamr@2
   255
 *
williamr@2
   256
 * @param aId An encapsulated object type ID. 
williamr@2
   257
 * @return Encapsulated pointer to the provided object.
williamr@2
   258
 *         Note that the encapsulated pointer may be NULL. 
williamr@2
   259
 */
williamr@2
   260
inline TTypeUid::Ptr SupplyMopObject( TTypeUid aId,
williamr@2
   261
                                  MAknEditingStateIndicator* aIndicator )
williamr@2
   262
	{
williamr@2
   263
    if ( aIndicator && aId.iUid == MAknEditingStateIndicator::ETypeId )
williamr@2
   264
        {
williamr@2
   265
        return aId.MakePtr( aIndicator );
williamr@2
   266
        }
williamr@2
   267
williamr@2
   268
    return TTypeUid::Null();
williamr@2
   269
	}
williamr@2
   270
williamr@2
   271
#endif