QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
Signals | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QgsRendererWidget Class Referenceabstract

Base class for renderer settings widgets. More...

#include <qgsrendererwidget.h>

Inheritance diagram for QgsRendererWidget:
Inheritance graph
[legend]

Signals

void layerVariablesChanged ()
 Emitted when expression context variables on the associated vector layers have been changed.
 
Q_DECL_DEPRECATED void symbolLevelsChanged ()
 Emitted when the symbol levels settings have been changed.
 
- Signals inherited from QgsPanelWidget
void panelAccepted (QgsPanelWidget *panel)
 Emitted when the panel is accepted by the user.
 
void showPanel (QgsPanelWidget *panel)
 Emit when you require a panel to be show in the interface.
 
void widgetChanged ()
 Emitted when the widget state changes.
 

Public Member Functions

 QgsRendererWidget (QgsVectorLayer *layer, QgsStyle *style)
 
void applyChanges ()
 This method should be called whenever the renderer is actually set on the layer.
 
QgsSymbolWidgetContext context () const
 Returns the context in which the renderer widget is shown, e.g., the associated map canvas and expression contexts.
 
QgsExpressionContext createExpressionContext () const override
 This method needs to be reimplemented in all classes which implement this interface and return an expression context.
 
virtual void disableSymbolLevels ()
 Disables symbol level modification on the widget.
 
virtual QgsFeatureRendererrenderer ()=0
 Returns pointer to the renderer (no transfer of ownership)
 
virtual void setContext (const QgsSymbolWidgetContext &context)
 Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expression contexts.
 
void setDockMode (bool dockMode) override
 Set the widget in dock mode which tells the widget to emit panel widgets and not open dialogs.
 
void showSymbolLevelsDialog (QgsFeatureRenderer *r)
 Show a dialog with renderer's symbol level settings.
 
const QgsVectorLayervectorLayer () const
 Returns the vector layer associated with the widget.
 
- Public Member Functions inherited from QgsPanelWidget
 QgsPanelWidget (QWidget *parent=nullptr)
 Base class for any widget that can be shown as a inline panel.
 
virtual bool applySizeConstraintsToStack () const
 Returns true if the size constraints and hints for the panel widget should be applied to the parent QgsPanelWidgetStack which this panel is shown in.
 
bool autoDelete ()
 The the auto delete property on the widget.
 
void connectChildPanel (QgsPanelWidget *panel)
 Connect the given sub panel widgets showPanel signals to this current panels main showPanel event to bubble up to the user.
 
void connectChildPanels (const QList< QgsPanelWidget * > &panels)
 Connect the given sub panel widgets showPanel signals to this current panels main showPanel event to bubble up to the user.
 
bool dockMode ()
 Returns the dock mode state.
 
virtual QMenu * menuButtonMenu ()
 Returns the menu to use for the menu button for this panel, or nullptr if no menu button is required.
 
virtual QString menuButtonTooltip () const
 Returns the (translated) tooltip text to use for the menu button for this panel.
 
QString panelTitle ()
 The title of the panel.
 
void setAutoDelete (bool autoDelete)
 The the auto delete property on the widget.
 
void setPanelTitle (const QString &panelTitle)
 Set the title of the panel when shown in the interface.
 
- Public Member Functions inherited from QgsExpressionContextGenerator
virtual ~QgsExpressionContextGenerator ()=default
 

Protected Slots

void changeSymbolAngle ()
 Change marker angles of selected symbols.
 
void changeSymbolColor ()
 Change color of selected symbols.
 
void changeSymbolOpacity ()
 Change opacity of selected symbols.
 
void changeSymbolSize ()
 Change marker sizes of selected symbols.
 
void changeSymbolUnit ()
 Change units mm/map units of selected symbols.
 
void changeSymbolWidth ()
 Change line widths of selected symbols.
 
void contextMenuViewCategories (QPoint p)
 
