QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgsrendererpropertiesdialog.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrendererpropertiesdialog.h
3 
4  ---------------------
5  begin : December 2009
6  copyright : (C) 2009 by Martin Dobias
7  email : wonder dot sk at gmail dot com
8  ***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
17 #ifndef QGSRENDERERPROPERTIESDIALOG_H
18 #define QGSRENDERERPROPERTIESDIALOG_H
19 
20 #include <QDialog>
21 #include "qgis_sip.h"
22 
23 #include "ui_qgsrendererpropsdialogbase.h"
24 
25 #include "qgsfeaturerequest.h"
26 #include "qgis_gui.h"
27 
28 class QKeyEvent;
29 
30 class QgsVectorLayer;
31 class QgsStyle;
32 class QgsSymbol;
33 class QgsPaintEffect;
34 class QgsRendererWidget;
35 class QgsMapCanvas;
37 class QgsMessageBar;
38 
43 class GUI_EXPORT QgsRendererPropertiesDialog : public QDialog, private Ui::QgsRendererPropsDialogBase
44 {
45  Q_OBJECT
46 
47  public:
48 
57  QgsRendererPropertiesDialog( QgsVectorLayer *layer, QgsStyle *style, bool embedded = false, QWidget *parent SIP_TRANSFERTHIS = nullptr );
58  ~QgsRendererPropertiesDialog() override;
59 
66  void setMapCanvas( QgsMapCanvas *canvas );
67 
72  void setContext( const QgsSymbolWidgetContext &context );
73 
79  void setDockMode( bool dockMode );
80 
81  signals:
82 
89 
94  void widgetChanged();
95 
102  void showPanel( QgsPanelWidget *panel );
103 
104  public slots:
106  void rendererChanged();
107 
109  void apply();
110 
112  void onOK();
113 
124  void openPanel( QgsPanelWidget *panel );
125 
126 
127  private slots:
128  void showOrderByDialog();
129 
130  void changeOrderBy( const QgsFeatureRequest::OrderBy &orderBy, bool orderByEnabled );
131 
132  void updateUIState( bool hidden );
133 
134  void syncToLayer();
135 
136  protected:
137 
146  void connectValueChanged( const QList<QWidget *> &widgets, const char *slot );
147 
148  // Reimplements dialog keyPress event so we can ignore it
149  void keyPressEvent( QKeyEvent *event ) override;
150 
151  QgsVectorLayer *mLayer = nullptr;
152  QgsStyle *mStyle = nullptr;
153 
154  QgsRendererWidget *mActiveWidget = nullptr;
155 
156  QgsPaintEffect *mPaintEffect = nullptr;
157 
158  QgsMapCanvas *mMapCanvas = nullptr;
159  QgsMessageBar *mMessageBar = nullptr;
160 
162 
163  private:
164  bool mDockMode = false;
165 
166  friend class QgsAppScreenShots;
167 };
168 
169 
170 #endif
Represents a list of OrderByClauses, with the most important first and the least important last.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:89
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:61
Base class for visual effects which can be applied to QPicture drawings.
Base class for any widget that can be shown as a inline panel.
void showPanel(QgsPanelWidget *panel)
Emit when you require a panel to be show in the interface.
QgsFeatureRequest::OrderBy mOrderBy
void layerVariablesChanged()
Emitted when expression context variables on the associated vector layers have been changed.
void widgetChanged()
Emitted when something on the widget has changed.
Base class for renderer settings widgets.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
Abstract base class for all rendered symbols.
Definition: qgssymbol.h:38
Represents a vector layer which manages a vector based data sets.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53