Warning, file /graphics/glaxnimate/src/gui/item_models/gradient_list_model.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractTableModel> 0010 0011 #include "model/assets/assets.hpp" 0012 0013 namespace glaxnimate::gui::item_models { 0014 0015 class GradientListModel : public QAbstractTableModel 0016 { 0017 Q_OBJECT 0018 0019 public: 0020 enum Columns 0021 { 0022 Gradient, 0023 Name, 0024 Users, 0025 0026 Count 0027 }; 0028 0029 void set_defs(model::Assets* defs); 0030 0031 int rowCount(const QModelIndex & parent) const override; 0032 int columnCount(const QModelIndex & parent) const override; 0033 QVariant data(const QModelIndex & index, int role) const override; 0034 Qt::ItemFlags flags(const QModelIndex & index) const override; 0035 bool setData(const QModelIndex & index, const QVariant & value, int role) override; 0036 QVariant headerData(int section, Qt::Orientation orientation, int role) const override; 0037 0038 QModelIndex gradient_to_index(model::GradientColors* gradient) const; 0039 model::GradientColors* gradient(const QModelIndex& index) const; 0040 0041 private Q_SLOTS: 0042 void on_add_end(model::DocumentNode*); 0043 void on_remove_end(model::DocumentNode*); 0044 void on_add_begin(int); 0045 void on_remove_begin(int); 0046 void on_move_begin(int, int); 0047 void on_move_end(model::DocumentNode*, int, int); 0048 0049 private: 0050 model::Assets* defs; 0051 }; 0052 0053 } // namespace glaxnimate::gui::item_models