Mercurial > minori
comparison include/gui/widgets/text.h @ 75:d3e9310598b1
*: refactor some stuff
text: "TextParagraph"s are now called sections, because that's the
actual word for it :P
text: new classes: Line and OneLineSection, solves many problems with
paragraphs that are only one line long (ex. going out of bounds)
http: reworked http stuff to allow threaded get requests, also moved it
to its own file to (hopefully) remove clutter
eventually I'll make a threaded post request method and use that in
the "basic" function
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Wed, 04 Oct 2023 01:42:30 -0400 |
parents | 27a19dd6cba1 |
children | 3364fadc8a36 |
comparison
equal
deleted
inserted
replaced
74:5ccb99bfa605 | 75:d3e9310598b1 |
---|---|
3 | 3 |
4 #include <QWidget> | 4 #include <QWidget> |
5 #include <QString> | 5 #include <QString> |
6 #include <QSize> | 6 #include <QSize> |
7 #include <QPlainTextEdit> | 7 #include <QPlainTextEdit> |
8 #include <QLineEdit> | |
8 | 9 |
9 class QFrame; | 10 class QFrame; |
10 class QLabel; | 11 class QLabel; |
11 | 12 |
12 namespace TextWidgets { | 13 namespace TextWidgets { |
31 void SetText(QString text); | 32 void SetText(QString text); |
32 QSize minimumSizeHint() const override; | 33 QSize minimumSizeHint() const override; |
33 QSize sizeHint() const override; | 34 QSize sizeHint() const override; |
34 }; | 35 }; |
35 | 36 |
36 /* technically a paragraph and a heading is actually a | 37 class Line : public QLineEdit { |
37 "section", but that name is equally as confusing as | |
38 "text paragraph". */ | |
39 class TextParagraph : public QWidget { | |
40 Q_OBJECT | 38 Q_OBJECT |
41 | 39 |
42 public: | 40 public: |
43 TextParagraph(QString title, QString data, QWidget* parent = nullptr); | 41 Line(QString text, QWidget* parent = nullptr); |
42 }; | |
43 | |
44 class Title : public Line { | |
45 Q_OBJECT | |
46 | |
47 public: | |
48 Title(QString title, QWidget* parent = nullptr); | |
49 }; | |
50 | |
51 class Section : public QWidget { | |
52 Q_OBJECT | |
53 | |
54 public: | |
55 Section(QString title, QString data, QWidget* parent = nullptr); | |
44 Header* GetHeader(); | 56 Header* GetHeader(); |
45 Paragraph* GetParagraph(); | 57 Paragraph* GetParagraph(); |
46 | 58 |
47 private: | 59 private: |
48 Header* header; | 60 Header* header; |
49 Paragraph* paragraph; | 61 Paragraph* paragraph; |
50 }; | 62 }; |
51 | 63 |
52 class LabelledTextParagraph : public QWidget { | 64 class LabelledSection : public QWidget { |
53 Q_OBJECT | 65 Q_OBJECT |
54 | 66 |
55 public: | 67 public: |
56 LabelledTextParagraph(QString title, QString label, QString data, QWidget* parent = nullptr); | 68 LabelledSection(QString title, QString label, QString data, QWidget* parent = nullptr); |
57 Header* GetHeader(); | 69 Header* GetHeader(); |
58 Paragraph* GetLabels(); | 70 Paragraph* GetLabels(); |
59 Paragraph* GetParagraph(); | 71 Paragraph* GetParagraph(); |
60 | 72 |
61 private: | 73 private: |
62 Header* header; | 74 Header* header; |
63 Paragraph* labels; | 75 Paragraph* labels; |
64 Paragraph* paragraph; | 76 Paragraph* paragraph; |
65 }; | 77 }; |
66 | 78 |
67 class SelectableTextParagraph : public QWidget { | 79 class SelectableSection : public QWidget { |
68 Q_OBJECT | 80 Q_OBJECT |
69 | 81 |
70 public: | 82 public: |
71 SelectableTextParagraph(QString title, QString data, QWidget* parent = nullptr); | 83 SelectableSection(QString title, QString data, QWidget* parent = nullptr); |
72 Header* GetHeader(); | 84 Header* GetHeader(); |
73 Paragraph* GetParagraph(); | 85 Paragraph* GetParagraph(); |
74 | 86 |
75 private: | 87 private: |
76 Header* header; | 88 Header* header; |
77 Paragraph* paragraph; | 89 Paragraph* paragraph; |
78 }; | 90 }; |
79 | 91 |
80 class Title : public Paragraph { | 92 class OneLineSection : public QWidget { |
81 Q_OBJECT | 93 Q_OBJECT |
82 | 94 |
83 public: | 95 public: |
84 Title(QString title, QWidget* parent = nullptr); | 96 OneLineSection(QString title, QString data, QWidget* parent = nullptr); |
97 Header* GetHeader(); | |
98 Line* GetLine(); | |
99 | |
100 private: | |
101 Header* header; | |
102 Line* line; | |
85 }; | 103 }; |
86 | 104 |
87 } // namespace TextWidgets | 105 } // namespace TextWidgets |
88 | 106 |
89 #endif // __gui__ui_utils_h | 107 #endif // __gui__ui_utils_h |