QGIS API Documentation  3.6.0-Noosa (5873452)
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_sip.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  virtual 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  void setContext( const QgsSymbolWidgetContext &context ) override;
539 
540  protected:
541 
542  void populateList();
543  //update gui for svg file (insert new path, update activation of gui elements for svg params)
544  void setGuiForSvg( const QgsSvgMarkerSymbolLayer *layer );
545 
546  QgsSvgMarkerSymbolLayer *mLayer = nullptr;
547 
548  private slots:
549  void setName( const QModelIndex &idx );
550  void populateIcons( const QModelIndex &idx );
551  void svgSourceChanged( const QString &text );
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( 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_rastermarker.h"
577 
579 
586 class GUI_EXPORT QgsRasterMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetRasterMarker
587 {
588  Q_OBJECT
589 
590  public:
591 
597  QgsRasterMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
598 
604 
605  // from base class
606  void setSymbolLayer( QgsSymbolLayer *layer ) override;
607  QgsSymbolLayer *symbolLayer() override;
608  void setContext( const QgsSymbolWidgetContext &context ) override;
609 
610  protected:
611 
612  QgsRasterMarkerSymbolLayer *mLayer = nullptr;
613 
614  private slots:
615  void imageSourceChanged( const QString &text );
616  void mSizeUnitWidget_changed();
617  void mOffsetUnitWidget_changed();
618  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
619  void mVerticalAnchorComboBox_currentIndexChanged( int index );
620  void setWidth();
621  void setHeight();
622  void setLockAspectRatio( bool locked );
623  void setAngle();
624  void setOffset();
625  void setOpacity( double value );
626  void updatePreviewImage();
627 
628 };
629 
631 
632 #include "ui_widget_rasterfill.h"
633 
635 
640 class GUI_EXPORT QgsRasterFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetRasterFill
641 {
642  Q_OBJECT
643 
644  public:
645 
651  QgsRasterFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
652 
658 
659  // from base class
660  void setSymbolLayer( QgsSymbolLayer *layer ) override;
661  QgsSymbolLayer *symbolLayer() override;
662 
663  protected:
664  QgsRasterFillSymbolLayer *mLayer = nullptr;
665 
666  private slots:
667  void imageSourceChanged( const QString &text );
668  void setCoordinateMode( int index );
669  void opacityChanged( double value );
670  void offsetChanged();
671  void mOffsetUnitWidget_changed();
672  void mRotationSpinBox_valueChanged( double d );
673  void mWidthUnitWidget_changed();
674  void mWidthSpinBox_valueChanged( double d );
675 
676  private:
677  void updatePreviewImage();
678 };
679 
681 
682 #include "ui_widget_svgfill.h"
683 
685 
690 class GUI_EXPORT QgsSVGFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetSVGFill
691 {
692  Q_OBJECT
693 
694  public:
695 
701  QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
702 
708 
709  // from base class
710  void setSymbolLayer( QgsSymbolLayer *layer ) override;
711  QgsSymbolLayer *symbolLayer() override;
712  void setContext( const QgsSymbolWidgetContext &context ) override;
713 
714  protected:
715  QgsSVGFillSymbolLayer *mLayer = nullptr;
716  void insertIcons();
717 
724  void updateParamGui( bool resetValues = true );
725 
726  private slots:
727  void mTextureWidthSpinBox_valueChanged( double d );
728  void svgSourceChanged( const QString &text );
729  void setFile( const QModelIndex &item );
730  void populateIcons( const QModelIndex &item );
731  void mRotationSpinBox_valueChanged( double d );
732  void mChangeColorButton_colorChanged( const QColor &color );
733  void mChangeStrokeColorButton_colorChanged( const QColor &color );
734  void mStrokeWidthSpinBox_valueChanged( double d );
735  void mTextureWidthUnitWidget_changed();
736  void mSvgStrokeWidthUnitWidget_changed();
737 };
738 
740 
741 #include "ui_widget_linepatternfill.h"
742 
744 
749 class GUI_EXPORT QgsLinePatternFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetLinePatternFill
750 {
751  Q_OBJECT
752 
753  public:
754 
760  QgsLinePatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
761 
767 
768  void setSymbolLayer( QgsSymbolLayer *layer ) override;
769  QgsSymbolLayer *symbolLayer() override;
770 
771  protected:
772  QgsLinePatternFillSymbolLayer *mLayer = nullptr;
773 
774  private slots:
775  void mAngleSpinBox_valueChanged( double d );
776  void mDistanceSpinBox_valueChanged( double d );
777  void mOffsetSpinBox_valueChanged( double d );
778  void mDistanceUnitWidget_changed();
779  void mOffsetUnitWidget_changed();
780 };
781 
783 
784 #include "ui_widget_pointpatternfill.h"
785 
787 
792 class GUI_EXPORT QgsPointPatternFillSymbolLayerWidget: public QgsSymbolLayerWidget, private Ui::WidgetPointPatternFill
793 {
794  Q_OBJECT
795 
796  public:
797 
803  QgsPointPatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
804 
810 
811  void setSymbolLayer( QgsSymbolLayer *layer ) override;
812  QgsSymbolLayer *symbolLayer() override;
813 
814  protected:
816 
817  private slots:
818  void mHorizontalDistanceSpinBox_valueChanged( double d );
819  void mVerticalDistanceSpinBox_valueChanged( double d );
820  void mHorizontalDisplacementSpinBox_valueChanged( double d );
821  void mVerticalDisplacementSpinBox_valueChanged( double d );
822  void mHorizontalDistanceUnitWidget_changed();
823  void mVerticalDistanceUnitWidget_changed();
824  void mHorizontalDisplacementUnitWidget_changed();
825  void mVerticalDisplacementUnitWidget_changed();
826 };
827 
829 
830 #include "ui_widget_fontmarker.h"
831 
833 class CharacterWidget;
834 
839 class GUI_EXPORT QgsFontMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetFontMarker
840 {
841  Q_OBJECT
842 
843  public:
844 
850  QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
851 
857 
858  // from base class
859  void setSymbolLayer( QgsSymbolLayer *layer ) override;
860  QgsSymbolLayer *symbolLayer() override;
861 
862  public slots:
863  void setFontFamily( const QFont &font );
864  void setColor( const QColor &color );
865 
869  void setColorStroke( const QColor &color );
870  void setSize( double size );
871  void setAngle( double angle );
872  void setCharacter( QChar chr );
873 
874  protected:
875  QgsFontMarkerSymbolLayer *mLayer = nullptr;
876  CharacterWidget *widgetChar = nullptr;
877 
878  private slots:
879  void setOffset();
880  void mSizeUnitWidget_changed();
881  void mOffsetUnitWidget_changed();
882  void mStrokeWidthUnitWidget_changed();
883  void mStrokeWidthSpinBox_valueChanged( double d );
884  void mHorizontalAnchorComboBox_currentIndexChanged( int index );
885  void mVerticalAnchorComboBox_currentIndexChanged( int index );
886  void penJoinStyleChanged();
887  void updateAssistantSymbol();
888 
889  private:
890 
891  std::shared_ptr< QgsMarkerSymbol > mAssistantPreviewSymbol;
892 
893 };
894 
896 
897 
898 #include "ui_widget_centroidfill.h"
899 
901 
906 class GUI_EXPORT QgsCentroidFillSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::WidgetCentroidFill
907 {
908  Q_OBJECT
909 
910  public:
911 
917  QgsCentroidFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
918 
924 
925  // from base class
926  void setSymbolLayer( QgsSymbolLayer *layer ) override;
927  QgsSymbolLayer *symbolLayer() override;
928 
929  protected:
930  QgsCentroidFillSymbolLayer *mLayer = nullptr;
931 
932  private slots:
933  void mDrawInsideCheckBox_stateChanged( int state );
934  void mDrawAllPartsCheckBox_stateChanged( int state );
935 
936 };
937 
938 
939 #include "ui_qgsgeometrygeneratorwidgetbase.h"
940 #include "qgis_gui.h"
941 
943 
948 class GUI_EXPORT QgsGeometryGeneratorSymbolLayerWidget : public QgsSymbolLayerWidget, private Ui::GeometryGeneratorWidgetBase
949 {
950  Q_OBJECT
951 
952  public:
953 
960 
965 
966  // from base class
967  void setSymbolLayer( QgsSymbolLayer *layer ) override;
968  QgsSymbolLayer *symbolLayer() override;
969 
970  private:
971  QgsGeometryGeneratorSymbolLayer *mLayer = nullptr;
972 
973  private slots:
974  void updateExpression( const QString &string );
975  void updateSymbolType();
976 };
977 
978 #endif
QgsSymbolLayerWidget(QWidget *parent, QgsVectorLayer *vl=nullptr)
Constructor for QgsSymbolLayerWidget.
const QgsVectorLayer * vectorLayer() const
Returns the vector layer associated with the widget.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsRasterMarkerSymbolLayerWidget.
#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.
A symbol fill consisting of repeated parallel lines.
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:73
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.
Raster marker symbol layer class.
Widget for configuring QgsRasterMarkerSymbolLayer symbol layers.
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 filling symbols with a repeated SVG file.
static QgsSymbolLayerWidget * create(QgsVectorLayer *vl)
Creates a new QgsSimpleMarkerSymbolLayerWidget.
virtual void setContext(const QgsSymbolWidgetContext &context)
Sets the context in which the symbol widget is shown, e.g., the associated map canvas and expression ...
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.