mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
Initializing the new Profile Class.
Beginning of the code for the constructor, just constructing some of the items and preparing for the State Machine to come. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
8773b4f9f0
commit
b50ae87007
2 changed files with 52 additions and 3 deletions
|
@ -1,7 +1,38 @@
|
|||
#include "profilewidget2.h"
|
||||
#include "diveplotdatamodel.h"
|
||||
#include "divepixmapitem.h"
|
||||
#include "diverectitem.h"
|
||||
#include "divecartesianaxis.h"
|
||||
#include "diveprofileitem.h"
|
||||
#include <QStateMachine>
|
||||
|
||||
ProfileWidget2::ProfileWidget2(QWidget *parent)
|
||||
ProfileWidget2::ProfileWidget2(QWidget *parent) :
|
||||
QGraphicsView(parent),
|
||||
dataModel(new DivePlotDataModel(this)),
|
||||
currentState(INVALID),
|
||||
stateMachine(new QStateMachine(this)),
|
||||
background (new DivePixmapItem()),
|
||||
profileYAxis(new DepthAxis()),
|
||||
gasYAxis(new DiveCartesianAxis()),
|
||||
timeAxis(new TimeAxis()),
|
||||
depthController(new DiveRectItem()),
|
||||
timeController(new DiveRectItem()),
|
||||
diveProfileItem(new DiveProfileItem())
|
||||
{
|
||||
setScene(new QGraphicsScene());
|
||||
scene()->setSceneRect(0, 0, 100, 100);
|
||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
scene()->setItemIndexMethod(QGraphicsScene::NoIndex);
|
||||
setOptimizationFlags(QGraphicsView::DontSavePainterState);
|
||||
setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
|
||||
setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform);
|
||||
|
||||
// Creating the needed items.
|
||||
// ORDER: {BACKGROUND, PROFILE_Y_AXIS, GAS_Y_AXIS, TIME_AXIS, DEPTH_CONTROLLER, TIME_CONTROLLER, COLUMNS};
|
||||
profileYAxis->setOrientation(Qt::Vertical);
|
||||
gasYAxis->setOrientation(Qt::Vertical);
|
||||
timeAxis->setOrientation(Qt::Horizontal);
|
||||
}
|
||||
|
||||
// Currently just one dive, but the plan is to enable All of the selected dives.
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#define PROFILEWIDGET2_H
|
||||
|
||||
#include <QGraphicsView>
|
||||
#include <QStateMachine>
|
||||
|
||||
// /* The idea of this widget is to display and edit the profile.
|
||||
// * It has:
|
||||
|
@ -15,8 +14,15 @@
|
|||
// * It needs to be dynamic, things should *flow* on it, not just appear / disappear.
|
||||
// */
|
||||
#include "graphicsview-common.h"
|
||||
|
||||
struct DivePlotDataModel;
|
||||
struct DivePixmapItem;
|
||||
struct DiveRectItem;
|
||||
struct DepthAxis;
|
||||
struct DiveCartesianAxis;
|
||||
struct DiveProfileItem;
|
||||
struct TimeAxis;
|
||||
struct dive;
|
||||
struct QStateMachine;
|
||||
|
||||
class ProfileWidget2 : public QGraphicsView {
|
||||
Q_OBJECT
|
||||
|
@ -44,6 +50,18 @@ signals:
|
|||
void startShowGasState();
|
||||
void startShowTissueState();
|
||||
void startHideTissueState();
|
||||
private:
|
||||
DivePlotDataModel *dataModel;
|
||||
State currentState;
|
||||
QStateMachine *stateMachine;
|
||||
|
||||
DivePixmapItem *background ;
|
||||
DepthAxis *profileYAxis ;
|
||||
DiveCartesianAxis *gasYAxis;
|
||||
TimeAxis *timeAxis;
|
||||
DiveRectItem *depthController;
|
||||
DiveRectItem *timeController;
|
||||
DiveProfileItem *diveProfileItem;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Reference in a new issue