diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2014-02-05 14:25:28 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-02-06 06:26:50 -0800 |
commit | c1ed9babc732a56e978f21eeeb0be9da16197b5b (patch) | |
tree | 91974ac988bc764ecc0b74f9d07d96c6e7b34154 /qt-ui/profile/divetooltipitem.h | |
parent | ddd7d2edccdd0460924ac65a78d89a546a47e4a8 (diff) | |
download | subsurface-c1ed9babc732a56e978f21eeeb0be9da16197b5b.tar.gz |
Move the divetooltipitem to its own file.
This is needed so we can share the dive tooltip item with the
new and old profile at the same time. Next few commits will be
setting the functionality of the tooltip item on the new one.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profile/divetooltipitem.h')
-rw-r--r-- | qt-ui/profile/divetooltipitem.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/qt-ui/profile/divetooltipitem.h b/qt-ui/profile/divetooltipitem.h new file mode 100644 index 000000000..9f7b83656 --- /dev/null +++ b/qt-ui/profile/divetooltipitem.h @@ -0,0 +1,54 @@ +#ifndef DIVETOOLTIPITEM_H +#define DIVETOOLTIPITEM_H + +#include <QGraphicsPathItem> +#include <QVector> +#include <QPair> +#include <QRectF> +#include <QIcon> + +class QGraphicsLineItem; +class QGraphicsSimpleTextItem; +class QGraphicsPixmapItem; +struct graphics_context; + +/* To use a tooltip, simply ->setToolTip on the QGraphicsItem that you want + * or, if it's a "global" tooltip, set it on the mouseMoveEvent of the ProfileGraphicsView. + */ +class ToolTipItem :public QObject, public QGraphicsPathItem +{ + Q_OBJECT + void updateTitlePosition(); + Q_PROPERTY(QRectF rect READ boundingRect WRITE setRect) + +public: + enum Status{COLLAPSED, EXPANDED}; + enum {ICON_SMALL = 16, ICON_MEDIUM = 24, ICON_BIG = 32, SPACING=4}; + + explicit ToolTipItem(QGraphicsItem* parent = 0); + virtual ~ToolTipItem(); + + void collapse(); + void expand(); + void clear(); + void addToolTip(const QString& toolTip, const QIcon& icon = QIcon()); + void refresh(struct graphics_context* gc, QPointF pos); + bool isExpanded(); + void persistPos(); + void readPos(); + void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); +public slots: + void setRect(const QRectF& rect); + +private: + typedef QPair<QGraphicsPixmapItem*, QGraphicsSimpleTextItem*> ToolTip; + QVector<ToolTip> toolTips; + QGraphicsPathItem *background; + QGraphicsLineItem *separator; + QGraphicsSimpleTextItem *title; + Status status; + QRectF rectangle; + QRectF nextRectangle; +}; + +#endif
\ No newline at end of file |