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.
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 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 |
CItemArray * | iItemArray |
TInt | iItemHeight |
CEikButtonBase * | iLaunchingButton |
MEikMenuObserver * | iMenuObserver |
const CEikMenuPaneTitle * | iMenuPaneTitle |
TInt | iNumberOfDragEvents |
CEikMenuPane * | iOwner |
CEikScrollBarFrame * | iSBFrame |
CMenuScroller * | iScroller |
TInt | iSelectedItem |
TInt | iSpare |
TInt | iSubPopupWidth |
Inherited Attributes | |
---|---|
CCoeControl::iCoeEnv | |
CCoeControl::iContext | |
CCoeControl::iPosition | |
CCoeControl::iSize | |
CEikBorderedControl::iBorder |
IMPORT_C | CEikMenuPane | ( | MEikMenuObserver * | aMenuObserver | ) |
C++ default constructor. Constructs a menu pane object with the specified observer.
MEikMenuObserver * aMenuObserver | Menu observer. |
void | ActivateCurrentItemL | ( | ) |
Report that selection was done for the currently highlighted item.
void | AddCascadeMenuItemsToActionMenuL | ( | TInt | aCascadeId, |
TBool | aItemSpecific, | |||
CAknItemActionMenuData & | aMenuData | |||
) |
Adds cascade menu items to item action menu data.
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.
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. |
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.
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. |
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.
void | AddMenuItemsToItemActionMenuL | ( | CAknItemActionMenuData & | aMenuData | ) |
Adds menu items to this menu and item action menu data.
CAknItemActionMenuData & aMenuData |
TInt | CalculateItemHeight | ( | ) | const [private] |
Calculates the height of menu items.
Item height.
TRect | CalculateSizeAndPositionScalable | ( | const TRect & | aWindowRect, |
TInt | aNumItemsInPane | |||
) | [private] |
TBool | CancelActiveMenuPane | ( | ) |
Closes cascade menu if there is one and it is active.
IMPORT_C CEikMenuPane * | CascadeMenuPane | ( | ) |
Gets the menu pane for the cascade menu.
The menu pane for the cascade menu.
void | CheckCreateExtensionL | ( | ) | [private] |
Creates menu pane's extension object if it doesn't exist yet.
IMPORT_C void | CloseCascadeMenu | ( | ) |
Closes and destroys any current cascade menu and takes focus back. Does nothing if no cascade menu exists.
void | CloseCascadeMenu | ( | TBool | aMainMenuClosing | ) |
Closes and destroys any current cascade menu and takes focus back. Does nothing if no cascade menu exists.
TBool aMainMenuClosing | ETrue if main menu is also to be closed. |
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.
The component control with an index of aIndex.
TInt aIndex | The index of the control to get. |
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.
TResourceReader & aReader | The resource reader to use. |
IMPORT_C void | ConstructL | ( | CEikMenuPane * | aOwner, |
MEikMenuObserver * | aEditMenuObserver = NULL | |||
) |
Handles 2nd base construction. Completes construction of a menu pane object.
CEikMenuPane * aOwner | Menu pane owner ( for cascade menu ). |
MEikMenuObserver * aEditMenuObserver = NULL | Observer for the edit menu. In default this is NULL. |
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.
S60 3.2
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.
S60 3.2
IMPORT_C void | ConstructMenuSctRowL | ( | TDes & | aSpecialChars | ) |
Creates and enables a special characters row to be used in the edit menu.
S60 3.1
TDes & aSpecialChars | Buffer that holds the selected characters after user has selected them. |
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.
S60 3.1
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.
The number of component controls contained by this control.
void | CreateIconFromResourceL | ( | TResourceReader & | aReader, |
CEikMenuPaneItem & | aItem | |||
) | const [private] |
TResourceReader & aReader | |
CEikMenuPaneItem & aItem |
IMPORT_C void | DeleteBetweenMenuItems | ( | TInt | aStartIndex, |
TInt | aEndIndex | |||
) |
Deletes the items between specified items.
IMPORT_C void | DeleteMenuItem | ( | TInt | aCommandId | ) |
Deletes the specified item in the menu pane.
TInt aCommandId | The ID for the item to be deleted. |
void | DoLaunchCascadeMenuL | ( | TInt | aCascadeMenuId | ) | [private] |
TInt aCascadeMenuId |
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.
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. |
void | DrawItem | ( | TInt | aItem, |
THighlightType | aHighlight | |||
) | const [private] |
TInt aItem | |
THighlightType aHighlight |
void | DrawItem | ( | CWindowGc & | aGc, |
TInt | aItem, | |||
THighlightType | aHighlight | |||
) | const [private] |
CWindowGc & aGc | |
TInt aItem | |
THighlightType aHighlight |
IMPORT_C void | EnableMarqueeL | ( | const TBool | aEnable | ) |
Enables or disables text scrolling functionality. It is disabled by default.
const TBool aEnable | ETrue to enable text scrolling functionality. |
IMPORT_C void * | ExtensionInterface | ( | TUid | aInterface | ) | [private, virtual] |
Not implemented.
NULL
TUid aInterface |
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.
TDrawNow aDrawNow | If EDrawNow the menu pane is redrawn. If ENoDrawNow the menu pane is not redrawn. |
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.
005u
CArrayFix< TCoeColorUse > & aColorUseList | The list of colours paired with explanations. |
IMPORT_C void | HandlePointerEventL | ( | const TPointerEvent & | aPointerEvent | ) | [virtual] |
From CcoeControl.
Handles a pointer event on the menu.
const TPointerEvent & aPointerEvent | The pointer event to handle. |
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.
005u
TInt aType | The type of resource that has changed. |
void | HandleScrollEventL | ( | CEikScrollBar * | aScrollBar, |
TEikScrollEvent | aEventType | |||
) | [private] |
CEikScrollBar * aScrollBar | |
TEikScrollEvent aEventType |
IMPORT_C TCoeInputCapabilities | InputCapabilities | ( | ) | const [virtual] |
From CCoeControl.
Gets the list box s input capabilities as set through the list box flags.
List box input capabilities.
IMPORT_C void | InsertMenuItemL | ( | const CEikMenuPaneItem::SData & | aMenuItem, |
TInt | aPosition | |||
) |
Inserts the menu item to the specified position.
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. |
IMPORT_C TBool | IsCascadeMenuPane | ( | ) | const |
Checks whether the menu pane is a cascade menu or a main menu.
ETrue if the menu pane is cascade menu and EFalse if the menu pane is the main menu.
TBool | IsItemMemberOfRadioButtonGroup | ( | TInt | aItem | ) | const [private] |
TInt aItem |
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.
A pointer to the menu item.
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.
IMPORT_C CEikMenuPaneItem::SData & | ItemData | ( | TInt | aCommandId | ) |
Gets a reference to the data in the specified menu item.
Reference to struct that contains command id.
TInt aCommandId | The command ID of the menu item for which data is obtained. |
IMPORT_C CEikMenuPaneItem::SData & | ItemDataByIndexL | ( | TInt | aItemIndex | ) |
Gets a reference to the data in the specified menu item.
S60 3.1
The menu item's data.
leave
KErrArgument Wrong .
TInt aItemIndex | The index of the item in the items array. |
TRect | ItemRect | ( | TInt | aItemIndex | ) | const [private] |
Calculates the rectangle occupied by an item.
Item's rectangle.
TInt aItemIndex | Item's index. |
void | LaunchCascadeMenuL | ( | TInt | aCascadeMenuId | ) | [private] |
TInt aCascadeMenuId |
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. 3.1
TInt aIndex | The index of the menu item for which the command ID is returned. |
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.
ETrue if item was found. Otherwise EFalse.
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.
SDK 7.0s
Encapsulates the pointer to the object provided. Note that the encapsulated pointer may be NULL.
TTypeUid aId | An encapsulated object type ID. |
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.
TInt aNewSelectedItem | The newly selected menu item index. |
IMPORT_C void | NavigateToNextItem | ( | ) |
Moves highlight to the next item or to the first one if last item is selected.
CEikMenuPane * | NewItemCommandMenuL | ( | MEikMenuObserver * | aObserver | ) | [static] |
Symbian two-phased constructor for menu panes that are created for item specific menus.
MEikMenuObserver * aObserver |
IMPORT_C TInt | NumberOfItemsInPane | ( | ) | const |
Gets the number of menu items within the menu pane.
Number of menu items within menu pane.
TInt | NumberOfItemsThatFitInView | ( | ) | const [protected] |
Gets the maximum number of items which can be seen simultaneously.
The maximum number of items which can be seen simultaneously.
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().
const TKeyEvent & aKeyEvent | The key event. |
TEventCode aType | The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. |
IMPORT_C TKeyResponse | OfferKeyEventL | ( | const TKeyEvent & | aKeyEvent, |
TEventCode | aType, | |||
TBool | aConsumeAllKeys | |||
) |
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. |
void | PrepareGcForDrawingItems | ( | CGraphicsContext & | aGc | ) | const [private] |
CGraphicsContext & aGc |
void | ReportSelectionMadeL | ( | TBool | aAbortTransition = ETrue | ) | [private] |
TBool aAbortTransition = ETrue |
void | ScrollToMakeItemVisible | ( | TInt | aItemIndex | ) | [private] |
TInt aItemIndex |
IMPORT_C TInt | SelectedItem | ( | ) | const |
Gets the position of the selected menu item.
The position of the selected menu item.
IMPORT_C void | SetArrowHeadScrollBar | ( | TBool | aArrowHead | ) |
Sets whether the menu pane uses an arrow head scroll bar.
TBool aArrowHead | If ETrue the menu pane uses an arrow head scroll bar. |
void | SetEmbeddedCba | ( | CEikCba * | aCba | ) |
Sets the embedded cba to options menu
S60 v5.2
CEikCba * aCba | Cba to embed to menu |
IMPORT_C void | SetItemArray | ( | CItemArray * | aItemArray | ) |
Sets the array containing the list of menu items for the current menu pane.
CItemArray * aItemArray | The menu item array for the menu pane. |
IMPORT_C void | SetItemArrayOwnedExternally | ( | TBool | aOwnedExternally | ) |
Set menu item array ownership.
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. |
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.
IMPORT_C void | SetItemDimmed | ( | TInt | aCommandId, |
TBool | aDimmed | |||
) |
Dims (greys out) or undims a menu item. Dimming indicates that user input is not accepted.
IMPORT_C void | SetItemSpecific | ( | TInt | aCommandId, |
TBool | aItemSpecific | |||
) |
Sets menu item as item specific command.
IMPORT_C void | SetItemTextL | ( | TInt | aCommandId, |
const TDesC & | aDes | |||
) |
Sets the text in a menu item.
IMPORT_C void | SetItemTextL | ( | TInt | aCommandId, |
TInt | aRid | |||
) |
Sets the text in a menu item from resource.
IMPORT_C void | SetLaunchingButton | ( | CEikButtonBase * | aButton | ) |
Sets the specified button to launch the menu pane. Doesn't have any effect in current implementation.
CEikButtonBase * aButton | The button to set as launching the menu. |
IMPORT_C void | SetScrollBarOnLeft | ( | TBool | aOnLeft | ) |
Sets whether the scroll bar occupies the left side of the menu pane.
TBool aOnLeft | If ETrue the scroll bar will occupy the left side of the menu pane. |
IMPORT_C void | SetSelectedItem | ( | TInt | aSelectedItem | ) |
Sets the selected menu item.
TInt aSelectedItem | The index of the item to get selected |
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.
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. |
void | TryLaunchCascadeMenuL | ( | const CEikMenuPaneItem & | aItem | ) | [private] |
const CEikMenuPaneItem & aItem |
void | UpdateBackgroundContext | ( | const TRect & | aWindowRect | ) | [private] |
const TRect & aWindowRect |
TInt | UpdateScrollBarCallBackL | ( | TAny * | aObj | ) | [private, static] |
TAny * aObj |
typedef TBuf< 20 > | THotKeyDisplayText |
The text to be displayed for a hotkey.