00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #if !defined(__EIKMNBUT_H__)
00021 #define __EIKMNBUT_H__
00022
00023 #if !defined(__EIKMOBS_H__)
00024 #include <eikmobs.h>
00025 #endif
00026
00027 #if !defined(__EIKCMBUT_H__)
00028 #include <eikcmbut.h>
00029 #endif
00030
00031 class CEikMenuPane;
00032
00041 class CEikMenuButton : public CEikCommandButton, private MEikMenuObserver
00042 {
00043 public:
00047 IMPORT_C CEikMenuButton();
00048
00052 IMPORT_C ~CEikMenuButton();
00053
00059 IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
00060
00066 IMPORT_C void LaunchPopupMenuL(MEikMenuObserver* aObserver);
00067
00073 IMPORT_C void SetMenuPaneId(TInt aMenuPaneId);
00074
00075 protected:
00076
00084 IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
00085
00086 public:
00087
00091 IMPORT_C void Animate();
00092
00093 public:
00094
00103 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00104
00105 private:
00106
00114 IMPORT_C void ProcessCommandL(TInt aCommandId);
00115
00129 IMPORT_C void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
00130
00131 private:
00132 void ClosePopupMenu();
00133 void DoLaunchPopupMenuL();
00134 private:
00138 IMPORT_C void* ExtensionInterface( TUid aInterface );
00139
00140 private:
00145 MEikMenuObserver* iMenuObserver;
00146
00151 CEikMenuPane* iMenuPopup;
00152
00156 TInt iMenuPaneId;
00157
00158 TInt iSpare;
00159 };
00160
00161 #endif