2020-09-20 08:05:03 +00:00
|
|
|
// SPDX-License-Identifier: MIT
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
2020-09-20 08:05:03 +00:00
|
|
|
// EmulationStation Desktop Edition
|
2020-06-21 12:25:28 +00:00
|
|
|
// BasicGameListView.h
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
2020-06-21 12:25:28 +00:00
|
|
|
// Interface that defines a GameListView of the type 'basic'.
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
|
|
|
|
2017-10-31 17:12:50 +00:00
|
|
|
#ifndef ES_APP_VIEWS_GAME_LIST_BASIC_GAME_LIST_VIEW_H
|
|
|
|
#define ES_APP_VIEWS_GAME_LIST_BASIC_GAME_LIST_VIEW_H
|
2014-06-25 16:29:58 +00:00
|
|
|
|
|
|
|
#include "components/TextListComponent.h"
|
2017-11-01 22:21:10 +00:00
|
|
|
#include "views/gamelist/ISimpleGameListView.h"
|
2014-06-25 16:29:58 +00:00
|
|
|
|
|
|
|
class BasicGameListView : public ISimpleGameListView
|
|
|
|
{
|
|
|
|
public:
|
2020-06-21 12:25:28 +00:00
|
|
|
BasicGameListView(Window* window, FileData* root);
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
// Called when a FileData* is added, has its metadata changed, or is removed.
|
2020-10-27 18:07:35 +00:00
|
|
|
virtual void onFileChanged(FileData* file, bool reloadGameList) override;
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-25 17:52:38 +00:00
|
|
|
virtual void onThemeChanged(const std::shared_ptr<ThemeData>& theme) override;
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual FileData* getCursor() override;
|
|
|
|
virtual void setCursor(FileData* file) override;
|
2020-09-20 08:05:03 +00:00
|
|
|
virtual FileData* getNextEntry() override;
|
|
|
|
virtual FileData* getPreviousEntry() override;
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual FileData* getFirstEntry() override;
|
|
|
|
virtual FileData* getLastEntry() override;
|
2020-09-20 08:05:03 +00:00
|
|
|
virtual FileData* getFirstGameEntry() override;
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual const char* getName() const override { return "basic"; }
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual std::vector<HelpPrompt> getHelpPrompts() override;
|
|
|
|
virtual void launch(FileData* game) override;
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-09-13 17:08:17 +00:00
|
|
|
virtual bool isListScrolling() override { return mList.isScrolling(); };
|
|
|
|
virtual void stopListScrolling() override { mList.stopScrolling(); };
|
|
|
|
|
2020-10-30 17:34:05 +00:00
|
|
|
virtual const std::vector<std::string>& getFirstLetterIndex() override
|
|
|
|
{ return mFirstLetterIndex; };
|
|
|
|
|
2014-06-25 16:29:58 +00:00
|
|
|
protected:
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual std::string getQuickSystemSelectRightButton() override;
|
|
|
|
virtual std::string getQuickSystemSelectLeftButton() override;
|
2020-11-09 22:41:27 +00:00
|
|
|
virtual void populateList(const std::vector<FileData*>& files, FileData* firstEntry) override;
|
2020-06-21 12:25:28 +00:00
|
|
|
virtual void remove(FileData* game, bool deleteFile) override;
|
2020-07-30 18:05:57 +00:00
|
|
|
virtual void removeMedia(FileData* game) override;
|
2020-11-09 22:41:27 +00:00
|
|
|
virtual void addPlaceholder(FileData* firstEntry = nullptr);
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
TextListComponent<FileData*> mList;
|
2020-09-20 08:05:03 +00:00
|
|
|
// Points to the first game in the list, i.e. the first entry which is of the type 'GAME'.
|
2020-10-30 13:19:21 +00:00
|
|
|
FileData* mFirstGameEntry;
|
2020-05-17 17:30:29 +00:00
|
|
|
|
2020-09-20 10:17:38 +00:00
|
|
|
std::string FAVORITE_CHAR;
|
|
|
|
std::string FOLDER_CHAR;
|
2014-06-25 16:29:58 +00:00
|
|
|
};
|
2017-10-31 17:12:50 +00:00
|
|
|
|
|
|
|
#endif // ES_APP_VIEWS_GAME_LIST_BASIC_GAME_LIST_VIEW_H
|