Introduce common helper functions
This commit is contained in:
@@ -3,28 +3,24 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "activities/Activity.h"
|
||||
#include "activities/settings/SettingsActivity.h"
|
||||
#include "util/ButtonNavigator.h"
|
||||
#include "SettingInfo.h"
|
||||
#include "activities/MenuListActivity.h"
|
||||
|
||||
// Displays a flat list of SettingInfo items launched from a SettingsActivity submenu entry.
|
||||
// Supports subcategory separators (withSubcategory) exactly as the parent settings tabs do.
|
||||
class SettingsSubmenuActivity final : public Activity {
|
||||
class SettingsSubmenuActivity final : public MenuListActivity {
|
||||
StrId titleId;
|
||||
std::vector<SettingInfo> items;
|
||||
int selectedIndex = 0;
|
||||
int itemCount = 0;
|
||||
ButtonNavigator buttonNavigator;
|
||||
|
||||
void toggleItem();
|
||||
// MenuListActivity overrides
|
||||
void onActionSelected(int index) override;
|
||||
void onSettingToggled(int index) override;
|
||||
|
||||
public:
|
||||
explicit SettingsSubmenuActivity(GfxRenderer& renderer, MappedInputManager& mappedInput, StrId titleId,
|
||||
std::vector<SettingInfo> items)
|
||||
: Activity("SettingsSubmenu", renderer, mappedInput), titleId(titleId), items(std::move(items)) {}
|
||||
: MenuListActivity("SettingsSubmenu", renderer, mappedInput), titleId(titleId) {
|
||||
menuItems = std::move(items);
|
||||
}
|
||||
|
||||
void onEnter() override;
|
||||
void onExit() override;
|
||||
void loop() override;
|
||||
void render(RenderLock&&) override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user