QGIS API Documentation  3.0.2-Girona (307d082)
qgssymbollayerwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssymbollayerwidget.h - symbol layer widgets
3 
4  ---------------------
5  begin : November 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 QGSSYMBOLLAYERWIDGET_H
18 #define QGSSYMBOLLAYERWIDGET_H
19 
21 #include "qgis.h"
22 #include "qgssymbolwidgetcontext.h"
23 #include "qgssymbollayer.h"
24 #include <QWidget>
25 #include <QStandardItemModel>
26 
27 class QgsVectorLayer;
28 class QgsMapCanvas;
29 
34 class GUI_EXPORT QgsSymbolLayerWidget : public QWidget, protected QgsExpressionContextGenerator
35 {
36  Q_OBJECT
37 
38  public:
39 
45  QgsSymbolLayerWidget( QWidget *parent SIP_TRANSFERTHIS, QgsVectorLayer *vl = nullptr )
46  : QWidget( parent )
47  , mVectorLayer( vl )
48  {}
49 
50  virtual void setSymbolLayer( QgsSymbolLayer *layer ) = 0;
51  virtual QgsSymbolLayer *symbolLayer() = 0;
52 
59  void setContext( const QgsSymbolWidgetContext &context );
60 
66  QgsSymbolWidgetContext context() const;
67 
72  const QgsVectorLayer *vectorLayer() const { return mVectorLayer; }
73 
74  protected:
75 
82  void registerDataDefinedButton( QgsPropertyOverrideButton *button, QgsSymbolLayer::Property key );
83 
85 
86  private:
87  QgsVectorLayer *mVectorLayer = nullptr;
88 
89  QgsMapCanvas *mMapCanvas = nullptr;
90 
91  signals:
92 
97  void changed();
98 
105  void symbolChanged();
106 
107  protected slots:
108  void updateDataDefinedProperty();
109 
110  private slots:
111  void createAuxiliaryField();
112 
113  private:
114  QgsSymbolWidgetContext mContext;
115 };
116 
118 
119 #include "ui_widget_simpleline.h"
120 
122 
127 class GUI_EXPORT QgsSimpleLineSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSimpleLine
128 {
129  Q_OBJECT
130 
131  public:
132 
138  QgsSimpleLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
139 
145 
146  // from base class
147  void setSymbolLayer( QgsSymbolLayer *layer ) override;
148  QgsSymbolLayer *symbolLayer() override;
149 
150  protected:
151  QgsSimpleLineSymbolLayer *mLayer = nullptr;
152 
153  //creates a new icon for the 'change pattern' button
154  void updatePatternIcon();
155 
156  private slots:
157 
158  void updateAssistantSymbol();
159  void penWidthChanged();
160  void colorChanged( const QColor &color );
161  void penStyleChanged();
162  void offsetChanged();
163  void mCustomCheckBox_stateChanged( int state );
164  void mChangePatternButton_clicked();
165  void mPenWidthUnitWidget_changed();
166  void mOffsetUnitWidget_changed();
167  void mDashPatternUnitWidget_changed();
168  void mDrawInsideCheckBox_stateChanged( int state );
169 
170  private:
171 
172  std::shared_ptr< QgsLineSymbol > mAssistantPreviewSymbol;
173 
174 };
175 
177 
178 #include "ui_widget_simplemarker.h"
179 
181 
186 class GUI_EXPORT QgsSimpleMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSimpleMarker
187 {
188  Q_OBJECT
189 
190  public:
191 
197  QgsSimpleMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
198 
204 
205  // from base class
206  void setSymbolLayer( QgsSymbolLayer *layer ) override;
207  QgsSymbolLayer *symbolLayer() override;
208 
209  public slots:
210 
211  void setColorStroke( const QColor &color );
212  void setColorFill( const QColor &color );
213 
214  protected:
215  QgsSimpleMarkerSymbolLayer *mLayer = nullptr;
216 
217  private slots:
218  void setSize();
219  void setAngle();
220  void setOffset();
221  void mSizeUnitWidget_changed();
222  void mOffsetUnitWidget_changed();
223  void mStrokeWidthUnitWidget_changed();
224  void mStrokeStyleComboBox_currentIndexChanged( int index );
225  void mStrokeWidthSpinBox_valueChanged( double d );
226  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
227  void mVerticalAnchorComboBox_currentIndexChanged( int index );
228  void setShape();
229  void updateAssistantSymbol();
230  void penJoinStyleChanged();
231 
232  private:
233 
234  std::shared_ptr< QgsMarkerSymbol > mAssistantPreviewSymbol;
235 };
236 
238 
239 #include "ui_widget_simplefill.h"
240 
242 
247 class GUI_EXPORT QgsSimpleFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSimpleFill
248 {
249  Q_OBJECT
250 
251  public:
252 
258  QgsSimpleFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
259 
265 
266  // from base class
267  void setSymbolLayer( QgsSymbolLayer *layer ) override;
268  QgsSymbolLayer *symbolLayer() override;
269 
270  public slots:
271  void setColor( const QColor &color );
272  void setStrokeColor( const QColor &color );
273 
274  protected:
275  QgsSimpleFillSymbolLayer *mLayer = nullptr;
276 
277  private slots:
278  void setBrushStyle();
279  void strokeWidthChanged();
280  void strokeStyleChanged();
281  void offsetChanged();
282  void mStrokeWidthUnitWidget_changed();
283  void mOffsetUnitWidget_changed();
284 
285 };
286 
287 
289 
290 #include "ui_widget_filledmarker.h"
291 
293 
300 class GUI_EXPORT QgsFilledMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetFilledMarker
301 {
302  Q_OBJECT
303 
304  public:
305 
311  QgsFilledMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
312 
318 
319  // from base class
320  void setSymbolLayer( QgsSymbolLayer *layer ) override;
321  QgsSymbolLayer *symbolLayer() override;
322 
323  protected:
324  QgsFilledMarkerSymbolLayer *mLayer = nullptr;
325 
326  private slots:
327 
328  void updateAssistantSymbol();
329  void setShape();
330  void setSize();
331  void setAngle();
332  void setOffset();
333  void mSizeUnitWidget_changed();
334  void mOffsetUnitWidget_changed();
335  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
336  void mVerticalAnchorComboBox_currentIndexChanged( int index );
337 
338  private:
339 
340  std::shared_ptr< QgsMarkerSymbol > mAssistantPreviewSymbol;
341 };
342 
344 
345 #include "ui_widget_gradientfill.h"
346 
348 
353 class GUI_EXPORT QgsGradientFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetGradientFill
354 {
355  Q_OBJECT
356 
357  public:
358 
364  QgsGradientFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
365 
371 
372  // from base class
373  void setSymbolLayer( QgsSymbolLayer *layer ) override;
374  QgsSymbolLayer *symbolLayer() override;
375 
376  public slots:
377  void setColor( const QColor &color );
378  void setColor2( const QColor &color );
379 
383  void applyColorRamp();
384  void setGradientType( int index );
385  void setCoordinateMode( int index );
386  void setGradientSpread( int index );
387 
388  protected:
389  QgsGradientFillSymbolLayer *mLayer = nullptr;
390 
391  private slots:
392  void offsetChanged();
393  void referencePointChanged();
394  void mOffsetUnitWidget_changed();
395  void colorModeChanged();
396  void mSpinAngle_valueChanged( double value );
397 
398 };
399 
401 
402 #include "ui_widget_shapeburstfill.h"
403 
405 
410 class GUI_EXPORT QgsShapeburstFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetShapeburstFill
411 {
412  Q_OBJECT
413 
414  public:
415 
421  QgsShapeburstFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
422 
428 
429  // from base class
430  void setSymbolLayer( QgsSymbolLayer *layer ) override;
431  QgsSymbolLayer *symbolLayer() override;
432 
433  public slots:
434  void setColor( const QColor &color );
435  void setColor2( const QColor &color );
436 
437  protected:
438  QgsShapeburstFillSymbolLayer *mLayer = nullptr;
439 
440  private slots:
441  void colorModeChanged();
442  void mSpinBlurRadius_valueChanged( int value );
443  void mSpinMaxDistance_valueChanged( double value );
444  void mDistanceUnitWidget_changed();
445  void mRadioUseWholeShape_toggled( bool value );
446  void applyColorRamp();
447  void offsetChanged();
448  void mOffsetUnitWidget_changed();
449  void mIgnoreRingsCheckBox_stateChanged( int state );
450 };
451 
453 
454 #include "ui_widget_markerline.h"
455 
457 
462 class GUI_EXPORT QgsMarkerLineSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetMarkerLine
463 {
464  Q_OBJECT
465 
466  public:
467 
473  QgsMarkerLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
474 
480 
481  // from base class
482  void setSymbolLayer( QgsSymbolLayer *layer ) override;
483  QgsSymbolLayer *symbolLayer() override;
484 
485  public slots:
486 
487  void setInterval( double val );
488  void setOffsetAlongLine( double val );
489 
490  protected:
491 
492  QgsMarkerLineSymbolLayer *mLayer = nullptr;
493 
494  private slots:
495  void setRotate();
496  void setOffset();
497  void setPlacement();
498  void mIntervalUnitWidget_changed();
499  void mOffsetUnitWidget_changed();
500  void mOffsetAlongLineUnitWidget_changed();
501 
502 };
503 
504 
506 
507 #include "ui_widget_svgmarker.h"
508 
510 
515 class GUI_EXPORT QgsSvgMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSvgMarker
516 {
517  Q_OBJECT
518 
519  public:
520 
526  QgsSvgMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
527 
533 
534  // from base class
535  void setSymbolLayer( QgsSymbolLayer *layer ) override;
536  QgsSymbolLayer *symbolLayer() override;
537 
538  protected:
539 
540  void populateList();
541  //update gui for svg file (insert new path, update activation of gui elements for svg params)
542  void setGuiForSvg( const QgsSvgMarkerSymbolLayer *layer );
543 
544  QgsSvgMarkerSymbolLayer *mLayer = nullptr;
545 
546  private slots:
547  void setName( const QModelIndex &idx );
548  void populateIcons( const QModelIndex &idx );
549  void mFileToolButton_clicked();
550  void mFileLineEdit_textEdited( const QString &text );
551  void mFileLineEdit_editingFinished();
552  void mChangeColorButton_colorChanged( const QColor &color );
553  void mChangeStrokeColorButton_colorChanged( const QColor &color );
554  void mStrokeWidthSpinBox_valueChanged( double d );
555  void mSizeUnitWidget_changed();
556  void mStrokeWidthUnitWidget_changed();
557  void mOffsetUnitWidget_changed();
558  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
559  void mVerticalAnchorComboBox_currentIndexChanged( int index );
560  void setWidth();
561  void setHeight();
562  void lockAspectRatioChanged( const bool locked );
563  void setAngle();
564  void setOffset();
565  void updateAssistantSymbol();
566 
567  private:
568 
569  std::shared_ptr< QgsMarkerSymbol > mAssistantPreviewSymbol;
570  int mIconSize = 30;
571 
572 };
573 
575 
576 #include "ui_widget_rasterfill.h"
577 
579 
584 class GUI_EXPORT QgsRasterFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetRasterFill
585 {
586  Q_OBJECT
587 
588  public:
589 
595  QgsRasterFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
596 
602 
603  // from base class
604  void setSymbolLayer( QgsSymbolLayer *layer ) override;
605  QgsSymbolLayer *symbolLayer() override;
606 
607  protected:
608  QgsRasterFillSymbolLayer *mLayer = nullptr;
609 
610  private slots:
611  void mBrowseToolButton_clicked();
612  void mImageLineEdit_editingFinished();
613  void setCoordinateMode( int index );
614  void opacityChanged( double value );
615  void offsetChanged();
616  void mOffsetUnitWidget_changed();
617  void mRotationSpinBox_valueChanged( double d );
618  void mWidthUnitWidget_changed();
619  void mWidthSpinBox_valueChanged( double d );
620 
621  private:
622  void updatePreviewImage();
623 };
624 
626 
627 #include "ui_widget_svgfill.h"
628 
630 
635 class GUI_EXPORT QgsSVGFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSVGFill
636 {
637  Q_OBJECT
638 
639  public:
640 
646  QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
647 
653 
654  // from base class
655  void setSymbolLayer( QgsSymbolLayer *layer ) override;
656  QgsSymbolLayer *symbolLayer() override;
657 
658  protected:
659  QgsSVGFillSymbolLayer *mLayer = nullptr;
660  void insertIcons();
661 
668  void updateParamGui( bool resetValues = true );
669 
670  private slots:
671  void mBrowseToolButton_clicked();
672  void mTextureWidthSpinBox_valueChanged( double d );
673  void mSVGLineEdit_textEdited( const QString &text );
674  void mSVGLineEdit_editingFinished();
675  void setFile( const QModelIndex &item );
676  void populateIcons( const QModelIndex &item );
677  void mRotationSpinBox_valueChanged( double d );
678  void mChangeColorButton_colorChanged( const QColor &color );
679  void mChangeStrokeColorButton_colorChanged( const QColor &color );
680  void mStrokeWidthSpinBox_valueChanged( double d );
681  void mTextureWidthUnitWidget_changed();
682  void mSvgStrokeWidthUnitWidget_changed();
683 };
684 
686 
687 #include "ui_widget_linepatternfill.h"
688 
690 
695 class GUI_EXPORT QgsLinePatternFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetLinePatternFill
696 {
697  Q_OBJECT
698 
699  public:
700 
706  QgsLinePatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
707 
713 
714  void setSymbolLayer( QgsSymbolLayer *layer ) override;
715  QgsSymbolLayer *symbolLayer() override;
716 
717  protected:
718  QgsLinePatternFillSymbolLayer *mLayer = nullptr;
719 
720  private slots:
721  void mAngleSpinBox_valueChanged( double d );
722  void mDistanceSpinBox_valueChanged( double d );
723  void mOffsetSpinBox_valueChanged( double d );
724  void mDistanceUnitWidget_changed();
725  void mOffsetUnitWidget_changed();
726 };
727 
729 
730 #include "ui_widget_pointpatternfill.h"
731 
733 
738 class GUI_EXPORT QgsPointPatternFillSymbolLayerWidget: public QgsSymbolLayerWidget, private Ui::WidgetPointPatternFill
739 {
740  Q_OBJECT
741 
742  public:
743 
749  QgsPointPatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
750 
756 
757  void setSymbolLayer( QgsSymbolLayer *layer ) override;
758  QgsSymbolLayer *symbolLayer() override;
759 
760  protected:
762 
763  private slots:
764  void mHorizontalDistanceSpinBox_valueChanged( double d );
765  void mVerticalDistanceSpinBox_valueChanged( double d );
766  void mHorizontalDisplacementSpinBox_valueChanged( double d );
767  void mVerticalDisplacementSpinBox_valueChanged( double d );
768  void mHorizontalDistanceUnitWidget_changed();
769  void mVerticalDistanceUnitWidget_changed();
770  void mHorizontalDisplacementUnitWidget_changed();
771  void mVerticalDisplacementUnitWidget_changed();
772 };
773 
775 
776 #include "ui_widget_fontmarker.h"
777 
779 class CharacterWidget;
780 
785 class GUI_EXPORT QgsFontMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetFontMarker
786 {
787  Q_OBJECT
788 
789  public:
790 
796  QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
797 
803 
804  // from base class
805  void setSymbolLayer( QgsSymbolLayer *layer ) override;
806  QgsSymbolLayer *symbolLayer() override;
807 
808  public slots:
809  void setFontFamily( const QFont &font );
810  void setColor( const QColor &color );
811 
815  void setColorStroke( const QColor &color );
816  void setSize( double size );
817  void setAngle( double angle );
818  void setCharacter( QChar chr );
819 
820  protected:
821  QgsFontMarkerSymbolLayer *mLayer = nullptr;
822  CharacterWidget *widgetChar = nullptr;
823 
824  private slots:
825  void setOffset();
826  void mSizeUnitWidget_changed();
827  void mOffsetUnitWidget_changed();
828  void mStrokeWidthUnitWidget_changed();
829  void mStrokeWidthSpinBox_valueChanged( double d );
830  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
831  void mVerticalAnchorComboBox_currentIndexChanged( int index );
832  void penJoinStyleChanged();
833  void updateAssistantSymbol();
834 
835  private:
836 
837  std::shared_ptr< QgsMarkerSymbol > mAssistantPreviewSymbol;
838 
839 };
840 
842 
843 
844 #include "ui_widget_centroidfill.h"
845 
847 
852 class GUI_EXPORT QgsCentroidFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetCentroidFill
853 {
854  Q_OBJECT
855 
856  public:
857 
863  QgsCentroidFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
864 
870 
871  // from base class
872  void setSymbolLayer( QgsSymbolLayer *layer ) override;
873  QgsSymbolLayer *symbolLayer() override;
874 
875  protected:
876  QgsCentroidFillSymbolLayer *mLayer = nullptr;
877 
878  private slots:
879  void mDrawInsideCheckBox_stateChanged( int state );
880  void mDrawAllPartsCheckBox_stateChanged( int state );
881 
882 };
883 
884 
885 #include "ui_qgsgeometrygeneratorwidgetbase.h"
886 #include "qgis_gui.h"
887 
889 
894 class GUI_EXPORT QgsGeometryGeneratorSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::GeometryGeneratorWidgetBase
895 {
896  Q_OBJECT
897 
898  public:
899 
906 
911 
912  // from base class
913  void setSymbolLayer( QgsSymbolLayer *layer ) override;
914  QgsSymbolLayer *symbolLayer() override;
915 
916  private:
917  QgsGeometryGeneratorSymbolLayer *mLayer = nullptr;
918 
919  private slots:
920  void updateExpression( const QString &string );
921  void updateSymbolType();
922 };
923 
924 #endif
QgsSymbolLayerWidget(QWidget *parent, QgsVectorLayer *vl=nullptr)
Constructor for QgsSymbolLayerWidget.
const QgsVectorLayer * vectorLayer() const
Returns the vector layer associated with the widget.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsFilledMarkerSymbolLayerWidget.
Simple marker symbol layer, consisting of a rendered shape with solid fill color and an stroke...
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsGradientFillSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsShapeburstFillSymbolLayerWidget.
A widget for displaying characters available in a preset font, and allowing users to select an indivi...
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSVGFillSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsFontMarkerSymbolLayerWidget.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:74
double ANALYSIS_EXPORT angle(QgsPoint *p1, QgsPoint *p2, QgsPoint *p3, QgsPoint *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
Definition: MathUtils.cpp:786
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsLinePatternFillSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSimpleLineSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsMarkerLineSymbolLayerWidget.
A class for filling symbols with a repeated raster image.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsPointPatternFillSymbolLayerWidget.
Widget for configuring QgsFilledMarkerSymbolLayer symbol layers.
A button for controlling property overrides which may apply to a widget.
virtual void setSymbolLayer(QgsSymbolLayer *layer)=0
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsCentroidFillSymbolLayerWidget.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown...
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSvgMarkerSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Will be registered as factory.
virtual QgsSymbolLayer * symbolLayer()=0
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsRasterFillSymbolLayerWidget.
#define SIP_FACTORY
Definition: qgis_sip.h:69
Abstract interface for generating an expression context.
A class for svg fill patterns.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSimpleMarkerSymbolLayerWidget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSimpleFillSymbolLayerWidget.
Filled marker symbol layer, consisting of a shape which is rendered using a QgsFillSymbol.
Represents a vector layer which manages a vector based data sets.
Property
Data definable properties.