CEikMenuPane Class Reference

class CEikMenuPane : public CEikBorderedControl

Menu panes are opened by activating the menu title ( CEikMenuPaneTitle / MENU_TITLE) which is displayed in the menu bar ( CEikMenuBar / MENU_BAR). They can also be cascaded from a menu item ( CEikMenuPaneItem / MENU_ITEM) or launched by a menu button ( CEikMenuButton ).

Menu panes may be defined using a MENU_PANE resource.

Public Member Functions
CEikMenuPane ( MEikMenuObserver *)
~CEikMenuPane ()
void ActivateCurrentItemL ()
void AddCascadeMenuItemsToMenuL ( TInt , TBool , TBool , CAknItemActionMenuData *, TInt )
IMPORT_C void AddMenuItemL (const CEikMenuPaneItem::SData &)
IMPORT_C void AddMenuItemL (const CEikMenuPaneItem::SData &, TInt )
IMPORT_C void AddMenuItemsL ( TInt , TInt , TBool )
void AddMenuItemsToItemActionMenuL (CAknItemActionMenuData &)
TBool CancelActiveMenuPane ()
IMPORT_C CEikMenuPane * CascadeMenuPane ()
IMPORT_C void Close ()
IMPORT_C void CloseCascadeMenu ()
void CloseCascadeMenu ( TBool )
IMPORT_C CCoeControl * ComponentControl ( TInt )
IMPORT_C void ConstructL ( CEikMenuPane *, MEikMenuObserver *)
IMPORT_C void ConstructMenuSctRowFromDialogL ( TDes &, TInt )
IMPORT_C void ConstructMenuSctRowFromDialogL ( TInt , TDes &, TInt )
IMPORT_C void ConstructMenuSctRowL ( TDes &)
IMPORT_C void ConstructMenuSctRowL ( TDes &, TInt )
IMPORT_C TInt CountComponentControls ()
IMPORT_C void DeleteBetweenMenuItems ( TInt , TInt )
IMPORT_C void DeleteMenuItem ( TInt )
IMPORT_C void EnableMarqueeL (const TBool )
void FilterDimmedItems ()
IMPORT_C void GetColorUseListL ( CArrayFix < TCoeColorUse > &)
IMPORT_C void HandlePointerEventL (const TPointerEvent &)
IMPORT_C void HandleResourceChange ( TInt )
void HideMarkAndUnmark ( TBool )
IMPORT_C TCoeInputCapabilities InputCapabilities ()
IMPORT_C void InsertMenuItemL (const CEikMenuPaneItem::SData &, TInt )
IMPORT_C TBool IsCascadeMenuPane ()
IMPORT_C CEikMenuPaneItem * ItemAndPos ( TInt , TInt &)
IMPORT_C CEikMenuPaneItem::SData & ItemData ( TInt )
IMPORT_C CEikMenuPaneItem::SData & ItemDataByIndexL ( TInt )
IMPORT_C TInt MenuItemCommandId ( TInt )
IMPORT_C TBool MenuItemExists ( TInt , TInt &)
IMPORT_C void MoveHighlightTo ( TInt )
IMPORT_C void NavigateToNextItem ()
CEikMenuPane * NewItemCommandMenuL ( MEikMenuObserver *)
IMPORT_C TInt NumberOfItemsInPane ()
IMPORT_C TKeyResponse OfferKeyEventL (const TKeyEvent &, TEventCode )
IMPORT_C TKeyResponse OfferKeyEventL (const TKeyEvent &, TEventCode , TBool )
IMPORT_C void Reset ()
IMPORT_C TInt SelectedItem ()
IMPORT_C void SetArrowHeadScrollBar ( TBool )
void SetDefaultHighlight ()
void SetEmbeddedCba (CEikCba *)
void SetItemActionsStateL ( TBool )
IMPORT_C void SetItemArray ( CItemArray *)
IMPORT_C void SetItemArrayOwnedExternally ( TBool )
IMPORT_C void SetItemButtonState ( TInt , TInt )
void SetItemCommandsStateL ( TBool )
IMPORT_C void SetItemDimmed ( TInt , TBool )
IMPORT_C void SetItemSpecific ( TInt , TBool )
IMPORT_C void SetItemTextL ( TInt , const TDesC &)
IMPORT_C void SetItemTextL ( TInt , TInt )
IMPORT_C void SetLaunchingButton ( CEikButtonBase *)
IMPORT_C void SetScrollBarOnLeft ( TBool )
IMPORT_C void SetSelectedItem ( TInt )
IMPORT_C void StartDisplayingMenuPane (const CEikHotKeyTable *, const TPoint &, const CEikMenuPaneTitle *, TInt , TPopupTargetPosType )
Protected Member Functions
IMPORT_C void ConstructFromResourceL ( TResourceReader &)
IMPORT_C void Draw (const TRect &)
IMPORT_C void FocusChanged ( TDrawNow )
IMPORT_C TTypeUid::Ptr MopSupplyObject ( TTypeUid )
TInt NumberOfItemsThatFitInView ()
Private Member Functions
TInt CalculateItemHeight ()
TRect CalculateSizeAndPosition ()
TRect CalculateSizeAndPositionScalable (const TRect &, TInt )
void CheckCreateExtensionL ()
TBool CheckCreateScroller ()
void CheckCreateScrollerL ()
void CleanLocalRef ( TAny *)
void CreateIconFromResourceL ( TResourceReader &, CEikMenuPaneItem &)
void CreateItemArrayL ()
void CreateScrollBarFrame ()
void DoLaunchCascadeMenuL ( TInt )
void DoUpdateScrollBarL ()
void DrawItem ( TInt , THighlightType )
void DrawItem ( CWindowGc &, TInt , THighlightType )
CEikMenuPaneExtension * Extension ()
IMPORT_C void * ExtensionInterface ( TUid )
void HandleScrollEventL ( CEikScrollBar *, TEikScrollEvent )
TRect HighlightRect ()
TBool IsHotKeyL (const TInt , const TInt )
TBool IsItemMemberOfRadioButtonGroup ( TInt )
TBool ItemArrayOwnedExternally ()
TRect ItemRect ( TInt )
void LaunchCascadeMenuL ( TInt )
void LoadCascadeBitmapL ()
void LoadCheckMarkBitmapL ()
void LoadRadioButtonBitmapL ()
TBool MenuHasCheckBoxOn ()
TBool MenuHasIcon ()
TBool MoveToItemL ( TInt , TInt )
void PrepareGcForDrawingItems ( CGraphicsContext &)
void PrepareHighlightFrame ()
void RepaintHighlight ()
void ReportCanceled ()
void ReportSelectionMadeL ( TBool )
IMPORT_C void Reserved_1 ()
IMPORT_C void Reserved_2 ()
void ResetItemArray ()
void Scroll ( TInt )
void ScrollToMakeItemVisible ( TInt )
void SetCascadedIconSize ()
TInt TotalItemHeight ()
void TryLaunchCascadeMenuL (const CEikMenuPaneItem &)
void UpdateBackgroundContext (const TRect &)
void UpdateScrollBar ()
TInt UpdateScrollBarCallBackL ( TAny *)
void UpdateScrollBarThumbs ()
TRect ViewRect ()
Inherited Functions
CAknControl::CAknControl()
CAknControl::~CAknControl()
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CCoeControl::AccumulatedZoom()const
CCoeControl::ActivateGc()const
CCoeControl::ActivateL()
CCoeControl::BackedUpWindow()const
CCoeControl::Background()const
CCoeControl::CCoeControl()
CCoeControl::CCoeControl(CCoeEnv *)
CCoeControl::CCoeControl(const CCoeControl &)
CCoeControl::CapturesPointer()const
CCoeControl::ClaimPointerGrab(TBool)
CCoeControl::ClaimPointerGrab(TInt,TBool)
CCoeControl::CloseWindow()
CCoeControl::ComponentArrayExists()const
CCoeControl::Components()
CCoeControl::Components()const
CCoeControl::ControlContext()const
CCoeControl::ControlEnv()const
CCoeControl::CopyControlContextFrom(const CCoeControl *)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &,TDisplayMode)
CCoeControl::CreateWindowL()
CCoeControl::CreateWindowL(RWindowGroup *)
CCoeControl::CreateWindowL(RWindowTreeNode &)
CCoeControl::CreateWindowL(const CCoeControl *)
CCoeControl::CustomGc()const
CCoeControl::DeactivateGc()const
CCoeControl::DrawBackground(const TRect &)const
CCoeControl::DrawDeferred()const
CCoeControl::DrawForeground(const TRect &)const
CCoeControl::DrawNow()const
CCoeControl::DrawNow(const TRect &)const
CCoeControl::DrawableWindow()const
CCoeControl::EnableDragEvents()
CCoeControl::EnableReportControlStateChange(TBool)
CCoeControl::EnableWindowTransparency()
CCoeControl::FindBackground()const
CCoeControl::FindFontProvider()const
CCoeControl::GetColor(TInt,TRgb &)const
CCoeControl::GetGc()const
CCoeControl::GetHelpContext(TCoeHelpContext &)const
CCoeControl::GrabbingComponent()const
CCoeControl::GrabbingComponent(TInt)const
CCoeControl::HandleComponentControlsResourceChange(TInt)
CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent,const CCoeControlArray *,CCoeControl *,TInt)
CCoeControl::HandlePointerBufferReadyL()
CCoeControl::HandleRedrawEvent(const TRect &)const
CCoeControl::HitTest()const
CCoeControl::IgnoreEventsUntilNextPointerUp()
CCoeControl::Index(const CCoeControl *)const
CCoeControl::InitComponentArrayL()
CCoeControl::IsActivated()const
CCoeControl::IsBackedUp()const
CCoeControl::IsBeingDestroyed()const
CCoeControl::IsBlank()const
CCoeControl::IsDimmed()const
CCoeControl::IsFocused()const
CCoeControl::IsNonFocusing()const
CCoeControl::IsReadyToDraw()const
CCoeControl::IsVisible()const
CCoeControl::LayoutManager()const
CCoeControl::MakeVisible(TBool)
CCoeControl::MaximumWidth()const
CCoeControl::MinimumSize()
CCoeControl::NotifyFontChange(const CCoeFontProvider *)
CCoeControl::Observer()const
CCoeControl::OverrideColorL(TInt,TRgb)
CCoeControl::OwnsWindow()const
CCoeControl::Parent()
CCoeControl::Parent()const
CCoeControl::Position()const
CCoeControl::PositionChanged()
CCoeControl::PositionRelativeToScreen()const
CCoeControl::PrepareForFocusGainL()
CCoeControl::PrepareForFocusLossL()
CCoeControl::ProcessPointerBufferReadyL()
CCoeControl::ProcessPointerEventL(const TPointerEvent &)
CCoeControl::Rect()const
CCoeControl::RecursivelyMergeInputCapabilities(TCoeInputCapabilities &)const
CCoeControl::RecursivelyMergedInputCapabilities()const
CCoeControl::RefetchPixelMappingL()
CCoeControl::RemoveFromParent()
CCoeControl::ReportEventL(MCoeControlObserver::TCoeEvent)
CCoeControl::RequestRelayout(const CCoeControl *)
CCoeControl::ResetGc()const
CCoeControl::ScreenFont(const TCoeFont &)const
CCoeControl::SetAllowStrayPointers()
CCoeControl::SetBackground(const MCoeControlBackground *)
CCoeControl::SetBlank()
CCoeControl::SetCanDrawOutsideRect()
CCoeControl::SetComponentsToInheritVisibility(TBool)
CCoeControl::SetContainerWindowL(RBackedUpWindow &)
CCoeControl::SetContainerWindowL(RWindow &)
CCoeControl::SetContainerWindowL(const CCoeControl &)
CCoeControl::SetControlContext(MCoeControlContext *)
CCoeControl::SetCornerAndSize(TGulAlignment,const TSize &)
CCoeControl::SetCustomGc(CWindowGc *)
CCoeControl::SetDimmed(TBool)
CCoeControl::SetExtent(const TPoint &,const TSize &)
CCoeControl::SetExtentToWholeScreen()
CCoeControl::SetFocus(TBool,TDrawNow)
CCoeControl::SetFocusing(TBool)
CCoeControl::SetFontProviderL(const CCoeFontProvider &)
CCoeControl::SetGc(CWindowGc *)const
CCoeControl::SetGloballyCapturing(TBool)
CCoeControl::SetHitTest(const MCoeControlHitTest *)
CCoeControl::SetLayoutManagerL(MCoeLayoutManager *)
CCoeControl::SetMaximumWidth(TInt)
CCoeControl::SetMopParent(MObjectProvider *)
CCoeControl::SetNeighbor(CCoeControl *)
CCoeControl::SetNonFocusing()
CCoeControl::SetObserver(MCoeControlObserver *)
CCoeControl::SetParent(CCoeControl *)
CCoeControl::SetPointerCapture(TBool)
CCoeControl::SetPosition(const TPoint &)
CCoeControl::SetRect(const TRect &)
CCoeControl::SetSize(const TSize &)
CCoeControl::SetSizeWithoutNotification(const TSize &)
CCoeControl::SetTextBaselineSpacing(TInt)
CCoeControl::SetUniqueHandle(TInt)
CCoeControl::SetZoomFactorL(TInt,TZoomType)
CCoeControl::Size()const
CCoeControl::SizeChanged()
CCoeControl::SystemGc()const
CCoeControl::TextBaselineOffset(const TSize &)const
CCoeControl::TextDrawer(TInt)const
CCoeControl::UniqueHandle()const
CCoeControl::Window()const
CCoeControl::WriteInternalStateNowL(RWriteStream &)const
CCoeControl::ZoomWithType()const
CCoeControl::operator=(const CCoeControl &)
CCoeControl::~CCoeControl()
CEikBorderedControl::Border()const
CEikBorderedControl::CEikBorderedControl()
CEikBorderedControl::CEikBorderedControl(const TGulBorder &)
CEikBorderedControl::HasBorder()const
CEikBorderedControl::SetAdjacent(TInt)
CEikBorderedControl::SetBorder(TGulBorder::TBorderType)
CEikBorderedControl::SetBorder(TInt)
CEikBorderedControl::WriteInternalStateL(RWriteStream &)const
Private Member Enumerations
enum THighlightType { ENoHighlight , EDrawHighlight , ERemoveHighlight }
Inherited Enumerations
CCoeControl:TZoomType
Public Member Type Definitions
typedef TBuf < 20 > THotKeyDisplayText
Private Attributes
TBool iAllowPointerUpEvents
TBool iArrayOwnedExternally
TInt iBaseLine
CEikMenuPane * iCascadeMenuPane
MEikMenuObserver * iEditMenuObserver
CEikMenuPaneExtension * iExtension
TInt iFlags
const CEikHotKeyTable * iHotKeyTable
TInt iHotkeyColWidth
TBool * iIsDeleted
CItemArray * iItemArray
TInt iItemHeight
CEikButtonBase * iLaunchingButton
MEikMenuObserver * iMenuObserver
const CEikMenuPaneTitle * iMenuPaneTitle
TInt iNumberOfDragEvents
CEikMenuPane * iOwner
CEikScrollBarFrame * iSBFrame
CMenuScroller * iScroller
TInt iSelectedItem
TInt iSubPopupWidth
Inherited Attributes
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize
CEikBorderedControl::iBorder

