QGIS API Documentation 4.3.0-Master (0cfde48c85b)
Loading...
Searching...
No Matches
qgs3dsymbolwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgs3dsymbolwidget.h
3 --------------------------------------
4 Date : July 2020
5 Copyright : (C) 2020 by 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 QGS3DSYMBOLWIDGET_H
17#define QGS3DSYMBOLWIDGET_H
18
19#include "qgis.h"
20#include "qgis_gui.h"
21#include "qgis_sip.h"
22#include "qgspanelwidget.h"
23
24#include <QDialog>
25#include <QWidget>
26
28class QgsVectorLayer;
29class QDialogButtonBox;
30
37class GUI_EXPORT Qgs3DSymbolWidget : public QgsPanelWidget
38{
39 Q_OBJECT
40
41 public:
45 Qgs3DSymbolWidget( QWidget *parent );
46
50 virtual void setSymbol( const QgsAbstract3DSymbol *symbol, QgsVectorLayer *layer ) = 0;
51
58
62 virtual QString symbolType() const = 0;
63
73
80 virtual void setMode( Qgis::MaterialWidgetMode mode ) = 0;
81
82 signals:
83
93};
94
95
101class GUI_EXPORT Qgs3DSymbolDialog : public QDialog
102{
103 Q_OBJECT
104
105 public:
109 Qgs3DSymbolDialog( const QgsAbstract3DSymbol *symbol, QWidget *parent SIP_TRANSFERTHIS = nullptr );
110
117
121 QDialogButtonBox *buttonBox() const;
122
123 private:
124 Qgs3DSymbolWidget *mWidget = nullptr;
125 QDialogButtonBox *mButtonBox = nullptr;
126};
127
128#endif // QGS3DSYMBOLWIDGET_H
MaterialWidgetMode
Modes for material settings widgets.
Definition qgis.h:4471
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4453
QgsAbstract3DSymbol * symbol() const
Returns a new instance of the symbol defined by the dialog.
QDialogButtonBox * buttonBox() const
Returns a reference to the dialog's button box.
Qgs3DSymbolDialog(const QgsAbstract3DSymbol *symbol, QWidget *parent=nullptr)
Constructor for Qgs3DSymbolDialog, initially showing the specified symbol.
Base class for 3D symbol configuration widgets.
virtual void setSymbol(const QgsAbstract3DSymbol *symbol, QgsVectorLayer *layer)=0
Sets the symbol to show in the widget.
virtual Qgis::MaterialRenderingTechnique renderingTechnique() const =0
Returns associated rendering technique.
virtual void setMode(Qgis::MaterialWidgetMode mode)=0
Sets the widget mode, which controls whether the compact or full set of material settings controls ar...
Qgs3DSymbolWidget(QWidget *parent)
Constructor for Qgs3DSymbolWidget with the specified parent widget.
void renderingTechniqueChanged()
Emitted when the rendering technique associated with the symbol is changed.
virtual QString symbolType() const =0
Returns the symbol type handled by the widget.
virtual QgsAbstract3DSymbol * symbol()=0
Returns a new instance of the symbol defined by the widget.
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
QgsPanelWidget(QWidget *parent=nullptr)
Base class for any widget that can be shown as an inline panel.
Represents a vector layer which manages a vector based dataset.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:52
#define SIP_FACTORY
Definition qgis_sip.h:83