/* * Copyright 2016 - 2022 Gary Talent (gary@drinkingtea.net). All rights reserved. */ #pragma once #include #include #include namespace nostalgia { class ProjectTreeModel { private: class ProjectExplorer *m_explorer = nullptr; ProjectTreeModel *m_parent = nullptr; ox::String m_name; ox::Vector> m_children; public: explicit ProjectTreeModel(class ProjectExplorer *explorer, const ox::String &name, ProjectTreeModel *parent = nullptr) noexcept; ProjectTreeModel(ProjectTreeModel &&other) noexcept; void draw(core::Context *ctx) noexcept; void setChildren(ox::Vector> children) noexcept; private: [[nodiscard]] ox::String fullPath() noexcept; }; }