Constructor & Destructor Documentation

CEikMenuPane(MEikMenuObserver *)

IMPORT_C CEikMenuPane ( MEikMenuObserver * aMenuObserver )

C++ default constructor. Constructs a menu pane object with the specified observer.

Parameters

MEikMenuObserver * aMenuObserver Menu observer.

~CEikMenuPane()

IMPORT_C ~CEikMenuPane ( )

Destructor.

Member Functions Documentation

ActivateCurrentItemL()

void ActivateCurrentItemL ( )

Report that selection was done for the currently highlighted item.

AddCascadeMenuItemsToMenuL(TInt, TBool, TBool, CAknItemActionMenuData *, TInt)

void AddCascadeMenuItemsToMenuL ( TInt aCascadeId,
TBool aItemSpecific,
TBool aAddToItemActionMenu,
CAknItemActionMenuData * aMenuData = NULL,
TInt aItemIndex = 0
)

Adds cascade menu items to item action menu data.

Parameters

TInt aCascadeId
TBool aItemSpecific
TBool aAddToItemActionMenu
CAknItemActionMenuData * aMenuData = NULL
TInt aItemIndex = 0

AddMenuItemL(const CEikMenuPaneItem::SData &)

IMPORT_C void AddMenuItemL ( const CEikMenuPaneItem::SData & aMenuItem )

