ESGRAF48/source/PrintableModel/PrintableModel.h

43 lines
1.1 KiB
C
Raw Permalink Normal View History

#pragma once
2019-02-03 18:53:51 +00:00
#include "CheckableTestModel.h"
#include <QPainter>
#include <QFont>
#include <QPen>
#include <QRect>
#include <QString>
2019-02-03 18:53:51 +00:00
class PrintableModel : public CheckableTestModel
{
2019-02-03 18:53:51 +00:00
Q_OBJECT
public:
2019-02-03 18:53:51 +00:00
PrintableModel(QObject *parent);
virtual void printTo(QPainter &painter) const;
static QFont h1Font();
static QFont h2Font();
static QFont tableFont();
static QPen tablePen();
2019-02-05 20:32:13 +00:00
static QPen resultPen();
2019-02-07 19:03:22 +00:00
static double headerWidthFactor();
static double cellWidthFactor();
static void drawTextSquare(QPainter &painter, const QRectF &cell, const QString &text);
2019-02-05 20:32:13 +00:00
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);
2019-02-03 18:53:51 +00:00
static void drawHeader2(QPainter &painter, const QString &text);
2019-02-07 21:36:39 +00:00
protected:
2019-02-03 18:53:51 +00:00
virtual void printHeader(QPainter &painter) const;
virtual void printTests(QPainter &painter) const;
virtual void printSummary(QPainter &painter) const;
};