--- /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 <AknFormAccessor.h>
+#include <aknedformaccessor.h>
+#include <eikedwin.pan>
+#include <eikedwin.h>
+#include <avkon.rsg>
+
+//
+// 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<CEikEdwin*>(
+ 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;
+ }
+
+