#include <mw/eikmenup.h>
class CEikMenuPane : public CEikBorderedControl |
Public Member Type Definitions | |
---|---|
typedef | TBuf< 20 > THotKeyDisplayText |
Protected Member Functions | |
---|---|
virtual IMPORT_C void | ConstructFromResourceL(TResourceReader &) |
virtual IMPORT_C void | Draw(const TRect &) |
virtual IMPORT_C void | FocusChanged(TDrawNow) |
IMPORT_C TTypeUid::Ptr | MopSupplyObject(TTypeUid) |
TInt | NumberOfItemsThatFitInView() |
Inherited Attributes | |
---|---|
CCoeControl::iCoeEnv | |
CCoeControl::iContext | |
CCoeControl::iPosition | |
CCoeControl::iSize | |
CEikBorderedControl::iBorder |
Inherited Enumerations | |
---|---|
CCoeControl:TZoomType |
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.
typedef TBuf< 20 > | THotKeyDisplayText |
The text to be displayed for a hotkey.
IMPORT_C | CEikMenuPane | ( | MEikMenuObserver * | aMenuObserver | ) |
C++ default constructor. Constructs a menu pane object with the specified observer.
Parameter | Description |
---|---|
aMenuObserver | Menu observer. |
void | ActivateCurrentItemL | ( | ) |
Report that selection was done for the currently highlighted item.
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.
Parameter | Description |
---|---|
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.
Parameter | Description |
---|---|
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. |
aPreviousId | The id of the item after which the new item should be added. |
Adds menu items dynamically by creating new menu items from resource and inserts them into the pane's menu item array.
Parameter | Description |
---|---|
aResourceId | The ID of the resource for the menu item. |
aPreviousId | The ID of the previous menu item, after which this newly created item should be added. |
aAddSeperator | Shouldn't be used as separator is not not supported anymore. |
void | AddMenuItemsToItemActionMenuL | ( | CAknItemActionMenuData & | aMenuData | ) |
Adds menu items to this menu and item action menu data.
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.
Returns: The menu pane for the cascade menu.
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.
Parameter | Description |
---|---|
aMainMenuClosing | ETrue if main menu is also to be closed. |
IMPORT_C CCoeControl * | ComponentControl | ( | TInt | aIndex | ) | const [virtual] |
Reimplemented from CCoeControl::ComponentControl(TInt)const
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.
Parameter | Description |
---|---|
aIndex | The index of the control to get. |
Returns: The component control with an index of aIndex.
IMPORT_C void | ConstructFromResourceL | ( | TResourceReader & | aReader | ) | [protected, virtual] |
Reimplemented from CCoeControl::ConstructFromResourceL(TResourceReader &)
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.
Parameter | Description |
---|---|
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.
Parameter | Description |
---|---|
aOwner | Menu pane owner ( for cascade menu ). |
aEditMenuObserver | Observer for the edit menu. In default this is NULL. |
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.
Parameter | Description |
---|---|
aSpecialChars | Buffer that holds the selected characters after user has selected them. |
aResourceId | The special character dialog resource id that contains a special character table |
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.
Parameter | Description |
---|---|
aCharCase | the charcase used by menu sct |
aSpecialChars | Buffer that holds the selected characters after user has selected them. |
aResourceId | The special character dialog resource id that contains a special character table |
IMPORT_C void | ConstructMenuSctRowL | ( | TDes & | aSpecialChars | ) |
Creates and enables a special characters row to be used in the edit menu.
Parameter | Description |
---|---|
aSpecialChars | Buffer that holds the selected characters after user has selected them. |
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.
Parameter | Description |
---|---|
aSpecialChars | Buffer that holds the selected characters after user has selected them. |
aResourceId | The special character table resource id to define the characters in the row. |
IMPORT_C TInt | CountComponentControls | ( | ) | const [virtual] |
Reimplemented from CCoeControl::CountComponentControls()const
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.
Returns: The number of component controls contained by this control.
IMPORT_C void | DeleteMenuItem | ( | TInt | aCommandId | ) |
Deletes the specified item in the menu pane.
Parameter | Description |
---|---|
aCommandId | The ID for the item to be deleted. |
IMPORT_C void | Draw | ( | const TRect & | aRect | ) | const [protected, virtual] |
Reimplemented from CEikBorderedControl::Draw(const TRect &)const
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.
Parameter | Description |
---|---|
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. |
IMPORT_C void | EnableMarqueeL | ( | const TBool | aEnable | ) |
Enables or disables text scrolling functionality. It is disabled by default.
Parameter | Description |
---|---|
aEnable | ETrue to enable text scrolling functionality. |
IMPORT_C void | FocusChanged | ( | TDrawNow | aDrawNow | ) | [protected, virtual] |
Reimplemented from CCoeControl::FocusChanged(TDrawNow)
From CCoeControl.
Takes any action required when the menu pane gains or loses focus, to change its appearance for example.
Parameter | Description |
---|---|
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] |
Reimplemented from CEikBorderedControl::GetColorUseListL(CArrayFix< TCoeColorUse > &)const
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.
Parameter | Description |
---|---|
aColorUseList | The list of colours paired with explanations. |
IMPORT_C void | HandlePointerEventL | ( | const TPointerEvent & | aPointerEvent | ) | [virtual] |
Reimplemented from CEikBorderedControl::HandlePointerEventL(const TPointerEvent &)
From CcoeControl.
Handles a pointer event on the menu.
Parameter | Description |
---|---|
aPointerEvent | The pointer event to handle. |
IMPORT_C void | HandleResourceChange | ( | TInt | aType | ) | [virtual] |
Reimplemented from CEikBorderedControl::HandleResourceChange(TInt)
From CcoeControl.
Handles a change to the menu's resources which are shared across the environment. For example, colours or fonts.
Parameter | Description |
---|---|
aType | The type of resource that has changed. |
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.
Parameter | Description |
---|---|
aHide | ETrue to hide, EFalse to show |
IMPORT_C TCoeInputCapabilities | InputCapabilities | ( | ) | const [virtual] |
Reimplemented from CCoeControl::InputCapabilities()const
From CCoeControl.
Gets the list box s input capabilities as set through the list box flags.
Returns: List box input capabilities.
IMPORT_C void | InsertMenuItemL | ( | const CEikMenuPaneItem::SData & | aMenuItem, |
TInt | aPosition | |||
) |
Inserts the menu item to the specified position.
Parameter | Description |
---|---|
aMenuItem | The menu item to add. NOTICE SData is the structure and all fileds should be initialized. |
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.
Returns: ETrue if the menu pane is cascade menu and EFalse if the menu pane is the main menu.
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.
Parameter | Description |
---|---|
aCommandId | The ID of the menu item for which a pointer is returned. |
aPos | On return, the position of the menu item with an ID of aCommandId. |
Returns: A pointer to the menu item.
IMPORT_C CEikMenuPaneItem::SData & | ItemData | ( | TInt | aCommandId | ) |
Gets a reference to the data in the specified menu item.
Parameter | Description |
---|---|
aCommandId | The command ID of the menu item for which data is obtained. |
Returns: Reference to struct that contains command id.
IMPORT_C CEikMenuPaneItem::SData & | ItemDataByIndexL | ( | TInt | aItemIndex | ) |
Gets a reference to the data in the specified menu item.
Parameter | Description |
---|---|
aItemIndex | The index of the item in the items array. |
Returns: The menu item's data.
Checks whether menu pane contains the menu item and returns position of it if the item is found.
Parameter | Description |
---|---|
aCommandId | The command ID of the item to be searched for. |
aPosition | On return contains position of the item. |
Returns: ETrue if item was found. Otherwise EFalse.
IMPORT_C TTypeUid::Ptr | MopSupplyObject | ( | TTypeUid | aId | ) | [protected] |
Reimplemented from CCoeControl::MopSupplyObject(TTypeUid)
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.
Parameter | Description |
---|---|
aId | An encapsulated object type ID. |
Returns: Encapsulates the pointer to the object provided. Note that the encapsulated pointer may be NULL.
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.
Parameter | Description |
---|---|
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.
IMPORT_C TInt | NumberOfItemsInPane | ( | ) | const |
Gets the number of menu items within the menu pane.
Returns: Number of menu items within menu pane.
TInt | NumberOfItemsThatFitInView | ( | ) | const [protected] |
Gets the maximum number of items which can be seen simultaneously.
Returns: The maximum number of items which can be seen simultaneously.
IMPORT_C TKeyResponse | OfferKeyEventL | ( | const TKeyEvent & | aKeyEvent, |
TEventCode | aType | |||
) | [virtual] |
Reimplemented from CCoeControl::OfferKeyEventL(const TKeyEvent &,TEventCode)
From CcoeControl.
Handles key events offered to the menu by the control environment and provides an appropriate implementation of CCoeControl::OfferKeyEventL().
Parameter | Description |
---|---|
aKeyEvent | The key event. |
aType | The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. |
IMPORT_C TKeyResponse | OfferKeyEventL | ( | const TKeyEvent & | aKeyEvent, |
TEventCode | aType, | |||
TBool | aConsumeAllKeys | |||
) |
From @ CCoeControl
Handles key events offered to the menu by the control environment.
Parameter | Description |
---|---|
aKeyEvent | The key event. |
aType | The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. |
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. |
IMPORT_C TInt | SelectedItem | ( | ) | const |
Gets the position of the selected menu item.
Returns: The position of the selected menu item.
IMPORT_C void | SetArrowHeadScrollBar | ( | TBool | aArrowHead | ) |
Sets whether the menu pane uses an arrow head scroll bar.
Parameter | Description |
---|---|
aArrowHead | If ETrue the menu pane uses an arrow head scroll bar. |
void | SetEmbeddedCba | ( | CEikCba * | aCba | ) |
Sets the embedded cba to options menu
Parameter | Description |
---|---|
aCba | Cba to embed to menu |
void | SetItemActionsStateL | ( | TBool | aDimmed | ) |
Sets item action commands state.
IMPORT_C void | SetItemArray | ( | CItemArray * | aItemArray | ) |
Sets the array containing the list of menu items for the current menu pane.
Parameter | Description |
---|---|
aItemArray | The menu item array for the menu pane. |
IMPORT_C void | SetItemArrayOwnedExternally | ( | TBool | aOwnedExternally | ) |
Set menu item array ownership.
Parameter | Description |
---|---|
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. |
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.
Parameter | Description |
---|---|
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. |
aButtonState | should be EEikMenuItemSymbolOn or EEikMenuItemSymbolIndeterminate |
void | SetItemCommandsStateL | ( | TBool | aDimmed | ) |
Sets item specific commands state.
Dims (greys out) or undims a menu item. Dimming indicates that user input is not accepted.
Parameter | Description |
---|---|
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. |
aDimmed | ETrue to dim this menu item. EFalse to un-dim this menu item. |
IMPORT_C void | SetLaunchingButton | ( | CEikButtonBase * | aButton | ) |
Sets the specified button to launch the menu pane. Doesn't have any effect in current implementation.
Parameter | Description |
---|---|
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.
Parameter | Description |
---|---|
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.
Parameter | Description |
---|---|
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.
Parameter | Description |
---|---|
aHotKeyTable | Optional hotkey table. |
aTargetPos | Position of the corner of the menu pane identified by aTargetType. |
aMenuPaneTitle | The menu pane's title. |
aMinWidth | Minimum width of the menu's title. |
aTargetType | The corner of the menu pane to which aTargetPos relates. The default is the top left corner. Possible: EPopupTargetTopLeft, EPopupTargetTopRight, , EPopupTargetBottomRight. |