--- a/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp Fri Jul 23 16:49:01 2010 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +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:
-* Provides the TAknFepInputStateEntryMiniQwertyPinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h" //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h" //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUIInputStateEntryMiniQwertyPinyinPhrase.h"
-#include "aknfepuictrleditpane.h" //pinyin phrase creation
-
-#include "AknFepManager.h" //FepMan flag
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include <aknfep.rsg>
-#include <PtiEngine.h> //CPtiEngine
-#include <e32keys.h> //keys
-#include <avkon.rsg>
-
-const TInt KManualChangeState = 0;
-//const TUint16 KSegment = 0x0020;
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::TAknFepInputStateEntryMiniQwertyPinyinPhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryMiniQwertyPinyinPhrase::TAknFepInputStateEntryMiniQwertyPinyinPhrase(
- MAknFepUIManagerStateInterface* aOwner,MAknFepUICtrlContainerChinese* aUIContainer ):
- TAknFepInputMiniQwertyPinyinPhraseBase( aOwner, aUIContainer)
- {
- iState = EEntry;
- iOwner->PtiEngine()->SetInputMode( EPtiEnginePinyinPhraseQwerty );
- iOwner->PtiEngine()->SetCase( EPtiCaseLower );
- UIContainer()->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
- UIContainer()->FocusCandidatePane( ETrue );
- UIContainer()->CandidatePane()->SelectFirstPhrase();
- UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse );
- UIContainer()->EditPaneWindow()->DeactiveCursor();
- UIContainer()->SetFepMan( iOwner->FepMan() );
- // so that it could handle EKeyCBA1
- iOwner->FepMan()->EntryPhrase( ETrue );
- RefreshUI( ETrue );
- }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleKeyL( TInt aKey,
- TKeyPressLength aLength )
- {
- TBool ret = ETrue;
- MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
- switch ( aKey )
- {
- case EStdKeyLeftFunc: //chr key
- case EStdKeySpace:
- case EStdKeyBackspace:
- case EStdKeyEnter:
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL( aKey,
- aLength );
- break;
- }
- case EKeyLeftShift:
- case EKeyRightShift:
- case EKeyLeftCtrl:
- case EKeyRightCtrl:
- case EKeyRightFunc://fn
- case EKeyLeftFunc: // fn
- {
- iOwner->FepMan()->TryCloseUiL();
- ret =EFalse;
- break;
- }
- case EStdKeyUpArrow:
- {
- if ( candidatePane->IsFirstPage() )
- {
- UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState );
- iOwner->ChangeState( EMiniQwertyEdit );
- ret = ETrue;
- }
- else
- {
- candidatePane->PreviousCandidatePage();
- candidatePane->SetCandidateBuffer();
- candidatePane->SelectFirst();
- UpdateIndicator();
- }
- break;
- }
- case EStdKeyDownArrow:
- {
- ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength );
- break;
- }
- case EStdKeyRightArrow:
- {
- if ( candidatePane->VisibleCandidateCount()!= 1 )
- {
- iOwner->ChangeState( ECandidate );
- candidatePane->SelectNext();
- UpdateIndicator();
- }
- break;
- }
- case EStdKeyLeftArrow:
- {
- if ( candidatePane->VisibleCandidateCount()!= 1 )
- {
- iOwner->ChangeState( ECandidate );
- TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
- UIContainer()->CandidatePane()->SelectIndex( numbertotal - 1 );
- UpdateIndicator();
- }
- break;
- }
- case EStdKeyDevice0: //select key
- case EStdKeyDevice3: // msk
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
- aKey, aLength );
- break;
- }
- case EStdKeyDevice1:
- {
- iOwner->FepMan()->TryCloseUiL();
- break;
- }
- case EStdKeySingleQuote:
- {
- iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
- break;
- }
- default:
- // chr + character
- if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
- || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
- {
- iOwner->FepMan()->TryCloseUiL();
- ret = EFalse;
- }
- else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState()
- || CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState()
- || CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState()
- ||!iOwner->IsValidChineseInputKeyQwerty( aKey ) ) //fn play error tone
- {
- iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
- }
- else
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
- aKey, aLength );
- }
- break;
- }
- return ret;
- };
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::TAknFepInputStateEditinigMiniQwertyPinyinPhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEditinigMiniQwertyPinyinPhrase::TAknFepInputStateEditinigMiniQwertyPinyinPhrase(
- MAknFepUIManagerStateInterface* aOwner,MAknFepUICtrlContainerChinese* aUIContainer ):
- TAknFepInputMiniQwertyPinyinPhraseBase( aOwner,aUIContainer )
- {
- iState = EMiniQwertyEdit;
- iOwner->PtiEngine()->SetInputMode( EPtiEnginePinyinPhraseQwerty );
- iOwner->PtiEngine()->SetCase( EPtiCaseLower );
- RefreshUI( ETrue );
- UIContainer()->FocusCandidatePane( EFalse );
- UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse );
- UIContainer()->EditPaneWindow()->ActiveCursor();
- }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleKeyL( TInt aKey ,TKeyPressLength aLength )
- {
- TBool ret = ETrue;
- MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
- MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
- if ( iOwner->FepMan()->GetComposChrFlag() && aKey == EStdKeyLeftFunc )
- {
- iOwner->FepMan()->SetComposChrFlag(EFalse);
- return ETrue;
- }
- switch ( aKey )
- {
- //the following key is handled by the base class
- case EStdKeyLeftFunc: //chr key
- case EStdKeySpace:
- case EStdKeyBackspace:
- case EStdKeyEnter:
- case EStdKeyRightArrow:
- case EStdKeyLeftArrow:
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
- aKey, aLength);
- break;
- }
- case EKeyLeftShift:
- case EKeyRightShift:
- case EKeyLeftCtrl:
- case EKeyRightCtrl:
- case EKeyRightFunc://fn
- case EKeyLeftFunc: // fn
- {
- if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
- || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
- {
- iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
- ret = ETrue;
- }
- else
- {
- iOwner->FepMan()->TryCloseUiL();
- ret = EFalse;
- }
- break;
- }
- // inactive
- case EStdKeyUpArrow:
- {
- break;
- }
- //if the canidate is empty ,inactive;else candiniate selecting state
- case EStdKeyDownArrow:
- {
- if ( 0 != candidatePane->VisibleCandidateCount() )
- {
- uiContainer->EditPaneWindow()->SetChangeState( ETrue );
- iOwner->ChangeState( ECandidate );
- }
- break;
- }
- case EStdKeyDevice0:
- case EStdKeyDevice3:
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
- aKey, aLength);
- break;
- }
-
- case EStdKeyDevice1:
- {
- iOwner->FepMan()->TryCloseUiL();
- break;
- }
- case EStdKeySingleQuote:
- {
- iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
- break;
- }
- default:
- // chr + character
- if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
- || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
- {
- iOwner->FepMan()->SetComposChrFlag( ETrue );
- if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
- || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
- {
- iOwner->FepMan()->PlaySound(EAvkonSIDStandardKeyClick);
- return ETrue;
- }
- else
- {
- iOwner->FepMan()->TryCloseUiL();
- return EFalse;
- }
- }
- else
- {
- ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
- aKey, aLength);
- break;
- }
- }
- return ret;
- }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleCommandL(
- TInt aCommandId )
- {
- TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
- MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
- switch ( aCommandId )
- {
- // Handle the event frome command.
- case EAknSoftkeySelect:
- // case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
- if ( text.Length( ) )
- {
- fepMan->NewTextL( text );
- fepMan->CommitInlineEditL( );
- iOwner->PtiEngine()->SetPredictiveChineseChar( text );
- if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
- {
- fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
- iOwner->FepMan()->TryCloseUiL( );
- }
- else
- {
- iOwner->ChangeState( EPredictiveCandidate );
- }
- }
- break;
- default:
- TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
- break;
- }
- }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleCommandL(
- TInt aCommandId )
- {
- TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommandL( aCommandId );
- }
-// End Of File
-