diff options
author | Arno <arno@disconnect.de> | 2015-08-27 02:14:37 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2015-08-27 02:14:37 +0200 |
commit | b12a9282cd236e5ecab8fda57cec379624457650 (patch) | |
tree | 1cc99c5b192bb2baaee054f85dfa5b3d53fff283 | |
parent | bc21f0ed338040497f1755331d5fc6a824a4de25 (diff) | |
download | SheMov-b12a9282cd236e5ecab8fda57cec379624457650.tar.gz SheMov-b12a9282cd236e5ecab8fda57cec379624457650.tar.bz2 SheMov-b12a9282cd236e5ecab8fda57cec379624457650.zip |
Custom QGraphicsScene for PictureViewer2
Introduce PictureViewerGraphicsScene for upcoming control items in the
scene.
-rw-r--r-- | pictureviewer2.cpp | 10 | ||||
-rw-r--r-- | pictureviewer2.h | 12 |
2 files changed, 19 insertions, 3 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 6568128..f57cab6 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -17,6 +17,7 @@ #include <QDateTime> #include <QPainter> #include <QStyleOptionGraphicsItem> +#include <QGraphicsSceneMouseEvent> #include <QSettings> #include <QTextDocument> #include <QTextCursor> @@ -68,7 +69,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) mNewPicsDlg = new NewPicsDialog(this); //setup gui - mScene = new QGraphicsScene(this); + mScene = new PictureViewerGraphicsScene(this); setScene(mScene); readSettings(); setMinimumSize(QSize(800, 600)); @@ -743,3 +744,10 @@ void PictureViewer2Item::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->restore(); } +void PictureViewerGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e){ + QGraphicsScene::mousePressEvent(e); + QGraphicsItem *item = itemAt(e->scenePos(), QTransform()); + if(item){ + //do something! + } +} diff --git a/pictureviewer2.h b/pictureviewer2.h index c9a1f2a..5b78982 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -14,7 +14,7 @@ #include <QGraphicsItem> #include <QStaticText> -class QGraphicsScene; +class PictureViewerGraphicsScene; class QGraphicsPixmapItem; class QWheelEvent; class QContextMenuEvent; @@ -95,7 +95,7 @@ class PictureViewer2 : public QGraphicsView { QString constructWindowTitle() const; PicDataList mFiles; PicDataList mMarkedFiles; - QGraphicsScene *mScene; + PictureViewerGraphicsScene *mScene; QGraphicsPixmapItem *mCur; int mCurPos; int mConfigInfoPos; @@ -143,4 +143,12 @@ class PictureViewer2Item : public QGraphicsItem { QTextDocument *mDoc; }; +class PictureViewerGraphicsScene : public QGraphicsScene { + public: + explicit PictureViewerGraphicsScene(QObject *parent = 0) : QGraphicsScene(parent) {} + + protected: + virtual void mousePressEvent(QGraphicsSceneMouseEvent *e); +}; + #endif // PICTUREVIEWER2_H |