diff -r 000000000000 -r 2f259fa3e83a uifw/EikStd/coctlsrc/Aknedsts.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/EikStd/coctlsrc/Aknedsts.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,357 @@ +/* +* Copyright (c) 1997-2000 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: +* +*/ + + + +#include "aknedsts.h" +#include "eikccpu.h" +#include "eikmenub.h" +#include +#include +#include +#include +#include + +// +// class CAknEdwinState +// + +CAknEdwinState::~CAknEdwinState() + { + } + +CAknEdwinState::CAknEdwinState(MEikCcpuEditor* aCcpuState) : + iFlags(EAknEditorFlagDefault), + iDefaultInputMode(EAknEditorTextInputMode), + iPermittedInputModes(EAknEditorAllInputModes), + iDefaultCase(EAknEditorTextCase), + iPermittedCases(EAknEditorAllCaseModes), + iLocalLanguage(TLanguage(0)), // explicitly set to language code 0 + iSpecialCharacterTableResourceId(-1), // -1 sets default SCT + iNumericKeymap(EAknEditorAlphanumericNumberModeKeymap), + iCcpuState(aCcpuState) + { + iCbaState.iLeftSoftkeyCommandId=0; + iCbaState.iRightSoftkeyCommandId=0; + iMiddleSoftkeyCommandId=0; + } + +EXPORT_C CAknEdwinState::CAknEdwinState() : + iFlags(EAknEditorFlagDefault), + iDefaultInputMode(EAknEditorTextInputMode), + iPermittedInputModes(EAknEditorAllInputModes), + iDefaultCase(EAknEditorTextCase), + iPermittedCases(EAknEditorAllCaseModes), + iLocalLanguage(TLanguage(0)), // explicitly set to language code 0 + iSpecialCharacterTableResourceId(-1), // -1 sets default SCT + iNumericKeymap(EAknEditorAlphanumericNumberModeKeymap) + { + iCbaState.iLeftSoftkeyCommandId=0; + iCbaState.iRightSoftkeyCommandId=0; + iMiddleSoftkeyCommandId=0; + } + +EXPORT_C void CAknEdwinState::SetObserver(MAknEdStateObserver* aObserver) + { + iObserver = aObserver; + } + +EXPORT_C void CAknEdwinState::ReportAknEdStateEventL(MAknEdStateObserver::EAknEdwinStateEvent aEventType) + { + if (iObserver) + { + iObserver->HandleAknEdwinStateEventL(this, aEventType); + } + } + +EXPORT_C TInt CAknEdwinState::Flags() const + { + return iFlags; + } + +EXPORT_C TInt CAknEdwinState::DefaultInputMode() const + { + return iDefaultInputMode; + } + +EXPORT_C TInt CAknEdwinState::CurrentInputMode() const + { + return iCurrentInputMode; + } + +EXPORT_C TInt CAknEdwinState::PermittedInputModes() const + { + return iPermittedInputModes; + } + +EXPORT_C TInt CAknEdwinState::DefaultCase() const + { + return iDefaultCase; + } + +EXPORT_C TInt CAknEdwinState::CurrentCase() const + { + return iCaseState.CurrentCase(); + } + +EXPORT_C TInt CAknEdwinState::PermittedCases() const + { + return iPermittedCases; + } + +EXPORT_C TInt CAknEdwinState::DefaultLanguage() const + { + // T9 language codes are not anymore supported, use LocalLanguage instead + return 0; + } + +EXPORT_C TInt CAknEdwinState::SpecialCharacterTableResourceId() const + { + return iSpecialCharacterTableResourceId; + } + +EXPORT_C TAknEditorNumericKeymap CAknEdwinState::NumericKeymap() const + { + return iNumericKeymap; + } + +EXPORT_C TCursorSelection CAknEdwinState::CurrentInlineEditSpan() const + { + return iCurrentInlineEditSpan; + } + +EXPORT_C CAknEdwinState::SEditorCbaState& CAknEdwinState::CbaState() + { + return iCbaState; + } + +EXPORT_C MEikCcpuEditor* CAknEdwinState::CcpuState() const + { + return iCcpuState; + } + +EXPORT_C CEikMenuBar* CAknEdwinState::MenuBar() const + { + return iMenu; + } + +EXPORT_C TLanguage CAknEdwinState::LocalLanguage() const + { + return iLocalLanguage; + } + +EXPORT_C CAknEdwinFormAccessor* CAknEdwinState::FormAccessor() const + { + return iFormAccessor; + } + +EXPORT_C void CAknEdwinState::SetFlags( TInt aFlags ) + { + TBool flagsChange( iFlags != aFlags ); + TInt oldFlags( iFlags ); + iFlags = aFlags; + if ( flagsChange && iFormAccessor ) + { + CEikEdwin* edwin( static_cast( + iFormAccessor->FormClientControl() ) ); + edwin->OnEditorStateFlagChange( oldFlags, aFlags ); + } + } + +EXPORT_C void CAknEdwinState::SetDefaultInputMode(TInt aInputMode) + { + iDefaultInputMode=aInputMode; + } + +EXPORT_C void CAknEdwinState::SetCurrentInputMode(TInt aInputMode) + { + iCurrentInputMode=aInputMode; + } + +EXPORT_C void CAknEdwinState::SetPermittedInputModes(TInt aInputModes) + { + iPermittedInputModes=aInputModes; + } + +EXPORT_C void CAknEdwinState::SetDefaultCase(TInt aCase) + { + iDefaultCase=aCase; + } + +EXPORT_C void CAknEdwinState::SetCurrentCase(TInt aCase) + { + iCaseState.SetCurrentCase(aCase); + iCaseState.SetFlag(TAknEditorCaseState::EFlagSupressAutoUpdateCase); + } + +EXPORT_C void CAknEdwinState::SetPermittedCases(TInt aCases) + { + iPermittedCases=aCases; + } + +EXPORT_C void CAknEdwinState::SetDefaultLanguage(TInt /* aLanguage */) + { + // T9 language codes are not anymore supported (use SetLocalLanguage instead) + } + +EXPORT_C void CAknEdwinState::SetSpecialCharacterTableResourceId(TInt aResourceId) + { + iSpecialCharacterTableResourceId=aResourceId; + } + +EXPORT_C void CAknEdwinState::SetNumericKeymap(TAknEditorNumericKeymap aKeymap) + { + iNumericKeymap=aKeymap; + } + +EXPORT_C void CAknEdwinState::SetInlineEditSpan(TCursorSelection aCurrentInlineEditSpan) + { + iCurrentInlineEditSpan=aCurrentInlineEditSpan; + } + +EXPORT_C void CAknEdwinState::SetCba() + { + iObjectProvider->MopGetObject(iCbaState.iCurrentCba); + iCbaState.iLeftSoftkeyCommandId=0; + iCbaState.iRightSoftkeyCommandId=0; + iMiddleSoftkeyCommandId=0; + } + +EXPORT_C void CAknEdwinState::SetMenu() + { + iObjectProvider->MopGetObject(iMenu); + } + +EXPORT_C void CAknEdwinState::SetLocalLanguage(TLanguage aLanguage) + { + iLocalLanguage = aLanguage; + } + +EXPORT_C void CAknEdwinState::SetFormAccessor(CAknEdwinFormAccessor* aFormAccessor) + { + iFormAccessor = aFormAccessor; + } + +EXPORT_C void CAknEdwinState::SetCurrentCaseWithNoInitialisation(TInt aCase) + { + iCaseState.SetCurrentCase(aCase); + } + +EXPORT_C void CAknEdwinState::SetCcpuState(MEikCcpuEditor* aCcpuEditor) + { + iCcpuState=aCcpuEditor; + } + +EXPORT_C TAknEditorCaseState& CAknEdwinState::CaseState() + { + return iCaseState; + } + +void CAknEdwinState::CheckLRCursorAndT9Consistency() + { +#ifdef _DEBUG + _LIT(KPanicCategory,"CAknEdwinState"); +#endif + __ASSERT_DEBUG( + (!(iFlags&EAknEditorFlagNoLRNavigation)) || + (!(iPermittedInputModes& EAknEditorTextInputMode)), + User::Panic(KPanicCategory,EEikPanicEdwinInvalidFlagCombination) + ); + } + +EXPORT_C MObjectProvider* CAknEdwinState::ObjectProvider() const + { + return iObjectProvider; + } + +EXPORT_C void CAknEdwinState::SetObjectProvider(MObjectProvider* aObjectProvider) + { + iObjectProvider = aObjectProvider; + } + + +EXPORT_C void CAknEdwinState::SetMiddleSoftkeyCommandId(TInt aCommandId) + { + iMiddleSoftkeyCommandId = aCommandId; + } + + +EXPORT_C TInt CAknEdwinState::MiddleSoftkeyCommandId() const + { + return iMiddleSoftkeyCommandId; + } + + +/** + * TAknEditorCaseState + * + * Data structure to hold the current state of all case state + * information currently held by the fep and applicable to an + * editor + * + */ +EXPORT_C TAknEditorCaseState::TAknEditorCaseState() + { + SetFlag(EFlagInitialiseRequired); + } + +EXPORT_C void TAknEditorCaseState::SetCurrentCase(TUint aCase) + { + iCurrentCase = STATIC_CAST(TUint8, (aCase&0x000F)); // 0 fill most sig 24 bits and cast + } + +EXPORT_C void TAknEditorCaseState::SetPreviousCase(TUint aCase) + { + iPreviousCase = STATIC_CAST(TUint8, (aCase&0x000F)); // 0 fill most sig 24 bits and cast + } + +EXPORT_C void TAknEditorCaseState::SetPreviousCaseUsedToEnterText(TUint aCase) + { + iPreviousCaseUsedToEnterText = STATIC_CAST(TUint8, (aCase&0x000F)); // 0 fill most sig 24 bits and cast + } + +EXPORT_C TUint TAknEditorCaseState::CurrentCase() const + { + return iCurrentCase; + } + +EXPORT_C TUint TAknEditorCaseState::PreviousCase() const + { + return iPreviousCase; + } + +EXPORT_C TUint TAknEditorCaseState::PreviousCaseUsedToEnterText() const + { + return iPreviousCaseUsedToEnterText; + } + +EXPORT_C void TAknEditorCaseState::SetFlag(TCaseStateFlags aFlag) + { + iFlags |= aFlag; + } + +EXPORT_C void TAknEditorCaseState::ClearFlag(TCaseStateFlags aFlag) + { + iFlags &= ~aFlag; + } + +EXPORT_C TBool TAknEditorCaseState::IsFlagSet(TCaseStateFlags aFlag) const + { + return iFlags & aFlag; + } + +