--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/AknFepUiManagerChinese.h Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,312 @@
+/*
+* Copyright (c) 2003-2005 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 CAknFepUIManagerChinese definition.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_UI_MANAGER_CHINESE_H__
+#define __AKN_FEP_UI_MANAGER_CHINESE_H__
+
+// INCLUDES
+#include <uikon.hrh> //TAknEditorNumericKeymap
+#include "AknFepUIManagerStateInterface.h"
+#include "AknFepUICtrlInputPane.h"
+#include "AknFepUiInputStateChineseBase.h"
+#include <PtiDefs.h>
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+class CAknFepUIManagerBase;
+class MAknFepUICtrlContainerChinese;
+
+/**
+ * CAknFepUIManagerChinese class.
+ *
+ * @lib AknFep.lib
+ * @since 2.6
+ *
+ */
+class CAknFepUIManagerChinese : public CAknFepUIManagerBase
+ {
+private:
+ /**
+ * private constants
+ */
+ enum
+ {
+ EBaseLanguageNumericKeymapIndex = 0x00FF,
+ EMaskShiftOffset = 8 ,
+ ESupportPinyinPhrase = 0x0010,
+ ESupportZhuyinPhrase = 0x0020,
+ ESupportStrokePhrase = 0x0040,
+ EQueryPtiEngineAlready = 0x0080
+ };
+
+public: // Constructors and destructor
+ /**
+ *
+ *
+ * @since 2.6
+ */
+ static CAknFepUIManagerChinese* NewL(MAknFepManagerUIInterface* aFepMan,
+ CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
+
+ /**
+ *
+ *
+ * @since 2.6
+ */
+ virtual ~CAknFepUIManagerChinese();
+
+public: // Functions from base classes
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TBool HandleKeyL(TInt aKey, TKeyPressLength aLength,TEventCode aEventCode = EEventKey);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ void CloseUI();
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat,
+ TInt aPositionOfCharacter) const;
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TInt SupportLanguage(TInt aMode) const;
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ void SetInputLanguageL(TLanguage aLanguage);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ void SetEditorContext(TInt aContext);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TUIState ChangeState(TUIState aState);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ void ChangeStatetItut(TUIState aState);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ void ChangeStateQwerty(TUIState aState);
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TBool IsValidChineseInputKey(TInt aKey) const;
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ TBool IsValidChineseInputKeyQwerty(TInt aKey) const;
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ TBool IsQwertyZhuyinToneMarkKey(TInt aKey) const;
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TPtr GetLatestDeliberateSelection() const;
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ void UpdateCangJieState();
+
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 3.0
+ */
+ TBool IsValidChineseSymbol(TInt aKey) const;
+
+private: // Functions from base classes
+ /**
+ * From CAknFepUIManagerBase
+ *
+ * @since 2.6
+ */
+ TAknFepInputStateBase* FepUIState();
+
+ /**
+ * Clears all flags down
+ */
+ inline void ResetFlags();
+
+ /**
+ * Clears aFlag bitfield in iFlags
+ */
+ inline void ClearFlag(TInt aFlag);
+
+ /**
+ * Sets aFlag bitfield in iFlags
+ */
+ inline void SetFlag(TInt aFlag);
+
+ /**
+ * Returns ETrue if the aFlag bitfield in iFlags is set, EFalse if it
+ * is clear
+ */
+ inline TBool IsFlagSet(TInt aFlag) const;
+ /**
+ * Query PtiEngine for phrase input
+ */
+ void QueryPtiEngine();
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+ /**
+ * Decide if the key mapped stroke
+ *
+ * since 3.2.3
+ */
+ TBool IsKeyMappedStroke(TInt aKey) const;
+#endif
+public: // New Fanctions
+ /**
+ *
+ *
+ * @since 2.6
+ */
+ MAknFepUICtrlContainerChinese* UIContainer() const;
+
+ /**
+ * Check valid shift key press
+ */
+ TBool IsValidShiftKeyPress() const;
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+ TBool IsValidFnKeyPress() const;
+
+ TBool IsValidLongChrKeyPress() const;
+
+#endif
+#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+protected: // from CAknFepUIManagerBase
+ TBool RollbackPreviousCharL();
+#endif // RD_INTELLIGENT_TEXT_INPUT
+#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
+private: // New Fanctions
+ /**
+ *
+ *
+ * @since 2.6
+ */
+ CAknFepUIManagerChinese(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
+
+ /**
+ *
+ *
+ * @since 2.6
+ */
+ void ConstructL(TLanguage aLanguage);
+
+private: // Data
+ TAknFepInputStateChineseBase iFepUiState;
+ MAknFepUICtrlContainerChinese* iContainerPane;
+
+ // note that this must be stored in the manager, as the input states cannot allocate any memory
+ TBufC<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> iLatestDeliberateSelection;
+ TUint iFlags;
+ TInt iPrevMode;
+ TBool iQwertyMode;
+ };
+
+inline void CAknFepUIManagerChinese::SetFlag(TInt aFlag)
+ {
+ iFlags |= aFlag;
+ }
+
+inline void CAknFepUIManagerChinese::ClearFlag(TInt aFlag)
+ {
+ iFlags &= ~aFlag;
+ }
+
+inline void CAknFepUIManagerChinese::ResetFlags()
+ {
+ iFlags = 0;
+ }
+
+inline TBool CAknFepUIManagerChinese::IsFlagSet(TInt aFlag) const
+ {
+ return iFlags & aFlag;
+ }
+
+
+#endif //__AKN_FEP_UI_MANAGER_CHINESE_H__
+
+// End of file