diff -r 9a3a17bfeb67 -r 33166eeb81e0 userdict/inc/UdictModel.h --- a/userdict/inc/UdictModel.h Mon Jan 18 20:09:32 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,218 +0,0 @@ -/* -* Copyright (c) 2002-2004 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: The engine class of Japanese user dictionary. -* It wraps PtiEngine to access the User dictionary. -* -*/ - - - - - - -#ifndef UDICTMODEL_H -#define UDICTMODEL_H - -// INCLUDES -#include "UdictElement.h" -#include - -// DATA TYPES -typedef CArrayFixFlat CUserDictList; - -// FORWARD DECLARATIONS -class CPtiEngine; -class MPtiUserDictionary; - -// CLASS DECLARATION - -/** -* The engine of Japanese user dictionary. -* The main role of this class is accessing the User dictionary data via -* CPtiEngeine. -* @since 2.6 -*/ -class CUserDictModel : public CBase, public MDesCArray - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CUserDictModel* NewL(); - - /** - * Destructor. - */ - ~CUserDictModel(); - - public: // New functions - - /** - * Returns the self object as interface to access the registered - * word list. - * @return a pointer of the interface of the registered word list. - */ - inline MDesCArray* List(); - - /** - * Gets an element of the registered word list. - * @param aIndex is the position of the element. - * @return a reference to an element of the registered word list, - * located at aIndex. - */ - inline const TUDictElement& ListItem(TInt aIndex) const; - - /** - * Tests if the User dictionary data is changed by another application. - * @return ETrue, if the User dictionary data is changed. - */ - inline TBool IsChangedByAnotherApp() const; - - /** - * Sets the flag which notifies the User dictionary is changed by - * another application. - * @param aFlag is set to the of User dictionary update flag. - */ - inline void SetChangeNotice(TBool aFlag); - - /** - * Tests if the user dictionary has enough space to add word or not. - * @return ETrue, the user dictionary has no space to register. - */ - inline TBool IsDictionaryFull(); - - /** - * Reload User dictionary data to reflect the changes by another - * application. - */ - inline void ReloadDictInfoL(); - - /** - * Stops the file storing in registering and deleting until SaveNow() - * is called. - */ - inline void DelaySavingL(); - - /** - * Stores cahges of the dictionary data to the file. - */ - inline void SaveNowL(); - - /** - * Adds a new word to the User dictionary. - * This function might leave. It leaves with KErrAlreadyExists if the - * word is already registered, KErrDiskFull if the dictionary has no - * space to register. - * - * @param aItem is added to the User dictionary - * @return index of a new word inserted to the registered word list. - */ - TInt AddNewWordL(const TUDictElement& aItem); - - /** - * Deletes the word from the User dictionary. - * @param aIndex is the position of the deleted item in the word list. - */ - void DeleteWordL(TInt aIndex); - - /** - * Modifies the registered word of User dictionary. - * If modifying the word is failed, it leaves. - * - * @param aIndex is the position of the modified word - * @param aItem is a modified entry - * @return index of a modified word relocated in the registered - * word list. - */ - TInt ModifyWordL(TInt aIndex, const TUDictElement& aItem); - - /** - * Initializes the registered word list. - * It copies the User dictionary data to iItemList, which is the - * registered word list and sorts the list by Unicode collation - * algorithm. - */ - void InitListL(); - - private: - - /** - * C++ default constructor. - */ - CUserDictModel(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: // Functions from base classes - - /** - * From MDesCArray, returns a number of elements in the array. - * @return a number of elements in the registered word list. - */ - TInt MdcaCount() const; - - /** - * From MDesCArray, - * Retruns a descriptor for the ListBox's item. - * @param aIndex is a position of the registered word list. - * @return a descriptor for the ListBox's item representing the element - * located at aIndex within the word list. - */ - TPtrC16 MdcaPoint(TInt aIndex) const; - - private: // Data - - // The array of registered words. - // The original User dictionary data is copied to this array. - CUserDictList* iItemList; // own - - // The predictive text input engine. - // It provides the API to access the User dictionary data. - CPtiEngine* iPtiEngine; // own - - // PtiEngine's user dictionary interface. - MPtiUserDictionary* iDictionary ; - - private: - - class TWordListKey : public TKeyArrayFix - { - public: // Constructor - - /** - * C++ default constructor. - */ - TWordListKey(); - - private: // Functions from base classes - - /** - * From TKey, Compares the keys of two elements. - * @param aLeft is the index of the Left element - * @param aRight is the index of the Right element - * @return zero, if both elements are identical. - * positive, if the left element is greater. - * negative, if the right element is greater. - */ - TInt Compare(TInt aLeft, TInt aRight) const; - }; - }; - -#endif // UDICTMODEL_H - -// End of File