diff -r f1bdd6b078d1 -r 2cb9bae34d17 fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerChinese.h --- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerChinese.h Tue Jul 06 14:38:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,344 +0,0 @@ -/* -* Copyright (c) 2002-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 CAknFepUICtrlContainerChinese definition. -* -*/ - - - - - - - - - - - -#ifndef __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__ -#define __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__ - -#include -#include -#include - -class CAknsFrameBackgroundControlContext; -class CAknFepUICtrlInputPane; -class CAknFepUICtrlCandidatePane; -class CAknFepUICtrlPinyinPopup; -class CAknFepUICtrlPinyinEEP; -class MAknFepManagerUIInterface; -class CAknFepUiLayoutDataMgr; - -class MAknFepUICtrlPinyinPopupSizeChangedObserver - { -public: - /// this is called when the selection popup changes size - virtual void SelectionPopupSizeChanged(TInt aNumLines) = 0; - - /// this is called when the popup is enabled - virtual void SelectionPopupEnabled(TBool aEnabled) = 0; - }; - -NONSHARABLE_CLASS(CAknFepUICtrlContainerChinese) - : - public CCoeControl, - public MAknFepUICtrlPinyinPopupSizeChangedObserver, - public MAknFepUICtrlContainerChinese -{ -public: - /** - * first phase construction - */ - static CAknFepUICtrlContainerChinese* NewL(); - - /** - * destructor - */ - ~CAknFepUICtrlContainerChinese(); - - /** - * get the input pane - * - * @return pointer to the input pane, ownership is not passed - */ - MAknFepUICtrlInputPane* InputPane() const; - - /** - * get the candidate pane - * - * @return pointer to the candidate pane, ownership is not passed - */ - MAknFepUICtrlCandidatePane* CandidatePane() const; - - /** - * get the phrase pinyin popup window - * - * @return pointer to the phrase popup window, ownership is not passed - */ - MAknFepUICtrlPinyinPopup* PinyinPopupWindow() const; - - /** - * - * get the pinyin phrase creation popup window - * - * @return pointer to the pinyin phrase popup window, ownership is not passed - */ - MAknFepUICtrlEditPane* EditPaneWindow() const; - - /** - * Is the control displayed on the screen? - * - * @return if not enabled, returns EFalse - * - */ - TBool IsEnabled() const; - /** - * 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); - - /** - * Arrange the constituent panes into the correct proportions for - * the required layout. - * - * @param aPaneLayout the required layout - * - */ - void SetLayout(TPaneLayout aPaneLayout); - - - /** - * Set the Highlight to the desired control. - * - * @param aValue if aValue is ETrue set the focus to the Candidate Pane. - * if aValue is EFalse set focus to the Chinese Input Pane - */ - void FocusCandidatePane(TBool aValue); - - /** - * enable/disable the rendering of the Horizontal Scroll Arrows. - * - * @param aValue if ETrue, enable the arrows - * if EFalse, disable the arrrows - */ - void ShowHorizontalScrollArrows(TBool aValue); - - /** - * enable/disable the rendering of the Vertical Scroll Arrows. - * - * @param aValue if ETrue, enable the arrows - * if EFalse, disable the arrrows - */ - void ShowVerticalScrollArrows(TBool aValue); - - /** - * Call this method if the fep is being displayed for a control that is - * contained in a popup window (i.e. a Query). It changes the layout - * of the container. - * - * @param aValue if ETrue, use the layout for display with a query - * if EFalse, use the normal layout - */ - void SetIsShownWithPopupWindows(TBool aValue); - - /** - * This function sets cursor position. - * - * @param aCurPos containing the cursor position - * @param aHeight containing font height - */ - void SetContainerPosition(TPoint aCurPos,TInt aHeight); - - /** - * Set Candidate and pinyin popup invisible - * - */ - void SetControlInVisible( TBool aVisible ); - - /** - * Set the state to phrase creation - */ - void PhraseCreation( TBool aPhraseCreation ); - - /** - * Is the state is in phrase creation - * - * @return if not enabled, return EFalse - */ - TInt& IsPhraseCreation(); - - /** - * Set FepMan - * - * @return if not enabled, return EFalse - */ - void SetFepMan( MAknFepManagerUIInterface* aFepMan ); - -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; - - virtual void HandleResourceChange(TInt aType); - -protected: // From CCoeControl - TTypeUid::Ptr MopSupplyObject(TTypeUid aId); - -public: // from MAknFepUICtrlPinyinPopupSizeChangedObserver - - /** - * called when the popup window changes size, so that it can be - * laid out correctly - * - * @param aNumLines the number of visible lines - */ - void SelectionPopupSizeChanged(TInt aNumLines); - - /** - * the popup has been enabled or disabled, so change layout where necessary - * - * @param aEnabled ETrue if popup has been enabled - * EFalse if popup has been disabled - */ - void SelectionPopupEnabled(TBool aEnabled); -protected: - - /** - * second phase construction - */ - void ConstructL(); - - /** - * constructor - */ - CAknFepUICtrlContainerChinese(); - - /** - * layout this control relative to the control pane (aka the CBA). - */ - void LayoutContainer(); - /** - * layout the rectangles - */ - void LayoutRects(); - /** - * layout entry pane - */ - void LayoutInputPane(); - /** - * layout contained controls - */ - void LayoutContainedControls(); - - /** - * layout the popup window - */ - void LayoutPinyinPopupWindow(); - - /** - * layout the EEP window - */ - void LayoutPinyinEEPWindow(); - - /** - * set control vilisibilty, according to the current pane layout - */ - void SetControlVisibility(); - - /** - * return the layout as an index that can be passed to the - * layout dll - * - * @return index into layout macro - */ - TInt ConvertLayoutToIndex() const; - - /** - * layout the background frames - */ - void LayoutFrames(); - - /** - * 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: - CAknFepUiLayoutDataMgr* iLafDataMgr; - CAknFepUICtrlInputPane* iInputPane; - CAknFepUICtrlCandidatePane* iCandidatePane; - CAknFepUICtrlPinyinPopup* iPinyinPopupWindow; - CAknFepUICtrlPinyinEEP* iEditPane; - CAknsFrameBackgroundControlContext* iBgContext; - -private: - TBool iEnabled; - TPaneLayout iPaneLayout; - TBool iIsShownWithPopupWindows; - // input pane - TAknLayoutRect iRectCoverMainPaneInput; - TAknLayoutRect iRectFirstShadowInput; - TAknLayoutRect iRectOutlineFrameInput; - TAknLayoutRect iRectInsideAreaInput; - TAknLayoutRect iHorizLine; //line between input pane and candidate pane - TAknLayoutRect iEEPFirstHorizLine; //line between input pane and EEP pane - TAknLayoutRect iEEPSecondHorizLine;////line between input pane and candidate pane when EEP exist - TPoint iContainerPosition; - TBool isPCLPosed; - TBool iPhraseCreationLaf; - - TInt iPhraseCreation; - MAknFepManagerUIInterface* iFepMan; -}; -#endif // __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__ - -// End of file -