AknRadioButtonSettingPage.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name         : AknRadioButtonSettingPage.h
00004 *  Part of      : Avkon
00005 *
00006 *  Description:
00007 *         Support for Radio Button setting page 
00008 *  Version:
00009 *
00010 *  Copyright © 2002 Nokia Corporation.
00011 *  This material, including documentation and any related 
00012 *  computer programs, is protected by copyright controlled by 
00013 *  Nokia Corporation. All rights are reserved. Copying, 
00014 *  including reproducing, storing,  adapting or translating, any 
00015 *  or all of this material requires the prior written consent of 
00016 *  Nokia Corporation. This material also contains confidential 
00017 *  information which may not be disclosed to others without the 
00018 *  prior written consent of Nokia Corporation.
00019 * ============================================================================
00020 */
00021 
00022 #ifndef __AKNRADIOBUTTONSETTINGPAGE_H__
00023 #define __AKNRADIOBUTTONSETTINGPAGE_H__ 
00024 
00025 // For coecontrol
00026 #include <coecntrl.h>
00027 #include <eikdef.h>
00028 
00029 #include <aknlistboxsettingpage.h>
00030 
00031 class CAknRadioButtonSettingPageExtension;
00032 
00037 class CAknRadioButtonSettingPage : public CAknListBoxSettingPage
00038 {
00039 public:
00040         IMPORT_C CAknRadioButtonSettingPage(
00041                 TInt aResourceID, 
00042                 TInt& aCurrentSelectionIndex, 
00043                 const MDesCArray* aItemArray );
00073         IMPORT_C CAknRadioButtonSettingPage(    const TDesC* aSettingTitleText, 
00074                                                                 TInt aSettingNumber, 
00075                                                                 TInt aControlType,
00076                                                                 TInt aEditorResourceId, 
00077                                                                 TInt aSettingPageResourceId,
00078                                                                 TInt& aCurrentSelectionIndex, 
00079                                                                 const MDesCArray* aItemArray );
00080 
00085         IMPORT_C virtual void ConstructL();
00086 
00092         IMPORT_C CAknSetStyleListBox* ListBoxControl() const; 
00093 
00099         IMPORT_C virtual void HandleListBoxEventL(CEikListBox* aListBox,
00100                                  MEikListBoxObserver::TListBoxEvent aEventType);
00101 
00109         IMPORT_C void SetItemArrayAndSelectionL( const MDesCArray* aItemArray, TInt aPushed );
00110 
00117     IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00118     
00119     IMPORT_C void HandleResourceChange(TInt aType);
00120 
00121 protected:
00125         IMPORT_C virtual ~CAknRadioButtonSettingPage();
00126 
00130         IMPORT_C virtual void UpdateSettingL();
00131 
00135         IMPORT_C void DynamicInitL();
00136 
00142         IMPORT_C virtual void SelectCurrentItemL();
00143 
00144 private:
00149         void SetRadioButtonSelectionL( TInt aPushed );
00150 
00155         void GenerateInternalArrayAndGiveToListBoxL();
00156 
00157     void InitialiseRadioButtonBitmapsL();
00158 
00159 //
00160 // CoeControl Framework and reserved methods
00161 //
00162 protected:
00163 
00171         IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
00172 
00173 private: 
00177         IMPORT_C virtual void Reserved_2();
00178 
00179 private:
00183     IMPORT_C void* ExtensionInterface( TUid aInterface );
00184 
00188 private: 
00189         IMPORT_C virtual void CAknSettingPage_Reserved_1();
00190         IMPORT_C virtual void CAknSettingPage_Reserved_2();
00191 
00192 private:
00197         IMPORT_C virtual void CAknListBoxSettingPage_Reserved_1();
00198 
00199 
00200 private:
00201         // Back up copy of the selection index
00202         TInt iOldSelectionIndex;
00203         
00204         // Extension, replaces CDesCArrayFlat* iInternalItemArray
00205         CAknRadioButtonSettingPageExtension* iExtension;
00206 
00207         // The objects pointed to or referenced by these are not owned
00208         TInt& iCurrentSelectionIndex; 
00209         const MDesCArray* iItemArray; 
00210 
00211 };
00212 
00213 #endif 

Copyright © Nokia Corporation 2001-2007
Back to top