/
friendlyperch
/
QGrid
Обзор
Документация
Войти
/
friendlyperch
/
QGrid
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev-ver1
examples/GridExample/ExampleDataList.cpp
95 строк
2 KB
okuntsev
cell render
15 янв 2026, 13:16
15 янв 2026, 13:16
6be0fbd
Код
Авторство
О чём код?
#include "ExampleDataList.h" ExampleDataList::ExampleDataList(QObject *parent) : ActiveListBase(parent) { } void ExampleDataList::clear() { mItems.clear(); emit cleared(); emit countChanged(); } size_t ExampleDataList::count() const { return mItems.size(); } QObject *ExampleDataList::qobjectValue(size_t index) { if (index < 0 || index >= mItems.size()) return nullptr; return mItems[index]; } std::optional<size_t> ExampleDataList::qobjectIndexOf(QObject *value) const { ExampleDataItem *item = qobject_cast<ExampleDataItem*>(value); if (!item) return std::nullopt; int index = mItems.indexOf(item); if (index < 0) return std::nullopt; return static_cast<size_t>(index); } void ExampleDataList::setItems(const QVector<ExampleDataItem*> &items) { mItems = items; emit countChanged(); } QVector<ExampleDataItem*> ExampleDataList::getItems() const { return mItems; } ExampleDataItem *ExampleDataList::at(size_t index) const { if (index >= static_cast<size_t>(mItems.size())) return nullptr; return mItems[index]; } void ExampleDataList::appendItem(ExampleDataItem *item) { mItems.append(item); emit inserted(mItems.size() - 1, 1); emit countChanged(); } void ExampleDataList::removeRequest(size_t index) { if (index >= static_cast<size_t>(mItems.size())) return; auto item = mItems.at(index); mItems.removeAt(static_cast<int>(index)); emit removed(index, 1); emit countChanged(); delete item; } void ExampleDataList::removeItem(size_t index) { removeRequest(index); } void ExampleDataList::createRequest() { auto *newItem = new ExampleDataItem(); newItem->setName("New Item"); newItem->setAge(25); newItem->setSalary(50000.0); newItem->setActive(true); newItem->setBirthDate(QDate::currentDate()); newItem->setStatus("Pending"); size_t index = count(); appendItem(newItem); emit created(index); }