22class HorizontalOptionChoice
25 HorizontalOptionChoice(std::vector<std::string> options,
const Recti& bounds);
29 void ConfirmCurrentChoice();
30 void HandleResizeEvent(
const Recti& newBounds);
32 std::string_view GetFinalChoice()
const;
33 std::size_t GetFinalChoiceIndx()
const;
36 std::size_t mCurrentSelection;
37 std::vector<std::string> mOptions;
52 DialogElement(
const Recti& bounds);
54 virtual void Draw()
const = 0;
55 virtual void HandleResizeEvent(
const Recti& newRect) = 0;
56 virtual void HandleRawInput(
int rawInputChar) = 0;
58 virtual void SetFinished(std::string finishedStatus);
59 virtual bool IsFinished()
const;
60 virtual const std::string& GetFinishedStatus()
const;
62 void SetData(
const std::variant<std::vector<std::size_t>, std::string>& data);
63 virtual std::variant<std::vector<std::size_t>, std::string> GetData()
const;
65 virtual void InputUp() = 0;
66 virtual void InputDown() = 0;
67 virtual void InputLeft() = 0;
68 virtual void InputRight() = 0;
69 virtual void InputEnter() = 0;
70 virtual void InputTab() = 0;
74 std::string mFinishedStatus;
75 std::variant<std::vector<std::size_t>, std::string> mData;