1#ifndef SCREEN_OPTIONS_LIST_H
2#define SCREEN_OPTIONS_LIST_H
4#include "Etterna/Actor/Base/BitmapText.h"
5#include "Etterna/Models/Misc/CodeSet.h"
6#include "Etterna/Models/Misc/OptionRowHandler.h"
7#include "Etterna/Screen/Others/ScreenWithMenuElements.h"
8#include "Etterna/Models/Misc/ThemeMetric.h"
14 void Load(
OptionsList* pOptions,
const std::string& sType);
17 void SetUnderlines(
const std::vector<bool>& aSelections,
20 void PositionCursor(
Actor* pCursor,
int iSelection);
27 std::vector<BitmapText> m_Text;
29 std::vector<AutoActor> m_Underlines;
31 bool m_bItemsInTwoRows =
false;
44 void Load(
const std::string& sType, PlayerNumber pn);
47 void Link(
OptionsList* pLink) { m_pLinked = pLink; }
56 bool IsOpened()
const {
return !m_asMenuStack.empty(); }
64 void SelectItem(
const std::string& sRowName,
int iMenuItem);
65 void MoveItem(
const std::string& sRowName,
int iMove) {}
66 void SwitchMenu(
int iDir);
67 void PositionCursor();
68 void SelectionsChanged(
const std::string& sRowName);
69 void UpdateMenuFromSelections();
70 std::string GetCurrentRow()
const;
72 int GetOneSelection(
const std::string& sRow,
bool bAllowFail =
false)
const;
73 void SwitchToCurrentRow();
74 void TweenOnCurrentRow(
bool bForward);
75 void SetDefaultCurrentRow();
76 void Push(
const std::string& sDest);
78 void ImportRow(
const std::string& sRow);
79 void ExportRow(
const std::string& sRow);
81 const std::string& sScreen);
88 bool m_bAcceptStartRelease;
90 std::vector<std::string> m_asLoadedRows;
91 std::map<std::string, OptionRowHandler*> m_Rows;
92 std::map<std::string, std::vector<bool>> m_bSelections;
93 std::set<std::string> m_setDirectRows;
102 std::vector<std::string> m_asMenuStack;
103 int m_iMenuStackSelection;
A container for other Actors.
Definition ActorFrame.h:8
Base class for all objects that appear on the screen.
Definition Actor.h:77
A smart pointer for Actor.
Definition AutoActor.h:13
Definition OptionsList.h:12
Shows PlayerOptions and SongOptions in icon form.
Definition OptionRowHandler.h:185
A popup options list.
Definition OptionsList.h:37
void Open()
Show the top-level menu.
Definition OptionsList.cpp:263
void Close()
Close all menus (for menu timer).
Definition OptionsList.cpp:281
The theme specific data.
Definition ThemeMetric.h:52