diff -r 000000000000 -r eb1f2e154e89 textinput/peninputvkbkr/inc/PeninputVkbKrLayout.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputvkbkr/inc/PeninputVkbKrLayout.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,182 @@ +/* +* 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: peninput VKB data manager +* +*/ + +#ifndef PENINPUTVKBLAYOUT_H +#define PENINPUTVKBLAYOUT_H + +// INCLUDES +#include +#include + +#include +#include "PtiDefs.h" + +class CPtiEngine; + +class CPeninputVkbKrLayout : public CPeninputCommonLayoutExt + { + +public: + + static CPeninputVkbKrLayout* NewL( + MLayoutOwner* aLayoutOwner, + const TAny* aInitData, + const TInt& aInputMode); + + virtual ~CPeninputVkbKrLayout(); + +private: + + CPeninputVkbKrLayout( + MLayoutOwner* aLayoutOwner, + const TInt& aInputMode); + + void ConstructL( + const TAny* aInitData); + +private: // from CFepUiLayout + + /** + * From MFepLayoutBase + * HandleEventL. Handle UI event. + * There are only 3 kinds of UI event right now: raw event, + * pointer and pointer buffer event. + * + * @since S60 v4.0 + * @param aType The event type. See TEventType + * @param aEventData The event data. + * @return The control which processes the event + */ + TBool HandleEventL(TEventType aType, const TAny* aEventData); + + /** + * From CFepUiLayout. + * Handle layout command event + * + * @since S60 v3.2 + * @param aCmd Command Id. + * @param aData Data for command. + * @return Errors when return value small than 0. + */ + TInt HandleCommand(TInt aCmd, TUint8* aData); + + /** + * From CFepUiLayout. + * Handle the event from control + * + * @since S60 v3.2 + * @param aEventType The event type + * @param aCtrl The sender + * @param aEventData The event data. + * @return None + */ + void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData); + + /** + * From CFepUiLayout. + * Handle editor text coming + * Called by animation dll when app editor text is coming. + * If a ui layout has a editor area, it must implements this function to get the text + * + * @since S60 v3.2 + * @param aTotalTextLen The total editor text len + * @param aTextStartPos The position of the selection in whole editor text + * @param aCursolSel The cursor selection in the editor + * @param aText The text sent by fep. + * @return KErrNone is operation succeeded. + */ + TInt OnAppEditorTextComing( const TFepInputContextFieldData& aData); + + /** + * From CFepUiLayout. + * Handle raw event key + * + * @since S60 v3.2 + * @param aData the key raw event data + * @return ETrue if the key was handled, otherwise EFalse + */ + TBool HandleRawKeyEventL(const TRawEvent& aKeyEvent); + + /** + * From CFepUiLayout. + * Handle pointer down/up event while this event is outside of the layout + * Do nothing in default implementation + * + * @since S60 v4.0 + * @param aEvent The raw event + * @return EFalse if the event needs forward on. Otherwise ETrue. + */ + TBool OnPointerEventOutsideLayout(const TRawEvent& aEvent); + + TInt OnResourceChange(TInt aType); + +private: // from CPeninputCommonLayout + + /** + * From CPeninputCommonLayout + * Factory method for creation of layout window. The decision which + * layout window(VKB or HWR) is created will be postboned in subclasses + * of this class + * + * @since S60 v3.2 + * @return None + */ + void CreateLayoutWindowL(); + + /** + * From CPeninputCommonLayout + * Factory method for creation resource config. It is enough at present + * to create and initialize resource config. Any necessary extension + * will be implemented in subclasses + * + * @since S60 v3.2 + * @return None + */ + void CreateDataMgrL( const TAny* aInitData ); + + /** + * From CPeninputCommonLayout + * Get the layout type, VKB or HWR, child class must rewrite the function + * + * @since S60 v3.2 + * @return The layout type + */ + TInt LayoutType(); + + TInt SizeChanged( const TAny* aData ); + + void HandleAppInfoChange(const TDesC& aInfo, TPeninputAppInfo aType); + /* Teleca change begin, 21.05.2009 ssal */ + static TInt HideByteWarningBubble(TAny* aPointer); + void HideByteWarningBubble(); + /* Teleca change end, 21.05.2009 ssal */ + +private: //data + + CPtiEngine* iPtiEngine; + + TInt iInputMode; + + TBool iInEditWordQueryDlg; + /* Teleca change begin, 21.05.2009 ssal */ + CPeriodic* iInfoTimer; + /* Teleca change end, 21.05.2009 ssal */ + TPtiKeyboardType iKeyBoardType; + TBool iIsOpenVkbKr; + }; + +#endif // PENINPUTVKBLAYOUT_H