00001 /* 00002 * ============================================================================ 00003 * Name : AknQueryValuePhone.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 // AknQueryValuePhone.h 00021 // 00022 // Copyright (c) 2001 Symbian Ltd. All rights reserved. 00023 // 00024 00025 #if !defined(__AKNQUERYVALUEPHONE_H__) 00026 #define __AKNQUERYVALUEPHONE_H__ 00027 00028 #include <bamdesca.h> 00029 #include <eikdialg.h> 00030 #include "AknQueryValue.h" 00031 00032 class CAknQueryValuePhoneArray; 00033 00040 NONSHARABLE_CLASS(CAknQueryValuePhone) : public CAknQueryValue 00041 { 00042 public: 00047 IMPORT_C static CAknQueryValuePhone* NewL(); 00048 00053 IMPORT_C static CAknQueryValuePhone* NewLC(); 00054 00055 IMPORT_C virtual ~CAknQueryValuePhone(); 00056 00062 IMPORT_C void SetArrayL(const CAknQueryValuePhoneArray* aArray); 00063 00070 IMPORT_C void SetQueryCaption(TInt aResourceId); 00071 00078 IMPORT_C HBufC* Value() const; 00079 00080 public: // from MAknQueryValue 00081 IMPORT_C virtual const MDesCArray* MdcArray() const; 00082 IMPORT_C virtual HBufC* CurrentValueTextLC(); 00083 IMPORT_C virtual TInt CurrentValueIndex() const; 00084 IMPORT_C virtual void SetCurrentValueIndex(const TInt aIndex); 00085 IMPORT_C virtual TBool CreateEditorL(); 00086 00087 protected: 00088 CAknQueryValuePhone(); 00089 00094 void ConstructL(); 00095 00101 void CalculateCurrentIndex(); 00102 00103 virtual void AppendValueIfNewL(); 00104 00105 private: // from MAknQueryValue 00106 IMPORT_C void Reserved_MAknQueryValue(); 00107 00108 private: 00109 // the following are member variables 00110 TInt iQueryCaptionId; 00111 HBufC* iText; 00112 TInt iCurrentIndex; 00113 // the following are not owned 00114 const CAknQueryValuePhoneArray* iArray; 00115 }; 00116 00117 00122 NONSHARABLE_CLASS(CAknQueryValuePhoneArray) : public CBase, public MDesCArray 00123 { 00124 public: 00129 typedef CDesCArray TextArray; 00130 00131 enum {KSafeSizeOfDescriptorForPhoneFormat = 64}; 00132 00133 public: 00138 IMPORT_C static CAknQueryValuePhoneArray* NewL(); 00139 00144 IMPORT_C static CAknQueryValuePhoneArray* NewLC(); 00145 00146 IMPORT_C ~CAknQueryValuePhoneArray(); 00147 00155 IMPORT_C void SetArray(TextArray& aArray); 00156 00164 IMPORT_C TextArray* Array() const; 00165 00173 #ifdef __WINS__ 00174 IMPORT_C const TInt FormattedStringSize() const; 00175 #else 00176 IMPORT_C TInt FormattedStringSize() const; 00177 // __WINS__ 00178 #endif 00179 00180 public: 00181 // from MDesCArray 00186 IMPORT_C virtual TInt MdcaCount() const; 00187 00194 IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const; 00195 00196 protected: 00197 CAknQueryValuePhoneArray(); 00198 00203 void ConstructL(); 00204 00205 private: 00206 // the following members are not owned 00207 TextArray* iArray; 00208 TInt iFormattedStringSize; 00209 }; 00210 00211 // __AKNQUERYVALUEPHONE_H__ 00212 #endif 00213