fep/aknfep/src/aknfepuiinputminiqwertysogoustrokephraseplugin.cpp
branchRCL_3
changeset 56 8152b1f1763a
parent 50 5a1685599b76
child 57 9eb76adaa71f
--- a/fep/aknfep/src/aknfepuiinputminiqwertysogoustrokephraseplugin.cpp	Wed Sep 15 12:34:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputMiniQwertySogouStrokePhrasePlugin definition.
- *
-*/
-
-// System includes
-#include <e32cmn.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-// User includes
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-
-#include "aknfepuiinputminiqwertysogoustrokephraseplugin.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-// Constant definition
-const TInt KMaxShowKeystrokeCount = 255;
-const TInt KMaxPhraseCreationCount = 10;
-const TInt KMaxKeystrokeCount = 31;
-const TInt16 KStrokeDelimiter = 0x2022;
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertySogouStrokePhrasePlugin::TAknFepInputMiniQwertySogouStrokePhrasePlugin
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputMiniQwertySogouStrokePhrasePlugin::TAknFepInputMiniQwertySogouStrokePhrasePlugin(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer,
-    TUIState aState )
-    : iOwner( aOwner ),
-      iUIContainer( aUIContainer ),
-      iState( aState ),
-      iValid( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertySogouStrokePhrasePlugin::operator=
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertySogouStrokePhrasePlugin::operator=( const 
-        TAknFepInputMiniQwertySogouStrokePhrasePlugin& aPlugin )
-    {
-    Mem::Copy( this, &aPlugin, sizeof(TAknFepInputMiniQwertySogouStrokePhrasePlugin));
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertySogouStrokePhrasePlugin::Enable
-// Enable or disable the plugin.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertySogouStrokePhrasePlugin::Enable( TBool aValid )
-    {
-    iValid = aValid;
-    }
-        
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertySogouStrokePhrasePlugin::IsEnable
-// Get the state of the plugin.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertySogouStrokePhrasePlugin::IsEnable()
-    {
-    return iValid;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertySogouStrokePhrasePlugin::CommitInlineEEPL
-// Commint text to EEP or editor
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertySogouStrokePhrasePlugin::CommitInlineEEPL(
-    const TDesC& aDes )
-    {
-    TInt charCount = aDes.Length();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlEditPane* editpane = iUIContainer->EditPaneWindow();
-    CDesCArrayFlat* keyStoke = editpane->KeystrokeArray();
-    RArray<TInt>* keycode = editpane->KeycodeArray();
-    CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-    CDesCArrayFlat* phraseShowKeyStroke = editpane->PhraseShowKeyStrokeArray();
-    RArray<TInt>* phraseKeycode = editpane->PhraseKeycodeArray();
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<1> strokeDLT;
-    strokeDLT.Append( KStrokeDelimiter );
-
-    phraseArray->AppendL( aDes );
-
-    TInt phraseCount = phraseArray->Count();
-    TInt index = 0;
-    TInt isFound = -1;
-    
-    TInt strokeDLTCount = 0;
-    for ( TInt j = 0; j < keyStoke->Count(); j++ )
-        {
-        if ( keyStoke->MdcaPoint( j ) == strokeDLT )
-            {
-            strokeDLTCount++;
-            if ( strokeDLTCount == charCount )
-                {
-                index = j;
-                }
-            isFound = 0;
-            }
-        }
-    
-    TInt phraseCharacterCount = 0;
-    for ( TInt m = 0; m < phraseCount; m++ )
-        {
-        phraseCharacterCount += (*phraseArray)[m].Length();
-        }
-
-    //phrase creation state
-    if ( phraseCount > 1 || ( 0 == isFound && charCount <= strokeDLTCount ))
-        {
-        editpane->SetPhraseCreationFlag( ETrue );
-
-        // Tell sogou core which phrase is selected. It is used for phrase creation.
-        TBuf<KMaxPhraseCreationCount> phraseSelected;
-        phraseSelected.FillZ();
-        if ( aDes.Length() <= KMaxPhraseCreationCount )
-            {
-            phraseSelected.Append( aDes );
-            iOwner->PtiEngine()->HandleCommandL( EPtiCommandSelectElement, 
-                    ( TAny* )( &phraseSelected ));
-            }
-        
-        if ( 0 == isFound && index < keyStoke->Count() - 1 )
-            {
-            for ( TInt i = 0; i <= index; i++ )
-                {
-                TPtrC ptr = keyStoke->MdcaPoint( 0 );
-                buf.Append( ptr );
-                keyStoke->Delete( 0);
-                phraseKeycode->AppendL( (*keycode)[0]);
-                keycode->Remove( 0 );
-                }
-            phraseShowKeyStroke->AppendL( buf );
-            editpane->SetCursorIndexOfKeystroke( 0 );
-            editpane->DisableCursor();          
-            return ETrue;
-            }
-        else
-            {
-            HBufC* phraseCreated = HBufC::NewLC( phraseCharacterCount );
-            TPtr keyPtr = phraseCreated->Des();
-            for ( TInt ii = 0; ii < phraseCount; ++ii )
-                {
-                TPtrC ptrZi = phraseArray->MdcaPoint( ii );
-                keyPtr.Append( ptrZi );
-                }
-
-            AddPhrasePinyinToPti();
-
-            if ( 0 != isFound || ( 0 == isFound && index == keyStoke->Count() - 1 ) )
-                {
-                editpane->ResetAllArray();
-                }
-            fepMan->NewTextL( phraseCreated->Des());
-            fepMan->CommitInlineEditL();
-            fepMan->PtiEngine()->CommitCurrentWord();
-            CleanupStack::PopAndDestroy();
-            return EFalse;
-            }
-        }
-    else
-        {
-        HBufC* phraseCreated = HBufC::NewLC( phraseCharacterCount );
-        TPtr keyPtr = phraseCreated->Des();
-        for ( TInt ii = 0; ii < phraseCount; ++ii )
-            {
-            TPtrC ptrZi = phraseArray->MdcaPoint( ii );
-            keyPtr.Append( ptrZi );
-            }
-        editpane->ResetAllArray();
-        editpane->SetPhraseCreationFlag( EFalse );
-        fepMan->NewTextL( phraseCreated->Des());
-        fepMan->CommitInlineEditL();
-        iOwner->PtiEngine()->SetPredictiveChineseChar( phraseCreated->Des());
-        CleanupStack::PopAndDestroy();
-        return EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AddPhrasePinyinToPti
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertySogouStrokePhrasePlugin::AddPhrasePinyinToPti()
-    {
-    MAknFepUICtrlEditPane* editpane = iUIContainer->EditPaneWindow();
-    CDesCArrayFlat* phraseShowKeyStroke = editpane->PhraseShowKeyStrokeArray();
-    CDesCArrayFlat* keyStoke = editpane->KeystrokeArray();
-    TBuf<KMaxShowKeystrokeCount> phraseCreatedStroke;
-    phraseCreatedStroke.FillZ();
-    for ( TInt i = 0; i < phraseShowKeyStroke->Count(); i++ )
-        {
-        TPtrC ptrPhraseKeyStroke = phraseShowKeyStroke->MdcaPoint(i);
-        phraseCreatedStroke.Append(ptrPhraseKeyStroke);
-        }
-    for ( TInt j = 0; j < keyStoke->Count(); j++ )
-        {
-        TPtrC ptrKeyStroke = keyStoke->MdcaPoint(j);
-        phraseCreatedStroke.Append(ptrKeyStroke);
-        }
-    //Add the phrase pinyin to the DB by PTI Engine
-    TRAP_IGNORE( iOwner->PtiEngine()->HandleCommandL( 
-            EPtiCommandSetPinyinForLearnWord, (TAny*)( &phraseCreatedStroke )));
-    }
-
-// End of file