HoverRace
2.0
|
Edit a line of text. More...
#include <TextEditScene.h>
Public Types | |
using | confirmSignal_t = boost::signals2::signal< void(const std::string &)> |
![]() | |
enum | Phase { Phase::INITIALIZING, Phase::STARTING, Phase::RUNNING, Phase::STOPPING, Phase::STOPPED } |
enum | State { State::INITIALIZING, State::BACKGROUND, State::RAISING, State::FOREGROUND, State::LOWERING } |
Public Member Functions | |
TextEditScene (Display::Display &display, GameDirector &director, const std::string &parentTitle, const std::string &title, size_t maxLength, const std::string &text={}) | |
Constructor. More... | |
virtual | ~TextEditScene () |
void | Advance (Util::OS::timestamp_t tick) override |
void | AttachController (Control::InputEventController &controller, ConnList &conns) override |
Configure the controller mappings. More... | |
void | DetachController (Control::InputEventController &controller, ConnList &conns) override |
Remove the controller mappings. More... | |
confirmSignal_t & | GetConfirmSignal () |
size_t | GetMaxLength () const |
const std::string & | GetText () const |
void | PrepareRender () override |
void | SetHint (const std::string &text) |
Set instructions to display to the user. More... | |
![]() | |
DialogScene (Display::Display &display, GameDirector &director, const std::string &parentTitle, const std::string &title, const std::string &name) | |
Constructor. More... | |
DialogScene (Display::Display &display, GameDirector &director, const std::string &title="", const std::string &name="") | |
virtual | ~DialogScene () |
void | OnPhaseTransition (double progress) override |
Fired during the starting and stopping phases, if SetPhaseTransitionDuration() was set. More... | |
void | Render () override |
![]() | |
FormScene (Display::Display &display, const std::string &name="") | |
virtual | ~FormScene () |
void | Render () override |
![]() | |
UiScene (const std::string &name="") | |
virtual | ~UiScene () |
void | AttachController (Control::InputEventController &controller, ConnList &conns) override |
Configure the controller mappings. More... | |
void | DetachController (Control::InputEventController &, ConnList &) override |
Remove the controller mappings. More... | |
bool | IsMouseCursorEnabled () const override |
Determine if the mouse cursor is enabled for this scene. More... | |
void | PrepareRender () override |
void | Render () override |
![]() | |
Scene (const std::string &name="Unnamed Scene") | |
Constructor. More... | |
virtual | ~Scene () |
void | AdvanceScene (Util::OS::timestamp_t tick) |
void | AttachInput (Control::InputEventController &controller) |
Attach the user input to the scene. More... | |
void | DetachInput (Control::InputEventController &controller) |
Detach the user input from the scene. More... | |
const std::string & | GetName () const |
Retrieve the name of the scene. More... | |
Phase | GetPhase () const |
State | GetState () const |
bool | MoveToBackground () |
Signal that the scene is moving into the background. More... | |
bool | MoveToForeground () |
Signal that the scene is moving into the foreground. More... | |
virtual void | OnScenePushed () |
Called when the scene is actually pushed to the stage. More... | |
Scene & | operator= (const Scene &)=delete |
virtual std::ostream & | OutputDebugText (std::ostream &oss) const |
Output a stream of debug information describing this scene. More... | |
void | PrepareScene () |
void | RenderScene () |
bool | SetPhase (Phase phase) |
Switch to another phase. More... | |
Protected Member Functions | |
void | OnOk () override |
Called when the "OK" action is fired. More... | |
![]() | |
Display::Container * | GetContentRoot () const |
const std::string & | GetFullTitle () const |
Retrieve the full combined title (including parent title). More... | |
Display::Container * | GetStatusRoot () const |
const std::string & | GetTitle () const |
virtual void | OnCancel () |
Called when the "Cancel" action is fired. More... | |
virtual void | OnExtra () |
Called when the scene-specific extra action is fired. More... | |
void | SetBackground (Display::Background *fader) |
Set the background, replacing the currently set background. More... | |
void | SetStoppingTransitionEnabled (bool enabled) |
Enable or disable content visibility while scene is stopping. More... | |
void | SupportCancelAction (const std::string &label="") |
Enable the "Cancel" action for this scene. More... | |
void | SupportExtraAction (const std::string &label) |
Enable the "extra" action for this scene. More... | |
void | SupportOkAction (const std::string &label="") |
Enable the "OK" action for this scene. More... | |
![]() | |
Display::Container * | GetRoot () const |
![]() | |
virtual void | Layout () |
Adjust the size and position of any child elements. More... | |
void | RequestLayout () |
Indicate that the current layout is out-of-date and needs to be adjusted. More... | |
void | SetFocusRoot (std::shared_ptr< Display::UiViewModel > root) |
Set the widget used as the root for all focus management. More... | |
![]() | |
Util::OS::timestamp_t | GetPhaseDuration (Util::OS::timestamp_t curTime=Util::OS::Time()) |
Calculate how much time we've spent in the current phase. More... | |
Util::OS::timestamp_t | GetStartingPhaseTime () |
Return how long the starting phase lasted. More... | |
Util::OS::timestamp_t | GetStateDuration (Util::OS::timestamp_t curTime=Util::OS::Time()) |
Calculate how much time we've spent in the current state. More... | |
virtual void | OnPhaseChanged (Phase oldPhase) |
Fired immediately after entering a new phase. More... | |
virtual void | OnStateChanged (State oldState) |
Fired immediately after entering a new state. More... | |
virtual void | OnStateTransition (double progress) |
Fired during the raising and lowering states, if SetStateTransitionDuration() was set. More... | |
void | SetPhaseTransitionDuration (Util::OS::timestamp_t ms) |
Set the maximum duration of the starting or stopping phases. More... | |
void | SetStateTransitionDuration (Util::OS::timestamp_t ms) |
Set the maximum duration of the raising or lowering state. More... | |
Private Types | |
using | SUPER = DialogScene |
Private Member Functions | |
void | OnTextControl (Control::TextControl::key_t key) |
void | OnTextInput (const std::string &s) |
Private Attributes | |
confirmSignal_t | confirmSignal |
bool | cursorOn |
Util::OS::timestamp_t | cursorTick |
std::shared_ptr< Display::Label > | hintLbl |
std::shared_ptr< Display::ActiveText > | inputLbl |
size_t | maxLength |
std::string | text |
Additional Inherited Members | |
![]() | |
static constexpr double | MARGIN_WIDTH = 40 |
![]() | |
static std::string | JoinTitles (const std::string &parent, const std::string &title) |
Combine a parent dialog title to the child dialog title. More... | |
![]() | |
GameDirector & | director |
![]() | |
Display::Display & | display |
![]() | |
std::shared_ptr< Util::Profiler > | advanceProfiler |
std::shared_ptr< Util::Profiler > | prepareProfiler |
std::shared_ptr< Util::Profiler > | renderProfiler |
std::shared_ptr< Util::Profiler > | rootProfiler |
Edit a line of text.
using HoverRace::Client::TextEditScene::confirmSignal_t = boost::signals2::signal<void(const std::string&)> |
|
private |
HoverRace::Client::TextEditScene::TextEditScene | ( | Display::Display & | display, |
GameDirector & | director, | ||
const std::string & | parentTitle, | ||
const std::string & | title, | ||
size_t | maxLength, | ||
const std::string & | text = {} |
||
) |
Constructor.
display | The target display. |
director | The current director. |
parentTitle | The title of the parent dialog (may be blank). |
title | Dialog title. |
maxLength | Maximum text length, in code points. |
text | Optional initial text. |
|
inlinevirtual |
|
overridevirtual |
Reimplemented from HoverRace::Client::Scene.
|
overridevirtual |
Configure the controller mappings.
This is called whenever the scene becomes the foreground scene or the controller config needs to be rebuilt.
controller | The current controller being used. It can be assumed that the controller's action mappings have been cleared. |
conns | The list to manage connections while the input is attached. Any connections added to this list will be automatically disconnected when then the input is detached. |
Reimplemented from HoverRace::Client::DialogScene.
|
overridevirtual |
Remove the controller mappings.
controller | The current controller being used. It can be assumed that the controller's action mappings have been cleared. |
conns | The same connection list passed to AttachController. |
Reimplemented from HoverRace::Client::DialogScene.
|
inline |
|
inline |
|
inline |
|
overrideprotectedvirtual |
Called when the "OK" action is fired.
Reimplemented from HoverRace::Client::DialogScene.
|
private |
|
private |
|
overridevirtual |
Reimplemented from HoverRace::Client::DialogScene.
void HoverRace::Client::TextEditScene::SetHint | ( | const std::string & | text | ) |
Set instructions to display to the user.
text | The instruction text to accompany the input box. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |