Convert to spaces, hook up mod enabled to toggle.

This commit is contained in:
Dario
2025-01-16 21:02:13 -03:00
committed by Mr-Wiseguy
parent 37a94b2261
commit de364be072
10 changed files with 1034 additions and 1000 deletions
+29 -27
View File
@@ -11,45 +11,47 @@ class ModMenu;
class ModEntry : public Element {
public:
ModEntry(Element *parent, const recomp::mods::ModDetails &details, uint32_t mod_index, ModMenu *mod_menu);
virtual ~ModEntry();
ModEntry(Element *parent, const recomp::mods::ModDetails &details, uint32_t mod_index, ModMenu *mod_menu);
virtual ~ModEntry();
protected:
virtual void process_event(const Event &e);
virtual void process_event(const Event &e);
private:
uint32_t mod_index = 0;
ModMenu *mod_menu = nullptr;
Image *thumbnail_image = nullptr;
Container *body_container = nullptr;
Label *name_label = nullptr;
Label *description_label = nullptr;
uint32_t mod_index = 0;
ModMenu *mod_menu = nullptr;
Image *thumbnail_image = nullptr;
Container *body_container = nullptr;
Label *name_label = nullptr;
Label *description_label = nullptr;
};
class ModMenu : public Element {
public:
ModMenu(Element *parent);
virtual ~ModMenu();
void set_active_mod(uint32_t mod_index);
ModMenu(Element *parent);
virtual ~ModMenu();
void set_active_mod(int32_t mod_index);
private:
void refresh_mods();
void create_mod_list();
Container *body_container = nullptr;
Container *list_container = nullptr;
ScrollContainer *list_scroll_container = nullptr;
ModDetailsPanel *mod_details_panel = nullptr;
Container *footer_container = nullptr;
Button *refresh_button = nullptr;
std::vector<ModEntry *> mod_entries;
std::vector<recomp::mods::ModDetails> mod_details{};
std::string game_mod_id;
void refresh_mods();
void mod_toggled(bool enabled);
void create_mod_list();
Container *body_container = nullptr;
Container *list_container = nullptr;
ScrollContainer *list_scroll_container = nullptr;
ModDetailsPanel *mod_details_panel = nullptr;
Container *footer_container = nullptr;
Button *refresh_button = nullptr;
int32_t active_mod_index = -1;
std::vector<ModEntry *> mod_entries;
std::vector<recomp::mods::ModDetails> mod_details{};
std::string game_mod_id;
};
class ElementModMenu : public Rml::Element {
public:
ElementModMenu(const Rml::String& tag);
virtual ~ElementModMenu();
ElementModMenu(const Rml::String& tag);
virtual ~ElementModMenu();
private:
std::unique_ptr<ModMenu> mod_menu;
std::unique_ptr<ModMenu> mod_menu;
};
} // namespace recompui