QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgslayoutviewtooladditem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutviewtooladditem.h
3 --------------------------
4 Date : July 2017
5 Copyright : (C) 2017 Nyall Dawson
6 Email : nyall dot dawson at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSLAYOUTVIEWTOOLADDITEM_H
17#define QGSLAYOUTVIEWTOOLADDITEM_H
18
19#include "qgis_sip.h"
20#include "qgis_gui.h"
21#include "qgslayoutviewtool.h"
23#include <memory>
24
30{
31
32 Q_OBJECT
33
34 public:
35
38
43 int itemMetadataId() const;
44
53 void setItemMetadataId( int metadataId );
54
55 void layoutPressEvent( QgsLayoutViewMouseEvent *event ) override;
56 void layoutMoveEvent( QgsLayoutViewMouseEvent *event ) override;
57 void layoutReleaseEvent( QgsLayoutViewMouseEvent *event ) override;
58 void activate() override;
59 void deactivate() override;
60
67 QVariantMap customProperties() const;
68
78 void setCustomProperties( const QVariantMap &properties );
79
80 signals:
81
86
87 private:
88
89 bool mDrawing = false;
90
91 int mItemMetadataId = -1;
92
94 std::unique_ptr< QgsLayoutViewRubberBand > mRubberBand;
95
97 QPoint mMousePressStartPos;
98
100 QPointF mMousePressStartLayoutPos;
101
103 QPointF mRubberBandStartPos;
104
105 QVariantMap mCustomProperties;
106
107};
108
109#endif // QGSLAYOUTVIEWTOOLADDITEM_H
A QgsLayoutViewMouseEvent is the result of a user interaction with the mouse on a QgsLayoutView.
Layout view tool for adding items to a layout.
void createdItem()
Emitted when an item has been created using the tool.
Abstract base class for all layout view tools.
virtual void deactivate()
Called when tool is deactivated.
virtual void activate()
Called when tool is set as the currently active layout tool.
virtual void layoutMoveEvent(QgsLayoutViewMouseEvent *event)
Mouse move event for overriding.
virtual void layoutPressEvent(QgsLayoutViewMouseEvent *event)
Mouse press event for overriding.
virtual void layoutReleaseEvent(QgsLayoutViewMouseEvent *event)
Mouse release event for overriding.
A graphical widget to display and interact with QgsLayouts.
Definition: qgslayoutview.h:50
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53