Files
cbh/ElaWidgetTools/DeveloperComponents/ElaColorDisplayModel.cpp
2025-09-19 22:40:52 +08:00

75 lines
1.6 KiB
C++

#include "ElaColorDisplayModel.h"
ElaColorDisplayModel::ElaColorDisplayModel(QObject* parent)
: QAbstractListModel{parent}
{
}
ElaColorDisplayModel::~ElaColorDisplayModel()
{
}
void ElaColorDisplayModel::appendDisplayColor(QList<QColor> colorList)
{
beginResetModel();
_displayColorList.append(colorList);
endResetModel();
}
void ElaColorDisplayModel::appendDisplayColor(QColor color)
{
beginResetModel();
_displayColorList.append(color);
endResetModel();
}
void ElaColorDisplayModel::removeDisplayColor(int index)
{
if (index < 0 || index >= _displayColorList.count())
{
return;
}
beginResetModel();
_displayColorList.removeAt(index);
endResetModel();
}
void ElaColorDisplayModel::replaceDisplayColor(QColor color, int index)
{
if (index < 0 || index >= _displayColorList.count())
{
return;
}
beginResetModel();
_displayColorList[index] = color;
endResetModel();
}
QList<QColor> ElaColorDisplayModel::getDisplayColorList() const
{
return _displayColorList;
}
QColor ElaColorDisplayModel::getDisplayColor(int index) const
{
if (index < 0 || index >= _displayColorList.count())
{
return QColor();
}
return _displayColorList[index];
}
int ElaColorDisplayModel::rowCount(const QModelIndex& parent) const
{
return _displayColorList.count();
}
QVariant ElaColorDisplayModel::data(const QModelIndex& index, int role) const
{
if (role == Qt::UserRole)
{
return QVariant::fromValue(_displayColorList[index.row()]);
}
return QVariant();
}