summaryrefslogtreecommitdiffstats
path: root/qt-ui/profilegraphics.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-05-04 16:12:43 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-05-04 19:49:52 -0700
commit8353d571643c83514012a84cdc904353d2c4972e (patch)
treed862bb5b805ffae00f075723ce72788837dbb684 /qt-ui/profilegraphics.cpp
parentfcd6903621da975a83bfb6c9a9769221c4203ad9 (diff)
downloadsubsurface-8353d571643c83514012a84cdc904353d2c4972e.tar.gz
Started the code for the Profile Plotting
This small patch adds a new class - ProfileGraphicsView it's a QGraphicsView based class that will holds all graphics-items for the plotting. The setup is simple, just call ui->ListView->plot( dive ) ( that's already a ProfileGraphicsView and magic will happen. Since Im using a QGraphicsView , the size of the canvas doesn't matter and I'm fixing it at 0,0,100,100. when a resize is done, the resizeEvent will be called, fitting the scene's rectangle on the view. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profilegraphics.cpp')
-rw-r--r--qt-ui/profilegraphics.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/qt-ui/profilegraphics.cpp b/qt-ui/profilegraphics.cpp
new file mode 100644
index 000000000..59a47826f
--- /dev/null
+++ b/qt-ui/profilegraphics.cpp
@@ -0,0 +1,26 @@
+#include "profilegraphics.h"
+
+#include <QGraphicsScene>
+#include <QResizeEvent>
+
+#include <QDebug>
+
+ProfileGraphicsView::ProfileGraphicsView(QWidget* parent) : QGraphicsView(parent)
+{
+ setScene(new QGraphicsScene());
+ scene()->setSceneRect(0,0,100,100);
+}
+
+void ProfileGraphicsView::plot(struct dive *d)
+{
+ qDebug() << "Start the plotting of the dive here.";
+}
+
+void ProfileGraphicsView::resizeEvent(QResizeEvent *event)
+{
+ // Fits the scene's rectangle on the view.
+ // I can pass some parameters to this -
+ // like Qt::IgnoreAspectRatio or Qt::KeepAspectRatio
+ QRectF r = scene()->sceneRect();
+ fitInView ( r.x() - 2, r.y() -2, r.width() + 4, r.height() + 4); // do a little bit of spacing;
+}