userdict/src/UdictModel.cpp
branchRCL_3
changeset 12 e9f0e1110077
parent 9 38691ba2fda5
child 13 261ff9819be3
--- a/userdict/src/UdictModel.cpp	Tue May 25 12:28:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +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:     Japanese user dictionary Model class.
-*
-*/
-
-
-
-
-
-// INCLUDE FILES
-#include    "UdictModel.h"
-#include    "UdictModel.inl"
-#include    <PtiEngine.h>
-
-// CONSTANTS
-const TInt KItemListGranularity(8);
-_LIT(KPanicCatModel, "UserDictModel");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CUserDictModel* CUserDictModel::NewL()
-    {
-    CUserDictModel* self = new(ELeave) CUserDictModel;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// Destructor
-CUserDictModel::~CUserDictModel()
-    {
-    delete iItemList;
-    delete iPtiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::AddNewWordL
-// -----------------------------------------------------------------------------
-//    
-TInt CUserDictModel::AddNewWordL(const TUDictElement& aItem)
-    {
-    User::LeaveIfError(IsDictionaryFull() ? KErrDiskFull : KErrNone);
-
-    // Checks the word list if the entry is not registered to it.
-    TInt index(0);
-    TWordListKey key;
-    if (iItemList->Count() > 0 && !iItemList->FindIsq(aItem, key, index))
-        {
-        User::Leave(KErrAlreadyExists);
-        }
-
-    // Adds a new entry to the User dictionary.
-    User::LeaveIfError(
-        iPtiEngine->AddUserDictionaryEntry(const_cast<TUDictElement&>(aItem)));
-          
-    // Adds a new entry to the registered word list.
-    iItemList->InsertL(index, aItem);
-
-    return index;
-    }
-    
-// -----------------------------------------------------------------------------
-// CUserDictModel::DeleteWordL
-// -----------------------------------------------------------------------------
-//    
-void CUserDictModel::DeleteWordL(TInt aIndex)
-    {
-    ReloadDictInfoL();
-    const TUDictElement& item = ListItem(aIndex);
-
-    // Removes the entry from the User dictionary.
-    TInt err(iPtiEngine->RemoveEntryFromUserDictionary(
-                            const_cast<TUDictElement&>(item)));
-    // KErrNotFound means the entry is incorrect. It should be ASSERT.
-    __ASSERT_ALWAYS(err != KErrNotFound, User::Panic(KPanicCatModel, err));
-
-    // Removes the entry from the registered word list.
-    iItemList->Delete(aIndex);
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::ModifyWordL
-// -----------------------------------------------------------------------------
-//    
-TInt CUserDictModel::ModifyWordL(TInt aIndex, const TUDictElement& aItem)
-    {
-    TInt index = AddNewWordL(aItem);
-    if (index <= aIndex)
-        {
-        DeleteWordL(aIndex + 1);
-        }
-    else
-        {
-        DeleteWordL(aIndex);
-        index--;
-        }
-    return index;
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::InitListL
-// -----------------------------------------------------------------------------
-//    
-void CUserDictModel::InitListL()
-    {
-    iItemList->Reset();
-
-    TUDictElement entry;
-    TInt i(0);
-    // Copies the User dictionary entries to iItemList.
-    while (iPtiEngine->GetUserDictionaryEntry(i, entry) == KErrNone)
-        {
-        iItemList->AppendL(entry);
-        i++;
-        }
-
-    // Sorts the word list by Unicode collation algorithm.
-    TWordListKey key; 
-    iItemList->Sort(key);
-    
-    SetChangeNotice(EFalse);
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::CUserDictModel
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUserDictModel::CUserDictModel()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CUserDictModel::ConstructL()
-    {
-    iPtiEngine = CPtiEngine::NewL(ETrue);
-    User::LeaveIfError(
-        iPtiEngine->ActivateLanguageL(ELangJapanese, EPtiEngineHiraganaKanji));
-    iDictionary = 
-        iPtiEngine->DefaultUserDictionary(EPtiEngineHiraganaKanji);
-    User::LeaveIfNull(iDictionary);
-
-    iItemList = new (ELeave) CUserDictList(KItemListGranularity);
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::TWordListKey::TWordListKey
-// -----------------------------------------------------------------------------
-//
-CUserDictModel::TWordListKey::TWordListKey()
-:TKeyArrayFix(0, ECmpCollated)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::TWordListKey::Compare
-// -----------------------------------------------------------------------------
-//
-TInt CUserDictModel::TWordListKey::Compare(TInt aLeft,TInt aRight) const
-    {
-    TUDictElement* left = static_cast<TUDictElement*>(At(aLeft));
-    TUDictElement* right = static_cast<TUDictElement*>(At(aRight));
-    
-    TInt res(left->Reading().CompareC(right->Reading()));
-    if (res == 0)
-        {
-        res = left->Word().CompareC(right->Word());
-        }
-    return res;
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::MdcaCount
-// -----------------------------------------------------------------------------
-//
-TInt CUserDictModel::MdcaCount() const
-    {
-    return iItemList->Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CUserDictModel::MdcaPoint
-// -----------------------------------------------------------------------------
-//
-TPtrC16 CUserDictModel::MdcaPoint(TInt aIndex) const
-    {
-    TPtrC16 ptr(iItemList->At(aIndex).ListItemText());
-    return ptr;
-    }
-
-//  End of File