morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::DialogWidget Class Referenceabstract

A modal overlay around its children, with a focus trap while open. A new dialog is closed. More...

#include <backend.hpp>

Inheritance diagram for morph::ui::DialogWidget:
morph::ui::ContainerWidget morph::ui::Widget morph::ui::testing::detail::FakeLeaf< DialogWidget > morph::ui::testing::detail::FakeContainer< DialogWidget > morph::ui::testing::detail::FakeOverlay< DialogWidget > morph::ui::testing::detail::FakeDialog

Public Member Functions

virtual void setOpen (bool open)=0
 Shows or hides the overlay.
virtual void setTitle (std::string_view title)=0
 Replaces the title.
virtual void setOnDismiss (Action onDismiss)=0
 Sets what a user dismissal (Esc on the TUI) of the open dialog calls.
virtual ContainerWidget & footer ()=0
 The dialog's footer: a container it lays out after its content, which shows nothing while it is empty. The mount puts the dialog's actions here.
Public Member Functions inherited from morph::ui::ContainerWidget
virtual void moveChild (Widget &child, std::size_t index)=0
 Moves child to position index: it is removed, then inserted before the child now at index.
Public Member Functions inherited from morph::ui::Widget
 Widget (Widget const &)=delete
Widget & operator= (Widget const &)=delete
 Widget (Widget &&)=delete
Widget & operator= (Widget &&)=delete
virtual void setVisible (bool visible)=0
 Shows or hides the widget and everything inside it.
virtual void setEnabled (bool enabled)=0
 Enables or disables input on the widget and everything inside it.
virtual void setLayout (LayoutHints const &hints)=0
 Sets the size request.
virtual void setDragKey (std::optional< Key > const &key)=0
 Makes the widget draggable, carrying key, or not draggable.
virtual void setDropHandler (std::function< bool(Key const &)> accepts, std::function< void(Key)> onDrop)=0
 Makes the widget a drop target.
virtual void setAccessibleName (std::string_view name)=0
 Sets the name assistive technology reads for the widget.
virtual void setAccessibleRole (std::string_view role)=0
 Sets the role assistive technology announces for the widget.
virtual void setTestId (std::string_view testId)=0
 Sets the stable identifier an automated test finds the widget by.
virtual void setTooltip (std::string_view text)=0
 Sets the text shown while the pointer rests on the widget.
virtual void setSurface (std::string_view surface)=0
 Styles the widget and everything inside it with a named token set of the theme.
virtual void setKeys (std::vector< std::string > const &chords, std::function< void(std::string)> onChord)=0
 Declares the keyboard chords the widget handles while focus is inside it.
virtual void focus ()=0
 Moves keyboard focus to the widget.
virtual void setOnHover (std::function< void()> onHover)
 Calls onHover each time the pointer comes to rest over the widget. A backend without a pointer, or one that does not report hovering, keeps the default, which never calls it: hovering is a hint, such as a prefetch, never something a widget relies on.

Detailed Description

A modal overlay around its children, with a focus trap while open. A new dialog is closed.

A closed dialog shows nothing and takes no input, its children included. A user's dismissal closes it, as the toolkit does, before onDismiss runs; an application that keeps it open opens it again.

Definition at line 415 of file backend.hpp.

Member Function Documentation

◆ setOpen()

virtual void morph::ui::DialogWidget::setOpen ( bool open)
pure virtual

Shows or hides the overlay.

Parameters
openWhether it is shown.

Implemented in morph::ui::testing::detail::FakeDialog.

◆ setTitle()

virtual void morph::ui::DialogWidget::setTitle ( std::string_view title)
pure virtual

Replaces the title.

Parameters
titleThe title, UTF-8.

Implemented in morph::ui::testing::detail::FakeDialog.

◆ setOnDismiss()

virtual void morph::ui::DialogWidget::setOnDismiss ( Action onDismiss)
pure virtual

Sets what a user dismissal (Esc on the TUI) of the open dialog calls.

Parameters
onDismissThe handler; empty does nothing.

Implemented in morph::ui::testing::detail::FakeDialog.

◆ footer()

virtual ContainerWidget & morph::ui::DialogWidget::footer ( )
pure virtual

The dialog's footer: a container it lays out after its content, which shows nothing while it is empty. The mount puts the dialog's actions here.

Returns
It, owned by the dialog and valid as long as the dialog.

Implemented in morph::ui::testing::detail::FakeOverlay< DialogWidget >.


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