virtual void copy ()
 
virtual void paste ()
 
virtual void pasteSymbolToSelection ()
 Pastes the clipboard symbol over selected items.
 

Protected Member Functions

QgsDataDefinedSizeLegendWidgetcreateDataDefinedSizeLegendWidget (const QgsMarkerSymbol *symbol, const QgsDataDefinedSizeLegend *ddsLegend)
 Creates widget to setup data-defined size legend.
 
virtual void refreshSymbolView ()
 
void registerDataDefinedButton (QgsPropertyOverrideButton *button, QgsFeatureRenderer::Property key)
 Registers a data defined override button.
 
virtual QList< QgsSymbol * > selectedSymbols ()
 Subclasses may provide the capability of changing multiple symbols at once by implementing the following two methods and by connecting the slot contextMenuViewCategories(const QPoint&).
 
virtual void setSymbolLevels (const QList< QgsLegendSymbolItem > &levels, bool enabled)
 Sets the symbol levels for the renderer defined in the widget.
 
- Protected Member Functions inherited from QgsPanelWidget
void keyPressEvent (QKeyEvent *event) override
 Overridden key press event to handle the esc event on the widget.
 

Protected Attributes

QMenu * contextMenu = nullptr
 
QgsSymbolWidgetContext mContext
 Context in which widget is shown.
 
QAction * mCopyAction = nullptr
 
QAction * mCopySymbolAction = nullptr
 Copy symbol action.
 
QgsVectorLayermLayer = nullptr
 
QAction * mPasteAction = nullptr
 
QAction * mPasteSymbolAction = nullptr
 Paste symbol action.
 
QgsStylemStyle = nullptr
 

Additional Inherited Members

- Public Slots inherited from QgsPanelWidget
void acceptPanel ()
 Accept the panel.
 
void openPanel (QgsPanelWidget *panel)
 Open a panel or dialog depending on dock mode setting If dock mode is true this method will emit the showPanel signal for connected slots to handle the open event.
 
- Static Public Member Functions inherited from QgsPanelWidget
static QgsPanelWidgetfindParentPanel (QWidget *widget)
 Traces through the parents of a widget to find if it is contained within a QgsPanelWidget widget.
 

Detailed Description

Base class for renderer settings widgets.

WORKFLOW:

Definition at line 47 of file qgsrendererwidget.h.

Constructor & Destructor Documentation

◆ QgsRendererWidget()

QgsRendererWidget::QgsRendererWidget ( QgsVectorLayer layer,
QgsStyle style 
)

Definition at line 38 of file qgsrendererwidget.cpp.

Member Function Documentation

◆ applyChanges()

void QgsRendererWidget::applyChanges ( )

This method should be called whenever the renderer is actually set on the layer.

Definition at line 359 of file qgsrendererwidget.cpp.

◆ changeSymbolAngle

void QgsRendererWidget::changeSymbolAngle ( )
protectedslot

Change marker angles of selected symbols.

Definition at line 273 of file qgsrendererwidget.cpp.

◆ changeSymbolColor

void QgsRendererWidget::changeSymbolColor ( )
protectedslot

Change color of selected symbols.

Definition at line 85 of file qgsrendererwidget.cpp.

◆ changeSymbolOpacity

void QgsRendererWidget::changeSymbolOpacity ( )
protectedslot

Change opacity of selected symbols.

Definition at line 140 of file qgsrendererwidget.cpp.

◆ changeSymbolSize

void QgsRendererWidget::changeSymbolSize ( )
protectedslot

Change marker sizes of selected symbols.

Definition at line 244 of file qgsrendererwidget.cpp.

◆ changeSymbolUnit

void QgsRendererWidget::changeSymbolUnit ( )
protectedslot

Change units mm/map units of selected symbols.

Definition at line 176 of file qgsrendererwidget.cpp.

◆ changeSymbolWidth

