#pragma once #include "CheckableTestModel.h" #include #include #include #include #include class PrintableModel : public CheckableTestModel { Q_OBJECT public: PrintableModel(QObject *parent); virtual void printTo(QPainter &painter) const; static QFont h1Font(); static QFont h2Font(); static QFont tableFont(); static QPen tablePen(); static QPen resultPen(); static double headerWidthFactor(); static double cellWidthFactor(); static void drawTextSquare(QPainter &painter, const QRectF &cell, const QString &text); static void drawNumberSquare(QPainter &painter, double x, double y, int number); static void drawCheckSquare(QPainter &painter, const QRectF &cell, bool checked); static void drawResultSquare(QPainter &painter, double y, bool rightCell, unsigned int value); static void drawGreySquare(QPainter &painter, const QRectF &cell); static void drawHeader2(QPainter &painter, const QString &text); protected: virtual void printHeader(QPainter &painter) const; virtual void printTests(QPainter &painter) const; virtual void printSummary(QPainter &painter) const; };