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 | |
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')
-rw-r--r-- | include/ui/painter.h | 26 | ||||
-rw-r--r-- | include/ui/statementdialog.h | 22 |
2 files changed, 43 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 diff --git a/include/ui/statementdialog.h b/include/ui/statementdialog.h new file mode 100644 index 0000000..658ea53 --- /dev/null +++ b/include/ui/statementdialog.h @@ -0,0 +1,22 @@ +#ifndef STATEMENTDIALOG_H +#define STATEMENTDIALOG_H + +#include <QDialog> + +namespace Ui { +class StatementDialog; +} + +class StatementDialog : public QDialog +{ + Q_OBJECT + +public: + explicit StatementDialog(QWidget *parent = 0); + ~StatementDialog(); + +private: + Ui::StatementDialog *ui; +}; + +#endif // STATEMENTDIALOG_H |