00001 // EIKBTGRP.H 00002 // 00003 // Copyright (c) 1998 Symbian Ltd. All rights reserved. 00004 // 00005 00006 #if !defined(__EIKBTGRP_H__) 00007 #define __EIKBTGRP_H__ 00008 00009 #if !defined(__E32STD_H__) 00010 #include <e32std.h> 00011 #endif 00012 00013 class CCoeControl; 00014 class CEikCommandButton; 00015 class CFbsBitmap; 00016 #start_since SINCE_3_1_SDK 00017 class MEikCommandObserver; 00018 #end_since SINCE_3_1_SDK 00019 00023 class MEikButtonGroup 00024 { 00025 public: 00026 void Release(); 00027 virtual void SetCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0; 00028 virtual void SetCommandL(TInt aPosition,TInt aResourceId)=0; 00029 virtual void SetCommandSetL(TInt aResourceId)=0; 00030 virtual void AddCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0; 00031 virtual void AddCommandToStackL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0; 00032 virtual void AddCommandToStackL(TInt aPosition,TInt aResourceId)=0; 00033 virtual void AddCommandSetToStackL(TInt aResourceId)=0; 00034 virtual void SetDefaultCommand(TInt aCommandId)=0; 00035 virtual TSize CalcMinimumSizeL(TInt aResourceId)=0; 00036 virtual void RemoveCommandFromStack(TInt aPosition,TInt aCommandId)=0; 00037 virtual TInt CommandPos(TInt aCommandId) const=0; 00038 virtual void DimCommand(TInt aCommandId,TBool aDimmed)=0; 00039 virtual TBool IsCommandDimmed(TInt aCommandId) const=0; 00040 virtual void MakeCommandVisible(TInt aCommandId,TBool aVisible)=0; 00041 virtual TBool IsCommandVisible(TInt aCommandId) const=0; 00042 IMPORT_C virtual void AnimateCommand(TInt aCommandId); 00043 virtual CCoeControl* AsControl()=0; 00044 virtual const CCoeControl* AsControl() const=0; 00045 // The following methods are only needed for external button groups. 00046 virtual void SetBoundingRect(const TRect& aBoundingRect)=0; 00047 virtual void ReduceRect(TRect& aBoundingRect) const=0; 00048 // 00049 virtual CCoeControl* GroupControlById(TInt aCommandId) const=0; 00050 virtual CEikCommandButton* GroupControlAsButton(TInt aCommandId) const=0; 00051 virtual TInt CommandId(TInt aCommandPos) const=0; 00052 virtual TInt ButtonCount() const=0; 00053 virtual TUint ButtonGroupFlags() const=0; 00054 00055 #start_since SINCE_3_1_SDK 00056 00059 virtual void SetMSKCommandObserver(MEikCommandObserver* aCommandObserver)=0; 00063 virtual void DimCommandByPosition(TInt aPosition,TBool aDimmed)=0; 00067 virtual TBool IsCommandDimmedByPosition(TInt aPosition) const=0; 00071 virtual void MakeCommandVisibleByPosition(TInt aPosition,TBool aVisible)=0; 00075 virtual TBool IsCommandVisibleByPosition(TInt aPosition) const=0; 00079 virtual void AnimateCommandByPosition(TInt aPosition)=0; 00080 #end_since SINCE_3_1_SDK 00081 private: 00082 IMPORT_C void Reserved_1(); 00083 }; 00084 00085 00091 class MEikEnhancedButtonGroup : public MEikButtonGroup 00092 { 00093 public: 00099 IMPORT_C virtual void OfferCommandListL(const RArray<TInt>& aCommandList)=0; 00100 00106 IMPORT_C virtual void OfferCommandListL(const TInt aResourceId)=0; 00107 00114 IMPORT_C virtual TBool IsCommandInGroup(const TInt aCommandId) const=0; 00115 00122 IMPORT_C virtual void ReplaceCommand(const TInt aCommandId, const TInt aResourceId)=0; 00123 }; 00124 00125 #endif