Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 * Copyright (c) 2000-2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Uikon legacy button that launches a menu when activated
19 #if !defined(__EIKMNBUT_H__)
20 #define __EIKMNBUT_H__
22 #if !defined(__EIKMOBS_H__)
26 #if !defined(__EIKCMBUT_H__)
33 * This class implements a command button that, when pressed, raises a Menu pane.
35 * This class does NOT implement S60 look-and-feel and is not skinned.
40 class CEikMenuButton : public CEikCommandButton, private MEikMenuObserver
46 IMPORT_C CEikMenuButton();
51 IMPORT_C ~CEikMenuButton();
54 * 2nd phase constructor using a MNBUT resource struct
56 * @param aReader A constructed resource reader.
58 IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
61 * Launch the related menu pane
63 * @param aObserver Mandatory supplied menu observer pointer.
65 IMPORT_C void LaunchPopupMenuL(MEikMenuObserver* aObserver);
68 * Set the menu pane id to be launched when the control is activated.
70 * @param aMenuPaneId Resource ID of the menu pane to be launched
72 IMPORT_C void SetMenuPaneId(TInt aMenuPaneId);
79 * Serialize the state of the control to the given stream
81 * @param aWriteStream Stream to write to
83 IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
85 public: // from CEikButtonBase
88 * Triggers the change of appearance of the button that is associated with the button being pressed
90 IMPORT_C void Animate();
92 public: // From CCoeControl
97 * Framework method called when a pointer event is found to be within this control's boundaries.
98 * The default implementation causes the associated menu to be presented to the screen.
100 * @param aPointerEvent Pointer event to process
102 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
107 * From MEikCommandObserver
109 * Framework method called to processs a command ID
111 * @param aCommandId ID of the command to respond to.
113 IMPORT_C void ProcessCommandL(TInt aCommandId);
116 * From MEikMenuObserver
118 * Called by the Uikon framework to handle the emphasising or de-emphasising of
121 * CEikMenuBar objects call this on their observer to emphasise
122 * themselves when they are displayed, and de-emphasise themselves when they
125 * @param aMenuControl The menu control
126 * @param aEmphasis ETrue to emphasize the menu, EFalse otherwise
128 IMPORT_C void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
131 void ClosePopupMenu();
132 void DoLaunchPopupMenuL();
137 IMPORT_C void* ExtensionInterface( TUid aInterface );
141 * The object to receive the menu events
144 MEikMenuObserver* iMenuObserver;
147 * Holds a menu pane object to be popped up
150 CEikMenuPane* iMenuPopup;
153 * Resource ID of the menu pane