X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fcolumnhandleitem.h;h=3d0d6e727b43cf24046b75c72162bbc9fb1e8be1;hp=43ecb4756988fdf91cbd8ac3f9c2213ef3e6f08a;hb=9ce9c0ab3ac6f4bda4e3a70bf13a9c07d2debfe6;hpb=17a68937d25404ddb804f443629313a7c873dbe1 diff --git a/src/qtui/columnhandleitem.h b/src/qtui/columnhandleitem.h index 43ecb475..3d0d6e72 100644 --- a/src/qtui/columnhandleitem.h +++ b/src/qtui/columnhandleitem.h @@ -26,40 +26,51 @@ #include #include +#include "chatscene.h" + class ColumnHandleItem : public QObject, public QGraphicsItem { Q_OBJECT - public: - ColumnHandleItem(qreal width, QGraphicsItem *parent = 0); +public: + ColumnHandleItem(qreal width, QGraphicsItem *parent = 0); + virtual inline int type() const { return ChatScene::ColumnHandleType; } + + inline qreal width() const { return _width; } + inline QRectF boundingRect() const { return _boundingRect; } + inline qreal sceneLeft() const { return _sceneLeft; } + inline qreal sceneRight() const { return _sceneRight; } - inline qreal width() const { return _width; } - inline QRectF boundingRect() const { return QRectF(-_width/2, 0, _width, scene()->height()); } - void setXPos(qreal xpos); + void setXPos(qreal xpos); + void setXLimits(qreal min, qreal max); - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - void sceneRectChanged(const QRectF &); - void setXLimits(qreal min, qreal max); +public slots: + void sceneRectChanged(const QRectF &); + inline void setColor(const QColor &color) { _rulerColor = color; } - protected: - void hoverEnterEvent(QGraphicsSceneHoverEvent *event); - void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); - void mouseMoveEvent(QGraphicsSceneMouseEvent *event); - void mousePressEvent(QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); +protected: + void hoverEnterEvent(QGraphicsSceneHoverEvent *event); + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - signals: - void positionChanged(qreal x); +signals: + void positionChanged(qreal x); - private slots: - void hoverChanged(qreal value); +private slots: + void hoverChanged(qreal value); - private: - qreal _width; - qreal _hover; - bool _moving; - qreal _minXPos, _maxXPos; - QTimeLine _timeLine; +private: + qreal _width; + qreal _sceneLeft, _sceneRight; + QRectF _boundingRect; + qreal _hover; + bool _moving; + qreal _minXPos, _maxXPos; + QTimeLine _timeLine; + QColor _rulerColor; }; #endif