6#include <QtCore/QVector>
7#include <QtWidgets/QGraphicsScene>
10#include <i2d/IObject2d.h>
13#include <imtreport/IReportDocument.h>
14#include <imtreport/CFont.h>
15#include <imtreport/TGraphicsElement.h>
16#include <imtreport/CTextTable.h>
17#include <imtreportgui/CTextTableProxy.h>
20class QTableWidgetItem;
21class QAbstractGraphicsShapeItem;
28class CReportSceneBuilder
31 CReportSceneBuilder();
33 typedef QVector<QGraphicsScene*> ReportScenes;
37 static void SetupScene(QGraphicsScene& scene,
int resolutionDpi);
39 static void CreateSceneShapes(
const imtreport::IReportPage& page, QGraphicsScene& scene,
int resolutionDpi);
40 static void CreateSceneShape(
const i2d::IObject2d& pageElement, QGraphicsScene& scene,
int resolutionDpi);
41 static void CreateRect(
const imtreport::CRectangleElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
42 static void CreateEllipse(
const imtreport::CCircleElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
43 static void CreateLabel(
const imtreport::CTextLabelElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
44 static void CreateLine(
const imtreport::CLineElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
45 static void CreatePolygone(
const imtreport::CPolygonElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
46 static void CreateImage(
const imtreport::CImageRectangleElement& pageElement, QGraphicsScene& scene,
int resolutionDpi);
47 static void CreateTextTable(
const imtreport::CTextTable& pageElement, QGraphicsScene& scene,
int resolutionDpi);
48 static void CreateTextTableItem(
const imtreport::CTextTableItem& tableItem,
const QRectF& cellRect, QGraphicsScene& scene);
50 static qreal GetTextTableRowHeight(
const imtreport::CTextTable& table,
const CTextTableProxy& tableProxy,
int row,
int resolutionDpi);
51 static void SetShapePenAndBrush(
const imtreport::IDrawElement& pageElement, QAbstractGraphicsShapeItem& sceneElement);
53 static qreal MapCoordinateToScene(qreal value,
bool isX,
int resolutionDpi);
54 static QPointF MapPointToScene(
const QPointF& point,
int resolutionDpi);
55 static QRectF MapRectToScene(
const QRectF& rect,
int resolutionDpi);
57 static QFont ConvertToQFont(
const imtreport::CFont& font);
58 static QColor ConvertToQColor(
const icmm::CRgb& color);
60 static const qreal s_A4WidthMm;
61 static const qreal s_A4HeightMm;
62 static const qreal s_margin;