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(__AKNQUERYVALUEDATE_H__)
00026 #define __AKNQUERYVALUEDATE_H__
00027
00028 #include <bamdesca.h>
00029 #include <eikdialg.h>
00030 #include "AknQueryValue.h"
00031
00032 class CAknQueryValueDateArray;
00033
00040 NONSHARABLE_CLASS(CAknQueryValueDate) : public CAknQueryValue
00041 {
00042 public:
00047 IMPORT_C static CAknQueryValueDate* NewL();
00048
00053 IMPORT_C static CAknQueryValueDate* NewLC();
00054
00059 IMPORT_C virtual ~CAknQueryValueDate();
00060
00066 IMPORT_C void SetArrayL(const CAknQueryValueDateArray* aArray);
00067
00074 IMPORT_C void SetQueryCaption(TInt aResourceId);
00075
00080 IMPORT_C TTime Value() const;
00081
00082 public:
00083 IMPORT_C virtual const MDesCArray* MdcArray() const;
00084 IMPORT_C virtual HBufC* CurrentValueTextLC();
00085 IMPORT_C virtual TInt CurrentValueIndex() const;
00086 IMPORT_C virtual void SetCurrentValueIndex(const TInt aIndex);
00087 IMPORT_C virtual TBool CreateEditorL();
00088
00089 protected:
00090 CAknQueryValueDate();
00091
00096 void ConstructL();
00097
00103 void CalculateCurrentIndex();
00104
00105 virtual void AppendValueIfNewL();
00106
00107 private:
00108 IMPORT_C void Reserved_MAknQueryValue();
00109
00110 private:
00111
00112 TInt iQueryCaptionId;
00113 TTime iTime;
00114 TInt iCurrentIndex;
00115
00116 const CAknQueryValueDateArray* iArray;
00117 };
00118
00119
00124 NONSHARABLE_CLASS(CAknQueryValueDateArray) : public CBase, public MDesCArray
00125 {
00126 public:
00131 typedef CArrayFix<TTime> TimeArray;
00132
00133
00134 enum {KSafeSizeOfDescriptorForTTimeFormat = 128};
00135
00136 public:
00141 IMPORT_C static CAknQueryValueDateArray* NewL(TInt aResourceId);
00142
00147 IMPORT_C static CAknQueryValueDateArray* NewLC(TInt aResourceId);
00148
00149 IMPORT_C ~CAknQueryValueDateArray();
00150
00158 IMPORT_C void SetArray(TimeArray& aArray);
00159
00167 IMPORT_C TimeArray* Array() const;
00168
00174 IMPORT_C const HBufC* FormatString() const;
00175
00176 #ifdef __WINS__
00177
00184 IMPORT_C const TInt FormattedStringSize() const;
00185 #else
00186
00190 IMPORT_C TInt FormattedStringSize() const;
00191 #endif // __WINS__
00192
00193 public:
00194
00199 IMPORT_C virtual TInt MdcaCount() const;
00200
00209 IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const;
00210
00211 protected:
00212 CAknQueryValueDateArray();
00213
00218 void ConstructL(TInt aResourceId);
00219
00220 private:
00221
00222 HBufC* iLastGeneratedTextValue;
00223 HBufC* iFormatString;
00224
00225 TimeArray* iArray;
00226 TInt iFormattedStringSize;
00227 };
00228
00229 #endif // __AKNQUERYVALUEDATE_H__
00230