QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
QgsStyleModel Class Reference

A QAbstractItemModel subclass for showing symbol and color ramp entities contained within a QgsStyle database. More...

#include <qgsstylemodel.h>

Inheritance diagram for QgsStyleModel:
Inheritance graph
[legend]

Public Types

enum  Column { Name = 0 , Tags }
 Model columns. More...
 
enum class  CustomRole : int {
  Type = Qt::UserRole + 1 , Tag , EntityName , SymbolType ,
  IsFavorite , LayerType , CompatibleGeometryTypes , StyleName ,
  StyleFileName , IsTitle
}
 Custom model roles. More...
 

Public Member Functions

 QgsStyleModel (QgsStyle *style, QObject *parent=nullptr)
 Constructor for QgsStyleModel, for the specified style and parent object. More...
 
void addDesiredIconSize (QSize size)
 Adds an additional icon size to generate for Qt::DecorationRole data. More...
 
void addTargetScreenProperties (const QgsScreenProperties &properties)
 Adds additional target screen properties to use when generating icons for Qt::DecorationRole data. More...
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
QModelIndex parent (const QModelIndex &index) const override
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
QgsStylestyle ()
 Returns the style managed by the model. More...
 

Static Public Member Functions

static void setIconGenerator (QgsAbstractStyleEntityIconGenerator *generator)
 Sets the icon generator to use for deferred style entity icon generation. More...
 

Friends

class QgsCombinedStyleModel
 

Detailed Description

A QAbstractItemModel subclass for showing symbol and color ramp entities contained within a QgsStyle database.

If you are creating a style model for the default application style (see QgsStyle::defaultStyle()), consider using the shared style model available at QgsApplication::defaultStyleModel() for performance instead.

See also
QgsStyleProxyModel
Since
QGIS 3.4

Definition at line 130 of file qgsstylemodel.h.

Member Enumeration Documentation

◆ Column

Model columns.

Enumerator
Name 

Name column.

Tags 

Tags column.

Definition at line 137 of file qgsstylemodel.h.

◆ CustomRole

enum class QgsStyleModel::CustomRole : int
strong

Custom model roles.

Note
Prior to QGIS 3.36 this was available as QgsStyleModel::Role
Since
QGIS 3.36
Enumerator
Type 

Style entity type, see QgsStyle::StyleEntity.

Tag 

String list of tags.

EntityName 

Entity name (since QGIS 3.26)

SymbolType 

Symbol type (for symbol or legend patch shape entities)

IsFavorite 

Whether entity is flagged as a favorite.

LayerType 

Layer type (for label settings entities)

CompatibleGeometryTypes 

Compatible layer geometry types (for 3D symbols)

StyleName 

Name of associated QgsStyle (QgsStyle::name()) (since QGIS 3.26)

StyleFileName 

File name of associated QgsStyle (QgsStyle::fileName()) (since QGIS 3.26)

IsTitle 

True if the index corresponds to a title item (since QGIS 3.26)

Definition at line 151 of file qgsstylemodel.h.

Constructor & Destructor Documentation

◆ QgsStyleModel()

QgsStyleModel::QgsStyleModel ( QgsStyle style,
QObject *  parent = nullptr 
)
explicit

Constructor for QgsStyleModel, for the specified style and parent object.

The style object must exist for the lifetime of this model.

Definition at line 69 of file qgsstylemodel.cpp.

Member Function Documentation

◆ addDesiredIconSize()

void QgsStyleModel::addDesiredIconSize ( QSize  size)

Adds an additional icon size to generate for Qt::DecorationRole data.

This allows style icons to be generated at an icon size which corresponds exactly to the view's icon size in which this model is used.

Definition at line 643 of file qgsstylemodel.cpp.

◆ addTargetScreenProperties()

void QgsStyleModel::addTargetScreenProperties ( const QgsScreenProperties properties)

Adds additional target screen properties to use when generating icons for Qt::DecorationRole data.

This allows style icons to be generated at an icon device pixel ratio and DPI which corresponds exactly to the view's screen properties in which this model is used.

Since
QGIS 3.32

Definition at line 656 of file qgsstylemodel.cpp.

◆ columnCount()

int QgsStyleModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
override

Definition at line 638 of file qgsstylemodel.cpp.

◆ data()

QVariant QgsStyleModel::data ( const QModelIndex &  index,
int  role 
) const
override

Definition at line 119 of file qgsstylemodel.cpp.

◆ flags()

Qt::ItemFlags QgsStyleModel::flags ( const QModelIndex &  index) const
override

Definition at line 560 of file qgsstylemodel.cpp.

◆ headerData()

QVariant QgsStyleModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
override

Definition at line 573 of file qgsstylemodel.cpp.

◆ index()

QModelIndex QgsStyleModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
override

Definition at line 607 of file qgsstylemodel.cpp.

◆ parent()

QModelIndex QgsStyleModel::parent ( const QModelIndex &  index) const
override

Definition at line 620 of file qgsstylemodel.cpp.

◆ rowCount()

int QgsStyleModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
override

Definition at line 626 of file qgsstylemodel.cpp.

◆ setData()

bool QgsStyleModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::EditRole 
)
override

Definition at line 524 of file qgsstylemodel.cpp.

◆ setIconGenerator()

void QgsStyleModel::setIconGenerator ( QgsAbstractStyleEntityIconGenerator generator)
static

Sets the icon generator to use for deferred style entity icon generation.

Currently this is used for 3D symbol icons only.

Note
Not available in Python bindings
Since
QGIS 3.16

Definition at line 669 of file qgsstylemodel.cpp.

◆ style()

QgsStyle * QgsStyleModel::style ( )
inline

Returns the style managed by the model.

Since
QGIS 3.10

Definition at line 179 of file qgsstylemodel.h.

Friends And Related Function Documentation

◆ QgsCombinedStyleModel

friend class QgsCombinedStyleModel
friend

Definition at line 255 of file qgsstylemodel.h.


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