#pragma once

#include <functional>

#include "ConfigValue.h"
#include <imgui.h>

class InfoDrawValue : public ConfigValue
{
public:
    explicit InfoDrawValue(const std::function<void()>& draw_fn, const std::string& id = "Info")
        : ConfigValue(id), draw_fn_(draw_fn)
    {
    }

    void draw() override
    {
        if (draw_fn_)
            draw_fn_();
    }

    void set(const std::string&) override {}
    std::string get() override { return {}; }
    std::string get_default() override { return {}; }

private:
    std::function<void()> draw_fn_;
};