mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
26 lines
695 B
C++
26 lines
695 B
C++
#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;
|
|
}
|