fep/aknfep/inc/AknFepCaseManager.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/fep/aknfep/inc/AknFepCaseManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef _AKNFEP_CASE_MANAGER_H__
-#define _AKNFEP_CASE_MANAGER_H__
-
-#include "AknFepManager.h"
-
-#include <e32base.h>
-
-class CAknEdwinState;
-class CAknPictographInterface;
-
-
-class CAknFepCaseManager : public CBase
-    {
-private:
-    enum AknFepCaseManagerConsts
-        {
-        ETextCaseCharactersBufferMaxSize            =16
-        };
-
-public:
-    /**
-    * Two phase constructor for this class
-    */
-    static CAknFepCaseManager* NewL(CAknFepManager& aFep);
-
-    /**
-    * C++ Destructor
-    */
-    ~CAknFepCaseManager();
-
-public:
-    /**
-    * Configure the current case state of the system based on the current
-    * editor state
-    */
-    void ConfigureCaseStateFromEditorState();
-
-    /**
-    * Start an automatic case update - determines the case of the next
-    * character based on the rules governing auto case update and applies
-    * this change accordingly
-    *
-    * @param aNaviEvent the type of event which prompted the case update
-    *                   (affects the final cursor position)
-    */
-    void UpdateCase(TWesternNaviEvent aNaviEvent);
-
-    /**
-    * Starts a manual case update
-    */
-    void ManualCaseUpdate();
-
-    /**
-    * Reverts the case of text input to the previous one in order to
-    * back out unneccasary case changes
-    */
-    void RevertCaseChange();
-
-    /**
-    * Set the case of text input
-    *
-    * @param aCase the case of the next character
-    * @param aOverrideNumericTest Isn't used in most cases, but if set, handles
-    *                             numeric mode as normal mode. Needed for selection
-    *                             style hash key loop implementation.
-    */
-    void SetCurrentCase(TInt aCase, TBool aOverrideNumericTest = EFalse);
-
-    /**
-    * Return the current case of text input
-    *
-    * @return integer representing an enumerated value of the current case
-    */
-    TInt CurrentCase() const;
-
-    /**
-    * check whether case can be changed
-    *
-    * @return Eture if case can be changed
-    */
-    TBool IsAbleChangeCase() const;
-    
-    TInt PluginPermittedCases();
-    
-	TBool CapsLockRequired(TInt aCurrentCase);
-	/* Teleca change begin, 18.08.2009 ssal */
-	/**
-    * Determines whether a character is one of Korean characters
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Korean character
-    */
-	TBool IsKoreanCharacter( TChar aChar ) const;   
-    /* Teleca change end, 18.08.2009 ssal */
-private:
-    /**
-    * C++ Constructor
-    */
-    CAknFepCaseManager(CAknFepManager& aFep);
-
-    /**
-    * Second phase constructor for this class
-    */
-    void ConstructL();
-
-    /**
-    * Determines the position the cursor will be in when a navigation event is
-    * complete. This is used to determine the required case at that position.
-    *
-    * @param aNaviEvent the type of event after which the case will be updated
-    * @return The position in the document of the cursor when aNaviEvent is
-    *           complete
-    */
-    TInt FindCursorPositionAtCaseCheck(TWesternNaviEvent aNaviEvent);
-
-    /**
-    * Determines, based on the case rules, whether text case needs to be
-    * applied for text input i.e. whether the next character needs
-    * to be entered in upper case and subsequent characters in lower case
-    *
-    * @return ETrue if text case needs to be applied for the next 
-    *           character
-    */
-    TBool TextCaseRequired(TInt aCursorPos);
-
-    /**
-    * Determines, based on the case rules, whether or not caps lock input style
-    * needs to be applied i.e. if the current case is upper and we should stay
-    * in upper following the entry of the next character
-    *
-    * @return ETrue if caps lock input style is to be applied
-    */
-    TBool CapsLockRequired(TInt aCursorPos, TInt aCurCase);
-
-    /**
-    * Determines the case of text input based on the rules governing
-    * case updates atarted by the user and applies this change accordingly
-    */
-    void DoManualCaseUpdate();
-
-    /**
-    * Applies the case change in the ptiengine (via the engine interface) and
-    * updates the edit state indicators accordingly
-    */
-    void ApplyCase();
-
-    /**
-    * Sets the system to be in fixed case.  No case updates are permitted
-    * in this state
-    *
-    * @param aFixedCase if ETrue then no case updates are subsequently
-    *                   permitted
-    */
-    void SetFixedCase(TBool aFixedCase);
-
-    /**
-    * Determines if the current editor has the fixed case flag set
-    *
-    * @return ETrue if the fixed case flag is set on the current editor
-    */
-    TBool CurrentEditorIsFixedCase() const;
-
-    /**
-    * Determines if a case is one which is allowed in the current editor
-    * based on the editor's configuration
-    *
-    * @param aCase the case to be checked 
-    * @return ETrue if aCase is permitted by the current editor
-    */
-    TBool IsCasePermitted(TInt aCase) const;
-
-    /**
-    * 
-    * 
-    *
-    * @param aChar the charcter to be checke
-    * @return ETrue 
-    */
-    TBool IsTextCaseCharacter(TChar aChar) const;
-
-    /**
-    * 
-    * 
-    *
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is full or half alphabet
-    */
-    TBool IsAlpha(TChar aChar) const;
-    
-    /**
-    * Determines whether a character is one of Japanese characters
-    * Japanese character is included as below:
-    *   - Hiragana/Kanji
-    *   - Katakana (Both half and full)
-    *   - Symbol (Full-width only)
-    *      (including Full-width Full-Stop)
-    *
-    * @since S60 v3.1
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Japanese character
-    */
-    TBool IsJapaneseCharacter(TChar aChar) const;
-
-    /* Teleca change begin, 18.08.2009 ssal */
-    /**
-    * Determines whether a character is one of Korean hangul syllable
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is korean character
-    */
-    TBool IsHangulSyllable(TChar aChar) const;
-
-    /**
-    * Determines whether a character is one of Korean hangul compatibility Jamo Syllable
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Korean character
-    */
-	TBool IsHangulCompatibilityJamo(TChar aChar) const;
-	/* Teleca change begin, 18.08.2009 ssal */
-
-public:    
-    /**
-    * Calls to ManulaCaseUpdate() in lower case situation will switch to 
-    * upper case even if text case would be normally selected.
-    */
-    inline void SetForceUpperCase();
-    
-    /** 
-    * Clear force upper case flag (see SetForceUpperCase()). 
-	*/ 
-	inline void ClearForceUpperCase();
-
-	inline TBool IsInverseCase() const;
-	inline void SetInverseCase( TBool aVal );
-
-private:
-    CAknFepManager& iFep; //not owned
-    CAknPictographInterface* iPictoInterface; //owned
-    
-    TInt iCurrentCase;
-    TInt iPreviousCase;
-    TBool iFixedCase;
-    TBool iForceUpperCase;
-    TBool iInverseCase;
-    TBufC<ETextCaseCharactersBufferMaxSize> iTextCaseCharacters;
-    };
-
-inline void CAknFepCaseManager::SetForceUpperCase()
-	{
-	iForceUpperCase = ETrue;
-	}
-    
- 
-inline void CAknFepCaseManager::ClearForceUpperCase()
-	{
-	iForceUpperCase = EFalse;
-	}
-	
-inline TBool CAknFepCaseManager::IsInverseCase() const
-    {
-    return iInverseCase;
-    }
-
-inline void CAknFepCaseManager::SetInverseCase( TBool aVal )
-    {
-    iInverseCase = aVal;
-	}
-
-#endif //_AKNFEP_CASE_MANAGER_H__