Adds a menu item dynamically by creating a new menu item, setting its data to aMenuItem and appending it to the pane's menu item array. Updates the menu's scroll bar to take account of the new item.

Parameters

const CEikMenuPaneItem::SData & aMenuItem The menu item to add. NOTICE that SData is a structure so all fields in it should be set to avoid any unexpected behaviour.

AddMenuItemL(const CEikMenuPaneItem::SData &, TInt)

IMPORT_C void AddMenuItemL ( const CEikMenuPaneItem::SData & aMenuItem,
TInt aPreviousId
)

Adds a menu item dynamically by creating a new menu item, setting its data to aMenuItem and inserting it into the pane's menu item array. Updates the menu's scroll bar to take account of the new item.

Parameters

const CEikMenuPaneItem::SData & aMenuItem The menu item to add. NOTICE that SData is a structure so all fields in it should be set to avoid any unexpected behaviour.
TInt aPreviousId The id of the item after which the new item should be added.

AddMenuItemsL(TInt, TInt, TBool)

IMPORT_C void AddMenuItemsL ( TInt aResourceId,
TInt aPreviousId = 0,
TBool aAddSeperator = EFalse
)

Adds menu items dynamically by creating new menu items from resource and inserts them into the pane's menu item array.

Parameters

TInt aResourceId The ID of the resource for the menu item.
TInt aPreviousId = 0 The ID of the previous menu item, after which this newly created item should be added.
TBool aAddSeperator = EFalse Shouldn't be used as separator is not not supported anymore.

