2020-06-22 15:27:53 +00:00
|
|
|
//
|
|
|
|
// GuiCollectionSystemsOptions.h
|
|
|
|
//
|
|
|
|
// User interface for the game collection settings.
|
2020-06-28 16:39:18 +00:00
|
|
|
// Submenu to the GuiMenu main menu.
|
2020-06-22 15:27:53 +00:00
|
|
|
//
|
|
|
|
|
2017-06-12 16:38:59 +00:00
|
|
|
#pragma once
|
2017-10-31 17:12:50 +00:00
|
|
|
#ifndef ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H
|
|
|
|
#define ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H
|
2017-06-12 16:38:59 +00:00
|
|
|
|
|
|
|
#include "components/MenuComponent.h"
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
class OptionListComponent;
|
2017-11-01 22:21:10 +00:00
|
|
|
class SwitchComponent;
|
|
|
|
class SystemData;
|
2017-06-12 16:38:59 +00:00
|
|
|
|
|
|
|
class GuiCollectionSystemsOptions : public GuiComponent
|
|
|
|
{
|
|
|
|
public:
|
2020-06-22 15:27:53 +00:00
|
|
|
GuiCollectionSystemsOptions(Window* window);
|
|
|
|
~GuiCollectionSystemsOptions();
|
|
|
|
bool input(InputConfig* config, Input input) override;
|
2017-06-12 16:38:59 +00:00
|
|
|
|
2020-06-22 15:27:53 +00:00
|
|
|
virtual std::vector<HelpPrompt> getHelpPrompts() override;
|
|
|
|
HelpStyle getHelpStyle() override;
|
2017-06-12 16:38:59 +00:00
|
|
|
|
|
|
|
private:
|
2020-06-22 15:27:53 +00:00
|
|
|
void initializeMenu();
|
|
|
|
void applySettings();
|
|
|
|
void addSystemsToMenu();
|
|
|
|
void addEntry(const char* name, unsigned int color,
|
|
|
|
bool add_arrow, const std::function<void()>& func);
|
|
|
|
void updateSettings(std::string newAutoSettings, std::string newCustomSettings);
|
|
|
|
void createCollection(std::string inName);
|
|
|
|
void exitEditMode();
|
|
|
|
std::shared_ptr< OptionListComponent<std::string> > autoOptionList;
|
|
|
|
std::shared_ptr< OptionListComponent<std::string> > customOptionList;
|
|
|
|
std::shared_ptr<SwitchComponent> bundleCustomCollections;
|
|
|
|
std::shared_ptr<SwitchComponent> sortFavFirstCustomSwitch;
|
|
|
|
std::shared_ptr<SwitchComponent> toggleSystemNameInCollections;
|
|
|
|
MenuComponent mMenu;
|
|
|
|
SystemData* mSystem;
|
2017-06-12 16:38:59 +00:00
|
|
|
};
|
2017-10-31 17:12:50 +00:00
|
|
|
|
|
|
|
#endif // ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H
|