/*
* Copyright (c) 2002-2007 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: Interface of hwr standby ui state
*
*/
#ifndef C_PENINPUTHWRARABICSTATESTANDBY_H
#define C_PENINPUTHWRARABICSTATESTANDBY_H
// user includes
#include "peninputhwrarabicstate.h"
/**
* Hwr standby ui state
* It provides key event handling and internal event handling in standby ui state
*
* @lib peninputhwrboxjp.lib
* @since S60 v3.2
*/
class CPeninputHwrBxAbStateStandby : public CPeninputHwrBxAbStateBase
{
public:
/**
* Two-phased constructor.
*
* @since S60 v3.2
* @param aUiStateMgr The common ui state manager
* @param aContext The common layout context
* @return The pointer point to CPeninputHwrBxAbStateStandby type object
*/
static CPeninputHwrBxAbStateStandby* NewL(MPeninputUiStateMgr* aUiStateMgr, MPeninputLayoutContext* aContext);
/**
* Destructor.
*
* @since S60 v3.2
*/
virtual ~CPeninputHwrBxAbStateStandby();
/**
* Process key event
*
* @since S60 v3.2
* @param aData Carry information of key pressed
* @return ETrue means event was responsed, otherwise EFalse
*/
virtual TBool HandleKeyEventL(const TRawEvent &aData);
/**
* From CPeninputUiStateBase
* process internal event
*
* @since S60 v3.2
* @param aEventType The internal event type
* @param aEventData The internal event data
* @return ETrue means event was responsed, otherwise EFalse
*/
virtual TBool HandleControlEvent(TInt /*aEventType*/, const TDesC& /*aEventData*/) {return EFalse;}
void HandleControlEventPenL( TInt aEventType,
const TDesC& aEventData, CPeninputHwrBxAbLayout& aUiLayout, TDes& aCharCode, TBool& aHandled );
protected:
/**
* C++ default constructor.
*
* @since S60 v3.2
* @param aUiStateMgr The common ui state manager
* @param aContext The common layout context
*/
CPeninputHwrBxAbStateStandby(MPeninputUiStateMgr* aUiStateMgr, MPeninputLayoutContext* aContext);
/**
* Process pseudo virtual key (hwr 1 char) event
*
* @since S60 v3.2
* @param aEventType The event type
* @param aEventData The event data
* @return ETrue means event was responsed, otherwise EFalse
*/
virtual TBool HandleVkbEvent(TInt aEventType, const TDesC& aEventData);
/**
* Process backspace key event
*
* @since S60 v3.2
* @param aEventType The event type
* @param aEventData The event data
* @return ETrue means event was responsed, otherwise EFalse
*/
virtual TBool HandleBackEvent(TInt aEventType, const TDesC& aEventData);
/**
* Process enter, space, tab key event
*
* @since S60 v3.2
* @param aEventType The event type
* @param aEventData The event data
* @return ETrue means event was responsed, otherwise EFalse
*/
virtual TBool HandleEnterSpaceTabEvent(TInt aEventType, const TDesC& aEventData);
};
#endif // C_PENINPUTHWRBOXUISTATESTANDBY_H
// End Of File