QGIS API Documentation 4.3.0-Master (dfb0041329c)
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
87 void changed();
88
98};
99
100
106class GUI_EXPORT Qgs3DSymbolDialog : public QDialog
107{
108 Q_OBJECT
109
110 public:
114 Qgs3DSymbolDialog( const QgsAbstract3DSymbol *symbol, QWidget *parent SIP_TRANSFERTHIS = nullptr );
115
122
126 QDialogButtonBox *buttonBox() const;
127
128 private:
129 Qgs3DSymbolWidget *mWidget = nullptr;
130 QDialogButtonBox *mButtonBox = nullptr;
131};
132
133#endif // QGS3DSYMBOLWIDGET_H
MaterialWidgetMode
Modes for material settings widgets.
Definition qgis.h:4429
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4411
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.
void changed()
Emitted when 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