diff -r 7516d6d86cf5 -r ed14f46c0e55 src/hbwidgets/widgets/hbdatetimepicker_p.h --- a/src/hbwidgets/widgets/hbdatetimepicker_p.h Mon Oct 04 17:49:30 2010 +0300 +++ b/src/hbwidgets/widgets/hbdatetimepicker_p.h Mon Oct 18 18:23:13 2010 +0300 @@ -27,20 +27,22 @@ #define HBDATETIMEPICKER_P_H #include "hbwidget_p.h" -#include "hbtumbleview.h" #include "hbdatetimepicker.h" - +#include "hbdatepickerview_p.h" #include "hbextendedlocale.h" #include -#include +#include #include #include #include #include +#include -#define VIEWER HbTumbleView +#include "hbstyleframeprimitivedata.h" +#include "hbstyletextprimitivedata.h" +#define VIEWER HbDatePickerView #define HBDATETIMEPICKER_TIME_MIN QTime(0, 0, 0, 0) #define HBDATETIMEPICKER_TIME_MAX QTime(23, 59, 59, 999) @@ -100,11 +102,34 @@ const SectionNode §ionNode(int index) const; QString mDisplayFormat; + Sections mDisplaySections; QVector mSectionNodes; QStringList mSeparators; }; +///////////////////////HbDatePickerViewLabel////////////////////////// + +class HbDatePickerViewLabel : public HbWidget +{ + Q_OBJECT + +public: + HbDatePickerViewLabel(QGraphicsItem *parent = 0); + HbDatePickerViewLabel(const QString &displayText, QGraphicsItem *parent = 0); + + void initPrimitiveData(HbStylePrimitiveData *primitiveData, const QGraphicsObject *primitive); + + void createPrimitives(); + +public slots: + void updatePrimitives(); + +private: + QGraphicsObject *mTextItem; +}; +//////////////////////////////////////////////// + class HbDateTimePickerPrivate : public HbWidgetPrivate { Q_DECLARE_PUBLIC(HbDateTimePicker) @@ -116,7 +141,7 @@ void init(QVariant::Type type = QVariant::Date); QString localeDateTimeFormat(const QVariant::Type &mode); bool isFormatValid(const QString &newFormat); - void parseDisplayFormat(const QString &format); + void processDisplaySections(); void rearrangeTumbleViews(); void makeConnections(); void removeConnections(); @@ -131,6 +156,8 @@ void setDateTime(const QDateTime &newDateTime); void setMinimumDateTime(const QDateTime &newMinDateTime); void setMaximumDateTime(const QDateTime &newMaxDateTime); + void postFormatEvent(); + void processFormatEvent(); //helpers void setYearRange(int start,int end); @@ -211,8 +238,9 @@ QDateTime mMaximumDate; QVariant::Type mDateTimeMode; - QGraphicsLinearLayout *mLayout; + QGraphicsGridLayout *mLayout; QString mFormat; + int mFormatEventType; HbDateTimeParser mParser; QList mDisplaySections; @@ -225,14 +253,22 @@ bool mIs24HourFormat; bool mIsTwoDigitYearFormat; - HbExtendedLocale mLocale; + HbExtendedLocale mLocale; + HbWidget *mContent; + QHash mIntervals; //graphics items/style items - QGraphicsItem *mBackground; - QGraphicsItem *mFrame; - HbWidget *mContent; - QHash mIntervals; - QGraphicsItem *mHighlight; + QGraphicsObject *mBackground; + QGraphicsObject *mFrame; + QGraphicsObject *mHighlight; + + QPointer mLabelDay; + QPointer mLabelMonth; + QPointer mLabelYear; + QPointer mLabelHour; + QPointer mLabelMinute; + QPointer mLabelSecond; + QPointer mLastAdded; }; #endif //HBDATETIMEPICKER_P_H