45 lines
1022 B
C++
45 lines
1022 B
C++
#ifndef PIC_DATE_ITEM_H
|
|
#define PIC_DATE_ITEM_H
|
|
|
|
#include "pictextitem.h"
|
|
#include <QDateTime>
|
|
#include <QTimer>
|
|
#include <QHash>
|
|
#include "ViewModels.h"
|
|
|
|
class PicDateItem : public PicTextItem
|
|
{
|
|
public:
|
|
PicDateItem(QGraphicsItem *parent = 0, QGraphicsScene *scene = 0, const SourceType type = SourceType::DATETIME);
|
|
virtual ~PicDateItem() {}
|
|
|
|
virtual QVariant source() override;
|
|
virtual void setSource(QVariant var) override;
|
|
|
|
void setModel(DateItemModel model);
|
|
|
|
const DateItemModel& model() const;
|
|
|
|
bool updateDatetimeStr();
|
|
|
|
virtual QRectF boundingRect() const override;
|
|
|
|
protected:
|
|
virtual void setCustomAttrs(const QXmlStreamAttributes& attrs) override;
|
|
|
|
virtual void saveCustomAttrs(QXmlStreamAttributes& attrs) override;
|
|
|
|
virtual QImage itemImage() override;
|
|
|
|
private:
|
|
|
|
QTimer m_timer;
|
|
|
|
DateItemModel m_model;
|
|
QString m_currDateTimeStr;
|
|
QString m_maxDateTimeStr;
|
|
QSize m_maxSize; // 缓存最长字符串的像素宽高
|
|
};
|
|
|
|
#endif // PIC_DATE_ITEM_H
|