QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Friends | List of all members
QgsCategorizedSymbolRendererWidget Class Reference

#include <qgscategorizedsymbolrendererwidget.h>

Inheritance diagram for QgsCategorizedSymbolRendererWidget:
Inheritance graph
[legend]

Public Types

enum class  CustomRole : int { Value = Qt::UserRole + 1 }
 Custom model roles. More...
 

Public Slots

void addCategories ()
 
void addCategory ()
 
void applyColorRamp ()
 Applies the color ramp passed on by the color ramp button.
 
void categoriesDoubleClicked (const QModelIndex &idx)
 
void categoryColumnChanged (const QString &field)
 
void changeCategorizedSymbol ()
 
void deleteAllCategories ()
 
void deleteCategories ()
 
void matchToSymbolsFromLibrary ()
 Replaces category symbols with the symbols from the users' symbol library that have a matching name.
 
void matchToSymbolsFromXml ()
 Prompts for selection of an xml file, then replaces category symbols with the symbols from the XML file with a matching name.
 
void rowsMoved ()
 
void showSymbolLevels ()
 
- 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.
 

Public Member Functions

 QgsCategorizedSymbolRendererWidget (QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer)
 
 ~QgsCategorizedSymbolRendererWidget () override
 
QgsExpressionContext createExpressionContext () const override
 This method needs to be reimplemented in all classes which implement this interface and return an expression context.
 
void disableSymbolLevels () override
 Disables symbol level modification on the widget.
 
int matchToSymbols (QgsStyle *style)
 Replaces category symbols with the symbols from a style that have a matching name.
 
QgsFeatureRendererrenderer () override
 Returns pointer to the renderer (no transfer of ownership)
 
void setContext (const QgsSymbolWidgetContext &context) override
 Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expression contexts.
 
- Public Member Functions inherited from QgsRendererWidget
 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.
 
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
 

Static Public Member Functions

static QgsRendererWidgetcreate (QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer)
 
- 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.
 

Protected Slots

void pasteSymbolToSelection () override
 
- Protected Slots inherited from QgsRendererWidget
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

void applyChangeToSymbol ()
 Applies current symbol to selected categories, or to all categories if none is selected.
 
void changeCategorySymbol ()
 
void changeSelectedSymbols ()
 Changes the selected symbols alone for the change button, if there is a selection.
 
int currentCategoryRow ()
 Returns row index for the currently selected category (-1 if on no selection)
 
void keyPressEvent (QKeyEvent *event) override
 
void populateCategories ()
 
void refreshSymbolView () override
 
QList< int > selectedCategories ()
 Returns a list of indexes for the categories under selection.
 
QgsCategoryList selectedCategoryList ()
 
QList< QgsSymbol * > selectedSymbols () override
 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&).
 
void setSymbolLevels (const QgsLegendSymbolList &levels, bool enabled) override
 Sets the symbol levels for the renderer defined in the widget.
 
void updateUiFromRenderer ()
 
- Protected Member Functions inherited from QgsRendererWidget
QgsDataDefinedSizeLegendWidgetcreateDataDefinedSizeLegendWidget (const QgsMarkerSymbol *symbol, const QgsDataDefinedSizeLegend *ddsLegend)
 Creates widget to setup data-defined size legend.
 
void registerDataDefinedButton (QgsPropertyOverrideButton *button, QgsFeatureRenderer::Property key)
 Registers a data defined override button.
 
- 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

std::unique_ptr< QgsSymbolmCategorizedSymbol
 
QgsCategorizedSymbolRendererModel * mModel = nullptr
 
std::unique_ptr< QgsCategorizedSymbolRenderermRenderer
 
- Protected Attributes inherited from QgsRendererWidget
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
 

Friends

class TestQgsCategorizedRendererWidget
 

Additional Inherited Members

- Signals inherited from QgsRendererWidget
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.
 

Detailed Description

Definition at line 115 of file qgscategorizedsymbolrendererwidget.h.

Member Enumeration Documentation

◆ CustomRole

Custom model roles.

Note
Prior to QGIS 3.36 this was available as QgsCategorizedSymbolRendererWidget::CustomRoles
Since
QGIS 3.36
Enumerator
Value 

Category value.

Definition at line 128 of file qgscategorizedsymbolrendererwidget.h.

Constructor & Destructor Documentation

◆ QgsCategorizedSymbolRendererWidget()

QgsCategorizedSymbolRendererWidget::QgsCategorizedSymbolRendererWidget ( QgsVectorLayer layer,
QgsStyle style,
QgsFeatureRenderer renderer 
)

