MEikMenuObserver Class Reference

#include <mw/eikmobs.h>

Link against: eikcore.lib

class MEikMenuObserver : public MEikCommandObserver

Inherits from

Public Member Enumerations
enumTMenuType { EMenuPane, EMenuBar }
Public Member Functions
virtual IMPORT_C TBoolCheckHotKeyNotDimmedL(TInt)
virtual IMPORT_C CCoeControl *CreateCustomCommandControlL(TInt)
virtual IMPORT_C voidDynInitMenuBarL(TInt, CEikMenuBar *)
virtual IMPORT_C voidDynInitMenuPaneL(TInt, CEikMenuPane *)
virtual IMPORT_C voidHandleAttemptDimmedSelectionL(TInt)
virtual IMPORT_C voidHandleSideBarMenuL(TInt, const TPoint &, TInt, const CEikHotKeyTable *)
virtual IMPORT_C voidOfferKeyToAppL(const TKeyEvent &, TEventCode)
virtual IMPORT_C voidRestoreMenuL(CCoeControl *, TInt, TMenuType)
pure virtual voidSetEmphasis(CCoeControl *, TBool)
Protected Member Functions
Inherited Functions

Detailed Description

Menu observer interface.

Menu observers cooperate with menu bars and menu panes, initialising them before display and responding to menu events appropriately. CEikAppUi implements MEikMenuObserver, so these functions may be implemented on an application's App UI.

Member Enumeration Documentation

Enum TMenuType

Menu types


Menu pane.


Menu bar.

Constructor & Destructor Documentation

MEikMenuObserver ( )


Constructor for MEikMenuObserver

Member Function Documentation

CheckHotKeyNotDimmedL ( TInt )

IMPORT_C TBoolCheckHotKeyNotDimmedL(TIntaCommandId)[virtual]

Determines whether a command should be passed to the application.

Applications can choose whether to respond to a hotkey event that corresponds to a dimmed item. This function is called when a recognised key press is offered to a menu bar or a menu pane to determine whether to send the corresponding command.

aCommandIdThe command corresponding to the selected hotkey.

Returns: ETrue if the command should be passed to the application. This is the default. EFalse if the command should not be passed to the application.

CreateCustomCommandControlL ( TInt )

IMPORT_C CCoeControl *CreateCustomCommandControlL(TIntaControlType)[virtual]

Reimplemented from MEikCommandObserver::CreateCustomCommandControlL(TInt)

aControlTypeA custom control ID.

DynInitMenuBarL ( TInt, CEikMenuBar * )

IMPORT_C voidDynInitMenuBarL(TIntaResourceId,
CEikMenuBar *aMenuBar

As DynInitMenuPaneL(), but for menu bars.

aMenuBarThe in-memory representation of the menu bar.

DynInitMenuPaneL ( TInt, CEikMenuPane * )

IMPORT_C voidDynInitMenuPaneL(TIntaResourceId,
CEikMenuPane *aMenuPane

Dynamically initialises a menu pane.

The Uikon framework calls this function, if it is implemented in a menu's observer, immediately before the menu pane is activated.

Typically this function should inquire the value of application data, and initialise menu items accordingly. This includes dimming menu items, changing their text, setting the state of checked items and radio buttons and dynamically adding items to a menu.

aMenuPaneThe in-memory representation of the menu pane.

HandleAttemptDimmedSelectionL ( TInt )

IMPORT_C voidHandleAttemptDimmedSelectionL(TIntaCommandId)[virtual]

Responds to a user's attempt to select a dimmed item by displaying a message (CEikonEnv::InfoMsg()) to indicate the item is unavailable.

aCommandIdCommand ID for the menu item.

HandleSideBarMenuL ( TInt, const TPoint &, TInt, const CEikHotKeyTable * )

IMPORT_C voidHandleSideBarMenuL(TIntaResourceId,
const TPoint &aPos,
const CEikHotKeyTable *aTable

This function is invoked by CEikMenuBar's input handling functions.

It may be overridden to handle displaying menus launched from the side bar.

aResourceIdResource ID identifying the menu to launch.
aPosPosition of the menu's reference point. For sidebar menus, this is the top-right corner.
aModifiersKey modifiers held when the menu was invoked.
aTableThe menu bar's hotkey items.

OfferKeyToAppL ( const TKeyEvent &, TEventCode )

IMPORT_C voidOfferKeyToAppL(const TKeyEvent &aKeyEvent,

Called if a key which is not used by the menu is pressed while the observer's menu is displaying.

aKeyEventThe key event the menu is offering to the app.
aTypeEvent code type.

RestoreMenuL ( CCoeControl *, TInt, TMenuType )

IMPORT_C voidRestoreMenuL(CCoeControl *aMenuControl,

Restores the menu window aMenuWindow.

aMenuControlThe menu window to be restored.
aResourceIdThe menu's ID.
aTypeThe type of menu being restored.

SetEmphasis ( CCoeControl *, TBool )

voidSetEmphasis(CCoeControl *aMenuControl,
)[pure virtual]

Called by the Uikon framework to handle the emphasising or de-emphasising of a menu window.

CEikMenuBar objects call this on their observer to emphasise themselves when they are displayed, and de-emphasise themselves when they stop displaying.

aMenuControlThe menu control.
aEmphasisETrue to emphasize the menu, EFalse otherwise.