AddMenuItemsToItemActionMenuL(CAknItemActionMenuData &)

void AddMenuItemsToItemActionMenuL ( CAknItemActionMenuData & aMenuData )

Adds menu items to this menu and item action menu data.

Parameters

CAknItemActionMenuData & aMenuData

CalculateItemHeight()

TInt CalculateItemHeight ( ) const [private]

Calculates the height of menu items.

CalculateSizeAndPosition()

TRect CalculateSizeAndPosition ( ) [private]

CalculateSizeAndPositionScalable(const TRect &, TInt)

TRect CalculateSizeAndPositionScalable ( const TRect & aWindowRect,
TInt aNumItemsInPane
) [private]

Parameters

const TRect & aWindowRect
TInt aNumItemsInPane

CancelActiveMenuPane()

TBool CancelActiveMenuPane ( )

Closes cascade menu if there is one and it is active.

CascadeMenuPane()

IMPORT_C CEikMenuPane * CascadeMenuPane ( )

Gets the menu pane for the cascade menu.

CheckCreateExtensionL()

void CheckCreateExtensionL ( ) [private]

Creates menu pane's extension object if it doesn't exist yet.

CheckCreateScroller()

TBool CheckCreateScroller ( ) [private]

CheckCreateScrollerL()

void CheckCreateScrollerL ( ) [private]

CleanLocalRef(TAny *)

void CleanLocalRef ( TAny * aParam ) [private, static]

Cleans the internal pointer which is used to track object deletion.

Parameters

TAny * aParam Pointer to options menu object.

Close()

IMPORT_C void Close ( )

Closes the menu pane.

CloseCascadeMenu()

IMPORT_C void CloseCascadeMenu ( )

Closes and destroys any current cascade menu and takes focus back. Does nothing if no cascade menu exists.

CloseCascadeMenu(TBool)

void CloseCascadeMenu ( TBool aMainMenuClosing )

Closes and destroys any current cascade menu and takes focus back. Does nothing if no cascade menu exists.

Parameters

TBool aMainMenuClosing ETrue if main menu is also to be closed.

ComponentControl(TInt)

IMPORT_C CCoeControl * ComponentControl ( TInt aIndex ) const [virtual]

From CoeControl .

Gets the specified component of a compound control. This function should? be implemented by all compound controls.

Note: Within a compound control, each component control is identified by an index, where the index depends on the order the controls were added: the first is given an index of 0, the next an index of 1, and so on.

Parameters

TInt aIndex The index of the control to get.

ConstructFromResourceL(TResourceReader &)

IMPORT_C void ConstructFromResourceL ( TResourceReader & aReader ) [protected, virtual]

From CCoeControl .

Constructs the menu pane using the specified resource reader. Fills the menu item array with the list of menu items provided by the resource file.

leave
KErrNoMemory Memory allocation failure earlier construction.

Parameters

TResourceReader & aReader The resource reader to use.

ConstructL(CEikMenuPane *, MEikMenuObserver *)

IMPORT_C void ConstructL ( CEikMenuPane * aOwner,
MEikMenuObserver * aEditMenuObserver = NULL
)

Handles 2nd base construction. Completes construction of a menu pane object.

Parameters

CEikMenuPane * aOwner Menu pane owner ( for cascade menu ).
MEikMenuObserver * aEditMenuObserver = NULL Observer for the edit menu. In default this is NULL.

ConstructMenuSctRowFromDialogL(TDes &, TInt)

IMPORT_C void ConstructMenuSctRowFromDialogL ( TDes & aSpecialChars,
TInt aResourceId
)

Creates and enables a special characters row to be used in the edit menu. The special character row is constructed from the given special character dialog.

Since
S60 3.2

Parameters

TDes & aSpecialChars Buffer that holds the selected characters after user has selected them.
TInt aResourceId The special character dialog resource id that contains a special character table

ConstructMenuSctRowFromDialogL(TInt, TDes &, TInt)

IMPORT_C void ConstructMenuSctRowFromDialogL ( TInt aCharCase,
TDes & aSpecialChars,
TInt aResourceId
)

Creates and enables a special characters row to be used in the edit menu. The special character row is constructed from the given special character dialog.

Since
S60 3.2

Parameters

TInt aCharCase the charcase used by menu sct
TDes & aSpecialChars Buffer that holds the selected characters after user has selected them.
TInt aResourceId The special character dialog resource id that contains a special character table

