46
|
1 #ifndef __gui__ui_utils_h
|
|
2 #define __gui__ui_utils_h
|
64
|
3
|
76
|
4 #include <QLineEdit>
|
|
5 #include <QPlainTextEdit>
|
69
|
6 #include <QSize>
|
76
|
7 #include <QString>
|
|
8 #include <QWidget>
|
69
|
9
|
|
10 class QFrame;
|
|
11 class QLabel;
|
64
|
12
|
46
|
13 namespace TextWidgets {
|
|
14
|
|
15 class Header : public QWidget {
|
|
16 Q_OBJECT
|
|
17
|
|
18 public:
|
83
|
19 Header(const QString& title, QWidget* parent = nullptr);
|
|
20 void SetText(const QString& title);
|
46
|
21
|
|
22 private:
|
|
23 QLabel* static_text_title;
|
|
24 QFrame* static_text_line;
|
|
25 };
|
|
26
|
|
27 class Paragraph : public QPlainTextEdit {
|
|
28 Q_OBJECT
|
|
29
|
|
30 public:
|
83
|
31 Paragraph(const QString& text, QWidget* parent = nullptr);
|
|
32 void SetText(const QString& text);
|
46
|
33 QSize minimumSizeHint() const override;
|
|
34 QSize sizeHint() const override;
|
|
35 };
|
|
36
|
75
|
37 class Line : public QLineEdit {
|
46
|
38 Q_OBJECT
|
|
39
|
|
40 public:
|
83
|
41 Line(QWidget* parent = nullptr);
|
|
42 Line(const QString& text, QWidget* parent = nullptr);
|
|
43 void SetText(const QString& text);
|
75
|
44 };
|
|
45
|
|
46 class Title : public Line {
|
|
47 Q_OBJECT
|
|
48
|
|
49 public:
|
83
|
50 Title(const QString& title, QWidget* parent = nullptr);
|
75
|
51 };
|
|
52
|
|
53 class Section : public QWidget {
|
|
54 Q_OBJECT
|
|
55
|
|
56 public:
|
83
|
57 Section(const QString& title, const QString& data, QWidget* parent = nullptr);
|
46
|
58 Header* GetHeader();
|
|
59 Paragraph* GetParagraph();
|
|
60
|
|
61 private:
|
|
62 Header* header;
|
|
63 Paragraph* paragraph;
|
|
64 };
|
|
65
|
75
|
66 class LabelledSection : public QWidget {
|
46
|
67 Q_OBJECT
|
|
68
|
|
69 public:
|
83
|
70 LabelledSection(const QString& title, const QString& label, const QString& data, QWidget* parent = nullptr);
|
46
|
71 Header* GetHeader();
|
|
72 Paragraph* GetLabels();
|
|
73 Paragraph* GetParagraph();
|
|
74
|
|
75 private:
|
|
76 Header* header;
|
|
77 Paragraph* labels;
|
|
78 Paragraph* paragraph;
|
|
79 };
|
|
80
|
75
|
81 class SelectableSection : public QWidget {
|
46
|
82 Q_OBJECT
|
|
83
|
|
84 public:
|
83
|
85 SelectableSection(const QString& title, const QString& data, QWidget* parent = nullptr);
|
46
|
86 Header* GetHeader();
|
|
87 Paragraph* GetParagraph();
|
|
88
|
|
89 private:
|
|
90 Header* header;
|
|
91 Paragraph* paragraph;
|
|
92 };
|
64
|
93
|
75
|
94 class OneLineSection : public QWidget {
|
64
|
95 Q_OBJECT
|
|
96
|
|
97 public:
|
83
|
98 OneLineSection(const QString& title, const QString& data, QWidget* parent = nullptr);
|
75
|
99 Header* GetHeader();
|
|
100 Line* GetLine();
|
|
101
|
|
102 private:
|
|
103 Header* header;
|
|
104 Line* line;
|
64
|
105 };
|
|
106
|
|
107 } // namespace TextWidgets
|
|
108
|
46
|
109 #endif // __gui__ui_utils_h
|