/* * Copyright (c) 2020, Itamar S. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include "GitRepo.h" #include #include namespace HackStudio { class GitFilesModel final : public GUI::Model { public: static NonnullRefPtr create(Vector&& files); virtual int row_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override { return m_files.size(); } virtual int column_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override { return 1; } virtual String column_name(int) const override { return {}; } virtual GUI::Variant data(const GUI::ModelIndex&, GUI::ModelRole) const override; virtual GUI::ModelIndex index(int row, int column, const GUI::ModelIndex&) const override; private: explicit GitFilesModel(Vector&& files); Vector m_files; }; }