diff -r 000000000000 -r eb1f2e154e89 textinput/peninputvkbcn/ctrlinc/AknFepVkbPinyinAnalyserDb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputvkbcn/ctrlinc/AknFepVkbPinyinAnalyserDb.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Pen input related enums +* +*/ + +#ifndef AKNFEPVKBPINYINANALYSERDB_H +#define AKNFEPVKBPINYINANALYSERDB_H + + +#include + +enum TPinyinAnalyserDbType + { + EPinyinAnalyserTypePinyin, + EPinyinAnalyserTypeZhuyin + }; + +enum TSpellType +{ + ESpellVowel, + ESpellConsonant, + ESpellSpecialConsonnant +}; +const TUint16 KProgramSeparator = 0x002e; +/** + * Composition no chars ui state + * It provides key event handling and internal event handling in composition no chars state + * + * @lib peninputvkbcn.lib + * @since S60 v3.2 + */ +class CPinyinAnalyserDbFeed : public CBase + { +public: + + /** + * Two-phased constructor. + * + * @since S60 v3.2 + * @param aUiStateMgr The vkb ui state manager + * @param aContext The vkb layout context + * @return The pointer point to CAknFepVkbPinyinAnalyser type object + */ + static CPinyinAnalyserDbFeed* NewL( TPinyinAnalyserDbType aType ); + + /** + * Destructor. + * + * @since S60 v3.2 + */ + virtual ~CPinyinAnalyserDbFeed(); + + /** + * Get the Number of whole spell set. + * + * @since S60 V4.0 + */ + TInt GetSpellCount() const; + + /** + * Get the Number of whole spell set. + * + * @since S60 V4.0 + * @param The index for the spell. + */ + const TPtrC GetSpellByIndex( TInt aIndex ) const; + + /** + * Get the Number of spell elements. + * + * @since S60 V4.0 + */ + TInt GetSpellElementCount() const; + + /** + * Get the unicode number for spell element index. + * + * @since S60 V4.0 + * @param The index for the spell element. + */ + TUint16 GetSpellElementByIndex( TInt aIndex ) const; + + TBool IsNormalElement( TUint16 aCode ) const; + + TSpellType GetSpellElementType( TUint16 aCode ) const; + + TBool IsFirstElement( TUint16 aCode ) const; + +private: + CPinyinAnalyserDbFeed(); + + void ConstructL( TPinyinAnalyserDbType aType ); + +private: + TPtrC iSpellBuf; + TPtrC iSpellLenBuf; + TUint16 iSpellElemBase; + TUint16 iSpellElemLen; + TPtrC iSpellTypeBuf; + TPtrC iNoFirstElements; + }; + +#include "AknFepVkbPinyinAnalyserDb.inl" + +#endif //AKNFEPVKBPINYINANALYSERDB_H \ No newline at end of file