-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomplicationsdialog.h
52 lines (38 loc) · 1.4 KB
/
complicationsdialog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef COMPLICATIONSDIALOG_H
#define COMPLICATIONSDIALOG_H
#include "complication.h"
#include <QDialog>
#include <QPushButton>
namespace Ui {
class ComplicationsDialog;
}
class ComplicationsDialog : public QDialog
{
Q_OBJECT
public:
ComplicationsDialog() = delete;
ComplicationsDialog(const ComplicationsDialog&) = delete;
ComplicationsDialog(ComplicationsDialog &&) = delete;
explicit ComplicationsDialog(QWidget *parent = nullptr);
~ComplicationsDialog() override;
ComplicationsDialog& operator=(const ComplicationsDialog&) = delete;
ComplicationsDialog& operator=(ComplicationsDialog&&) = delete;
shared_ptr<Complication> complication() { return _complication; }
ComplicationsDialog& complication(shared_ptr<Complication>& c);
private:
Ui::ComplicationsDialog *ui;
static const bool WordWrap = true;
shared_ptr<Complication> _complication = nullptr;
gsl::owner<QLabel*> _description = nullptr;
gsl::owner<QPushButton*> _ok = nullptr;
gsl::owner<QLabel*> _points = nullptr;
bool _skipUpdate = false;
gsl::owner<QLabel*> createLabel(QVBoxLayout*, QString, bool wordWrap = false);
void updateForm();
public slots:
void currentIndexChanged(int) { updateForm(); }
void pickComplication(int);
void stateChanged(int state);
void textChanged(QString);
};
#endif // COMPLICATIONSDIALOG_H