QGIS API Documentation  3.4.15-Madeira (e83d02e274)
qgslayoutviewtooleditnodes.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutviewtooleditnodes.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 QGSLAYOUTVIEWTOOLEDITNODES_H
17 #define QGSLAYOUTVIEWTOOLEDITNODES_H
18 
19 #include "qgis.h"
20 #include "qgis_gui.h"
21 #include "qgslayoutviewtool.h"
22 
23 class QgsLayoutNodesItem;
24 
31 {
32 
33  Q_OBJECT
34 
35  public:
36 
41 
45  void deleteSelectedNode();
46 
47  void activate() override;
48  void layoutPressEvent( QgsLayoutViewMouseEvent *event ) override;
49  void layoutMoveEvent( QgsLayoutViewMouseEvent *event ) override;
50  void layoutReleaseEvent( QgsLayoutViewMouseEvent *event ) override;
51  void layoutDoubleClickEvent( QgsLayoutViewMouseEvent *event ) override;
52  void keyPressEvent( QKeyEvent *event ) override;
53  void deactivate() override;
54  QList< QgsLayoutItem * > ignoredSnapItems() const override;
55 
56  private:
57 
58  const double mMoveContentSearchRadius = 25;
59 
60  QPointer< QgsLayoutNodesItem > mNodesItem;
61  int mNodesItemIndex = -1;
62 
64  QPointF mMoveContentStartPos;
65 
66  bool isMoving = false;
67 
68  void displayNodes( bool display = true );
69  void deselectNodes();
70  void setSelectedNode( QgsLayoutNodesItem *shape, int index );
71 
72 
73 };
74 
75 #endif // QGSLAYOUTVIEWTOOLEDITNODES_H
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
A graphical widget to display and interact with QgsLayouts.
Definition: qgslayoutview.h:49
virtual void keyPressEvent(QKeyEvent *event)
Key press event for overriding.
virtual void deactivate()
Called when tool is deactivated.
virtual void activate()
Called when tool is set as the currently active layout tool.
An abstract layout item that provides generic methods for node based shapes such as polygon or polyli...
virtual void layoutDoubleClickEvent(QgsLayoutViewMouseEvent *event)
Mouse double-click event for overriding.
virtual QList< QgsLayoutItem * > ignoredSnapItems() const
Returns a list of items which should be ignored while snapping events for this tool.
Layout view tool for edit node based items in the layout.
virtual void layoutReleaseEvent(QgsLayoutViewMouseEvent *event)
Mouse release event for overriding.
A QgsLayoutViewMouseEvent is the result of a user interaction with the mouse on a QgsLayoutView...
virtual void layoutMoveEvent(QgsLayoutViewMouseEvent *event)
Mouse move event for overriding.
virtual void layoutPressEvent(QgsLayoutViewMouseEvent *event)
Mouse press event for overriding.
Abstract base class for all layout view tools.