diff options
author | Nao Pross <naopross@thearcway.org> | 2018-01-01 18:44:35 +0100 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2018-01-01 18:44:35 +0100 |
commit | 7ea534dd1c8bf72200a999cae554d842d9035ba9 (patch) | |
tree | 6b2438ea6f7c27c8069458d599bfbf2ba5534ce7 /include/ui/painter.h | |
parent | Implement basic ui (diff) | |
download | OrbitingYeti-7ea534dd1c8bf72200a999cae554d842d9035ba9.tar.gz OrbitingYeti-7ea534dd1c8bf72200a999cae554d842d9035ba9.zip |
New StatementDialog, rename diagram classes
Other changes:
- Use raw pointer instead of smart pointers to manage resources
- Initial Painter implementation
Diffstat (limited to 'include/ui/painter.h')
-rw-r--r-- | include/ui/painter.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/include/ui/painter.h b/include/ui/painter.h index df62776..0a2accc 100644 --- a/include/ui/painter.h +++ b/include/ui/painter.h @@ -1,11 +1,15 @@ #ifndef PAINTER_H #define PAINTER_H -#include <QWidget> +#include "diagram/statement.h" +#include "diagram/structogram.h" -namespace Ui { -class Painter; -} +#include <QWidget> +#include <QFont> +#include <QFontMetrics> +#include <QPaintEvent> +#include <QPainter> +#include <QRect> class Painter : public QWidget { @@ -15,8 +19,20 @@ public: explicit Painter(QWidget *parent = 0); ~Painter(); + void structogram(samb::Structogram **structogram) { _structogram = structogram; } + const samb::Structogram structogram() const { return **_structogram; } + +protected: + void paintEvent(QPaintEvent *event); + private: - Ui::Painter *_ui; + samb::Structogram **_structogram = nullptr; + QFont _font; + QFontMetrics _fontMetrics; + + int _margin = 10; + + void drawStatement(QPainter &qp, samb::Statement &statement, const QRect &rect); }; #endif // PAINTER_H |