epoc32/include/mw/akneditstateindicator.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
--- 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 <coemop.h>
+
+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