textinput/peninputgenericitut/inc/peninputgenericitutwindowmanager.h
changeset 0 eb1f2e154e89
child 5 a47de9135b21
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputgenericitut/inc/peninputgenericitutwindowmanager.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* 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_GENERICITUTWINDOWMANAGER_H
+#define C_GENERICITUTWINDOWMANAGER_H
+
+#include <peninputlayout.h>
+#include <peninputpluginutils.h>
+#include <peninputlayoutmultilineicf.h>
+#include <peninputinputcontextfield.h>
+
+#include <peninputlayoutvkb.h>
+#include "peninputgenericitutlayout.h"
+#include "peninputgenericitutpropertysubscriber.h"
+#include "peninputgenericitutlayoutcontext.h"
+
+class CGenericItutWindow;
+
+class CGenericItutWindowManager : public CBase,
+                                  public MItutPropertySubscriber
+    {
+public:
+    static CGenericItutWindowManager* NewL(CGenericItutUiLayout* aLayoutOwner,
+                                           CGenericItutDataMgr* iDataMgr);
+
+    ~CGenericItutWindowManager();
+
+    void HandleCtrlEventL(TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData);
+
+    TInt OnAppEditorTextComing(const TFepInputContextFieldData& aData);
+
+    TBool HandleCommandL(TInt aCmd, TUint8* aData);
+
+    void SetPropertyL( MItutPropertySubscriber::TItutProperty aPropertyName, 
+                       const TDesC& aPropertyValue);
+
+    TInt SizeChanged(TBool aIcfOverlap);
+
+    CFepUiLayout* UiLayout();
+
+    void SubmitText(const TDesC& aEventData);
+
+    void ShowArrowBtn(TInt aShowFlag);
+    
+    void HandleAppInfoChangeL(const TDesC& aInfo); 
+    
+    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 SetPromptTextL(TUint8* aData);
+    TInt OnSkinChange();
+    
+    void SetLanguageL(TInt aLanguage);
+    
+    void ResetIndicatorL(CFepUiBaseCtrl* aIndicator);  
+    
+    void ShowInputModeSwitchL();
+    
+    void SetLastRawKeyDown(TInt aScanCode, TBool aKeyDown,  CFepUiBaseCtrl* aCtrl);    
+
+    void CreateChineseSpecificCtrlsIfNeededL();
+    
+    void ApplyVariantLafDataL(TBool aResolutionChange);
+
+    CFepUiBaseCtrl* Control(TInt aCtrlId);
+    
+    void DimArrowKeys( TBool aDimArrow );
+    
+    void ShowBubble(TInt aShow);
+    
+    void OnActivate();
+    
+    inline CGenericItutWindow* Window();
+    
+    /* Teleca change begin, 18.05.2009 ssal */
+    static TInt HideByteWarningBubble(TAny* aPointer);
+    void HideByteWarningBubble();
+    void DisplayWarningNote(const TDesC& aInfo);
+	/* Teleca change end, 18.05.2009 ssal */
+private:
+
+    CGenericItutWindowManager(CGenericItutUiLayout* aLayoutOwner,
+                              CGenericItutDataMgr* iDataMgr);
+
+    void ConstructL(); 
+    void UpdateIndicatorL(TUint8* aData);
+
+    void ReportItemSelected(TInt aCmdId, TInt aIdx, TBool aCommit);
+
+private:
+
+    CGenericItutUiLayout* iLayoutOwner;
+    
+    CGenericItutWindow* iWindow;
+    CGenericItutDataMgr* iDataMgr;
+    
+    TAknWindowLineLayout iBubbleSize;
+    TAknTextLineLayout iBubbleTextLayout;
+    
+   
+    TBool iRawKeyDown;  
+    CFepUiBaseCtrl* iRawKeyCtrl;
+    TInt iLastRawKeyDown;
+    TBool iInEditWordQueryDlg;
+    TBool iDimOperationBtn;
+    
+    /* Teleca change begin, 18.05.2009 ssal */
+    CPeriodic* iInfoTimer;
+    /* Teleca change end, 18.05.2009 ssal */
+    };
+
+inline CGenericItutWindow* CGenericItutWindowManager::Window()
+	{
+	return iWindow;	
+	}
+#endif // C_GENERICITUTWINDOWMANAGER_H