diff -r 000000000000 -r eb1f2e154e89 fep/aknfep/src/AknFepPluginMenuManager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/src/AknFepPluginMenuManager.cpp Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,173 @@ +/* +* Copyright (c) 2002-2004 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: +* Provides the AknFepPluginMenuManager methods. +* +*/ + + + + + + + + + + + +#include +#include + +#include "AknFepPluginMenuManager.h" // MAknFepManagerInterface +#include "AknFepManager.h" + + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::NewL +// factory function +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +CAknFepPluginMenuManager* CAknFepPluginMenuManager::NewL(CAknFepManager* aManager) + { + return new(ELeave) CAknFepPluginMenuManager(aManager); + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::~CAknFepPluginMenuManager +// Destructor +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +CAknFepPluginMenuManager::~CAknFepPluginMenuManager() + { + if( iOptionMenuBar ) + { + iOptionMenuBar->RemoveFromStack(); + delete iOptionMenuBar; + } + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::aResourceId +// Show speicfied menu pane +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CAknFepPluginMenuManager::ShowL(TInt aResourceId) + { + if( !iOptionMenuBar ) + { + iOptionMenuBar = iFepManager->UiInterface()->NewMenuBarL(this, 0, aResourceId); + } + else + { + iOptionMenuBar->SetMenuTitleResourceId(aResourceId); + } + + if( !iOptionMenuBar->IsDisplayed() ) + { + iOptionMenuBar->AddToStackL(ECoeStackPriorityDialog + 1, + ECoeStackFlagStandard); + iOptionMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuOptionsNoTaskSwapper); + iOptionMenuBar->TryDisplayMenuBarWithoutFepMenusL(); + } + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::IsShowing +// Get menu show status +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TBool CAknFepPluginMenuManager::IsShowing() + { + if( iOptionMenuBar ) + { + return iOptionMenuBar->IsDisplayed(); + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::Hide +// Hide current showed menu +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CAknFepPluginMenuManager::Hide() + { + if( IsShowing() ) + { + iOptionMenuBar->StopDisplayingMenuBar(); + } + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::MenuPaneId +// Get current menu resource id +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CAknFepPluginMenuManager::MenuPaneId() + { + if( iOptionMenuBar ) + { + return iOptionMenuBar->FirstMenuPaneResourceId(); + } + return 0; + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::SetEmphasis +// called when menu get or lose focus +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CAknFepPluginMenuManager::SetEmphasis(CBase* aMenuControl, TBool aEmphasis) + { + if( !aEmphasis && aMenuControl == iOptionMenuBar) + { + iOptionMenuBar->SetFocus(EFalse); + iOptionMenuBar->RemoveFromStack(); + } + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::ProcessCommandL +// Process command user selects +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CAknFepPluginMenuManager::ProcessCommandL(TInt aCommandId) + { + if( aCommandId == EEikCmdCanceled) + { + //The command is not sent to FEP + Hide(); + } + } + +// ----------------------------------------------------------------------------- +// CAknFepPluginMenuManager::MenuPaneId +// C++ default constructor +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +CAknFepPluginMenuManager::CAknFepPluginMenuManager(CAknFepManager* aFepManager) +:iFepManager(aFepManager) + { + } + +//End Of File