#pragma once #include "GuiComponent.h" #include "SystemData.h" #include "scrapers/Scraper.h" #include "components/MenuComponent.h" #include typedef std::function GameFilterFunc; template class OptionListComponent; class SwitchComponent; //The starting point for a multi-game scrape. //Allows the user to set various parameters (to set filters, to set which systems to scrape, to enable manual mode). //Generates a list of "searches" that will be carried out by GuiScraperLog. class GuiScraperStart : public GuiComponent { public: GuiScraperStart(Window* window); bool input(InputConfig* config, Input input) override; virtual std::vector getHelpPrompts() override; private: void pressedStart(); void start(); std::queue getSearches(std::vector systems, GameFilterFunc selector); std::shared_ptr< OptionListComponent > mFilters; std::shared_ptr< OptionListComponent > mSystems; std::shared_ptr mApproveResults; MenuComponent mMenu; };