diff options
author | Robert C. Helling <helling@atdotde.de> | 2018-01-20 17:58:52 +0100 |
---|---|---|
committer | Robert C. Helling <helling@atdotde.de> | 2018-01-21 15:24:46 +0100 |
commit | 7b508e41cd1304834511f87dbe399398517aaeff (patch) | |
tree | ae6ca6ae95990b3f5d64c33b5a509d4dd432917c /profile-widget/diveeventitem.cpp | |
parent | c866b82f35365136d52d3113517aa6d5627eded3 (diff) | |
download | subsurface-7b508e41cd1304834511f87dbe399398517aaeff.tar.gz |
Show ICD events data in infobox
If a gas switch violates our ICD criteria, show
this in the info box.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'profile-widget/diveeventitem.cpp')
-rw-r--r-- | profile-widget/diveeventitem.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/profile-widget/diveeventitem.cpp b/profile-widget/diveeventitem.cpp index 28be9827c..630587375 100644 --- a/profile-widget/diveeventitem.cpp +++ b/profile-widget/diveeventitem.cpp @@ -49,7 +49,7 @@ struct event *DiveEventItem::getEvent() return internalEvent; } -void DiveEventItem::setEvent(struct event *ev) +void DiveEventItem::setEvent(struct event *ev, struct gasmix *lastgasmix) { if (!ev) return; @@ -57,7 +57,7 @@ void DiveEventItem::setEvent(struct event *ev) free(internalEvent); internalEvent = clone_event(ev); setupPixmap(); - setupToolTipString(); + setupToolTipString(lastgasmix); recalculatePos(true); } @@ -143,7 +143,7 @@ void DiveEventItem::setupPixmap() #undef EVENT_PIXMAP_BIGGER } -void DiveEventItem::setupToolTipString() +void DiveEventItem::setupToolTipString(struct gasmix *lastgasmix) { // we display the event on screen - so translate QString name = gettextFromC::instance()->tr(internalEvent->name); @@ -158,6 +158,10 @@ void DiveEventItem::setupToolTipString() /* Do we have an explicit cylinder index? Show it. */ if (internalEvent->gas.index >= 0) name += tr(" (cyl. %1)").arg(internalEvent->gas.index + 1); + icd_data icd_data; + if (isobaric_counterdiffusion(lastgasmix, mix, &icd_data)) + name += tr("\nICD ΔN2/ΔHe=%1/%2=%3%").arg(icd_data.dN2 / 10).arg(-icd_data.dHe / 10).arg((-100 * icd_data.dN2 / icd_data.dHe)); + *lastgasmix = *mix; } else if (value) { if (type == SAMPLE_EVENT_PO2 && same_string(internalEvent->name, "SP change")) { name += QString(": %1bar").arg((double)value / 1000, 0, 'f', 1); |