diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2014-01-14 14:30:13 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-01-16 09:45:42 +0700 |
commit | 946e3855b2cf78a8d5fd6e03ed375db2c134e3c2 (patch) | |
tree | a2621d90eb3fa363c1a9fc43b961cc12a067e508 /qt-ui/profile/profilewidget2.h | |
parent | c79473df60f7f9d62eeacf6c587a1dabc0dc9260 (diff) | |
download | subsurface-946e3855b2cf78a8d5fd6e03ed375db2c134e3c2.tar.gz |
Add the skeleton for the New Profile System.
The idea of this widget is to display and edit the profile.
It has:
1 - ToolTip / Legend item, displays every information of the current
mouse position on it, plus the legend for the maps.
2 - ToolBox, displays the QActions that are used to do special stuff
on the profile ( like activating the plugins. )
3 - Cartesian Axis for depth ( y )
4 - Cartesian Axis for Gases ( y )
5 - Cartesian Axis for Time ( x )
It needs to be dynamic, things should *flow* on it, not just appear / disappear.
It's the last attempt to create a QGraphicsView based Profile System,
as the next will most probably be written in QML.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profile/profilewidget2.h')
-rw-r--r-- | qt-ui/profile/profilewidget2.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/qt-ui/profile/profilewidget2.h b/qt-ui/profile/profilewidget2.h new file mode 100644 index 000000000..b7eb4d45c --- /dev/null +++ b/qt-ui/profile/profilewidget2.h @@ -0,0 +1,49 @@ +#ifndef PROFILEWIDGET2_H +#define PROFILEWIDGET2_H + +#include <QGraphicsView> +#include <QStateMachine> + +// /* The idea of this widget is to display and edit the profile. +// * It has: +// * 1 - ToolTip / Legend item, displays every information of the current mouse position on it, plus the legends of the maps. +// * 2 - ToolBox, displays the QActions that are used to do special stuff on the profile ( like activating the plugins. ) +// * 3 - Cartesian Axis for depth ( y ) +// * 4 - Cartesian Axis for Gases ( y ) +// * 5 - Cartesian Axis for Time ( x ) +// * +// * It needs to be dynamic, things should *flow* on it, not just appear / disappear. +// */ +#include "graphicsview-common.h" + +struct dive; + +class ProfileWidget2 : public QGraphicsView { + Q_OBJECT +public: + enum State{ EMPTY, PROFILE, EDIT, ADD, PLAN, INVALID }; + enum Items{BACKGROUND, PROFILE_Y_AXIS, GAS_Y_AXIS, TIME_AXIS, DEPTH_CONTROLLER, TIME_CONTROLLER, COLUMNS}; + + ProfileWidget2(QWidget *parent); + void plotDives(QList<dive*> dives); + +public slots: // Necessary to call from QAction's signals. + void settingsChanged(); +protected: + virtual void contextMenuEvent(QContextMenuEvent* event); + virtual void resizeEvent(QResizeEvent* event); + virtual void showEvent(QShowEvent* event); + +signals: + void startProfileState(); + void startAddState(); + void startPlanState(); + void startEmptyState(); + void startEditState(); + void startHideGasState(); + void startShowGasState(); + void startShowTissueState(); + void startHideTissueState(); +}; + +#endif
\ No newline at end of file |