00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
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:
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:
00106 IMPORT_C void Reserved_MAknQueryValue();
00107
00108 private:
00109
00110 TInt iQueryCaptionId;
00111 HBufC* iText;
00112 TInt iCurrentIndex;
00113
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 #endif // __WINS__
00178
00179 public:
00180
00185 IMPORT_C virtual TInt MdcaCount() const;
00186
00193 IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const;
00194
00195 protected:
00196 CAknQueryValuePhoneArray();
00197
00202 void ConstructL();
00203
00204 private:
00205
00206 TextArray* iArray;
00207 TInt iFormattedStringSize;
00208 };
00209
00210 #endif // __AKNQUERYVALUEPHONE_H__
00211