QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgslayoutshapewidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutshapewidget.h
3  ------------------------
4  begin : November 2009
5  copyright : (C) 2009 by Marco Hugentobler
6  email : [email protected]
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSLAYOUTSHAPEWIDGET_H
19 #define QGSLAYOUTSHAPEWIDGET_H
20 
21 // We don't want to expose this in the public API
22 #define SIP_NO_FILE
23 
24 #include "qgis_gui.h"
25 #include "ui_qgslayoutshapewidgetbase.h"
26 #include "qgslayoutitemwidget.h"
27 #include "qgslayoutitemshape.h"
28 
36 class GUI_EXPORT QgsLayoutShapeWidget: public QgsLayoutItemBaseWidget, private Ui::QgsLayoutShapeWidgetBase
37 {
38  Q_OBJECT
39  public:
41  explicit QgsLayoutShapeWidget( QgsLayoutItemShape *shape );
42  void setMasterLayout( QgsMasterLayoutInterface *masterLayout ) override;
43 
44  protected:
45 
46  bool setNewItem( QgsLayoutItem *item ) override;
47 
48 
49  private:
50  QPointer< QgsLayoutItemShape > mShape;
51  QgsLayoutItemPropertiesWidget *mItemPropertiesWidget = nullptr;
52 
54  void blockAllSignals( bool block );
55 
56  private slots:
57  void mShapeComboBox_currentIndexChanged( const QString &text );
58  void mCornerRadiusSpinBox_valueChanged( double val );
59  void radiusUnitsChanged();
60  void symbolChanged();
61 
63  void setGuiElementValues();
64 
66  void toggleRadiusSpin( QgsLayoutItemShape::Shape shape );
67 };
68 
69 #endif // QGSLAYOUTSHAPEWIDGET_H
A base class for property widgets for layout items.
virtual bool setNewItem(QgsLayoutItem *item)
Attempts to update the widget to show the properties for the specified item.
virtual void setMasterLayout(QgsMasterLayoutInterface *masterLayout)
Sets the master layout associated with the item.
A widget for controlling the common properties of layout items (e.g.
Layout item for basic filled shapes (e.g.
Base class for graphical items within a QgsLayout.
A widget for configuring layout shape items.
Interface for master layout type objects, such as print layouts and reports.