morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::testing::detail::FakeMenu Class Referencefinal

A fake MenuWidget: property items. More...

#include <recording_backend.hpp>

Inheritance diagram for morph::ui::testing::detail::FakeMenu:
morph::ui::testing::detail::FakeLeaf< MenuWidget > morph::ui::MenuWidget morph::ui::Widget

Public Member Functions

void setItems (std::vector< MenuEntry > const &entries) override
 Replaces the entries.
void setOnActivate (std::function< void(std::vector< std::size_t >)> onActivate) override
 Sets what choosing an entry calls, with its path.
Public Member Functions inherited from morph::ui::testing::detail::FakeLeaf< MenuWidget >
 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 & operator= (FakeLeaf const &)=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.
Public Member Functions inherited from morph::ui::Widget
 Widget (Widget const &)=delete
Widget & operator= (Widget const &)=delete
 Widget (Widget &&)=delete
Widget & operator= (Widget &&)=delete

Additional Inherited Members

Protected Member Functions inherited from morph::ui::testing::detail::FakeLeaf< MenuWidget >
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

A fake MenuWidget: property items.

Definition at line 1035 of file recording_backend.hpp.

Member Function Documentation

◆ setItems()

void morph::ui::testing::detail::FakeMenu::setItems ( std::vector< MenuEntry > const & entries)
inlineoverridevirtual

Replaces the entries.

Parameters
entriesThe entries, in order, each with its submenu.

Implements morph::ui::MenuWidget.

Definition at line 1038 of file recording_backend.hpp.

◆ setOnActivate()

void morph::ui::testing::detail::FakeMenu::setOnActivate ( std::function< void(std::vector< std::size_t >)> onActivate)
inlineoverridevirtual

Sets what choosing an entry calls, with its path.

Only an enabled entry without a submenu, inside enabled entries, can be chosen.

Parameters
onActivateThe handler, given the entry's index at each level from the top; empty does nothing.

Implements morph::ui::MenuWidget.

Definition at line 1042 of file recording_backend.hpp.


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