fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlPinyinPopup.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlPinyinPopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,698 +0,0 @@
-/*
-* Copyright (c) 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 CAknFepUICtrlPinyinPopup class definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-#define __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-
-#include <AknFepUICtrlPinyinPopup.h>
-#include <badesca.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include "AknFepUIAvkonCtrlInputPane.h"
-#include "AknFepUIAvkonCtrlCandidatePane.h"
-
-class MAknFepUICtrlPinyinPopupSizeChangedObserver;
-
-NONSHARABLE_CLASS(CAknFepUICtrlPinyinPopup):public CCoeControl, public MAknFepUICtrlPinyinPopup
-{
-public:
-    /**
-     * First phase construction
-     */
-    static CAknFepUICtrlPinyinPopup* NewL(RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr);
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlPinyinPopup();
-    /**
-     * This function returns the index of the selected phrase item .
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    TInt CurrentSelection() const;
-    /**
-     * This function returns the visible index of the selected item.
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    TInt CurrentVisibleSelection() const;
-	 /**
-     * set the observer
-     * <p> Note that only one observer is supported!
-     *
-     * @param aObserver pointer to the observer
-     */
-    void SetSizeChangedObserver(MAknFepUICtrlPinyinPopupSizeChangedObserver* aObserver);
-
-    /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    void Enable(TBool aEnable);
-	/**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    void SetVisibleSelectionCount(TInt aCount);
-	/**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    void SetVisibleCount(TInt aCount);
-
-    /**
-     * get the current visible selection count
-     *
-     * @return visible selection count
-     */
-    TInt VisibleSelectionCount() const;
-
-
-    /**
-     * This sets the string of the internal buffer for the item index aIndex to aText,
-     * even if the index falls outside the current visible candidates.
-     *
-     * @param aText new contents of text item
-     * @return ETrue if successful
-     *              EFalse if index outside visible candidates (but value is still set)
-     *
-     */
-    TBool SetItemText(TInt aIndex, const TDesC& aText);
-
-    /**
-    *   Sets the string of the internal buffer for visible item 
-    */
-    TBool SetPhraseItemTexts();
-    
-    /**
-     * This function gets the text at the index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @output aText contains contents of text item
-     * @return ETrue always
-     *
-     */
-    TBool GetItemText(TInt aIndex, TDes& aText) const;
-
-    /**
-     * This function sets the Tone Mark for all entries
-     * 
-     * @param aToneMark the tone mark
-     *
-     */
-    void SetToneMark(const TDesC& aToneMark);
-
-    /**
-     * This function sets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @param aToneMark the tone mark
-     *
-     */
-    void SetToneMark(TInt aIndex, const TDesC& aToneMark);
-
-    /**
-     * This function gets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @output aToneMark the tone mark
-     *
-     */
-    void GetToneMark(TInt aIndex, TDes& aToneMark) const;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aIndex index of the entry to be affected
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    void SetItemToneMarkValidity(TInt aIndex, TBool aValid);
-    /**
-     * Is the control enabled for display?
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsEnabled() const;
-
-    /**
-     * Select the next visible item. If already on the last one, loop to the 
-     * first one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    TBool SelectNextPhrase();
-
-    /**
-     * Select the previous visible item. If already on the first one, loop to the 
-     * last one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    TBool SelectPrevPhrase();
-
-    /**
-     * This function selects the item at index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @return ETrue if success, EFalse if failure.
-     */
-    TBool SelectIndex(TInt aIndex);
-
-    /**
-	*	Return Pinyin spelling candidate array 
-	*/
-    CDesCArrayFlat* PhoneticSpellingArray(void);
-
-    /**
-	*	Return Pinyin spelling candidate array 
-	*/
-    CDesCArrayFlat* PhoneticSpellingIndexArray();    
-    /**
-	*	Split phrase pinyin spelling candidates into pages 
-	*/
-    void SplitPhraseSpellingIntoPages(void);
-
-    /**
-	*	Split pinyin spelling candidates into pages 
-	*/
-    void SplitSpellingIntoPages(TInt aCount);
-    
-    /**
-	*	Set display page for deliberate selection 
-	*/
-    void SetDisplayPage(TInt aSelection);
-    /**
-	*	Return current page start spelling index 
-	*/
-    TInt CurrentPageStartIndex(void);
-
-    /**
-	*	Return kestroke array 
-	*/
-    CDesCArrayFlat* KeystrokeArray(void);
-    
-    /**
-	*	Return in effect kestroke array 
-	*/    
-    CDesCArrayFlat* InEffectKeystrokeArray();
-    
-    /**
-	*	Return  show kestroke array 
-	*/    
-    CDesCArrayFlat* ShowKeystrokeArray();
-
-    /**
-	 *	Return Optimize Spelling array 
-	 */    
-    CDesCArrayFlat* OptimizeSpelling();
-    
-    /**
-     *  Return temp Spelling array 
-     */    
-    CDesCArrayFlat* TempSpelling();
-    
-    /**
-     *	Return choose chinese charater array 
-     */
-    CDesCArrayFlat* ChooseChineseCharacterArray();    
-
-    /**
-     *	Return choose chiese charater keystroke array 
-     */
-    CDesCArrayFlat* ChooseChineseCharacterArrayKeystroke();    
-    
-    /**
-     *	Return the tone mark state 
-     */
-    TBool GetTonemarkState();   
-    
-    /**
-     *	set the tone mark state 
-     */
-     void SetTonemarkState( TBool aState );    
-     
-    /**
-    *   Set, clear and check flags status
-    */
-    inline void SetFlag(TInt aFlag);
-    inline void ClearFlag(TInt aFlag);
-    inline TBool IsFlagSet(TInt aFlag) const;
-	void PopupSizeChanged();
-	
-    /**
-     *  Set all the input pane not highlight
-     */
-	void SetNoneHighlighted();
-	
-    /**
-    *   Return kestroke array 
-    */
-	CDesCArrayFlat* KeystrokeArrayForStroke();
-
-    /**
-    *   Return in effect kestroke array 
-    */  
-	CDesCArrayFlat* InEffectKeystrokeArrayForStroke();
-
-    /**
-    *   Return  show kestroke array 
-    */ 
-	CDesCArrayFlat* ShowKeystrokeArrayForStroke();
-
-    /**
-     *  Return choose chinese charater array 
-     */
-	CDesCArrayFlat* ChooseChineseCharacterArrayForStroke();
-
-    /**
-     *  Return choose chiese charater keystroke array 
-     */
-	CDesCArrayFlat* ChooseChineseCharacterArrayKeystrokeForStroke();
-	
-    CDesCArrayFlat* ZhuyinSymbols();
-    
-    CDesCArrayFlat* ZhuyinShowSymbols();
-    
-    CDesCArrayFlat* FirstValidZhuyinGrp() ;
-    
-    CDesCArrayFlat* ChineseCharsDisped() ;
-    
-    CDesCArrayFlat* ZhuyinSymbolsForChineseCharsDisped() ;
-    
-    void SetEEPContent ( const TDes& aDes );
-    TDes& GetEEPContent ( );
-    
-    void SetEEPContentValid ( TBool aValid );
-    TBool GetEEPContentValid ( );
-    
-    /**
-     *  Reset all array 
-     */
-	void ResetStrokeArray();
-	
-    /**
-     *  Set the state is changed 
-     */
-    void SetChangeState( TBool aChangeState );
-    
-    /**
-     *  Return if has changed state or not 
-     */
-    TBool IsChangeStatet() const;
-    
-    /**
-     * Set whether state change from entry to spelling editing is automatical.
-     * 
-     * @param aState.1 for automatical, 0 for manual.
-     * @return None.
-     */
-    void SetState( TInt aState );
-    
-    /**
-     * Get state change status.
-     */
-    TInt GetState();
-    
-    /**
-     * Set whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @param aState. ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     * @return None.
-     */
-    void SetPhraseCreationState( TBool aState );
-    
-    /**
-     * Set whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @return ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     */
-    TBool GetPhraseCreationState();
-    
-    /**
-     * Set whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @param aState. ETrue happen editing,EFalse others.
-     * @return None.
-     */
-    void SetPhraseCreationEditingState( TBool aState );
-    
-    /**
-     * Get whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @param aState. ETrue happen editing,EFalse others.
-     * @return None.
-     */
-    TBool GetPhraseCreationEditingState();
-    
-    /**
-     * Set flag whether from candidate state change state.
-     * 
-     * @param aFlag  ETrue from the candidate state change state, other EFalse.
-     * @since S60 V5.0
-     * @return none.
-     */
-    void SetFromCandidateChangeStateFlag( TBool aFlag );
-    
-    /**
-     * Get flag whether from candidate state change state.
-     * 
-     * @since S60 V5.0
-     * @return ETrue from the candidate state change state, other EFalse.
-     */
-    TBool GetFromCandidateChangeStateFlag();
-
-    /**
-     * Set count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetValidKeystrokeCount( TInt aCount );
-    
-    /**
-     * get count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return count of valid keystroke.
-     */
-    TInt GetValidKeystrokeCount();
-    
-    /**
-     * Set last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return None
-     */
-    void SetLastResouce( TInt aResouceId );
-    
-    /**
-     * Get last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return last resouce id
-     */
-    TInt GetLastResouce();
-    
-    
-    /**
-     * Set change state from Edit to Spelling flag.
-     * 
-     * @param aFlag,If ETrue Change from Edit state to spelling state,EFalse others. 
-     * @since S60 V5.0
-     * @return none.
-     */
-    void SetFromEditToSpellingFlag( TBool aFlag = EFalse );
-
-    /**
-     * Get change state from Edit to Spelling flag.
-     * 
-     * @param none. 
-     * @since S60 V5.0
-     * @return ETrue Change from Edit state to spelling state,EFalse others..
-     */
-    TInt GetFromEditToSpellingFlag();
-    
-    
-    /**
-     * Set valid keystroke change flag.
-     * 
-     * @param aFlag, ETrue valid keystroke changed,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetValidKeystrokeChange( TBool aFlag );
-    
-    /**
-     * Get valid keystroke change flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if vallid keystroke changed, others EFalse.
-     */
-    TBool GetValidKeystrokeChange();
-    
-    /**
-     * Set PreStateIsPredict flag.
-     * 
-     * @param aFlag, ETrue PreStateIsPredict,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetPreStateIsPredictive( TBool aFlag );
-    
-    /**
-     * Get PreStateIsPredict flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if PreStateIsPredict, others EFalse.
-     */
-    TBool GetPreStateIsPredictive();
-
-    void SetInputLayoutMiniQwertyZhuyin();
-    
-    void ResetInputLayoutMiniQwertyZhuyin();
-
-protected: // From CCoeControl
-	TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-protected:
-    /**
-     * constructor
-     */
-	CAknFepUICtrlPinyinPopup(CAknFepUiLayoutDataMgr* aLafDataMgr);
-    /**
-     * second phase construction
-     */
-    void ConstructL(RWindow& aParent);
-	/**
-     * Construct arrow bitmap class
-     */
-	void ConstructBitmapsL();
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * Layout the input panes
-     */
-    void LayoutInputPanes();
- 
-	/**
-     * set the visibility of the input panes, according to the current layout
-     */
-    void SetInputPaneVisibility();
-
-    /**
-     * layout the background frames
-     */
-    void LayoutFrames();
-
-    /**
-     * just layout one of the input panes
-     *
-     * @param aIndex index of input pane to lay out
-     *
-     */
-    void LayoutInputPane(TInt aIndex);
-
-    /**
-     * update input panes' visibility
-     */
-    void UpdateInputPaneVisibility(void);
-
-	
-public: //from CcoeControl
-     /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     * 
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     *
-     */
-    virtual void Draw(const TRect& aRect) const;
-    /**
-     * layout the background frames
-     *
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     *
-     */
-    void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;
- 
-private: // the following need resetting
-    RPointerArray<CAknFepUICtrlInputPane> iInputPaneArray;
-private: // the following are not owned
-    CAknFepUiLayoutDataMgr* iLafDataMgr;
-    MAknFepUICtrlPinyinPopupSizeChangedObserver* iSizeChangedObserver;
-private: // the following are owned
-    CAknsFrameBackgroundControlContext* iBgContext; 
-    CFbsBitmap* iNaviArrowBitmapLeft;
-    CFbsBitmap* iNaviArrowBitmapLeftMask;
-    CFbsBitmap* iNaviArrowBitmapRight;
-    CFbsBitmap* iNaviArrowBitmapRightMask;
-
-private:
-	TAknLayoutRect iIndiFepArrowLeft;
-    TAknLayoutRect iIndiFepArrowRight;
-    TInt iSelected;
-    TInt iEnabled;
-    TToneMark iToneMark;
-   	TAknLayoutRect iRectCoverMainPaneInput;
-    TAknLayoutRect iRectFirstShadowInput;
-    TAknLayoutRect iRectOutlineFrameInput;
-    TAknLayoutRect iRectInsideAreaInput;
-	TInt iVisibleCount;
-    RArray<TPage> iPages;
-    TInt iCurDisplayPage;
-    CDesCArrayFlat* iSpellingArray;
-    //Spelling index array
-    CDesCArrayFlat* iSpellingIndexArray;
-    //keystroke arrray
-    CDesCArrayFlat* iKeystrokeArray;
-    //in effect keystroke array
-    CDesCArrayFlat* iInEffectKeystrokeArray;
-    //show Keystroke array
-    CDesCArrayFlat* iShowKeystrokeArray;
-    //Optimize Keystroke array
-    CDesCArrayFlat* iOptimizeSpelling;
-    //temp Keystroke array
-    CDesCArrayFlat* iTempSpelling;
-    //Chinese array
-    CDesCArrayFlat* iChooseChineseCharacterArray;
-    //Chinese Keystroke array
-    CDesCArrayFlat* iChooseChineseCharacterArrayKeystroke;
-    
-    CDesCArrayFlat* iKeystrokeArrayForStroke;
-    CDesCArrayFlat* iInEffectKeystrokeArrayForStroke;
-    CDesCArrayFlat* iShowKeystrokeArrayForStroke;
-    CDesCArrayFlat* iChooseChineseCharacterArrayForStroke;
-    CDesCArrayFlat* iChooseChineseCharacterArrayKeystrokeForStroke;
-
-    CDesCArrayFlat* iZhuyinSymbols;
-    CDesCArrayFlat* iZhuyinShowSymbols;
-    CDesCArrayFlat* iFirstValidZhuyinGrp;
-    CDesCArrayFlat* iChineseCharsDisped;
-    CDesCArrayFlat* iZhuyinSymbolsForChineseCharsDisped;
-    TBuf<100> iEEPContent;
-    TBool iEEPContentValid;
-    
-    //the tone mark state
-    TInt iTonemarkState;
-    
-    //the stroke state
-    TInt iStrokeState;
-    
-    // The highlight goes back to wrong position when transfer from pinyin 
-    // spelling pane to pinyin candidate pane more than one time.
-    TInt iHighLightFlag;
-    
-    TInt iFlags;
-    
-    TInt iValidKeystrokeCount;
-    TInt iPhraseCreation;
-    TInt iPhraseCreationEditingState;
-    TInt iChangeState;
-    /**
-     * whether the state change from entry to spelling editing is automatical.
-     */
-    TInt iState;
-    
-    TInt iLastResouce;
-    
-    /**
-     * whether the state change from Edit to spelling.
-     */
-    TInt iChangeStateFromEditToSpelling;
-    
-    /**
-     * whether the valid keystroke changed.
-     */
-    TInt iValidKeystrokeChanged;
-    
-    /**
-     * whether the previous state is predictive display.
-     */
-    TBool iPreStateIsPredictive;
-};
-
-inline void CAknFepUICtrlPinyinPopup::SetFlag(TInt aFlag)
-    {
-    iFlags |= aFlag;
-    }
-
-inline void CAknFepUICtrlPinyinPopup::ClearFlag(TInt aFlag)
-    {
-    iFlags &= ~aFlag;
-    }
-
-inline TBool CAknFepUICtrlPinyinPopup::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags & aFlag;
-    }
-
-#endif // __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-
-// End of file