9#include <ibase/TFactorisableContainer.h>
10#include <i2d/IObject2d.h>
13#include <imtreport/IReportPage.h>
14#include <imtreport/CGraphicsElementFactory.h>
22 virtual public IReportPage,
23 protected ibase::TFactorisableContainer<i2d::IObject2d>
26 typedef ibase::TFactorisableContainer<i2d::IObject2d> BaseClass;
31 virtual ElementIds GetPageElements()
const override;
32 virtual i2d::IObject2d* GetPageElement(
const QByteArray& elementId)
const override;
33 virtual QByteArray AddText(
const QString& text,
const i2d::CVector2d& position,
const double textWidth = -1.0,
const Qt::Alignment alignment = Qt::AlignLeft)
override;
34 virtual QByteArray AddImage(
const QString& imagePath,
const i2d::CRectangle& rect)
override;
35 virtual QByteArray AddLine(
const i2d::CLine2d& line)
override;
36 virtual QByteArray AddRectangle(
const i2d::CRectangle& rect,
const QColor& fillColor = Qt::transparent)
override;
37 virtual QByteArray AddPolygone(
const QVector<i2d::CVector2d>& points,
const QColor& fillColor = Qt::transparent)
override;
38 virtual QByteArray AddTextTable(
const i2d::CRectangle& rect,
int rowCount,
int columnCount)
override;
40 virtual bool RemovePageElement(
const QByteArray& elementId)
override;
43 virtual int GetSupportedOperations()
const override;
44 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
45 virtual bool IsEqual(
const IChangeable&
object)
const override;
46 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
47 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
51 virtual bool SerializeItem(ItemClass& item, iser::IArchive& archive, iser::CArchiveTag* parentTagPtr = NULL)
override;
54 int FindItemIndex(
const i2d::IObject2d& element)
const;
56 template <
typename TObject>
57 TObject* AddObject(QByteArray& uuid);
60 typedef QMap<QByteArray, int> ElementsIndiciesMap;
61 ElementsIndiciesMap m_elementsIndicies;
63 CGraphicsElementFactory m_elementsFactory;