1 #pragma once 2 #ifndef ES_APP_VIEWS_GAME_LIST_DETAILED_GAME_LIST_VIEW_H 3 #define ES_APP_VIEWS_GAME_LIST_DETAILED_GAME_LIST_VIEW_H 4 5 #include "components/DateTimeComponent.h" 6 #include "components/RatingComponent.h" 7 #include "components/ScrollableContainer.h" 8 #include "views/gamelist/BasicGameListView.h" 9 10 class DetailedGameListView : public BasicGameListView 11 { 12 public: 13 DetailedGameListView(Window* window, FileData* root); 14 15 virtual void onThemeChanged(const std::shared_ptr<ThemeData>& theme) override; 16 getName()17 virtual const char* getName() const override { return "detailed"; } 18 19 virtual void launch(FileData* game) override; 20 21 private: 22 void updateInfoPanel(); 23 24 void initMDLabels(); 25 void initMDValues(); 26 27 ImageComponent mThumbnail; 28 ImageComponent mMarquee; 29 ImageComponent mImage; 30 31 TextComponent mLblRating, mLblReleaseDate, mLblDeveloper, mLblPublisher, mLblGenre, mLblPlayers, mLblLastPlayed, mLblPlayCount; 32 33 RatingComponent mRating; 34 DateTimeComponent mReleaseDate; 35 TextComponent mDeveloper; 36 TextComponent mPublisher; 37 TextComponent mGenre; 38 TextComponent mPlayers; 39 DateTimeComponent mLastPlayed; 40 TextComponent mPlayCount; 41 TextComponent mName; 42 43 std::vector<TextComponent*> getMDLabels(); 44 std::vector<GuiComponent*> getMDValues(); 45 46 ScrollableContainer mDescContainer; 47 TextComponent mDescription; 48 }; 49 50 #endif // ES_APP_VIEWS_GAME_LIST_DETAILED_GAME_LIST_VIEW_H 51