diff -r 0f326f2e628e -r a7632c26d895 fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp --- a/fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp Fri Jul 23 16:49:01 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +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: Provides the -* TAknFepUiInputStateJapanesePredictiveBase methods. -* -*/ - - - - - - - - - - - - -// INCLUDE FILES -#include "AknFepUiInputStateJapanesePredictiveBase.h" -#include "AknFepUIManagerStateInterface.h" // MAknFepUIManagerStateInterface -#include "AknFepManagerUIInterface.h" // MAknFepManagerUIInterface -#include "AknFepUICtrlContainerJapanese.h" // MAknFepUICtrlContainerJapanese -#include "AknFepUICtrlCandidatePaneInterface.h" - // MAknFepUICtrlCandidatePaneInterface -#include "AknFepGlobalEnums.h" -#include "AknFepPanic.h" -#include // keys -#include -#include // MPtiEngineCompositionDataInterface -#include - - -// CONSTANTS - -/** - * TAknFepUiInputStateJapanesePredictiveBase class. - * - */ -//============================ MEMBER FUNCTIONS ============================== - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase:: -// TAknFepUiInputStateJapanesePredictiveBase -// C++ default Constructor -// --------------------------------------------------------------------------- -// -TAknFepUiInputStateJapanesePredictiveBase:: - TAknFepUiInputStateJapanesePredictiveBase( - MAknFepUIManagerStateInterface* aOwner, - MAknFepUICtrlContainerJapanese* aUIContainer) - :TAknFepUiInputStateJapaneseBase(aOwner, aUIContainer) - { - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase::CloseUI -// Closing UI -// --------------------------------------------------------------------------- -// -void TAknFepUiInputStateJapanesePredictiveBase::CloseUI() - { - MAknFepUICtrlContainerJapanese* uicontainer = UIContainer(); - MAknFepUICtrlCandidatePaneInterface* predictivePane = - uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese:: - EJapanesePredictiveCandidatePane); - // Closeing candidate pop-up list - predictivePane->HideWindow(); - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase::HandleNumericLongKeyL -// Handling Numeric long keypress event -// --------------------------------------------------------------------------- -// -TBool TAknFepUiInputStateJapanesePredictiveBase::HandleNumericLongKeyL(TInt /*aKey*/) - { - CPtiEngine* ptiEngine = iOwner->PtiEngine(); - const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData(); - // Not handling long keypress events if exist transitory input string - TPtrC text = data->ConvertingString(); - if (text.Length() > 1) - { - return ETrue; - } - // Long keypress events are handled by HandleNumericLongKeyL of - // CompletionState - iOwner->ChangeState(EMultiCompletion); - return EFalse; - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase::HandleNaviKeyL -// Handling Navigate keypress event -// --------------------------------------------------------------------------- -// -TBool TAknFepUiInputStateJapanesePredictiveBase:: - HandleNaviKeyL(TInt aKey, TKeyPressLength /*aLength*/) - { - CPtiEngine* ptiEngine = iOwner->PtiEngine(); - MAknFepUICtrlContainerJapanese* uicontainer = UIContainer(); - MAknFepUICtrlCandidatePaneInterface* predictivePane = - uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese:: - EJapanesePredictiveCandidatePane); - TBool ret = EFalse; - if (predictivePane->CurrentItemIndexOfCandidate() > -1) - { - TAknFepUICtrlScroll direction = EScrollNone; - - // move hightlight of candidate in cadidate pop-up list - switch(aKey) - { - case EKeyLeftArrow: - case EStdKeyLeftArrow: /* 0x0e */ - { - direction = EScrollLeft; - } - break; - case EKeyRightArrow: - case EStdKeyRightArrow: /* 0x0f */ - { - direction = EScrollRight; - } - break; - case EKeyDownArrow: - case EStdKeyDownArrow: /* 0x11 */ - { - direction = EScrollDown; - } - break; - case EKeyUpArrow: - case EStdKeyUpArrow: /* 0x10 */ - { - direction = EScrollUp; - } - break; - default: - break; - } - - predictivePane->MoveItem(direction); - TInt index = predictivePane->CurrentItemIndexOfCandidate(); - ptiEngine->HandleCommandL(EPtiCommandUserActionSetCurrentIndexOfCandidates ,&index); - ret = ETrue; - } - return ret; - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL -// Update inline editing string -// --------------------------------------------------------------------------- -// -TBool TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL() - { - TBool ret = EFalse; - MAknFepManagerUIInterface* fepMan = iOwner->FepMan(); - CPtiEngine* ptiEngine = iOwner->PtiEngine(); - const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData(); - // Check ComposirionData - __ASSERT_DEBUG(data->CompletedString().Length() <= 0, - RDebug::Print(_L("In TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL,\nINVALID DATA: CompletedString. CompletedString was not OperaOperated!"))); - - TPtrC text = data->ConvertingString(); - - if (text.Length() > 0) - { - // Update of inline editing characters - fepMan->UpdateInlineEditL(text, text.Length()); - ret = ETrue; - } - else - { - // Check ConvertingString length - __ASSERT_DEBUG(text.Length() == 0, - RDebug::Print( - _L("In TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL,\nINVALID DATA: ConvertingString. Roll back to initial State!"))); - - MAknFepUICtrlContainerJapanese* uicontainer = UIContainer(); - MAknFepUICtrlCandidatePaneInterface* predictivePane = - uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese:: - EJapanesePredictiveCandidatePane); - ptiEngine->ClearCurrentWord(); - fepMan->CancelInlineEdit(); - predictivePane->HideWindow(); - iOwner->ChangeState(EInitial); - - } - - return ret; - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateJapanesePredictiveBase::UpdateCandidateListL -// -// --------------------------------------------------------------------------- -// -TBool TAknFepUiInputStateJapanesePredictiveBase::UpdateCandidateListL(TInt aIndex /*= 0*/) - { - MAknFepManagerUIInterface* fepMan = iOwner->FepMan(); - CPtiEngine* ptiEngine = iOwner->PtiEngine(); - CDesCArrayFlat* candidateArray = iOwner->CandidateArray(); - MAknFepUICtrlContainerJapanese* uicontainer = UIContainer(); - MAknFepUICtrlCandidatePaneInterface* predictivePane = - uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese:: - EJapanesePredictiveCandidatePane); - const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData(); - // Get coordinate of input area - TPoint leftSideOfBaseLine; - TInt height; - TInt ascent; - TInt documentOffset = data->CursorPosition() > 0 ? data->CursorPosition() : 0; - - fepMan->GetScreenCoordinatesL(leftSideOfBaseLine, - height, - ascent, - documentOffset); - // show candidate pop-up list - predictivePane->SetWindowPosition(leftSideOfBaseLine, height, ascent); - predictivePane->ShowCandidateListL(candidateArray, aIndex, iCbaResourceID); - return ETrue; - } -// End of file