void QgsRendererWidget::changeSymbolWidth ( )
protectedslot

Change line widths of selected symbols.

Definition at line 214 of file qgsrendererwidget.cpp.

◆ context()

QgsSymbolWidgetContext QgsRendererWidget::context ( ) const

Returns the context in which the renderer widget is shown, e.g., the associated map canvas and expression contexts.

See also
setContext()

Definition at line 354 of file qgsrendererwidget.cpp.

◆ contextMenuViewCategories

void QgsRendererWidget::contextMenuViewCategories ( QPoint  p)
protectedslot

Definition at line 80 of file qgsrendererwidget.cpp.

◆ copy

virtual void QgsRendererWidget::copy ( )
inlineprotectedvirtualslot

Definition at line 180 of file qgsrendererwidget.h.

◆ createDataDefinedSizeLegendWidget()

QgsDataDefinedSizeLegendWidget * QgsRendererWidget::createDataDefinedSizeLegendWidget ( const QgsMarkerSymbol symbol,
const QgsDataDefinedSizeLegend ddsLegend 
)
protected

Creates widget to setup data-defined size legend.

Returns newly created panel - may be nullptr if it could not be opened. Ownership is transferred to the caller.

Definition at line 381 of file qgsrendererwidget.cpp.

◆ createExpressionContext()

QgsExpressionContext QgsRendererWidget::createExpressionContext ( ) const
overridevirtual

This method needs to be reimplemented in all classes which implement this interface and return an expression context.

Implements QgsExpressionContextGenerator.

Definition at line 410 of file qgsrendererwidget.cpp.

◆ disableSymbolLevels()

void QgsRendererWidget::disableSymbolLevels ( )
virtual

Disables symbol level modification on the widget.

Note
Not available in Python bindings
Since
QGIS 3.20

Reimplemented in QgsCategorizedSymbolRendererWidget, QgsGraduatedSymbolRendererWidget, and QgsSingleSymbolRendererWidget.

Definition at line 377 of file qgsrendererwidget.cpp.

◆ layerVariablesChanged

void QgsRendererWidget::layerVariablesChanged ( )
signal

Emitted when expression context variables on the associated vector layers have been changed.

Will request the parent dialog to re-synchronize with the variables.

◆ paste

virtual void QgsRendererWidget::paste ( )
inlineprotectedvirtualslot

Definition at line 181 of file qgsrendererwidget.h.

◆ pasteSymbolToSelection

void QgsRendererWidget::pasteSymbolToSelection ( )
protectedvirtualslot

Pastes the clipboard symbol over selected items.

Since
QGIS 3.10

Definition at line 302 of file qgsrendererwidget.cpp.

◆ refreshSymbolView()

virtual void QgsRendererWidget::refreshSymbolView ( )
inlineprotectedvirtual

◆ registerDataDefinedButton()

void QgsRendererWidget::registerDataDefinedButton ( QgsPropertyOverrideButton button,
QgsFeatureRenderer::Property  key 
)
protected

Registers a data defined override button.

Handles setting up connections for the button and initializing the button to show the correct descriptions and help text for the associated property.

Definition at line 400 of file qgsrendererwidget.cpp.

◆ renderer()

virtual QgsFeatureRenderer * QgsRendererWidget::renderer ( )
pure virtual

◆ selectedSymbols()

virtual QList< QgsSymbol * > QgsRendererWidget::selectedSymbols ( )
inlineprotectedvirtual

Subclasses may provide the capability of changing multiple symbols at once by implementing the following two methods and by connecting the slot contextMenuViewCategories(const QPoint&).

Reimplemented in QgsCategorizedSymbolRendererWidget, QgsGraduatedSymbolRendererWidget, and QgsRuleBasedRendererWidget.

Definition at line 137 of file qgsrendererwidget.h.

◆ setContext()

void QgsRendererWidget::setContext ( const QgsSymbolWidgetContext context)
virtual

Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expression contexts.

