/* ============================================================ * KCMOpenRC - OpenRC Service Manager * Copyright (C) 2025 Juraj Oravec * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ============================================================ */ #ifndef OPENRC_TREE_ITEM_H #define OPENRC_TREE_ITEM_H #include #include class OpenRCTreeItem { public: explicit OpenRCTreeItem(QVariantList data, OpenRCTreeItem *parentItem = nullptr); void appendChild(std::unique_ptr &&child); OpenRCTreeItem *child(int row); int childCount() const; int columnCount() const; QVariant data(int column) const; int row() const; OpenRCTreeItem *parentItem(); private: std::vector> m_childItems; QVariantList m_itemData; OpenRCTreeItem *m_parentItem; }; #endif // OPENRC_TREE_ITEM_H