mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Printing: Add TemplateLayout class
This is the main class to hold Grantlee engine logic. TemplateLayout::generate() loads QT5Grantlee and initialize the templates then returns a QString that contains the rendered HTML by Grantlee library. Also this class contains the Dive class which holds the logic that formats the data before passing it to the templates. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
00f4b7b66b
commit
e2ad38189e
4 changed files with 270 additions and 0 deletions
97
templatelayout.h
Normal file
97
templatelayout.h
Normal file
|
@ -0,0 +1,97 @@
|
|||
#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;
|
||||
};
|
||||
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue