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(__AKNQUERYVALUETEXT_H__)
00026 #define __AKNQUERYVALUETEXT_H__
00027
00028 #include <bamdesca.h>
00029 #include <eikdialg.h>
00030 #include "AknQueryValue.h"
00031
00032 class CAknQueryValueTextArray;
00033
00040 NONSHARABLE_CLASS(CAknQueryValueText) : public CAknQueryValue
00041 {
00042 public:
00046 IMPORT_C static CAknQueryValueText* NewL();
00047
00051 IMPORT_C static CAknQueryValueText* NewLC();
00052
00053 IMPORT_C virtual ~CAknQueryValueText();
00054
00060 IMPORT_C void SetArrayL(const CAknQueryValueTextArray* aArray);
00061
00068 IMPORT_C void SetQueryCaption(TInt aResourceId);
00069
00076 IMPORT_C HBufC* Value() const;
00077
00078 public:
00079 IMPORT_C virtual const MDesCArray* MdcArray() const;
00080 IMPORT_C virtual HBufC* CurrentValueTextLC();
00081 IMPORT_C virtual TInt CurrentValueIndex() const;
00082 IMPORT_C virtual void SetCurrentValueIndex(const TInt aIndex);
00083 IMPORT_C virtual TBool CreateEditorL();
00084
00085 protected:
00086 CAknQueryValueText();
00087
00092 void ConstructL();
00093
00099 void CalculateCurrentIndex();
00100
00106 virtual void AppendValueIfNewL();
00107
00108 private:
00109 IMPORT_C void Reserved_MAknQueryValue();
00110
00111 private:
00112
00113 TInt iQueryCaptionId;
00114 HBufC* iText;
00115 TInt iCurrentIndex;
00116
00117 const CAknQueryValueTextArray* iArray;
00118 };
00119
00120
00125 NONSHARABLE_CLASS(CAknQueryValueTextArray) : public CBase, public MDesCArray
00126 {
00127 public:
00132 typedef CDesCArray TextArray;
00133
00134 enum {KSafeSizeOfDescriptorForTextFormat = 32};
00135
00136 public:
00141 IMPORT_C static CAknQueryValueTextArray* NewL();
00142
00147 IMPORT_C static CAknQueryValueTextArray* NewLC();
00148
00149 IMPORT_C ~CAknQueryValueTextArray();
00150
00158 IMPORT_C void SetArray(TextArray& aArray);
00159
00167 IMPORT_C TextArray* Array() const;
00168
00176 #ifdef __WINS__
00177 IMPORT_C const TInt FormattedStringSize() const;
00178 #else
00179 IMPORT_C TInt FormattedStringSize() const;
00180 #endif // __WINS__
00181
00182 public:
00183
00188 IMPORT_C virtual TInt MdcaCount() const;
00189
00196 IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const;
00197
00198 protected:
00199 CAknQueryValueTextArray();
00200
00205 void ConstructL();
00206
00207 private:
00208
00209 TextArray* iArray;
00210 TInt iFormattedStringSize;
00211 };
00212
00213 #endif // __AKNQUERYVALUETEXT_H__
00214