Definition at line 627 of file qgscategorizedsymbolrendererwidget.cpp.

◆ ~QgsCategorizedSymbolRendererWidget()

QgsCategorizedSymbolRendererWidget::~QgsCategorizedSymbolRendererWidget ( )
override

Definition at line 738 of file qgscategorizedsymbolrendererwidget.cpp.

Member Function Documentation

◆ addCategories

void QgsCategorizedSymbolRendererWidget::addCategories ( )
slot

Definition at line 895 of file qgscategorizedsymbolrendererwidget.cpp.

◆ addCategory

void QgsCategorizedSymbolRendererWidget::addCategory ( )
slot

Definition at line 1098 of file qgscategorizedsymbolrendererwidget.cpp.

◆ applyChangeToSymbol()

void QgsCategorizedSymbolRendererWidget::applyChangeToSymbol ( )
protected

Applies current symbol to selected categories, or to all categories if none is selected.

Definition at line 1288 of file qgscategorizedsymbolrendererwidget.cpp.

◆ applyColorRamp

void QgsCategorizedSymbolRendererWidget::applyColorRamp ( )
slot

Applies the color ramp passed on by the color ramp button.

Definition at line 1052 of file qgscategorizedsymbolrendererwidget.cpp.

◆ categoriesDoubleClicked

void QgsCategorizedSymbolRendererWidget::categoriesDoubleClicked ( const QModelIndex &  idx)
slot

Definition at line 850 of file qgscategorizedsymbolrendererwidget.cpp.

◆ categoryColumnChanged

void QgsCategorizedSymbolRendererWidget::categoryColumnChanged ( const QString &  field)
slot

Definition at line 844 of file qgscategorizedsymbolrendererwidget.cpp.

◆ changeCategorizedSymbol

void QgsCategorizedSymbolRendererWidget::changeCategorizedSymbol ( )
slot

Definition at line 814 of file qgscategorizedsymbolrendererwidget.cpp.

◆ changeCategorySymbol()

void QgsCategorizedSymbolRendererWidget::changeCategorySymbol ( )
protected

Definition at line 856 of file qgscategorizedsymbolrendererwidget.cpp.

◆ changeSelectedSymbols()

void QgsCategorizedSymbolRendererWidget::changeSelectedSymbols ( )
protected

Changes the selected symbols alone for the change button, if there is a selection.

Definition at line 787 of file qgscategorizedsymbolrendererwidget.cpp.

◆ create()

QgsRendererWidget * QgsCategorizedSymbolRendererWidget::create ( QgsVectorLayer layer,
QgsStyle style,
QgsFeatureRenderer renderer 
)
static

Definition at line 622 of file qgscategorizedsymbolrendererwidget.cpp.

◆ createExpressionContext()

QgsExpressionContext QgsCategorizedSymbolRendererWidget::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 1344 of file qgscategorizedsymbolrendererwidget.cpp.

◆ currentCategoryRow()

int QgsCategorizedSymbolRendererWidget::currentCategoryRow ( )
protected

Returns row index for the currently selected category (-1 if on no selection)

Definition at line 1061 of file qgscategorizedsymbolrendererwidget.cpp.

◆ deleteAllCategories

void QgsCategorizedSymbolRendererWidget::deleteAllCategories ( )
slot

Definition at line 1092 of file qgscategorizedsymbolrendererwidget.cpp.

◆ deleteCategories

void QgsCategorizedSymbolRendererWidget::deleteCategories ( )
slot

Definition at line 1085 of file qgscategorizedsymbolrendererwidget.cpp.

◆ disableSymbolLevels()

void QgsCategorizedSymbolRendererWidget::disableSymbolLevels ( )
overridevirtual

Disables symbol level modification on the widget.

Note
Not available in Python bindings
Since
QGIS 3.20

Reimplemented from QgsRendererWidget.

Definition at line 781 of file qgscategorizedsymbolrendererwidget.cpp.

◆ keyPressEvent()

void QgsCategorizedSymbolRendererWidget::keyPressEvent ( QKeyEvent *  event)
overrideprotected

Definition at line 1322 of file qgscategorizedsymbolrendererwidget.cpp.

◆ matchToSymbols()

int QgsCategorizedSymbolRendererWidget::matchToSymbols ( QgsStyle style)

Replaces category symbols with the symbols from a style that have a matching name.

Parameters
stylestyle containing symbols to match with
Returns
number of symbols matched
See also
matchToSymbolsFromLibrary
matchToSymbolsFromXml

Definition at line 1180 of file qgscategorizedsymbolrendererwidget.cpp.

◆ matchToSymbolsFromLibrary

