diff -r 148c8716f7c0 -r 119a7c064f0f idlehomescreen/xmluicontroller/inc/aixuikonmenueventhandler.h --- a/idlehomescreen/xmluicontroller/inc/aixuikonmenueventhandler.h Mon Mar 08 21:43:12 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +0,0 @@ -/* -* Copyright (c) 2007-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: Used for handling XUIKON menu events -* -*/ - - -#ifndef C_MENUEVENTHANDLER_H -#define C_MENUEVENTHANDLER_H - -#include -#include "xnmenu.h" -#include "xnbitmap.h" - -class CXnNodeAppIf; -class TXnUiEngineAppIf; -class MAiStrParser; -class MAiFwEventHandler; -class MAiPSPropertyObserver; -class CXnAppUiAdapter; -class CXnDomNode; -class XnMenuInterface::MXnMenuObserver; - -enum TAICBA - { - EAIMenuOff = 1, - EAIMenuOn - }; - - -namespace AiXmlUiController -{ - -/** - * @ingroup group_xmluicontroller - * - * This class is used for handling XUIKON events. - * - * Menu events are handled in here. This class parses - * the events and decides what to do with them. - * - * @lib AiXmlUiMain - */ -class CAIXuikonMenuEventHandler : public CBase, public XnMenuInterface::MXnMenuObserver - { -public: - - static CAIXuikonMenuEventHandler* NewL(TXnUiEngineAppIf& aUiEngine, - MAiFwEventHandler* aFwEventHandler, - CXnAppUiAdapter* aAppUi); - - ~CAIXuikonMenuEventHandler(); - - TBool HandleEventL( const TDesC8& aEventString8, CXnNodeAppIf* aOrigin = NULL, CXnDomNode* aEvent = NULL ); - -private: - CAIXuikonMenuEventHandler(TXnUiEngineAppIf& aUiEngine, - MAiFwEventHandler* aFwEventHandler, - CXnAppUiAdapter* aAppUi); - - void ConstructL(); - - static TInt HandleKeylockEvent(TAny* aSelf); - - void SetCBALabelsL(TAICBA aCBA, CXnDomNode* aEvent); - - void ShowMenuL(TBool aShow, const TDesC8& aMenuId, CXnDomNode* aEvent); - - void ShowMenuItemL(const TDesC8& aMenuItemId, TBool aShow, CXnDomNode* aEvent ); - - TBool IsMenuItemVisibleL( const TDesC8& aMenuItemId, CXnDomNode* aEvent ); - - void ParseParameterStringL(const TDesC8& aSourcePtr, TPtrC8& aTargetPtr); - - void RecurseChildrenL(TBool aShow, CXnNodeAppIf* aNode); - - void DoMacrosetL(const TDesC8& aMacrosetNodeId, CXnDomNode* aEvent); - - void GetTextFromElementL(HBufC8*& aMemberPtr, const TDesC8& aItemId, CXnDomNode* aEvent); - - TBool HandleMacroOperationL(const TDesC8& aSourcePtr, CXnNodeAppIf& aTargetNode, CXnDomNode& aEvent ); - - TBool AttemptRestoreSoftkeyIconL( - XnMenuInterface::MXnMenuInterface* aControl, - XnImageInterface::MXnImageInterface* aIconControl, - CXnNodeAppIf* aSourceNode, - XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos ); - - void SetSoftkeyLabelL( - XnMenuInterface::MXnMenuInterface* aControl, - const TDesC8* aLabel, - XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos ); - - void SetObserverL( const TDesC8& aParam, CXnDomNode* aEvent ); - - TBool InitEditModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource ); - - TBool InitDefaultModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource ); - - CXnProperty* GetWidgetPropertyL(CXnNodeAppIf& aPlugin, const TDesC8& aProperty); - -private: // from XnMenuInterface::MXnMenuObserver - TBool DynInitMenuItemL( CXnNodeAppIf& aMenuItem ); - -private: - TBool DynInitItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused ); - -private: // data - - /** - * Current CBA mode, menu/normal(shortcut). - */ - TAICBA iCurrentCBA; - - /** - * Pointer to UI engine IF. Not own. - */ - TXnUiEngineAppIf* iUiEngine; - - /** - * String parser utility. Own. - */ - MAiStrParser* iStrParser; - - /** - * Menu item Open event string. - * Own. - */ - HBufC* iActivationEvent; - - /** - * Menu item settings event string. - * Own. - */ - HBufC* iSettingsEvent; - - /** - * Close action id. - * Own. - */ - TPtrC8 iCloseActionId; - - /** - * Menu mode softkey labels. - * Own. - */ - HBufC8* iMenuModeLskLabel; - HBufC8* iMenuModeRskLabel; - - /** - * Normal mode softkey labels. - * Own. - */ - HBufC8* iNormalModeLskLabel; - HBufC8* iNormalModeRskLabel; - - /** - * Normal mode softkey label ids. - * Own. - */ - TPtrC8 iNormalModeLskLabelId; - TPtrC8 iNormalModeRskLabelId; - - /** - * Normal mode softkey icon ids. - * Own. - */ - TPtrC8 iNormalModeLskIconId; - TPtrC8 iNormalModeRskIconId; - - /** - * App softkey ids. - * Own. - */ - TPtrC8 iLskId; - TPtrC8 iRskId; - - TPtrC8 iLskMenuModeNode; - TPtrC8 iRskMenuModeNode; - /** - * Plug-in event handler. - * Doesn't own. - */ - MAiFwEventHandler* iFwEventHandler; - - /** - * Observers keylock status - * Owned - */ - MAiPSPropertyObserver* iKeylockObserver; - - /** - * Pointer to Appui for closing the menubar when necessary - * Not owned - */ - CXnAppUiAdapter* iAppUi; - /** - * For comparing has the bitmap changed. RSK - * Not owned. - */ - CFbsBitmap* iMenumodeBitmapRsk; - /** - * For comparing has the bitmap changed. LSK - * Not owned. - */ - CFbsBitmap* iMenumodeBitmapLsk; - - }; - -} // namespace AiXmlUiController - -#endif // C_MENUEVENTHANDLER_H