ConstructMenuSctRowL(TDes &)

IMPORT_C void ConstructMenuSctRowL ( TDes & aSpecialChars )

Creates and enables a special characters row to be used in the edit menu.

Since
S60 3.1

Parameters

TDes & aSpecialChars Buffer that holds the selected characters after user has selected them.

ConstructMenuSctRowL(TDes &, TInt)

IMPORT_C void ConstructMenuSctRowL ( TDes & aSpecialChars,
TInt aResourceId
)

Creates and enables a special characters row to be used in the edit menu. The special character row is constructed from the given special character table.

Since
S60 3.1

Parameters

TDes & aSpecialChars Buffer that holds the selected characters after user has selected them.
TInt aResourceId The special character table resource id to define the characters in the row.

CountComponentControls()

IMPORT_C TInt CountComponentControls ( ) const [virtual]

From CoeControl .

Gets the number of controls contained in a compound control. This function should be implemented by all compound controls.

Note: In SDK 6.1 this was changed from protected to public.

CreateIconFromResourceL(TResourceReader &, CEikMenuPaneItem &)

void CreateIconFromResourceL ( TResourceReader & aReader,
CEikMenuPaneItem & aItem
) const [private]

Parameters

TResourceReader & aReader
CEikMenuPaneItem & aItem

CreateItemArrayL()

void CreateItemArrayL ( ) [private]

CreateScrollBarFrame()

void CreateScrollBarFrame ( ) [private]

DeleteBetweenMenuItems(TInt, TInt)

IMPORT_C void DeleteBetweenMenuItems ( TInt aStartIndex,
TInt aEndIndex
)

Deletes the items between specified items.

Parameters

TInt aStartIndex The index of the item after which items should be deleted.
TInt aEndIndex The index of the item up to which items should be deleted.

DeleteMenuItem(TInt)

IMPORT_C void DeleteMenuItem ( TInt aCommandId )

Deletes the specified item in the menu pane.

Parameters

TInt aCommandId The ID for the item to be deleted.

DoLaunchCascadeMenuL(TInt)

void DoLaunchCascadeMenuL ( TInt aCascadeMenuId ) [private]

Parameters

TInt aCascadeMenuId

DoUpdateScrollBarL()

void DoUpdateScrollBarL ( ) [private]

Draw(const TRect &)

IMPORT_C void Draw ( const TRect & aRect ) const [protected, virtual]

From CCoeControl

Draw a control called by window server.

All controls, except blank controls, should implement this function. The default implementation draws a blank control. This function is used for window server-initiated redrawing of controls, and for some application-initiated drawing. It should be implemented by each control, but is only called from within CCoeControl's member functions, and not from the derived class. For this reason it is a private member function of CCoeControl .

The rectangle aRect indicates the region of the control that needs to be redrawn. The implementation of Draw() must always draw to every pixel within this rectangle.

Parameters

const TRect & aRect The region of the control to be redrawn. Co-ordinates are relative to the control's origin (top left corner). Optional, not used currently.

DrawItem(TInt, THighlightType)

void DrawItem ( TInt aItem,
THighlightType aHighlight
) const [private]

Parameters

TInt aItem
THighlightType aHighlight

DrawItem(CWindowGc &, TInt, THighlightType)

void DrawItem ( CWindowGc & aGc,
TInt aItem,
THighlightType aHighlight
) const [private]

Parameters

CWindowGc & aGc
TInt aItem
THighlightType aHighlight

EnableMarqueeL(const TBool)

IMPORT_C void EnableMarqueeL ( const TBool aEnable )

Enables or disables text scrolling functionality. It is disabled by default.

Parameters

const TBool aEnable ETrue to enable text scrolling functionality.

Extension()

CEikMenuPaneExtension * Extension ( ) const [private]

ExtensionInterface(TUid)

IMPORT_C void * ExtensionInterface ( TUid aInterface ) [private, virtual]

Not implemented.

Parameters

TUid aInterface

FilterDimmedItems()

void FilterDimmedItems ( )

Deletes dimmed items from the menu item array.

FocusChanged(TDrawNow)

IMPORT_C void FocusChanged ( TDrawNow aDrawNow ) [protected, virtual]

From CCoeControl .

Takes any action required when the menu pane gains or loses focus, to change its appearance for example.

Parameters

TDrawNow aDrawNow If EDrawNow the menu pane is redrawn. If ENoDrawNow the menu pane is not redrawn.

GetColorUseListL(CArrayFix< TCoeColorUse > &)

IMPORT_C void GetColorUseListL ( CArrayFix < TCoeColorUse > & aColorUseList ) const [virtual]

From CcoeControl .

Gets the list of logical colours employed in the drawing of the control, paired with an explanation of how they are used. Appends the list into aColorUseList .

Since
005u

Parameters

CArrayFix < TCoeColorUse > & aColorUseList The list of colours paired with explanations.

HandlePointerEventL(const TPointerEvent &)

IMPORT_C void HandlePointerEventL ( const TPointerEvent & aPointerEvent ) [virtual]

From CcoeControl .

Handles a pointer event on the menu.

Parameters

const TPointerEvent & aPointerEvent The pointer event to handle.

HandleResourceChange(TInt)

IMPORT_C void HandleResourceChange ( TInt aType ) [virtual]

From CcoeControl .

Handles a change to the menu's resources which are shared across the environment. For example, colours or fonts.

Since
005u

Parameters

TInt aType The type of resource that has changed.

HandleScrollEventL(CEikScrollBar *, TEikScrollEvent)

void HandleScrollEventL ( CEikScrollBar * aScrollBar,
TEikScrollEvent aEventType
) [private]

Parameters

