mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 13:30:02 +00:00
19e4de5088
Makes it easier to add new ones and delete outdated ones without missing any uses.
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "ppsspp_config.h"
|
|
|
|
#include "Common/UI/UIScreen.h"
|
|
#include "Common/System/System.h"
|
|
#include "Core/ConfigValues.h"
|
|
#include "UI/MiscScreens.h"
|
|
|
|
class TabbedUIDialogScreenWithGameBackground : public UIDialogScreenWithGameBackground {
|
|
public:
|
|
TabbedUIDialogScreenWithGameBackground(const Path &gamePath) : UIDialogScreenWithGameBackground(gamePath) {}
|
|
|
|
UI::LinearLayout *AddTab(const char *tag, const std::string &title, bool isSearch = false);
|
|
void CreateViews() override;
|
|
|
|
|
|
protected:
|
|
// Load data and define your tabs here.
|
|
virtual void PreCreateViews() {}
|
|
virtual void CreateTabs() = 0;
|
|
virtual bool ShowSearchControls() const { return true; }
|
|
|
|
void RecreateViews() override;
|
|
void sendMessage(UIMessage message, const char *value) override;
|
|
|
|
SettingInfoMessage *settingInfo_ = nullptr;
|
|
|
|
private:
|
|
void ApplySearchFilter();
|
|
|
|
UI::TabHolder *tabHolder_ = nullptr;
|
|
std::vector<UI::LinearLayout *> settingTabContents_;
|
|
std::vector<UI::TextView *> settingTabFilterNotices_;
|
|
UI::Choice *clearSearchChoice_ = nullptr;
|
|
UI::TextView *noSearchResults_ = nullptr;
|
|
// If we recreate the views while this is active we show it again
|
|
std::string oldSettingInfo_;
|
|
std::string searchFilter_;
|
|
};
|