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 Tomaz Canabrava <tcanabrava@kde.org>2013-05-04 16:12:43 -0300
commit243016633d31f8225fc4d1475463cd0477cf9505 (patch)
treec553d4eb99b188a935d49f54faf27467091eb49a /qt-ui/profilegraphics.cpp
parentfcd6903621da975a83bfb6c9a9769221c4203ad9 (diff)
downloadsubsurface-243016633d31f8225fc4d1475463cd0477cf9505.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>
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;
+}