33 lines
837 B
C++
33 lines
837 B
C++
#ifndef TAGITEM_H
|
|
#define TAGITEM_H
|
|
|
|
#include "sqlitebackend.h"
|
|
|
|
#include <QGraphicsPixmapItem>
|
|
|
|
|
|
class TagItem : public QGraphicsSimpleTextItem
|
|
{
|
|
public:
|
|
TagItem(const Tag &tag);
|
|
TagItem() : valid(false) {};
|
|
|
|
enum { TagItemType = UserType + 1 };
|
|
int type() const override { return TagItemType; }
|
|
bool isValid() { return valid; }
|
|
void tagUpdated(const Tag &tag);
|
|
Tag tag() { return m_tag; }
|
|
|
|
virtual QRectF boundingRect() const override;
|
|
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
|
|
virtual QPainterPath shape() const override;
|
|
|
|
protected:
|
|
QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override;
|
|
|
|
private:
|
|
Tag m_tag;
|
|
bool valid;
|
|
};
|
|
|
|
#endif // TAGITEM_H
|