ImagingTools Core SDK
IReportPage.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtGui/QColor>
7
8// ACF includes
9#include <iser/ISerializable.h>
10#include <i2d/IObject2d.h>
11#include <i2d/CVector2d.h>
12#include <i2d/CLine2d.h>
13
14
15namespace imtreport
16{
17
18
19class IObject2d;
20
21
26class IReportPage: virtual public iser::ISerializable
27{
28public:
29 typedef QList<QByteArray> ElementIds;
30
34 virtual ElementIds GetPageElements() const = 0;
35
39 virtual i2d::IObject2d* GetPageElement(const QByteArray& elementId) const = 0;
40
44 virtual QByteArray AddText(
45 const QString& text,
46 const i2d::CVector2d& position,
47 const double textWidth = -1.0,
48 const Qt::Alignment alignment = Qt::AlignLeft) = 0;
49
53 virtual QByteArray AddImage(const QString& imagePath, const i2d::CRectangle &rect) = 0;
54
58 virtual QByteArray AddLine(const i2d::CLine2d& line) = 0;
59
63 virtual QByteArray AddRectangle(const i2d::CRectangle& rect, const QColor& fillColor = Qt::transparent) = 0;
64
68 virtual QByteArray AddPolygone(const QVector<i2d::CVector2d>& points, const QColor& fillColor = Qt::transparent) = 0;
69
73 virtual QByteArray AddTextTable(const i2d::CRectangle& rect, int rowCount, int columnCount) = 0;
74
78 virtual bool RemovePageElement(const QByteArray& elementId) = 0;
79};
80
81
82} // namespace imtreport
83
84
virtual QByteArray AddLine(const i2d::CLine2d &line)=0
virtual i2d::IObject2d * GetPageElement(const QByteArray &elementId) const =0
virtual QByteArray AddTextTable(const i2d::CRectangle &rect, int rowCount, int columnCount)=0
virtual QByteArray AddRectangle(const i2d::CRectangle &rect, const QColor &fillColor=Qt::transparent)=0
virtual ElementIds GetPageElements() const =0
virtual bool RemovePageElement(const QByteArray &elementId)=0
virtual QByteArray AddImage(const QString &imagePath, const i2d::CRectangle &rect)=0
virtual QByteArray AddPolygone(const QVector< i2d::CVector2d > &points, const QColor &fillColor=Qt::transparent)=0
virtual QByteArray AddText(const QString &text, const i2d::CVector2d &position, const double textWidth=-1.0, const Qt::Alignment alignment=Qt::AlignLeft)=0