-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathleasewizard.h
88 lines (66 loc) · 1.72 KB
/
leasewizard.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#pragma once
#include <QCalendarWidget>
#include <QComboBox>
#include <QLabel>
#include <QLineEdit>
#include <QPointer>
#include <QStringLiteral>
#include <QWizard>
class LeaseWizard : public QWizard {
Q_OBJECT
public:
explicit LeaseWizard(QWidget* parent = nullptr);
};
class PropertyPage : public QWizardPage {
Q_OBJECT
QComboBox m_property_combo;
public:
explicit PropertyPage(QWidget* parent = nullptr);
};
class UnitPage : public QWizardPage {
Q_OBJECT
QComboBox m_units_combo;
QLabel m_selected_property;
public:
explicit UnitPage(QWidget* parent = nullptr);
// QWizardPage interface
void initializePage() override;
};
class TenantPage : public QWizardPage {
Q_OBJECT
QComboBox m_tenants_combo;
QLabel m_selected_property;
QLabel m_selected_unit;
public:
explicit TenantPage(QWidget* parent = nullptr);
// QWizardPage interface
void initializePage() override;
};
class LeaseDetailsPage : public QWizardPage {
Q_OBJECT
// fields from the leases database table
QCalendarWidget* m_start_date;
QCalendarWidget* m_end_date;
QLineEdit* m_rent;
QLineEdit* m_security;
inline static constexpr double MAX_MONTHLY_RENT = 99999.99;
public:
explicit LeaseDetailsPage(QWidget* parent = nullptr);
// QWizardPage interface
void initializePage() override;
bool validatePage() override;
};
class FinalPage : public QWizardPage {
Q_OBJECT
QLabel m_selected_property;
QLabel m_selected_unit;
QLabel m_selected_tenant;
QLabel m_start;
QLabel m_end;
QLabel m_rent;
QLabel m_security;
public:
explicit FinalPage(QWidget* parent = nullptr);
// QWizardPage interface
void initializePage() override;
};