diff -r ebd48d2de13c -r ecbabf52600f textinput/peninputsplititut/inc/peninputsplititutlayout.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputsplititut/inc/peninputsplititutlayout.h Wed Sep 01 12:23:33 2010 +0100 @@ -0,0 +1,368 @@ +/* +* Copyright (c) 2002-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: split itu-t layout +* +*/ + + +#ifndef C_SPLITITUTUILAYOUT_H +#define C_SPLITITUTUILAYOUT_H + +#include +#include +//#include + +#include + +#include "peninputsplititutpropertysubscriber.h" +#include "peninputsplititutlayoutcontext.h" + +class CAknFepCtrlButton; +class CAknFepCtrlRepeatButton; +class CAknFepCtrlRawKeyButton; +class CSplitItutDataMgr; +//class CFepCtrlDropdownList; +class CSplitItutUiMgrBase; +class CAknFepCtrlCommonButton; +class CAknFepCtrlCommonBgCtrl; +class CAknFepCtrlRepeatButtonEx; + +class CSplitItutWindowManager; +class CSplitItutUiLayout : public CFepUiLayout, + public MSplitItutLayoutContext + { +public: + /** + * Symbian constructor. + * + * @since S60 v5.0 + * @return Pointer to created object. + */ + static CSplitItutUiLayout* NewL(MLayoutOwner* aLayoutOwner,const TAny* aInitData); + + /** + * standard c++ destructor. + * + * @since S60 v5.0 + * @return None + */ + ~CSplitItutUiLayout(); + + /** + * Process text update + * + * @since S60 v5.0 + * @param aData context data + * @return TInt + */ + TInt OnAppEditorTextComing(const TFepInputContextFieldData& aData); + + /** + * handle control event + * + * @since S60 v5.0 + * @param aEventType event type + * @param aCtrl control pointer + * @param aEventData event data + * @return None + */ + void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData); + + /** + * handle command + * + * @since S60 v5.0 + * @param aCmd command + * @param aData + * @return TInt + */ + TInt HandleCommand(TInt aCmd, TUint8* aData) ; + + /** + * get pen input type + * + * @since S60 v5.0 + * @return pen input type + */ + TInt PenInputType(); + + /** + * handle size change + * + * @since S60 v5.0 + * @param pData + * @return TInt + */ + TInt SizeChanged(const TAny* pData); + + /** + * get control pointer + * + * @since S60 v5.0 + * @param aCtrlId + * @return control pointer + */ + CFepUiBaseCtrl* Control(TInt aCtrlId); + + /** + * get UI layout + * + * @since S60 v5.0 + * @return UI layout + */ + CFepUiLayout* UiLayout(); + + /** + * get submit text + * + * @since S60 v5.0 + * @param aEventData + * @return None + */ + void SubmitText(const TDesC& aEventData); + + /** + * get UI layout + * + * @since S60 v5.0 + * @return UI manager + */ + CSplitItutUiMgrBase* UiMgr(); + + /** + * handle deactivate + * + * @since S60 v5.0 + * @return None + */ + void OnDeActivate(); + + /** + * handle activate + * + * @since S60 v5.0 + * @return None + */ + void OnActivate(); + + /** + * get data manager + * + * @since S60 v5.0 + * @return data mgr + */ + inline CSplitItutDataMgr* DataMgr(); + + /** + * get data manager + * + * @since S60 v5.0 + * @return data mgr + */ + inline TBool IsSecretEdtior(); + + /** + * handle app info change + * + * @since S60 v5.0 + * @return None + */ + void HandleAppInfoChange(const TDesC& aInfo, TPeninputAppInfo aType); + + /** + * show/hide arrow button + * + * @since S60 v5.0 + * @param aShowFlag + * @return None + */ + void ShowArrowBtn(TInt aShowFlag); + + /** + * apply laf data + * + * @since S60 v5.0 + * @param aResolutionChange + * @return None + */ + void ApplyVariantLafDataL(TBool aResolutionChange = EFalse); + /** + * apply spell modelaf data + * + * @since S60 v5.0 + * @return None + */ + void ApplyVariantLafDataForSpellL(); + + + /** + * get ui manager + * + * @since S60 v5.0 + * @return ui mgr + */ + CSplitItutWindowManager* UiManager(); + + /** + * apply laf data + * + * @since S60 v5.0 + * @param aScanCode + * @param aType + * @return None + */ + void SimulateRawEvent(TInt aScanCode, TRawEvent::TType aType); + + /** + * set input language + * + * @since S60 v5.0 + * @param aLanguage + * @return None + */ + void SetInputLanguageL(TInt aLanguage); + + /** + * set latin only flag + * + * @since S60 v5.0 + * @param aLatinOnly + * @return None + */ + void SetLatinOnly( TBool aLatinOnly ); + +private: + /** + * C++ constructor + * + * @since S60 v5.0 + * @return None + */ + CSplitItutUiLayout(MLayoutOwner* aLayoutOwner); + + /** + * Symbian second-phase constructor + * + * @since S60 v5.0 + * @return None + */ + void ConstructL(const TAny* aInitData); + + /** + * create dropdownlist + * + * @since S60 v5.0 + * @return None + */ +// void CreateDropdownListL(); + + /** + * create dropdownlist + * + * @since S60 v5.0 + * @return None + */ + TInt OnSkinChange(); + + /** + * is press on control + * + * @since S60 v5.0 + * @param aPt + * @return TBool + */ + TBool PressOnCtrls(TPoint aPt); + + /** + * set input mode + * + * @since S60 v5.0 + * @param aMode + * @return None + */ + void SetInputModeL(TInt aMode); + + /** + * set input mode + * + * @since S60 v5.0 + * @param aMode + * @return None + */ + void SetCtrlRect(CFepUiBaseCtrl* aCtrl, TInt aRectIdx); + + /** + * get chinese ui mgr + * + * @since S60 v5.0 + * @return chinese ui mgr + */ + CSplitItutUiMgrBase* ChineseUiManager(); + +private: + /** + * data manager. + * own + */ + CSplitItutDataMgr* iDataMgr; + + /** + * Chinese UI manager. + * own + */ + CSplitItutUiMgrBase* iChnUiMgr; + + /** + * Western UI manager. + * own + */ + CSplitItutUiMgrBase* iWesternUiMgr; + + /** + * Current UI manager. + * own + */ + CSplitItutUiMgrBase* iCurrentUiMgr; + + /** + * is secret flag. + */ + TBool iIsSecret; + + /** + * window manager. + * own + */ + CSplitItutWindowManager* iWindowMgr; + }; + +// --------------------------------------------------------------------------- +// CSplitItutUiLayout::DataMgr +// --------------------------------------------------------------------------- +// +inline CSplitItutDataMgr* CSplitItutUiLayout::DataMgr() + { + return iDataMgr; + } + +// --------------------------------------------------------------------------- +// CSplitItutUiLayout::IsSecretEdtior +// --------------------------------------------------------------------------- +// +inline TBool CSplitItutUiLayout::IsSecretEdtior() + { + return iIsSecret; + } + +#endif //C_SPLITITUTUILAYOUT_H