textinput/peninputgenericitut/inc/peninputgenericitutlayout.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputgenericitut/inc/peninputgenericitutlayout.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,161 @@
+/*
+* 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:  drop-down list control
+*
+*/
+
+
+#ifndef C_GENERICITUTUILAYOUT_H
+#define C_GENERICITUTUILAYOUT_H
+
+#include <peninputlayout.h>
+#include <peninputpluginutils.h>
+#include <peninputlayoutmultilineicf.h>
+#include <peninputinputcontextfield.h>
+
+#include <peninputlayoutvkb.h>
+
+#include "peninputgenericitutpropertysubscriber.h"
+#include "peninputgenericitutlayoutcontext.h"
+
+class CAknFepCtrlButton;
+class CAknFepCtrlRepeatButton;
+class CAknFepCtrlRawKeyButton;
+class CGenericItutDataMgr;
+class CFepCtrlDropdownList;
+class CGenericItutUiMgrBase;
+class CPeninputLayoutInputmodelChoice;
+class CFepLayoutScrollableList;
+class CAknFepCtrlLabel;
+class CAknFepCtrlCommonButton;
+class CAknFepCtrlCommonBgCtrl;
+class CAknFepCtrlRepeatButtonEx;
+
+class CGenericItutWindowManager;
+class CGenericItutUiLayout : public CFepUiLayout,
+                             public MItutLayoutContext
+    {
+public:
+    static CGenericItutUiLayout* NewL(MLayoutOwner* aLayoutOwner,const TAny* aInitData);
+
+    ~CGenericItutUiLayout();
+
+    void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData);
+
+    TInt OnAppEditorTextComing(const TFepInputContextFieldData& aData);
+
+    TInt HandleCommand(TInt aCmd, TUint8* aData) ;
+
+    TInt PenInputType(); 
+
+    TInt SizeChanged(const TAny* pData);
+
+    // from MItutLayoutContext
+    CFepUiBaseCtrl* Control(TInt aCtrlId);
+    
+    CFepUiLayout* UiLayout();
+
+    void SubmitText(const TDesC& aEventData);
+
+    CGenericItutUiMgrBase* UiMgr();
+
+    void OnDeActivate();
+    
+    void OnActivate();    
+
+    inline CGenericItutDataMgr* DataMgr();
+
+    inline TBool IsSecretEdtior();
+
+    void EnterMatchSelectionState(TBool aOn);
+
+
+    void HandleAppInfoChange(const TDesC& aInfo, TPeninputAppInfo aType);
+    
+    void ShowArrowBtn(TInt aShowFlag);
+    
+    void ApplyVariantLafDataL(TBool aResolutionChange = EFalse);
+    
+    CGenericItutWindowManager* UiManager();
+    
+    void SimulateRawEvent(TInt aScanCode, TRawEvent::TType aType ); 
+    
+    /**
+     * Simulate raw event to window server immediately
+     * simulating raw event command won't be scheduled by AO 
+     * because it won't be added into CPeninputAnimObj::iAnimCmd.
+     *
+     */
+    void SimulateImmeRawEvent( TInt aScanCode, TRawEvent::TType aType );
+    
+    void SetInputLanguageL(TInt aLanguage);  
+    
+    
+    void SetLatinOnly( TBool aLatinOnly );
+   
+private:
+    CGenericItutUiLayout(MLayoutOwner* aLayoutOwner);
+
+    void ConstructL(const TAny* aInitData); 
+
+
+    void CreateICFL();
+
+    void CreateDropdownListL();
+
+
+
+    TInt OnSkinChange();
+
+    TBool PressOnCtrls(TPoint aPt);
+
+    void SetInputModeL(TInt aMode);
+    
+    void SetCtrlRect(CFepUiBaseCtrl* aCtrl, TInt aRectIdx);
+    
+    CFepUiBaseCtrl* CurrentIndicator();
+    
+    void SetPromptTextL(TUint8* aData);
+    
+    CGenericItutUiMgrBase* ChineseUiManager();
+   
+private:
+
+    CGenericItutDataMgr* iDataMgr;
+
+
+    TBool iPenDownOnNaviPane;
+
+    
+    CGenericItutUiMgrBase* iChnUiMgr;
+    CGenericItutUiMgrBase* iWesternUiMgr;
+    CPeninputLayoutInputmodelChoice* iInputModeSwitch;
+    
+    CGenericItutUiMgrBase* iCurrentUiMgr;
+    TBool iIsSecret;
+    
+    CGenericItutWindowManager* iWindowMgr;
+    };
+
+inline CGenericItutDataMgr* CGenericItutUiLayout::DataMgr()
+    {
+    return iDataMgr;
+    }
+
+inline TBool CGenericItutUiLayout::IsSecretEdtior()
+    {
+    return iIsSecret;
+    }
+
+#endif //C_GENERICITUTUILAYOUT_H