00001 /* 00002 * ============================================================================ 00003 * Name : AknPopupFieldList.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Version: 00008 * 00009 * Copyright © 2002 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================ 00019 */ 00020 // AknPopupFieldList.h 00021 // 00022 // Copyright (c) 2001 Symbian Ltd. All rights reserved. 00023 // 00024 00025 #if !defined(__AKNPOPUPFIELDLIST_H__) 00026 #define __AKNPOPUPFIELDLIST_H__ 00027 00028 #include "AknPopup.h" 00029 00030 class MAknQueryValue; 00031 class TAknDesCArrayDecorator; 00032 class CEikButtonGroupContainer; 00033 00037 class CAknPopupFieldList : public CEikBorderedControl, public MEikCommandObserver, public MEikListBoxObserver, public MCoeControlObserver 00038 { 00039 public: 00040 IMPORT_C static CAknPopupFieldList* NewL(CEikListBox* aListBox, TInt aCbaResource); 00041 IMPORT_C void SetQueryValue(MAknQueryValue* aValue); 00042 IMPORT_C void SetDecorator(TAknDesCArrayDecorator* aDecorator); 00043 // From CCoeControl 00044 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00045 protected: 00046 // From MEikCommandObserver 00047 IMPORT_C void ProcessCommandL(TInt aCommandId); 00048 // From MEikListBoxObserver 00049 IMPORT_C void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); 00050 // From MCoeControlObserver 00051 IMPORT_C void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); 00052 protected: 00053 IMPORT_C CAknPopupFieldList(); 00054 IMPORT_C ~CAknPopupFieldList(); 00055 IMPORT_C void ConstructL(CEikListBox* aListBox, TInt aCbaResource); 00056 IMPORT_C virtual void AttemptExitL(TBool aAccept); 00057 IMPORT_C CEikListBox* ListBox() const; 00058 protected: // from MObjectProvider 00059 IMPORT_C TTypeUid::Ptr MopSupplyObject(TTypeUid aId); 00060 private: 00064 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00065 private: 00066 // the following members are owned 00067 CEikButtonGroupContainer* iPopoutCba; 00068 // the following members are not owned 00069 MAknQueryValue* iValue; 00070 TAknDesCArrayDecorator* iDecorator; 00071 CEikListBox* iListBox; 00072 00073 TInt iSpare[2]; 00074 00075 __DECLARE_TEST; 00076 }; 00077 00078 #endif