QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
qgslayoutviewtooladdnodeitem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutviewtooladdnodeitem.h
3 --------------------------
4 Date : October 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 QGSLAYOUTVIEWTOOLADDNODEITEM_H
17#define QGSLAYOUTVIEWTOOLADDNODEITEM_H
18
19#include <memory>
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
23#include "qgslayoutviewtool.h"
24
25#include <QAbstractGraphicsShapeItem>
26
32{
33 Q_OBJECT
34
35 public:
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 keyPressEvent( QKeyEvent *event ) override;
59 void deactivate() override;
60
61 signals:
62
67
68 private:
69 int mItemMetadataId = -1;
70
72 std::unique_ptr<QGraphicsItem> mRubberBand;
73
74 QPolygonF mPolygon;
75
76 void addNode( QPointF scenePoint );
77 void moveTemporaryNode( QPointF scenePoint, Qt::KeyboardModifiers modifiers );
78 void setRubberBandNodes();
79};
80
81#endif // QGSLAYOUTVIEWTOOLADDNODEITEM_H
A mouse event which is the result of a user interaction with a QgsLayoutView.
int itemMetadataId() const
Returns the item metadata id for items created by the tool.
void createdItem()
Emitted when an item has been created using the tool.
QgsLayoutViewToolAddNodeItem(QgsLayoutView *view)
Constructs a QgsLayoutViewToolAddNodeItem for the given layout view.
void setItemMetadataId(int metadataId)
Sets the item metadata metadataId for items created by the tool.
QgsLayoutView * view() const
Returns the view associated with the tool.
virtual void deactivate()
Called when tool is deactivated.
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.
virtual void keyPressEvent(QKeyEvent *event)
Key press event for overriding.
A graphical widget to display and interact with QgsLayouts.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53