00001 /* 00002 * ============================================================================== 00003 * Name : AknColourSelectionGrid.h 00004 * Part of : Avkon 00005 * Interface : 00006 * Description : 00007 * This file defines the CAknColourSelectionGrid class 00008 * Version : 00009 * 00010 * Copyright (c) 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 00023 #ifndef __AKNCOLOURSELECTIONGRID_H 00024 #define __AKNCOLOURSELECTIONGRID_H 00025 00026 // INCLUDES 00027 #include <e32base.h> 00028 #include <AknDialog.h> 00029 #include <eiklbo.h> 00030 #include <coecobs.h> 00031 00032 // FORWARD DECLARATIONS 00033 class CColorGrid; 00034 class CNoneField; 00035 class CAknGrid; 00036 class CAknColourSelectionGridExtension; 00037 00038 // CLASS DECLARATION 00039 00070 NONSHARABLE_CLASS(CAknColourSelectionGrid) : public CAknDialog, public MEikListBoxObserver 00071 { 00072 public: // Constructors and destructor 00073 00093 IMPORT_C static CAknColourSelectionGrid* NewL( 00094 CArrayFixFlat<TRgb> *aColours, 00095 TBool aNoneExist, 00096 TBool& aNoneChosen, 00097 TRgb& aColourChosen); 00098 00105 IMPORT_C TBool ExecuteLD(); 00106 00107 00108 private: // Constructor 00112 CAknColourSelectionGrid(); 00113 00114 00115 public: // Destructor 00119 IMPORT_C ~CAknColourSelectionGrid(); 00120 00121 00122 00123 private: // New functions 00124 00131 CAknGrid *Grid() const; 00132 00133 00134 private: // Functions from base classes 00145 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) ; 00146 00156 TBool OkToExitL(TInt aKeycode); 00157 00162 void PreLayoutDynInitL(); 00167 void PostLayoutDynInitL(); 00174 SEikControlInfo CreateCustomControlL(TInt aControlType); 00175 00181 virtual void SetSizeAndPosition(const TSize& aSize); 00182 00187 virtual void ActivateL(); 00188 00189 00196 void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); 00197 00198 public: 00205 void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); 00206 00212 void HandleDialogPageEventL(TInt aEventID); 00213 00214 private: // Data 00215 CColorGrid* iGrid; 00216 CNoneField* iNoneBox; 00217 TInt iIndex; 00218 CFbsBitmap* iBitmap; 00219 TBool iNoneExist; 00220 TBool* iNoneChosen; 00221 TRgb* iColourChosen; 00222 CArrayFixFlat<TRgb>* iColours; 00223 TInt iWsBufferRequestID; 00224 CAknColourSelectionGridExtension *iExtension; 00225 }; 00226 00227 // __AKNCOLOURSELECTIONGRID_H 00228 #endif