#pragma once
#include <gtkmm.h>
#include <set>
#include "common/common.hpp"
#include "util/uuid.hpp"
#include "preview_base.hpp"

namespace horizon {
class UnitPreview : public Gtk::Box, public PreviewBase {
public:
    UnitPreview(class IPool &pool);

    void load(const class Unit *unit);

private:
    class IPool &pool;
    const class Unit *unit = nullptr;
    class PreviewCanvas *canvas_symbol = nullptr;
    Gtk::ComboBoxText *combo_symbol = nullptr;
    Gtk::Button *goto_symbol_button = nullptr;

    void handle_symbol_sel();
};
} // namespace horizon
