#ifndef SVGITEM_H #define SVGITEM_H #include "lritemdesignintf.h" #include "lreditableimageitemintf.h" namespace LimeReport{ class SVGItem: public ItemDesignIntf, public IEditableImageItem { 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); QByteArray imageAsByteArray() const; void setImageAsByteArray(QByteArray image); QString fileFilter() const; void preparePopUpMenu(QMenu &menu); void processPopUpAction(QAction *action); QWidget* defaultEditor(); QString resourcePath() const; void setResourcePath(const QString &resourcePath); QByteArray image() const; void setImage(const QByteArray &image); QString datasource() const; void setDatasource(const QString &datasource); QString field() const; void setField(const QString &field); QString variable() const; void setVariable(const QString &variable); bool isNeedUpdateSize(RenderPass) const; protected: BaseDesignIntf *createSameTypeItem(QObject *owner, QGraphicsItem *parent); void updateItemSize(DataSourceManager *dataManager, RenderPass pass, int maxHeight); QByteArray imageFromResource(QString resourcePath); private: QString m_resourcePath; QByteArray m_image; QString m_datasource; QString m_field; QString m_variable; public: }; } // namespace LimeReport #endif // SVGITEM_H