aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/profilegraphics.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/profilegraphics.cpp')
-rw-r--r--qt-ui/profilegraphics.cpp45
1 files changed, 38 insertions, 7 deletions
diff --git a/qt-ui/profilegraphics.cpp b/qt-ui/profilegraphics.cpp
index 508251232..1d1b5530c 100644
--- a/qt-ui/profilegraphics.cpp
+++ b/qt-ui/profilegraphics.cpp
@@ -26,10 +26,6 @@
#define VELOCITY_COLORS_START_IDX VELO_STABLE
#define VELOCITY_COLORS 5
-/* Scale to 0,0 -> maxx,maxy */
-#define SCALEX(gc,x) (((x)-gc->leftx)/(gc->rightx-gc->leftx)*gc->maxx)
-#define SCALEY(gc,y) (((y)-gc->topy)/(gc->bottomy-gc->topy)*gc->maxy)
-#define SCALE(gc,x,y) SCALEX(gc,x),SCALEY(gc,y)
static struct graphics_context last_gc;
static double plot_scale = SCALE_SCREEN;
@@ -246,10 +242,10 @@ void ProfileGraphicsView::plot(struct dive *dive)
plot_depth_profile(&gc, pi);
plot_events(&gc, pi, dc);
-#if 0
- /* Temperature profile */
- plot_temperature_profile(gc, pi);
+ /* Temperature profile */
+ plot_temperature_profile(&gc, pi);
+#if 0
/* Cylinder pressure plot */
plot_cylinder_pressure(gc, pi, dive, dc);
@@ -630,6 +626,41 @@ void ProfileGraphicsView::resizeEvent(QResizeEvent *event)
fitInView ( r.x() - 50, r.y() -50, r.width() + 100, r.height() + 100); // do a little bit of spacing;
}
+void ProfileGraphicsView::plot_temperature_profile(struct graphics_context *gc, struct plot_info *pi)
+{
+ int last = 0;
+
+ if (!setup_temperature_limits(gc, pi))
+ return;
+
+ QPointF from;
+ QPointF to;
+ QColor color = profile_color[TEMP_PLOT].first();
+
+ for (int i = 0; i < pi->nr; i++) {
+ struct plot_data *entry = pi->entry + i;
+ int mkelvin = entry->temperature;
+ int sec = entry->sec;
+ if (!mkelvin) {
+ if (!last)
+ continue;
+ mkelvin = last;
+ }
+ if (last){
+ to = QPointF(SCALE(gc, sec, mkelvin));
+ //qDebug() << from << to;
+ QGraphicsLineItem *item = new QGraphicsLineItem(from.x(), from.y(), to.x(), to.y());
+ item->setPen(QPen(color, 2*plot_scale));
+ scene()->addItem(item);
+ from = to;
+ }
+ else{
+ from = QPointF(SCALE(gc, sec, mkelvin));
+ }
+ last = mkelvin;
+ }
+}
+
void ToolTipItem::addToolTip(const QString& toolTip, const QIcon& icon)
{
QGraphicsPixmapItem *iconItem = 0;