CEikScrollBar * aScrollBar
TEikScrollEvent aEventType

HideMarkAndUnmark(TBool)

void HideMarkAndUnmark ( TBool aHide )

Updates flag which is used for hiding mark and unmark -commands from submenus. This is called with ETrue when collection has marked items.

Parameters

TBool aHide ETrue to hide, EFalse to show

HighlightRect()

TRect HighlightRect ( ) const [private]

InputCapabilities()

IMPORT_C TCoeInputCapabilities InputCapabilities ( ) const [virtual]

From CCoeControl .

Gets the list box s input capabilities as set through the list box flags.

InsertMenuItemL(const CEikMenuPaneItem::SData &, TInt)

IMPORT_C void InsertMenuItemL ( const CEikMenuPaneItem::SData & aMenuItem,
TInt aPosition
)

Inserts the menu item to the specified position.

Parameters

const CEikMenuPaneItem::SData & aMenuItem The menu item to add. NOTICE SData is the structure and all fileds should be initialized.
TInt aPosition The position of newly created item in the array.

IsCascadeMenuPane()

IMPORT_C TBool IsCascadeMenuPane ( ) const

Checks whether the menu pane is a cascade menu or a main menu.

IsHotKeyL(const TInt, const TInt)

TBool IsHotKeyL ( const TInt modifiers,
const TInt aCode
) [private]

Parameters

const TInt modifiers
const TInt aCode

IsItemMemberOfRadioButtonGroup(TInt)

TBool IsItemMemberOfRadioButtonGroup ( TInt aItem ) const [private]

Parameters

TInt aItem

ItemAndPos(TInt, TInt &)

IMPORT_C CEikMenuPaneItem * ItemAndPos ( TInt aCommandId,
TInt & aPos
)

Gets a pointer to the specified menu item. Also gets the position of the item within the menu pane. Panics if there are no menu items in the menu pane. Panics if the menu pane id does not identify any menu pane item in the array.

panic
EEikPanicNoSuchMenuItem Panics if there are no menu items in the menu pane or if the menu pane id does not identify any menu pane item in the array.

Parameters

TInt aCommandId The ID of the menu item for which a pointer is returned.
TInt & aPos On return, the position of the menu item with an ID of aCommandId.

ItemArrayOwnedExternally()

TBool ItemArrayOwnedExternally ( ) const [private]

ItemData(TInt)

IMPORT_C CEikMenuPaneItem::SData & ItemData ( TInt aCommandId )

Gets a reference to the data in the specified menu item.

Parameters

TInt aCommandId The command ID of the menu item for which data is obtained.

ItemDataByIndexL(TInt)

IMPORT_C CEikMenuPaneItem::SData & ItemDataByIndexL ( TInt aItemIndex )

Gets a reference to the data in the specified menu item.

Since
S60 3.1
leave
KErrArgument Wrong .

Parameters

TInt aItemIndex The index of the item in the items array.

ItemRect(TInt)

TRect ItemRect ( TInt aItemIndex ) const [private]

Calculates the rectangle occupied by an item.

Parameters

TInt aItemIndex Item's index.

LaunchCascadeMenuL(TInt)

void LaunchCascadeMenuL ( TInt aCascadeMenuId ) [private]

Parameters

TInt aCascadeMenuId

LoadCascadeBitmapL()

void LoadCascadeBitmapL ( ) [private]

LoadCheckMarkBitmapL()

void LoadCheckMarkBitmapL ( ) [private]

LoadRadioButtonBitmapL()

void LoadRadioButtonBitmapL ( ) [private]

MenuHasCheckBoxOn()

TBool MenuHasCheckBoxOn ( ) const [private]

MenuHasIcon()

TBool MenuHasIcon ( ) const [private]

MenuItemCommandId(TInt)

IMPORT_C TInt MenuItemCommandId ( TInt aIndex ) const
Returns the command id of the specified menu item. The function panics if aIndex doesn't exist or is out of range.
Since
3.1

Parameters

TInt aIndex The index of the menu item for which the command ID is returned.

MenuItemExists(TInt, TInt &)

IMPORT_C TBool MenuItemExists ( TInt aCommandId,
TInt & aPosition
)

Checks whether menu pane contains the menu item and returns position of it if the item is found.

Parameters

TInt aCommandId The command ID of the item to be searched for.
TInt & aPosition On return contains position of the item.

MopSupplyObject(TTypeUid)

IMPORT_C TTypeUid::Ptr MopSupplyObject ( TTypeUid aId ) [protected]

From CCoeControl .

Retrieves an object of the same type as that encapsulated in aId. Other than in the case where NULL is returned, the object returned must be of the same object type - that is, the ETypeId member of the object pointed to by the pointer returned by this function must be equal to the iUid member of aId .

Since
SDK 7.0s

Parameters

TTypeUid aId An encapsulated object type ID.

MoveHighlightTo(TInt)

IMPORT_C void MoveHighlightTo ( TInt aNewSelectedItem )

Moves the menu pane highlight to a newly selected menu item identified by aNewSelectedItem . Scrolls the menu to show the new selected item if necessary and redraws only the newly selected item and the currently selected item if possible.

Parameters

TInt aNewSelectedItem The newly selected menu item index.

MoveToItemL(TInt, TInt)

TBool MoveToItemL ( TInt aCode,
TInt aModifiers
) [private]

Parameters

TInt aCode
TInt aModifiers

NavigateToNextItem()

IMPORT_C void NavigateToNextItem ( )

Moves highlight to the next item or to the first one if last item is selected.

NewItemCommandMenuL(MEikMenuObserver *)

CEikMenuPane * NewItemCommandMenuL ( MEikMenuObserver * aObserver ) [static]

Symbian two-phased constructor for menu panes that are created for item specific menus.

