Mercurial > minori
annotate include/gui/widgets/text.h @ 304:2115488eb302
*: add very early season searcher
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Mon, 13 May 2024 17:02:35 -0400 |
parents | b82841e76e79 |
children | 6b0768158dcd |
rev | line source |
---|---|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
1 #ifndef MINORI_GUI_WIDGETS_TEXT_H_ |
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
2 #define MINORI_GUI_WIDGETS_TEXT_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; | |
253 | 11 |
12 #include <QLabel> | |
64 | 13 |
46 | 14 namespace TextWidgets { |
15 | |
16 class Header : public QWidget { | |
258 | 17 Q_OBJECT |
46 | 18 |
258 | 19 public: |
20 Header(const QString& title, QWidget* parent = nullptr); | |
21 void SetText(const QString& title); | |
46 | 22 |
258 | 23 private: |
291 | 24 QLabel static_text_title; |
25 QFrame static_text_line; | |
46 | 26 }; |
27 | |
291 | 28 class Paragraph : public QWidget { |
253 | 29 Q_OBJECT |
46 | 30 |
253 | 31 public: |
32 Paragraph(const QString& text, QWidget* parent = nullptr); | |
33 void SetText(const QString& text); | |
291 | 34 QPlainTextEdit* GetLabel(); |
35 | |
36 protected: | |
295 | 37 bool hasHeightForWidth() const override; |
38 int heightForWidth(int w) const override; | |
291 | 39 |
40 private: | |
41 QPlainTextEdit text_edit; | |
46 | 42 }; |
43 | |
253 | 44 class LabelledParagraph final : public QWidget { |
45 Q_OBJECT | |
46 | |
47 public: | |
48 LabelledParagraph(const QString& label, const QString& data, QWidget* parent = nullptr); | |
291 | 49 QLabel* GetLabels(); |
50 QLabel* GetData(); | |
51 | |
52 /* synonymous with GetData(), kept for compatibility. don't use in new code!!! */ | |
53 QLabel* GetParagraph(); | |
46 | 54 |
253 | 55 private: |
291 | 56 QLabel labels_; |
57 QLabel data_; | |
253 | 58 }; |
59 | |
291 | 60 class Line : public QWidget { |
253 | 61 Q_OBJECT |
62 | |
63 public: | |
64 Line(QWidget* parent = nullptr); | |
65 Line(const QString& text, QWidget* parent = nullptr); | |
66 void SetText(const QString& text); | |
291 | 67 |
68 protected: | |
69 QLineEdit line_edit_; | |
75 | 70 }; |
71 | |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
72 class Title final : public Line { |
258 | 73 Q_OBJECT |
75 | 74 |
258 | 75 public: |
76 Title(const QString& title, QWidget* parent = nullptr); | |
75 | 77 }; |
78 | |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
79 class Section final : public QWidget { |
258 | 80 Q_OBJECT |
75 | 81 |
258 | 82 public: |
83 Section(const QString& title, const QString& data, QWidget* parent = nullptr); | |
84 Header* GetHeader(); | |
85 Paragraph* GetParagraph(); | |
46 | 86 |
258 | 87 private: |
88 Header* header; | |
89 Paragraph* paragraph; | |
46 | 90 }; |
91 | |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
92 class LabelledSection final : public QWidget { |
258 | 93 Q_OBJECT |
46 | 94 |
258 | 95 public: |
96 LabelledSection(const QString& title, const QString& label, const QString& data, QWidget* parent = nullptr); | |
97 Header* GetHeader(); | |
291 | 98 QLabel* GetLabels(); |
99 QLabel* GetData(); | |
100 QLabel* GetParagraph(); | |
46 | 101 |
258 | 102 private: |
103 Header* header; | |
104 LabelledParagraph* content; | |
46 | 105 }; |
106 | |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
107 class SelectableSection final : public QWidget { |
258 | 108 Q_OBJECT |
46 | 109 |
258 | 110 public: |
111 SelectableSection(const QString& title, const QString& data, QWidget* parent = nullptr); | |
112 Header* GetHeader(); | |
113 Paragraph* GetParagraph(); | |
46 | 114 |
258 | 115 private: |
116 Header* header; | |
117 Paragraph* paragraph; | |
46 | 118 }; |
64 | 119 |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
120 class OneLineSection final : public QWidget { |
258 | 121 Q_OBJECT |
64 | 122 |
258 | 123 public: |
124 OneLineSection(const QString& title, const QString& data, QWidget* parent = nullptr); | |
125 Header* GetHeader(); | |
126 Line* GetLine(); | |
75 | 127 |
258 | 128 private: |
129 Header* header; | |
130 Line* line; | |
64 | 131 }; |
132 | |
133 } // namespace TextWidgets | |
134 | |
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
135 #endif // MINORI_GUI_WIDGETS_TEXT_H_ |