QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 
88  void layerVariablesChanged();
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;
165 
166  friend class QgsAppScreenShots;
167 };
168 
169 
170 #endif
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
Abstract base class for all rendered symbols.
Definition: qgssymbol.h:61
Base class for renderer settings widgets.
Base class for visual effects which can be applied to QPicture drawings.
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:45
Base class for any widget that can be shown as a inline panel.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:73
Contains settings which reflect the context in which a symbol (or renderer) widget is shown...
QgsFeatureRequest::OrderBy mOrderBy
Represents a vector layer which manages a vector based data sets.
Represents a list of OrderByClauses, with the most important first and the least important last...