Parameters

MEikMenuObserver * aObserver

NumberOfItemsInPane()

IMPORT_C TInt NumberOfItemsInPane ( ) const

Gets the number of menu items within the menu pane.

NumberOfItemsThatFitInView()

TInt NumberOfItemsThatFitInView ( ) const [protected]

Gets the maximum number of items which can be seen simultaneously.

OfferKeyEventL(const TKeyEvent &, TEventCode)

IMPORT_C TKeyResponse OfferKeyEventL ( const TKeyEvent & aKeyEvent,
TEventCode aType
) [virtual]

From CcoeControl .

Handles key events offered to the menu by the control environment and provides an appropriate implementation of CCoeControl::OfferKeyEventL() .

Parameters

const TKeyEvent & aKeyEvent The key event.
TEventCode aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown.

OfferKeyEventL(const TKeyEvent &, TEventCode, TBool)

IMPORT_C TKeyResponse OfferKeyEventL ( const TKeyEvent & aKeyEvent,
TEventCode aType,
TBool aConsumeAllKeys
)

From @ CCoeControl

Handles key events offered to the menu by the control environment.

Since
Platform 004.

Parameters

const TKeyEvent & aKeyEvent The key event.
TEventCode aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown.
TBool aConsumeAllKeys If ETrue this function returns EKeyWasConsumed regardless of whether it was used. If EFalse the key event is consumed if possible and either EKeyWasConsumed or EKeyWasNotConsumed is returned as appropriate.

PrepareGcForDrawingItems(CGraphicsContext &)

void PrepareGcForDrawingItems ( CGraphicsContext & aGc ) const [private]

Parameters

CGraphicsContext & aGc

PrepareHighlightFrame()

void PrepareHighlightFrame ( ) const [private]

RepaintHighlight()

void RepaintHighlight ( ) const [private]

ReportCanceled()

void ReportCanceled ( ) [private]

ReportSelectionMadeL(TBool)

void ReportSelectionMadeL ( TBool aAbortTransition = ETrue ) [private]

Parameters

TBool aAbortTransition = ETrue

Reserved_1()

IMPORT_C void Reserved_1 ( ) [private]

Reserved_2()

IMPORT_C void Reserved_2 ( ) [private, virtual]

Reset()

IMPORT_C void Reset ( )

Destroys the menu pane's item array.

ResetItemArray()

void ResetItemArray ( ) [private]

Scroll(TInt)

void Scroll ( TInt aAmount ) [private]

Parameters

TInt aAmount

ScrollToMakeItemVisible(TInt)

void ScrollToMakeItemVisible ( TInt aItemIndex ) [private]

Parameters

TInt aItemIndex

SelectedItem()

IMPORT_C TInt SelectedItem ( ) const

Gets the position of the selected menu item.

SetArrowHeadScrollBar(TBool)

IMPORT_C void SetArrowHeadScrollBar ( TBool aArrowHead )

Sets whether the menu pane uses an arrow head scroll bar.

Parameters

TBool aArrowHead If ETrue the menu pane uses an arrow head scroll bar.

SetCascadedIconSize()

void SetCascadedIconSize ( ) const [private]

SetDefaultHighlight()

void SetDefaultHighlight ( )

Enables the default highlight in menu

SetEmbeddedCba(CEikCba *)

void SetEmbeddedCba ( CEikCba * aCba )

Sets the embedded cba to options menu

Since
S60 v5.2

Parameters

CEikCba * aCba Cba to embed to menu

SetItemActionsStateL(TBool)

void SetItemActionsStateL ( TBool aDimmed )

Sets item action commands state.

Parameters

TBool aDimmed

SetItemArray(CItemArray *)

IMPORT_C void SetItemArray ( CItemArray * aItemArray )

Sets the array containing the list of menu items for the current menu pane.

Parameters

CItemArray * aItemArray The menu item array for the menu pane.

SetItemArrayOwnedExternally(TBool)

IMPORT_C void SetItemArrayOwnedExternally ( TBool aOwnedExternally )

Set menu item array ownership.

Parameters

TBool aOwnedExternally If ETrue the menu pane's menu item array is set as externally owned. If EFalse the menu pane's menu item array is set as not externally owned.

SetItemButtonState(TInt, TInt)

IMPORT_C void SetItemButtonState ( TInt aCommandId,
TInt aButtonState
)

Sets the item to be indicated or not. It should be used to change the state of radio buttons or check box items. It has real effect only starting from S60 v3.0.

Parameters

TInt aCommandId The command (as defined in an .hrh file) associated with this menu item. This identifies the menu item for which the state is set or unset.
TInt aButtonState should be EEikMenuItemSymbolOn or EEikMenuItemSymbolIndeterminate

SetItemCommandsStateL(TBool)

void SetItemCommandsStateL ( TBool aDimmed )

Sets item specific commands state.

Parameters

TBool aDimmed

SetItemDimmed(TInt, TBool)

IMPORT_C void SetItemDimmed ( TInt aCommandId,
TBool aDimmed
)

Dims (greys out) or undims a menu item. Dimming indicates that user input is not accepted.

Parameters

TInt aCommandId The command (as defined in an .hrh file) associated with this menu item. This identifies the menu item whose text is to be dimmed or un-dimmed.
TBool aDimmed ETrue to dim this menu item. EFalse to un-dim this menu item.

SetItemSpecific(TInt, TBool)

IMPORT_C void SetItemSpecific ( TInt aCommandId,
TBool aItemSpecific
)

Sets menu item as item specific command.

Parameters

TInt aCommandId The command associated with this menu item.
TBool aItemSpecific ETrue to define the menu item item specific, EFalse otherwise.

