textinput/peninputhwrtrui/inc/truiengine.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/textinput/peninputhwrtrui/inc/truiengine.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiEngine class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIENGINE_H
-#define C_TRUIENGINE_H
-
-#include <e32base.h>
-#include <badesca.h>
-
-const TInt KShortcutMaxLength = 164;
-class CPtiEngine;
-class MTruiEngine;
-class TLanguageRelation;
-class CEikonEnv;
-    
-/**
- *  CTruiEngine view class.
- *
- */
-class CTruiEngine : public CBase
-    {
-public:
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiEngine's instance
-     */
-    static CTruiEngine* NewL( CEikonEnv* aEikonEnv );
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiEngine's instance
-     */
-    static CTruiEngine* NewLC( CEikonEnv* aEikonEnv );   
-        
-    /**  
-     * Destroy the object and release all memory objects
-     */    
-    virtual ~CTruiEngine();
-
-    /**
-     * Get the current input language
-     *
-     * @return Current input language
-     */    
-    inline TLanguage InputLanguage() const;
-    
-//Language Script
-    /**
-     * Set current language script
-     *
-     * @param aIndex The index of language script in the array named iSupportedScript
-     */
-    void SetLanguageScriptByIndexL( TInt aIndex );
-    
-    /**
-     * Get name list of all supported language scripts
-     *
-     * @return CDesCArray* The name list
-     */
-    inline const CDesCArray* LanguageScriptName();
-    
-    /**
-     * Get id of supported language script
-     *
-     * @return RArray<Tint> list of the script id
-     */
-    inline const RArray<TInt>& SupportedLanguageScript();
-    
-    /**
-     * Get enum ID of the current language script
-     *
-     * @return  ID of the current language
-     */
-    inline TInt CurrentLanguageScript() const;
-    
-//Character Range
-    /**
-     * Set current character range
-     *
-     * @param aIndex The index of character range in the array named iSupportedRange
-     */
-    void SetCharacterRangeByIndexL( TInt aIndex );
-    
-    /**
-     * Get name list of all supported character range
-     *
-     * @return CDesCArray* The name list
-     */
-    CDesCArray* GetCharacterRangeName();
-    
-    /**
-     * Get enum ID of the current character range
-     *
-     * @return TInt ID of the character range
-     */
-    TInt GetCurrentCharacterRange();
-    
-    /**
-     * Get enum ID of the supported character ranges
-     *
-     * @return Reference to the array saving IDs of the supported range
-     */    
-    inline const RArray<TInt>& GetCurrentSupportedRangesId();
-    
-    /**
-     * Transform character range to engine's subrange
-     */
-    void SetSubrange();
-    
-//Character Set
-
-    /**
-     * Get current character set
-     *
-     * @return HBufC* The string contained character set
-     */
-    const HBufC* CharacterSet();
-    
-    /**
-     * Check if character has model
-     *
-     * @param aLanguageScript Where the character is come from
-     * @param aChar The character which is checked
-     * @return TBool True means this character has model
-     *               False means this character doesn't has model yet
-     */
-    TBool CheckCharacterModel( const TDesC& aChar );
-    
-    /**
-     * Get character model
-     *
-     * @param aChar Get this character's model
-     * @param aModel Array of points where the character's model is stored.     
-     */
-    void GetCharacterModelL( const TDesC& aChar, RArray<TPoint>& aModel );
-    
-    /**
-     * Set character model
-     *
-     * @param aChar Set model to this character
-     * @param aModel Array of points where the character's model is stored.
-     * @param aSimilarMsg Text exists in the HWREngine with the similar model.
-     * @return none, if the symbol model is invalid, leave with KErrAlreadyExists
-     */
-    void SetCharacterModelL( const TDesC& aChar,
-                             RArray<TPoint>& aModel,
-                             TDes& aSimilarMsg );
-        
-    /**
-     * Delete character model
-     *
-     * @param aChar Delete this character's model
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt DeleteCharacterModel( const TDesC& aChar );
-    
-//Shortcut
-    
-    /**
-     * Check if shortcut has model
-     *
-     * @param aText The shortcut which is checked
-     * @return TBool True means this shortcut has model
-     *               False means this shortcut doesn't has model yet
-     */
-    TBool CheckShortcutModel( const TDesC& aText );
-        
-    /**
-     * Change the text of an existing shortcut
-     *
-     * @param aOldText The text of an existing shortcut
-     * @param aNewText The new text of the shortcut     
-     */
-    void ChangeShortcutTextL( const TDesC& aNewText );    
-
-    /**
-     * Set current editing shortcut
-     *
-     * @param sShortcut text of the shortcut
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt SetShortcut( const TDesC& aText );
-    
-    /**
-     * Get current edited shortcut
-     *
-     * @return TDes shortcut text
-     */
-    inline TDes& Shortcut();
-    
-    /**
-     * Get all shortcuts from HWR engine
-     *
-     * @return Pointer to iShortcutList to contain all existing shortcut
-     */
-    inline CDesCArray* ShortcutTextList();
-    
-    /**
-     * Save shortcut text and its assigned character model into PTI Engine
-     *
-     * @param aText Save this Shortcut's model
-     * @param aModel Array of points where the Shortcut's model is stored.
-     * @param aSimilarMsg Text exists in the HWREngine with the similar model.
-     * @return none, if the symbol model is invalid, leave with KErrAlreadyExists
-     */
-    void SaveShortcutL( const TDesC& aText,
-                        RArray<TPoint>& aModel,
-                        TDes& aSimilarMsg );
-    
-    /**
-     * Delete Shortcut model
-     *
-     * @param aText Delete this Shortcut's model
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt DeleteShortcut( const TDesC& aText );
-    
-    /**
-     * Update Shortcut list
-     *
-     */
-    void UpdateShortcutListL();
-    
-    /**
-     * Set edit state
-     *
-     * @param aNew: ETrue, perform the function of adding new shortcut. 
-     *              EFalse, perform the function of editting old shortcut.
-     */
-    inline void NewShortcut( TBool aNew );
-    
-    /**
-     * Get edit state
-     *
-     */
-    inline TBool NewShortcut();
-    
-    /**
-     * Set if display shortcut wizard view.
-     *
-     * @param aIsDisplay ETrue: Display shortcut wizard view
-     */
-    inline void SetDisplayWizard( TBool aIsDisplay );
-
-    /**
-     * Get if display shortcut wizard view
-     *
-     * @return ETrue: Display shortcut wizard view
-     */
-    inline TBool DisplayWizard() const;
-    
-    /**
-     * Set the current selected index
-     *
-     * @param aSelectedIndex currently selected index of shortcuts
-     */
-    inline void SetCurrentSelectedIndex( TInt aSelectedIndex );
-        
-    /**
-     * Get the current selected index
-     *
-     * @return aSelectedIndex currently selected index of shortcuts
-     */
-    inline TInt CurrentSelectedIndex();
-
-    /**
-     * Get guiding line pos
-     * 
-     * @param aSize The size of WritingBox
-     * @param aTop The vertical coordinate of top guiding line
-     * @param aBottom The vertical coordinate of bottom guiding line
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt GetGuidingLinePos( const TSize& aSize, TInt& aTop , TInt&  aBottom); 
-
-    /**
-     * Get the number of the maximum of shortcuts
-     *
-     * @return TInt The number of the maximum of shortcuts
-     */
-    TInt MaxShortCutLength(); 
-    
-    /**
-     * Get trails assigned to the specified shortcut.
-     * 
-     * @param aText The specified shortcut text
-     * @param aModel Trails of the shortcut.
-     * @param aUnicode The assigned preset text if it is a preset shortcut,
-     *        otherwise, it is 0;     
-     */
-    void GetShortcutModelL( const TDesC& aText, RArray<TPoint>& aModel, TUint& aUnicode );
-    
-    /**
-     * Save preset shortcuts.
-     * 
-     * @param aUnicode The assigned preset text.
-     * @param aShortcut The shortcut to be save.
-     */
-    void SavePresetShortcutL( TUint aUnicode, const TDesC& aShortcut );
-
-    /**
-     * Get trails assigned to a preset text.
-     * 
-     * @param aUnicode The unicode of the preset text.
-     * @param aModel Store trails of the preset text.
-     * @param aShortcut Indicate whether the preset text has been assigned to a shortcut text.
-     *        If KNullDesC, it is not in use.
-     */
-    void GetPresetSymbolByUnicodeL( TUint aUnicode, RArray<TPoint>& aModel, TDes& aShortcut );
-    
-    /**
-     * Return all unicodes of preset text stored in PTI engine
-     * 
-     * @param aPresets All preset text's unicodes are stored in this array.     
-     */
-    void GetAllPresetSymbolsL( RArray<TUint>& aPresets );    
-    
-private:
-
-    /** 
-     * Perform the first phase of two phase construction.
-     */
-    CTruiEngine( CEikonEnv* aEikonEnv );
-    
-    /**
-     * Perform the second phase construction of a CTruidemoAppUi object 
-     */
-    void ConstructL(); 
-    
-    /**
-     * Initialize the table used to map language to language script
-     * @param aResourceId ResourceId of Language script set.
-     * @param aLanguageRelation Store the mappint relation.
-     */
-    void InitLanguageRelationL( TInt aResourceId, 
-                            RArray<TLanguageRelation>& aLanguageRelation );
-    
-    /**
-     * Initialize the supported language script.    
-     * @param aSupportedScript Store the suppotred script.
-     * @param aEngine PtiEngine from which get supported input language.
-     * @param aLanguageRelation Mapping relation used to convert language 
-     *                          into language script.     
-     */
-    void InitSupportedLanguageScriptL( RArray<TInt>& aSupportedScript,
-                                       CPtiEngine* aEngine,
-                              const RArray<TLanguageRelation>& aLanguageRelation );
-    
-    /**
-     * Get the active language script from the active input language
-     * @param aLanguageCode Currently active input language code.
-     * @param aLanguageRelation Mapping relation used to convert language 
-     *                          into language script.     
-     */
-    TInt GetActiveLanguageScript( TInt aLanguageCode, 
-                           const RArray<TLanguageRelation>& aLanguageRelation );
-                           
-    /**
-     * Get the resourc id of lower case of Cyrillic according to the current input language
-     * @param aLanguage Currently input language.
-     * @return resource id 
-     */
-    TInt CyrillicLowerResourceId( TLanguage aLanguage );
-    
-    /**
-     * Get the resourc id of upper case of Cyrillic according to the current input language
-     * @param aLanguage Currently input language.
-     * @return resource id 
-     */
-    TInt CyrillicUpperResourceId( TLanguage aLanguage );
-
-private:
-
-    /**
-     * Current edited shortcut
-     */
-    TBuf<KShortcutMaxLength> iShortcut;
-    
-    /**
-     * Array of all supported language script
-     * Own
-     */
-    RArray<TInt> iSupportedScript;
-        
-    /**
-     * Current language script
-     */
-    TInt iCurrentScript;
-    
-    /**
-     * Array of all supported character range
-     * Own
-     */
-    RArray<TInt> iSupportedRange;
-    
-    /**
-     * Array of the name of all supported character range
-     * Own
-     */
-    CDesCArray* iRangeName;
-    
-    /**
-     * Current character range
-     */
-    TInt iCurrentRange;
-    
-    /**
-     * String of character set
-     * Own
-     */
-    HBufC* iCharacterSet;
-       
-    /**
-     * Array of the shortcut
-     * Own
-     */
-    CDesCArray* iShortcutList;
-    
-    /**
-     * Indicate if current edited shortcut is new created
-     */
-    TBool iNewShortcut;
-    
-    /**
-     * The currently selected index of shortcuts
-     */
-    TInt iSelectedShortcut;
-    
-    /**
-     * PtiEngine
-     * Own
-     */
-    CPtiEngine* iEngine;
-    
-    /**
-     * Interface trui used in PtiEngine
-     * Not own
-     */
-    MTruiEngine* iPtiEngine;
-    
-    /**
-     * Current subrange
-     */
-    TInt iSubrange;
-    
-    /**
-     * Pointer to eikon enviroment.
-     * Not own
-     */
-    CEikonEnv* iEnv;
-    
-    /**
-     * Check if need to display shortcut wizard view
-     */
-    TBool iIsDisplay;
-    
-    /**
-     * Current input language
-     */    
-    TLanguage iInputLanguage;
-    };
-    
-#include "truiengine.inl"
-
-#endif // C_TRUIENGINE_H
-
-