void QgsCategorizedSymbolRendererWidget::matchToSymbolsFromLibrary ( )
slot

Replaces category symbols with the symbols from the users' symbol library that have a matching name.

See also
matchToSymbolsFromXml
matchToSymbols

Definition at line 1165 of file qgscategorizedsymbolrendererwidget.cpp.

◆ matchToSymbolsFromXml

void QgsCategorizedSymbolRendererWidget::matchToSymbolsFromXml ( )
slot

Prompts for selection of an xml file, then replaces category symbols with the symbols from the XML file with a matching name.

See also
matchToSymbolsFromLibrary
matchToSymbols

Definition at line 1197 of file qgscategorizedsymbolrendererwidget.cpp.

◆ pasteSymbolToSelection

void QgsCategorizedSymbolRendererWidget::pasteSymbolToSelection ( )
overrideprotectedslot

Definition at line 1248 of file qgscategorizedsymbolrendererwidget.cpp.

◆ populateCategories()

void QgsCategorizedSymbolRendererWidget::populateCategories ( )
protected

Definition at line 840 of file qgscategorizedsymbolrendererwidget.cpp.

◆ refreshSymbolView()

void QgsCategorizedSymbolRendererWidget::refreshSymbolView ( )
overrideprotectedvirtual

Reimplemented from QgsRendererWidget.

Definition at line 1149 of file qgscategorizedsymbolrendererwidget.cpp.

◆ renderer()

QgsFeatureRenderer * QgsCategorizedSymbolRendererWidget::renderer ( )
overridevirtual

Returns pointer to the renderer (no transfer of ownership)

Implements QgsRendererWidget.

Definition at line 769 of file qgscategorizedsymbolrendererwidget.cpp.

◆ rowsMoved

void QgsCategorizedSymbolRendererWidget::rowsMoved ( )
slot

Definition at line 1160 of file qgscategorizedsymbolrendererwidget.cpp.

◆ selectedCategories()

QList< int > QgsCategorizedSymbolRendererWidget::selectedCategories ( )
protected

Returns a list of indexes for the categories under selection.

Definition at line 1069 of file qgscategorizedsymbolrendererwidget.cpp.

◆ selectedCategoryList()

QgsCategoryList QgsCategorizedSymbolRendererWidget::selectedCategoryList ( )
protected

Definition at line 1131 of file qgscategorizedsymbolrendererwidget.cpp.

◆ selectedSymbols()

QList< QgsSymbol * > QgsCategorizedSymbolRendererWidget::selectedSymbols ( )
overrideprotectedvirtual

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 from QgsRendererWidget.

Definition at line 1107 of file qgscategorizedsymbolrendererwidget.cpp.

◆ setContext()

void QgsCategorizedSymbolRendererWidget::setContext ( const QgsSymbolWidgetContext context)
overridevirtual

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 from QgsRendererWidget.

Definition at line 774 of file qgscategorizedsymbolrendererwidget.cpp.

◆ setSymbolLevels()

void QgsCategorizedSymbolRendererWidget::setSymbolLevels ( const QgsLegendSymbolList levels,
bool  enabled 
)
overrideprotectedvirtual

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 from QgsRendererWidget.

Definition at line 1233 of file qgscategorizedsymbolrendererwidget.cpp.

◆ showSymbolLevels

void QgsCategorizedSymbolRendererWidget::showSymbolLevels ( )
slot

Definition at line 1155 of file qgscategorizedsymbolrendererwidget.cpp.

◆ updateUiFromRenderer()

void QgsCategorizedSymbolRendererWidget::updateUiFromRenderer ( )
protected

Definition at line 743 of file qgscategorizedsymbolrendererwidget.cpp.

Friends And Related Symbol Documentation

◆ TestQgsCategorizedRendererWidget

friend class TestQgsCategorizedRendererWidget
friend

Definition at line 261 of file qgscategorizedsymbolrendererwidget.h.

Member Data Documentation

◆ mCategorizedSymbol

std::unique_ptr< QgsSymbol > QgsCategorizedSymbolRendererWidget::mCategorizedSymbol
protected

Definition at line 249 of file qgscategorizedsymbolrendererwidget.h.

◆ mModel

QgsCategorizedSymbolRendererModel* QgsCategorizedSymbolRendererWidget::mModel = nullptr
protected

Definition at line 251 of file qgscategorizedsymbolrendererwidget.h.

◆ mRenderer

std::unique_ptr< QgsCategorizedSymbolRenderer > QgsCategorizedSymbolRendererWidget::mRenderer
protected

Definition at line 247 of file qgscategorizedsymbolrendererwidget.h.


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