00001 /* 00002 * ============================================================================ 00003 * Name : AknListBoxLayoutDecorator.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Decorates a descriptor array to include tabs suitable for list box formatting 00008 * 00009 * Version: 00010 * 00011 * Copyright © 2002 Nokia Corporation. 00012 * This material, including documentation and any related 00013 * computer programs, is protected by copyright controlled by 00014 * Nokia Corporation. All rights are reserved. Copying, 00015 * including reproducing, storing, adapting or translating, any 00016 * or all of this material requires the prior written consent of 00017 * Nokia Corporation. This material also contains confidential 00018 * information which may not be disclosed to others without the 00019 * prior written consent of Nokia Corporation. 00020 * ============================================================================ 00021 */ 00022 // AknListboxLayoutDecorator.h 00023 // 00024 // 1999-2001 Symbian Ltd. All rights reserved. 00025 // 00026 00027 #ifndef __AKNLISTBOXLAYOUTDECORATOR_H__ 00028 #define __AKNLISTBOXLAYOUTDECORATOR_H__ 00029 00030 #include <bamdesca.h> 00031 00032 NONSHARABLE_CLASS(CAknListBoxLayoutDecorator) : public CBase, public MDesCArray 00033 { 00034 public: 00038 IMPORT_C static CAknListBoxLayoutDecorator* NewL(); 00039 00043 IMPORT_C static CAknListBoxLayoutDecorator* NewLC(); 00044 00048 IMPORT_C ~CAknListBoxLayoutDecorator(); 00049 00055 IMPORT_C const MDesCArray* Array() const; 00056 00062 IMPORT_C void SetArray(const MDesCArray* aArray); 00063 00070 IMPORT_C void SetLeadingDecorationTextL(const TDesC& aText); 00071 00078 IMPORT_C void SetTrailingDecorationTextL(const TDesC& aText); 00079 00086 IMPORT_C void SetActive(const TBool aActive); 00087 public: 00088 // from MDesCArray 00094 IMPORT_C virtual TInt MdcaCount() const; 00095 00103 IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const; 00104 private: // Reserved for future expansion 00108 IMPORT_C virtual void CAknListBoxLayoutDecorator_Reserved1(); 00109 00113 IMPORT_C virtual void CAknListBoxLayoutDecorator_Reserved1() const; 00114 protected: 00118 CAknListBoxLayoutDecorator(); 00122 void ConstructL(); 00123 protected: 00124 enum {KSafeSizeOfDescriptor = 32}; 00125 private: 00126 // owned 00127 mutable HBufC* iLastGeneratedTextValue; 00128 // not owned: 00129 const MDesCArray* iArray; 00130 TPtrC iLeadingDecorationText; 00131 TPtrC iTrailingDecorationText; 00132 TBool iActive; 00133 private: 00134 __DECLARE_TEST; 00135 }; 00136 00137 //__AKNLISTBOXLAYOUTDECORATOR_H__ 00138 #endif