diff options
author | Tim Wootton <tim@tee-jay.org.uk> | 2016-07-31 22:27:07 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-08-10 15:00:33 -0700 |
commit | bd40ef7f424604013e1fe1b5feea648ab6304b72 (patch) | |
tree | ba57a9d6c9a3ea710bd75d1efd71c73e22da14cb /core/subsurface-qt/DiveObjectHelper.cpp | |
parent | 430f5b77c583e5c29a5299740763ddfc9a098570 (diff) | |
download | subsurface-bd40ef7f424604013e1fe1b5feea648ab6304b72.tar.gz |
Adds Cylinder helper class for cylinder info access in grantlee templates
to allow grantlee to access individual fields of the cylinder_t struct
rather than a string representation of the whole cylinder info using a
grantlee structure like this one:
<table class="table_class">
<tr>
<td>Cylinder</td>
<td>Start press.</td>
<td>End press.</td>
<td>Gas mix</td>
</tr>
{% for cylinderObject in dive.cylinderObjects %}
<tr>
<td>{{ cylinderObject.description }}</td>
<td>{{ cylinderObject.startPressure }}</td>
<td>{{ cylinderObject.endPressure }}</td>
<td>{{ cylinderObject.gasMix }}</td>
</tr>
{% endfor %}
</table>
Signed-off-by: Tim Wootton <tim@tee-jay.org.uk>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/subsurface-qt/DiveObjectHelper.cpp')
-rw-r--r-- | core/subsurface-qt/DiveObjectHelper.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp index 69bd7999f..768d4a860 100644 --- a/core/subsurface-qt/DiveObjectHelper.cpp +++ b/core/subsurface-qt/DiveObjectHelper.cpp @@ -55,10 +55,18 @@ static QString getPressures(struct dive *dive, enum returnPressureSelector ret) DiveObjectHelper::DiveObjectHelper(struct dive *d) : m_dive(d) { + m_cyls.clear(); + for (int i = 0; i < MAX_CYLINDERS; i++) { + //Don't add blank cylinders, only those that have been defined. + if (m_dive->cylinder[i].type.description) + m_cyls.append(new CylinderObjectHelper(&m_dive->cylinder[i])); + } } DiveObjectHelper::~DiveObjectHelper() { +while (!m_cyls.isEmpty()) + delete m_cyls.takeFirst(); } int DiveObjectHelper::number() const @@ -275,6 +283,11 @@ QString DiveObjectHelper::cylinder(int idx) const return getFormattedCylinder(m_dive, idx); } +QList<CylinderObjectHelper*> DiveObjectHelper::cylinderObjects() const +{ + return m_cyls; +} + QString DiveObjectHelper::trip() const { return m_dive->divetrip ? m_dive->divetrip->location : EMPTY_DIVE_STRING; |