QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
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 <memory>
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
24#include "qgslayoutviewtool.h"
25
31{
32 Q_OBJECT
33
34 public:
37
42 int itemMetadataId() const;
43
52 void setItemMetadataId( int metadataId );
53
54 void layoutPressEvent( QgsLayoutViewMouseEvent *event ) override;
55 void layoutMoveEvent( QgsLayoutViewMouseEvent *event ) override;
56 void layoutReleaseEvent( QgsLayoutViewMouseEvent *event ) override;
57 void activate() override;
58 void deactivate() override;
59
66 QVariantMap customProperties() const;
67
77 void setCustomProperties( const QVariantMap &properties );
78
79 signals:
80
85
86 private:
87 bool mDrawing = false;
88
89 int mItemMetadataId = -1;
90
92 std::unique_ptr<QgsLayoutViewRubberBand> mRubberBand;
93
95 QPoint mMousePressStartPos;
96
98 QPointF mMousePressStartLayoutPos;
99
101 QPointF mRubberBandStartPos;
102
103 QVariantMap mCustomProperties;
104};
105
106#endif // QGSLAYOUTVIEWTOOLADDITEM_H
A mouse event which is the result of a user interaction with a QgsLayoutView.
QVariantMap customProperties() const
Returns any custom properties set for the tool.
int itemMetadataId() const
Returns the item metadata id for items created by the tool.
QgsLayoutViewToolAddItem(QgsLayoutView *view)
Constructs a QgsLayoutViewToolAddItem for the given layout view.
void createdItem()
Emitted when an item has been created using the tool.
void setItemMetadataId(int metadataId)
Sets the item metadata metadataId for items created by the tool.
void setCustomProperties(const QVariantMap &properties)
Sets custom properties for the tool.
QgsLayoutView * view() const
Returns the view associated with the tool.
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.
QgsLayoutViewTool(QgsLayoutView *view, const QString &name)
Constructor for QgsLayoutViewTool, taking a layout view and tool name as parameters.
virtual void layoutReleaseEvent(QgsLayoutViewMouseEvent *event)
Mouse release event for overriding.
A graphical widget to display and interact with QgsLayouts.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53