SetItemTextL(TInt, const TDesC &)

IMPORT_C void SetItemTextL ( TInt aCommandId,
const TDesC & aDes
)

Sets the text in a menu item.

Parameters

TInt aCommandId The command (as defined in an .hrh file) associated with this menu item. This identifies the menu item whose text is to be set.
const TDesC & aDes New item text.

SetItemTextL(TInt, TInt)

IMPORT_C void SetItemTextL ( TInt aCommandId,
TInt aRid
)

Sets the text in a menu item from resource.

Parameters

TInt aCommandId The command (as defined in an .hrh file) associated with this menu item. This identifies the menu item whose text is to be set.
TInt aRid The resource ID of the menu item text.

SetLaunchingButton(CEikButtonBase *)

IMPORT_C void SetLaunchingButton ( CEikButtonBase * aButton )

Sets the specified button to launch the menu pane. Doesn't have any effect in current implementation.

Parameters

CEikButtonBase * aButton The button to set as launching the menu.

SetScrollBarOnLeft(TBool)

IMPORT_C void SetScrollBarOnLeft ( TBool aOnLeft )

Sets whether the scroll bar occupies the left side of the menu pane.

Parameters

TBool aOnLeft If ETrue the scroll bar will occupy the left side of the menu pane.

SetSelectedItem(TInt)

IMPORT_C void SetSelectedItem ( TInt aSelectedItem )

Sets the selected menu item.

Parameters

TInt aSelectedItem The index of the item to get selected

StartDisplayingMenuPane(const CEikHotKeyTable *, const TPoint &, const CEikMenuPaneTitle *, TInt, TPopupTargetPosType)

IMPORT_C void StartDisplayingMenuPane ( const CEikHotKeyTable * aHotKeyTable,
const TPoint & aTargetPos,
const CEikMenuPaneTitle * aMenuPaneTitle,
TInt aMinWidth,
TPopupTargetPosType aTargetType = EPopupTargetTopLeft
)

Displays the menu pane with the corner identified by aTargetType in the position specified by aTargetPos . This function uses aMinTitleWidth to calculate the area required to display the menu pane, taking into account whether the menu is a cascading menu or popup menu.

Parameters

const CEikHotKeyTable * aHotKeyTable Optional hotkey table.
const TPoint & aTargetPos Position of the corner of the menu pane identified by aTargetType.
const CEikMenuPaneTitle * aMenuPaneTitle The menu pane's title.
TInt aMinWidth Minimum width of the menu's title.
TPopupTargetPosType aTargetType = EPopupTargetTopLeft The corner of the menu pane to which aTargetPos relates. The default is the top left corner. Possible: EPopupTargetTopLeft, EPopupTargetTopRight, , EPopupTargetBottomRight.

TotalItemHeight()

TInt TotalItemHeight ( ) const [private]

TryLaunchCascadeMenuL(const CEikMenuPaneItem &)

void TryLaunchCascadeMenuL ( const CEikMenuPaneItem & aItem ) [private]

Parameters

const CEikMenuPaneItem & aItem

UpdateBackgroundContext(const TRect &)

void UpdateBackgroundContext ( const TRect & aWindowRect ) [private]

Parameters

const TRect & aWindowRect

UpdateScrollBar()

void UpdateScrollBar ( ) [private]

UpdateScrollBarCallBackL(TAny *)

TInt UpdateScrollBarCallBackL ( TAny * aObj ) [private, static]

Parameters

TAny * aObj

UpdateScrollBarThumbs()

void UpdateScrollBarThumbs ( ) [private]

ViewRect()

TRect ViewRect ( ) const [private]

Member Enumerations Documentation

Enum THighlightType

Enumerators

ENoHighlight
EDrawHighlight
ERemoveHighlight

Member Type Definitions Documentation

Typedef THotKeyDisplayText

typedef TBuf < 20 > THotKeyDisplayText

The text to be displayed for a hotkey.

Member Data Documentation

TBool iAllowPointerUpEvents

TBool iAllowPointerUpEvents [private]

TBool iArrayOwnedExternally

TBool iArrayOwnedExternally [private]

TInt iBaseLine

TInt iBaseLine [private]

CEikMenuPane * iCascadeMenuPane

CEikMenuPane * iCascadeMenuPane [private]

MEikMenuObserver * iEditMenuObserver

MEikMenuObserver * iEditMenuObserver [private]

CEikMenuPaneExtension * iExtension

CEikMenuPaneExtension * iExtension [private]

TInt iFlags

TInt iFlags [private]

const CEikHotKeyTable * iHotKeyTable

const CEikHotKeyTable * iHotKeyTable [private]

TInt iHotkeyColWidth

TInt iHotkeyColWidth [private]

TBool * iIsDeleted

TBool * iIsDeleted [private]

Used to track if object has been deleted while calling client callback.

CItemArray * iItemArray

CItemArray * iItemArray [private]

TInt iItemHeight

TInt iItemHeight [private]

CEikButtonBase * iLaunchingButton

CEikButtonBase * iLaunchingButton [private]

MEikMenuObserver * iMenuObserver

MEikMenuObserver * iMenuObserver [private]

const CEikMenuPaneTitle * iMenuPaneTitle

const CEikMenuPaneTitle * iMenuPaneTitle [private]

TInt iNumberOfDragEvents

TInt iNumberOfDragEvents [private]

CEikMenuPane * iOwner

CEikMenuPane * iOwner [private]

CEikScrollBarFrame * iSBFrame

CEikScrollBarFrame * iSBFrame [private]

CMenuScroller * iScroller

CMenuScroller * iScroller [private]

TInt iSelectedItem

TInt iSelectedItem [private]

TInt iSubPopupWidth

TInt iSubPopupWidth [private]