QGIS API Documentation  3.21.0-Master (5b68dc587e)
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 
31 {
32 
33  Q_OBJECT
34 
35  public:
36 
39 
44  int itemMetadataId() const;
45 
54  void setItemMetadataId( int metadataId );
55 
56  void layoutPressEvent( QgsLayoutViewMouseEvent *event ) override;
57  void layoutMoveEvent( QgsLayoutViewMouseEvent *event ) override;
58  void layoutReleaseEvent( QgsLayoutViewMouseEvent *event ) override;
59  void activate() override;
60  void deactivate() override;
61 
68  QVariantMap customProperties() const;
69 
79  void setCustomProperties( const QVariantMap &properties );
80 
81  signals:
82 
86  void createdItem();
87 
88  private:
89 
90  bool mDrawing = false;
91 
92  int mItemMetadataId = -1;
93 
95  std::unique_ptr< QgsLayoutViewRubberBand > mRubberBand;
96 
98  QPoint mMousePressStartPos;
99 
101  QPointF mMousePressStartLayoutPos;
102 
104  QPointF mRubberBandStartPos;
105 
106  QVariantMap mCustomProperties;
107 
108 };
109 
110 #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