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