00001 /* 00002 * ============================================================================ 00003 * Name : AknSettingPage.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Pure virtual class for a common ancestor for setting pages with listboxes 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 #ifndef __AKNLISTBOXSETTINGPAGE_H__ 00022 #define __AKNLISTBOXSETTINGPAGE_H__ 00023 00024 #include <aknsettingpage.h> 00025 00026 #include <aknutils.h> 00027 #include <eikslb.h> 00028 #include <eiklbo.h> 00029 #include <eiklbx.h> 00030 #include <eikclb.h> 00031 #include <eikclbd.h> 00032 #include <eiktxlbm.h> 00033 #include <coecobs.h> 00034 #include <aknlists.h> 00035 00044 class CAknListBoxSettingPage : public CAknSettingPage, public MEikListBoxObserver 00045 { 00046 00047 public: 00052 virtual CAknSetStyleListBox* ListBoxControl() const = 0; 00053 00057 IMPORT_C virtual void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); 00058 00059 protected: 00060 00066 CAknListBoxSettingPage( TInt aSettingPageResourceId ); 00067 00097 CAknListBoxSettingPage( const TDesC* aSettingTitleText, 00098 TInt aSettingNumber, 00099 TInt aControlType, 00100 TInt aEditorResourceId, 00101 TInt aSettingPageResourceId = 0 ); 00102 00103 00109 IMPORT_C void CheckAndSetDataValidity(); 00110 00114 IMPORT_C void UpdateCbaL(); 00115 00116 00122 IMPORT_C void SizeChanged(); 00123 00130 IMPORT_C void Draw(const TRect& aRect) const; 00131 00132 // 00133 // New methods in this class 00134 // 00135 00142 static TBool FocusToSelectedItem(); 00143 00150 static TBool FocusToFirstItem(); 00151 00152 #start_since SINCE_3_1_SDK 00153 00160 public: 00161 static void CreateIconAndAddToArrayL( CArrayPtr<CGulIcon>*& aIconArray, 00162 const TAknsItemID& aId, 00163 const TInt aColorIndex, 00164 const TDesC& aBmpFile, 00165 const TInt32 aBmp, 00166 const TInt32 aBmpM ); 00167 #end_since SINCE_3_1_SDK 00168 private: 00171 IMPORT_C virtual void CAknListBoxSettingPage_Reserved_1(); 00172 00173 protected: 00174 00179 TAknLayoutRect iAreaExtension; 00180 }; 00181 00182 #endif