0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 00:33:02 +03:00
LimeReport/limereport/items/lrsvgitem.h

57 lines
1.9 KiB
C
Raw Permalink Normal View History

2020-03-18 13:34:11 +03:00
#ifndef SVGITEM_H
#define SVGITEM_H
2020-03-19 20:09:35 +03:00
#include "lreditableimageitemintf.h"
#include "lritemdesignintf.h"
2020-03-18 13:34:11 +03:00
namespace LimeReport {
class SVGItem: public ItemDesignIntf, public IEditableImageItem {
2020-03-18 13:34:11 +03:00
Q_OBJECT
Q_PROPERTY(QString resourcePath READ resourcePath WRITE setResourcePath)
Q_PROPERTY(QByteArray image READ image WRITE setImage)
Q_PROPERTY(QString datasource READ datasource WRITE setDatasource)
Q_PROPERTY(QString field READ field WRITE setField)
Q_PROPERTY(int opacity READ opacity WRITE setOpacity)
Q_PROPERTY(QString variable READ variable WRITE setVariable)
Q_PROPERTY(bool watermark READ isWatermark WRITE setWatermark)
public:
SVGItem(QObject* owner, QGraphicsItem* parent);
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
2020-03-18 13:34:11 +03:00
2020-03-19 20:09:35 +03:00
QByteArray imageAsByteArray() const;
void setImageAsByteArray(QByteArray image);
QString fileFilter() const;
void preparePopUpMenu(QMenu& menu);
void processPopUpAction(QAction* action);
2020-03-19 20:09:35 +03:00
QWidget* defaultEditor();
2020-03-18 13:34:11 +03:00
QString resourcePath() const;
void setResourcePath(const QString& resourcePath);
2020-03-18 13:34:11 +03:00
QByteArray image() const;
void setImage(const QByteArray& image);
2020-03-18 13:34:11 +03:00
QString datasource() const;
void setDatasource(const QString& datasource);
2020-03-18 13:34:11 +03:00
QString field() const;
void setField(const QString& field);
2020-03-18 13:34:11 +03:00
QString variable() const;
void setVariable(const QString& variable);
2021-02-20 15:40:13 +03:00
bool isNeedUpdateSize(RenderPass) const;
2020-03-18 13:34:11 +03:00
protected:
BaseDesignIntf* createSameTypeItem(QObject* owner, QGraphicsItem* parent);
void updateItemSize(DataSourceManager* dataManager, RenderPass pass, int maxHeight);
2020-03-18 13:34:11 +03:00
QByteArray imageFromResource(QString resourcePath);
2020-03-18 13:34:11 +03:00
private:
QString m_resourcePath;
QByteArray m_image;
QString m_datasource;
QString m_field;
QString m_variable;
2020-03-19 20:09:35 +03:00
public:
2020-03-18 13:34:11 +03:00
};
} // namespace LimeReport
#endif // SVGITEM_H