ArcGIS Developers

SymbolLayerListModel Class

class Esri::ArcGISRuntime::SymbolLayerListModel

A list model storing a list of symbol layers available in a multi-layer symbol. More...

Header: #include <SymbolLayerListModel>
Since: Esri::ArcGISRuntime 100.5
Inherits: QAbstractListModel and Esri::ArcGISRuntime::Iterable

This class was introduced in Esri::ArcGISRuntime 100.5.

Public Types

enum SymbolLayerRoles { SymbolLayerTypeRole, ColorLockedRole, EnabledRole }

Public Functions

virtual ~SymbolLayerListModel() override
void append(Esri::ArcGISRuntime::SymbolLayer *symbolLayer)
void append(const QList<Esri::ArcGISRuntime::SymbolLayer *> &symbolLayers)
void clear()
bool contains(Esri::ArcGISRuntime::SymbolLayer *symbolLayer) const
Esri::ArcGISRuntime::SymbolLayer *first() const
int indexOf(Esri::ArcGISRuntime::SymbolLayer *symbolLayer) const
void insert(int index, Esri::ArcGISRuntime::SymbolLayer *symbolLayer)
bool isEmpty() const
Esri::ArcGISRuntime::SymbolLayer *last() const
void move(int from, int to)
void removeAt(int index)
void removeOne(Esri::ArcGISRuntime::SymbolLayer *symbolLayer)

Reimplemented Public Functions

virtual Esri::ArcGISRuntime::SymbolLayer *at(int index) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual int size() const override


void errorOccurred(Esri::ArcGISRuntime::Error error)
void symbolLayerAdded(int index)
void symbolLayerRemoved(int index)

Detailed Description

Modifying this model (adding, removing, moving) will update the MultiLayerSymbol.

The model returns data for the following roles:

symbolLayerTypeEsri::ArcGISRuntime::SymbolLayerTypeThe type of symbol layer. The role is read-only.SymbolLayerTypeRole
colorLockedboolWhether the symbol layer has been color locked.ColorLockedRole
enabledboolWhether the symbol layer is enabled.EnabledRole

Member Type Documentation

enum SymbolLayerListModel::SymbolLayerRoles

This enum specifies the custom roles which can be used with SymbolLayerListModel::data.

Esri::ArcGISRuntime::SymbolLayerListModel::SymbolLayerTypeRoleQt::UserRole + 1The type of symbol layer.
Esri::ArcGISRuntime::SymbolLayerListModel::ColorLockedRoleQt::UserRole + 2If the symbol layer is color locked.
Esri::ArcGISRuntime::SymbolLayerListModel::EnabledRoleQt::UserRole + 3If the symbol layer is enabled.

Member Function Documentation

[signal] void SymbolLayerListModel::errorOccurred(Esri::ArcGISRuntime::Error error)

Signal emitted when an error occurs.

  • error - Details about the error.

[signal] void SymbolLayerListModel::symbolLayerAdded(int index)

Signal emitted when a SymbolLayer is added to the list model.

index is the index of the added symbol layer.

[signal] void SymbolLayerListModel::symbolLayerRemoved(int index)

Signal emitted when a SymbolLayer is removed from the list model.

index is the index of the removed symbol layer.

[override virtual] SymbolLayerListModel::~SymbolLayerListModel()


void SymbolLayerListModel::append(Esri::ArcGISRuntime::SymbolLayer *symbolLayer)

Appends symbolLayer to the symbol layer list model.

void SymbolLayerListModel::append(const QList<Esri::ArcGISRuntime::SymbolLayer *> &symbolLayers)

Appends symbolLayers to the symbol layer list model.

[override virtual] Esri::ArcGISRuntime::SymbolLayer *SymbolLayerListModel::at(int index) const

Returns the SymbolLayer at the specified index.

void SymbolLayerListModel::clear()

Removes all symbol layers from the list model.

bool SymbolLayerListModel::contains(Esri::ArcGISRuntime::SymbolLayer *symbolLayer) const

Returns true if the list model contains the specified symbolLayer.

[override virtual] QVariant SymbolLayerListModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const

Reimplements: QAbstractItemModel::data(const QModelIndex &index, int role) const.

Returns the data stored under the given role for the symbol referred to by the index.

  • index. The index in the model for which to return data.
  • role. The role for which to return data.

Esri::ArcGISRuntime::SymbolLayer *SymbolLayerListModel::first() const

Returns the first symbol layer in the list model.

int SymbolLayerListModel::indexOf(Esri::ArcGISRuntime::SymbolLayer *symbolLayer) const

Returns the index of the symbolLayer specified.

void SymbolLayerListModel::insert(int index, Esri::ArcGISRuntime::SymbolLayer *symbolLayer)

Inserts a symbolLayer at a specified index in the list model.

This method will append to the list if the index is greater than the current size of the list model.

bool SymbolLayerListModel::isEmpty() const

Returns true if the list model contains no symbol layers.

Esri::ArcGISRuntime::SymbolLayer *SymbolLayerListModel::last() const

Returns the last symbol layer in the list model.

void SymbolLayerListModel::move(int from, int to)

Moves one symbolLayer from an index in the list model to a different index.

void SymbolLayerListModel::removeAt(int index)

Removes a symbol at the specified index.

void SymbolLayerListModel::removeOne(Esri::ArcGISRuntime::SymbolLayer *symbolLayer)

Removes the specified symbolLayer from the list model.

[override virtual] int SymbolLayerListModel::size() const

Returns the number of symbol layers contained in the list model.

Feedback on this topic?