Parameters
contextsymbol widget context
See also
context()

Reimplemented in QgsCategorizedSymbolRendererWidget, QgsEmbeddedSymbolRendererWidget, QgsGraduatedSymbolRendererWidget, QgsHeatmapRendererWidget, QgsInvertedPolygonRendererWidget, QgsMergedFeatureRendererWidget, QgsPointClusterRendererWidget, QgsPointDisplacementRendererWidget, and QgsSingleSymbolRendererWidget.

Definition at line 349 of file qgsrendererwidget.cpp.

◆ setDockMode()

void QgsRendererWidget::setDockMode ( bool  dockMode)
overridevirtual

Set the widget in dock mode which tells the widget to emit panel widgets and not open dialogs.

Parameters
dockModetrue to enable dock mode.

Reimplemented from QgsPanelWidget.

Reimplemented in QgsRuleBasedRendererWidget, and QgsSingleSymbolRendererWidget.

Definition at line 364 of file qgsrendererwidget.cpp.

◆ setSymbolLevels()

void QgsRendererWidget::setSymbolLevels ( const QList< QgsLegendSymbolItem > &  levels,
bool  enabled 
)
protectedvirtual

Sets the symbol levels for the renderer defined in the widget.

The levels argument defines the updated list of symbols with rendering passes set.

The enabled arguments specifies if symbol levels should be enabled for the renderer.

Since
QGIS 3.20

Reimplemented in QgsCategorizedSymbolRendererWidget, QgsGraduatedSymbolRendererWidget, QgsRuleBasedRendererWidget, and QgsSingleSymbolRendererWidget.

Definition at line 395 of file qgsrendererwidget.cpp.

◆ showSymbolLevelsDialog()

void QgsRendererWidget::showSymbolLevelsDialog ( QgsFeatureRenderer r)

Show a dialog with renderer's symbol level settings.

Definition at line 326 of file qgsrendererwidget.cpp.

◆ symbolLevelsChanged

Q_DECL_DEPRECATED void QgsRendererWidget::symbolLevelsChanged ( )
signal

Emitted when the symbol levels settings have been changed.

Deprecated:
QGIS 3.20. No longer emitted.

◆ vectorLayer()

const QgsVectorLayer * QgsRendererWidget::vectorLayer ( ) const
inline

Returns the vector layer associated with the widget.

Definition at line 78 of file qgsrendererwidget.h.

Member Data Documentation

◆ contextMenu

QMenu* QgsRendererWidget::contextMenu = nullptr
protected

Definition at line 114 of file qgsrendererwidget.h.

◆ mContext

QgsSymbolWidgetContext QgsRendererWidget::mContext
protected

Context in which widget is shown.

Definition at line 131 of file qgsrendererwidget.h.

◆ mCopyAction

QAction* QgsRendererWidget::mCopyAction = nullptr
protected

Definition at line 115 of file qgsrendererwidget.h.

◆ mCopySymbolAction

QAction* QgsRendererWidget::mCopySymbolAction = nullptr
protected

Copy symbol action.

Since
QGIS 3.10

Definition at line 122 of file qgsrendererwidget.h.

◆ mLayer

QgsVectorLayer* QgsRendererWidget::mLayer = nullptr
protected

Definition at line 112 of file qgsrendererwidget.h.

◆ mPasteAction

QAction* QgsRendererWidget::mPasteAction = nullptr
protected

Definition at line 116 of file qgsrendererwidget.h.

◆ mPasteSymbolAction

QAction* QgsRendererWidget::mPasteSymbolAction = nullptr
protected

Paste symbol action.

Since
QGIS 3.10

Definition at line 128 of file qgsrendererwidget.h.

◆ mStyle

QgsStyle* QgsRendererWidget::mStyle = nullptr
protected

Definition at line 113 of file qgsrendererwidget.h.


The documentation for this class was generated from the following files: