digiKam
Loading...
Searching...
No Matches
clickdragreleaseitem.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2011-03-04
7 * Description : A simple item to click, drag and release
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QGraphicsObject>
20
21// Local includes
22
23#include "digikam_export.h"
24
25namespace Digikam
26{
27
28class DIGIKAM_EXPORT ClickDragReleaseItem : public QGraphicsObject // clazy:exclude=ctor-missing-parent-argument
29{
30 Q_OBJECT
31
32public:
33
34 explicit ClickDragReleaseItem(QGraphicsItem* const parent);
35 ~ClickDragReleaseItem() override;
36
37 QRectF boundingRect() const override;
38 void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
39
40Q_SIGNALS:
41
49 void started(const QPointF& pos);
50 void moving(const QRectF& rect);
51 void finished(const QRectF& rect);
52 void cancelled();
53
54protected:
55
56 void mousePressEvent(QGraphicsSceneMouseEvent*) override;
57 void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
58 void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
59 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) override;
60 void hoverMoveEvent(QGraphicsSceneHoverEvent*) override;
61 void keyPressEvent(QKeyEvent*) override;
62
63private:
64
65 class Private;
66 Private* const d = nullptr;
67};
68
69} // namespace Digikam
Definition clickdragreleaseitem.h:29
void moving(const QRectF &rect)
void finished(const QRectF &rect)
void started(const QPointF &pos)
Definition datefolderview.cpp:34