morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::testing::detail::FakeField< Interface > Class Template Reference

The FieldWidget half of every fake field: properties readonly, required, errors, stale. More...

#include <recording_backend.hpp>

Inheritance diagram for morph::ui::testing::detail::FakeField< Interface >:
morph::ui::testing::detail::FakeLeaf< Interface >

Public Member Functions

void setReadOnly (bool readonly) override
 Records property readonly; RecordingBackend's edits leave a read-only field alone.
void setRequired (bool required) override
 Records property required.
void setErrors (std::vector< std::string > const &errors) override
 Records property errors, as formatList gives the messages.
void setStale (bool stale) override
 Records property stale.
Public Member Functions inherited from morph::ui::testing::detail::FakeLeaf< Interface >
 FakeLeaf (std::shared_ptr< RecordStore > store, std::string kind, ContainerWidget const *parent, PropList initial={})
 Records the new widget, appended to parent, and logs its creation.
 ~FakeLeaf () override
 Forgets the widget and logs its destruction; its remaining children become roots.
 FakeLeaf (FakeLeaf const &)=delete
FakeLeaf & operator= (FakeLeaf const &)=delete
 FakeLeaf (FakeLeaf &&)=delete
FakeLeaf & operator= (FakeLeaf &&)=delete
void setVisible (bool visible) override
 Records property visible.
void setEnabled (bool enabled) override
 Records property enabled.
void setLayout (LayoutHints const &hints) override
 Records property layout, as formatLayout gives it.
void setDragKey (std::optional< Key > const &key) override
 Records property dragKey and keeps the key for RecordingBackend::drag.
void setDropHandler (std::function< bool(Key const &)> accepts, std::function< void(Key)> onDrop) override
 Records property drop=handler and keeps both handlers for RecordingBackend::drag.
void setAccessibleName (std::string_view name) override
 Records property a11yName.
void setAccessibleRole (std::string_view role) override
 Records property a11yRole.
void setTestId (std::string_view testId) override
 Records property testId.
void setTooltip (std::string_view text) override
 Records property tooltip.
void setSurface (std::string_view surface) override
 Records property surface.
void setKeys (std::vector< std::string > const &chords, std::function< void(std::string)> onChord) override
 Records property keys, the chords joined by commas, and keeps the chords and the handler for RecordingBackend::press.
void focus () override
 Moves the backend's recorded focus here, and logs focus.
void setOnHover (std::function< void()> onHover) override
 Keeps the handler for RecordingBackend::hover.

Additional Inherited Members

Protected Member Functions inherited from morph::ui::testing::detail::FakeLeaf< Interface >
void set (std::string_view name, std::string value)
 Records a property set through a setter.
Callbacks & callbacks ()
 This widget's handlers.
RecordStore & store () const noexcept
 The store this widget records into.
std::shared_ptr< RecordStore > const & sharedStore () const noexcept
 The store, shared: what a part this widget makes (an overlay's footer) records into.
int id () const noexcept
 This widget's id.

Detailed Description

template<typename Interface>
class morph::ui::testing::detail::FakeField< Interface >

The FieldWidget half of every fake field: properties readonly, required, errors, stale.

Template Parameters
InterfaceThe field interface the fake implements.

Definition at line 858 of file recording_backend.hpp.

Member Function Documentation

◆ setReadOnly()

template<typename Interface>
void morph::ui::testing::detail::FakeField< Interface >::setReadOnly ( bool readonly)
inlineoverride

Records property readonly; RecordingBackend's edits leave a read-only field alone.

Parameters
readonlyWhether the user may not change the value.

Definition at line 864 of file recording_backend.hpp.

◆ setRequired()

template<typename Interface>
void morph::ui::testing::detail::FakeField< Interface >::setRequired ( bool required)
inlineoverride

Records property required.

Parameters
requiredWhether the field is marked required.

Definition at line 868 of file recording_backend.hpp.

◆ setErrors()

template<typename Interface>
void morph::ui::testing::detail::FakeField< Interface >::setErrors ( std::vector< std::string > const & errors)
inlineoverride

Records property errors, as formatList gives the messages.

Parameters
errorsThe messages.

Definition at line 872 of file recording_backend.hpp.

◆ setStale()

template<typename Interface>
void morph::ui::testing::detail::FakeField< Interface >::setStale ( bool stale)
inlineoverride

Records property stale.

Parameters
staleWhether the value is being recomputed.

Definition at line 878 of file recording_backend.hpp.


The documentation for this class was generated from the following file: