#pragma once #include "ui_item.hpp" #define UI_COMBOBOX_TYPE std::string("ui_combobox") class UI_combobox : public UI_item { Q_OBJECT public: UI_combobox(QObject *parent = nullptr); UI_combobox(Color fg_color, Color bg_color, std::vector options, size_t selected = 0, QObject *parent = nullptr); void set_selected(size_t selected) override; void set_selected(std::string selected); size_t selected() const; std::string selected_text() const; void from_json(const json &j) override; json to_json(size_t id) const override; signals: void changed(std::string selected); private: std::vector m_options; size_t m_selected; };