summaryrefslogtreecommitdiffstats
path: root/templatelayout.h
blob: db2fb30d380563f6a6a69f306e4c05569d4bbe37 (plain) (blame)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
#ifndef TEMPLATELAYOUT_H
#define TEMPLATELAYOUT_H

#include <grantlee_templates.h>
#include "mainwindow.h"

class TemplateLayout : public QObject {
	Q_OBJECT
public:
	TemplateLayout();
	~TemplateLayout();
	QString generate();

private:
	Grantlee::Engine *m_engine;
	int getTotalWork();

signals:
	void progressUpdated(int value);
};

class Dive {
private:
	int m_number;
	QString m_date;
	QString m_time;
	QString m_location;
	QString m_duration;
	QString m_depth;
	QString m_divemaster;
	QString m_buddy;
	QString m_airTemp;
	QString m_waterTemp;
	QString m_notes;
	struct dive *dive;
	void put_date_time();
	void put_location();
	void put_duration();
	void put_depth();
	void put_divemaster();
	void put_buddy();
	void put_temp();
	void put_notes();

public:
	Dive(struct dive *dive)
	    : dive(dive)
	{
		m_number = dive->number;
		put_date_time();
		put_location();
		put_duration();
		put_depth();
		put_divemaster();
		put_buddy();
		put_temp();
		put_notes();
	}
	Dive();
	~Dive();
	int number() const;
	QString date() const;
	QString time() const;
	QString location() const;
	QString duration() const;
	QString depth() const;
	QString divemaster() const;
	QString buddy() const;
	QString airTemp() const;
	QString waterTemp() const;
	QString notes() const;
};

Q_DECLARE_METATYPE(Dive)

GRANTLEE_BEGIN_LOOKUP(Dive)
if (property == "number")
	return object.number();
else if (property == "date")
	return object.date();
else if (property == "time")
	return object.time();
else if (property == "location")
	return object.location();
else if (property == "duration")
	return object.duration();
else if (property == "depth")
	return object.depth();
else if (property == "divemaster")
	return object.divemaster();
else if (property == "buddy")
	return object.buddy();
else if (property == "airTemp")
	return object.airTemp();
else if (property == "waterTemp")
	return object.waterTemp();
else if (property == "notes")
	return object.notes();
GRANTLEE_END_LOOKUP

#endif